INTRODUO
O SO primariamente um gerenciador de recursos. Seu projeto deve estar ligado aos recursos de software e hardware que gerencia.
Processadores, memria, memria secundria, outros dispositivos de E/S, processos, threads, arquivos, BDs, ...
INTRODUO
medida que os computadores evoluem, os SOs devem se adaptar s tecnologias emergentes e manter a compatibilidade com os antigos.
SOs facilitam a programao de aplicaes pelo fato de os desenvolvedores poderem escrever softwares que requisitem servios e recursos ao SO.
INTRODUO
So as demandas crescentes por aplicaes que foram a evoluo da tecnologia da computao ou so os avanos dessas tecnologias que nos tentam a imaginar aplicaes novas e inovadoras?
Habilita o SO a suportar um novo dispositivo usando apenas o driver de dispositivo apropriado, facilitando a extensibilidade do SO.
Drivers de dispositivos representam uma parte to integrada aos sistemas que compreendem aproximadamente 60% do cdigo-fonte do Linux.
COMPONENTES DE HARDWARE
COMPONENTES DE UM PC
Monitor
Teclado Unidade de Disco Flexvel
Memria
Controladora de Vdeo
Controladora de Teclado
Barramento Bus
10
PLACAS PRINCIPAIS
Placas de circuito impresso (Printed Circuit Board - PCB) Tambm denominada Placa-me Habilitam a comunicao entre dispositivos diferentes. um componente de hardware que fornece conexes eltricas entre dispositivos em vrios lugares da placa.
11
PLACAS PRINCIPAIS
A placa principal (placa-me) a PCB central de um sistema. Encaixes nos quais outros componentes so inseridos.
Os encaixes fornecem acesso conexes eltricas entre os vrios componentes de hardware. Usurios podem personalizar seus computadores.
As diversas conexes eltricas microscpicas so denominadas pistas.
12
PLACAS PRINCIPAIS
Um grande conjunto de pistas forma um canal de comunicao de alta velocidade conhecido como barramento (bus). Inclui chips para realizar operaes de baixo nvel. O chip de sistema bsico de entrada/sada (Basic I/O System BIOS) armazena instrues para a inicializao e gerenciamento do hardware bsico.
13
PLACAS PRINCIPAIS
14
PROCESSADORES
Hardware que executa um fluxo de instrues em linguagem de mquina.
CPU executa as instrues do programa Co-processador executa instrues de propsito especial. Por exemplo, coprocessadores de grfico ou udio. Registradores so memria de alta velocidade. Os dados devem estar nos registradores antes do processador poder oper-los. O tamanho das intrues dependente da arquitetura. Alguns processadores podem suportar mltiplos tamanhos.
15
PROCESSADORES
16
PROCESSADORES
Registradores especiais:
Contador de programa, ou PC (aponta para a prxima instruo) Ponteiro de pilha, ou SC (aponta para o topo da pilha atual na memria) Palavra de estado do programa, ou PSW (contm bits de condies: prioridade, modo de execuo, etc.)
17
RELGIOS
18
RELGIOS
O barramento frontal (Frontside bus) conecta processadores a mdulos de memria e a outros dispositivos. Considere um barramento frontal de 200MHz:
Um processador de 2GHz usa um multiplicador de 10 para gerar seus ciclos. Uma placa de som de 66 MHz usa um divisor de 2,5 para gerar seus ciclos.
19
HIERARQUIA DE MEMRIA
A velocidade da memria limitada por dois conceitos: fsico e econmico. H um limite para a velocidade que um eltron pode viajar. A distncia tambm influencia no tempo. Esquema para categorizar memria.
Mais rpidas, caras e pequena capacidade no topo, mais lentas, baratas e grande capacidade na base. A memria principal o nvel mais baixo de dados que o processador acessa.
Voltil perde os dados sem energia eltrica.
Persistente no perdem os dados sem energia eltrica.
20
HIERARQUIA DE MEMRIA
21
MEMRIA PRINCIPAL
Memria voltil de acesso aleatrio (RAM Random Access Memory), processos podem acessar localizaes de dados em qualquer ordem. Diferente de uma fita magntica que armazena dados de maneira sequencial. Formas comuns incluem:
DRAM Dynamic RAM
Requer um circuito de renovao para ler os dados periodicamente, ou eles so perdidos.
22
MEMRIA PRINCIPAL
SRAM Static RAM
No precisa ser renovada para manter os dados armazenados. Usada em caches de processador mais rpida e cara.
medida que os fabricantes desenvolvem novas tecnologias de memria, a velocidade e a capacidade tendem a aumentar e o custo por unidade de armazenamento tende a diminuir.
Aumento da largura de banda (quantidade de dados por unidade de tempo) e diminuio da latncia (tempo entre o pedido e o incio do processo)
23
ARMAZENAMENTO SECUNDRIO
Armazena grande quantidade de dados, de forma persistente, a baixo custo.
24
ARMAZENAMENTO SECUNDRIO
25
ARMAZENAMENTO SECUNDRIO
26
ARMAZENAMENTO SECUNDRIO
Alguns dispositivos de armazenamento secundrio gravam dados em meios de menor capacidade que podem ser removidos do computador.
Facilita o backup e a transferncia de dados entre computadores. Latncia mais alta que HDs.
CDs, DVDs, discos Zip, memria Flash, fitas, Pen-Drivers.
27
BARRAMENTOS
Conjunto de pistas (conexes eltricas) que transportam informaes entre dispositivos de hardware.
28
30
31
DISPOSITIVOS PERIFRICOS
Qualquer dispositivo no necessrio para computadores executarem instrues de programa. Dispositivos internos so conhecidos como integrados:
Interface de rede, modems, placas de som, HD, CD e DVD.
32
DISPOSITIVOS PERIFRICOS
33
DISPOSITIVOS PERIFRICOS
34
DISPOSITIVOS PERIFRICOS
35
36
PROCESSADOR
Implementa mecanismos de proteo ao SO.
Bloqueia processos de acessarem instrues privilegiadas ou posies de memria que no lhe foram alocadas.
37
PROCESSADOR
Proteo e gerenciamento de memria
Bloqueia processos de acessarem posies de memria que no lhe foram alocadas. Usam registradores de limites que marcam o incio e fim do bloco de memria alocada.
Interrupes e excees
Dispositivos enviam um sinal chamado interrupo para o processador quando um evento ocorre. O SO pode responder a uma mudana no status de um dispositivo notificando os processos que esto espera desses eventos.
38
PROCESSADOR
Excees so interrupes geradas em resposta a erros, como falhas de hardware, erros de lgica e violaes de proteo. Em vez de provocar a falha do sistema, o processador invoca o SO para que este determine como ele deve reagir.
39
BOOTSTRAPPING
Autocarregamento
Carrega componentes iniciais do SO para a memria.
40
BOOTSTRAPPING
41
PLUG-AND-PLAY
Permite o SO configurar novo hardware instalado sem a interao do usurio. Para dar suporte plug-and-play, um dispositivo de hardware deve ser capaz de:
Se identificar unicamente ao SO. Comunicar ao SO os recursos e servios que o dispositivo necessita para funcionar. Identificar o driver que suporta do dispositivo para permitir configurao via software.
42
CACHING E BUFFER
Caches
Memria relativamente rpida. Mantm cpias de dados que sero acessados e, breve. Aumenta velocidade de execuo de um programa. As entradas de cache devem ser gerenciadas para minimizar o nmero de vezes que os dados requeridos no esto na cache ausncia do cache (cache miss).
43
CACHING E BUFFER
Buffers
rea de armazenamento temporria que armazena dados durante operaes de E/S. Usado para
Coordenar comunicaes entre dispositivos operando em velocidades diferentes.
44
CACHING E BUFFER
Spooling
Operaes perifricas simultneas em linha Permite que o processo requisite operaes em um dispositivo perifrico sem exigir que o mesmo esteja pronto para atend-lo. Um processo pode tentar imprimir um documento, mas a impressora est ocupada. O processo grava o resultado no disco. Quando a impressora estiver disponvel os dados so impressos.
45
SOFTWARE
Linguagens de programao
Algumas so entendidas diretamente pelo computador, outras precisam de traduo. Classificadas em:
Linguagem de mquina. Linguagem de montagem. Linguagem de alto-nvel.
46
LINGUAGEM DE MQUINA
Definida pela arquitetura do hardware. Consiste de cadeias de nmeros (1s e 0s) que instruem os computadores a executarem operaes bsicas.
47
LINGUAGEM DE MONTAGEM
48
INTERPRETADORES E COMPILADORES
Traduzem um programa-fonte escrito numa determinada linguagem para linguagem de mquina. Compiladores geram cdigo objeto. Interpretadores executam cdigo fonte diretamente.
LINGUAGEM DE ALTO-NVEL
Gramtica do nosso dia-a-dia. Procedurais ou orientadas a objeto.
Fortran
Usada por cientista e engenheiros
COBOL
Para aplicaes comerciais que manipulam grande volume de dados
C
Linguagem procedural popular
C++/Java, C#
Linguagens populares orientadas a objetos
50
MOV X, 2
X=2
51
FIRMWARE
Possui instrues executveis armazenadas em memria persistente conectado ao dispositivo. Pode ser atualizado.
52
MIDDLEWARE
Middleware um software para sistemas distribudos.
Proporciona interaes entre mltiplos processos executando em 1 ou mais computadores em uma rede. Exemplo: Open DataBase Connectivity (ODBC)
Permite que aplicaes acessem bases de dados atravs de um middleware chamado ODBC driver
53