Gerência de Memória
Aula Anterior
ANDREW S. TANENBAUM
Sistemas Operacionais Modernos – 2ª Edição
Sistemas Operacionais
1
Gerência de Memória
Aula Anterior
Um terceiro modo de lidar com o problema da exclusão mútua é
ilustrado na Figura 2.20. Esse fragmento de programa como quase
todos os outros deste livro foi escrito em C. C foi escolhida aqui
porque os sistemas operacionais reais são quase todos escritos
em C (ou ocasionalmente em C++), muito dificilmente em
linguagens como Java, ou Pascal. C é uma linguagem poderosa,
eficiente e previsível; características fundamentais para se
escrever sistemas operacionais. Java, por exemplo, não é
previsível porque a memória pode ser requisitada em um
momento crítico no qual se precise invocar o coletor de resíduos
da memória (garbage collector) em um momento inoportuno. Isso
não aconteceria com C, onde não há coleta de resíduos, uma
comparação quantitativa entre C, c++, e outras quatro linguagens
Java podem ser verificadas em Prechelt (2000).
Sistemas Operacionais
2
Tópico 25
Subsistema de
Entrada e Saída
Sistemas Operacionais
3
Conteúdo
• Introdução;
• Acesso ao Subsistema de Entrada e
Saída;
• Device Drivers;
• Controladores;
• DMA e Padrões de Conexão;
• Dispositivos de Entrada e Saída;
• Discos Magnéticos e Desempenho;
• Redundância e Proteção de Dados;
• Exercícios.
Sistemas Operacionais
4
Introdução
• O SO é formado por um conjunto de rotinas que oferece
serviços aos usuários e às suas aplicações
• A Gerência de Dispositivos de Entrada/Saída é uma das
mais complexas funções do SO e sua implementação é
estruturada através de camadas.
• A diversidade dos tipos de E/S exige que o SO implemente uma
camada chamada de Subsistema de E/S, com a função de
isolar a complexidade dos dispositivos da camada de
sistemas de arquivos e da aplicação, possibilitando ao sistema
manter sua flexibilidade.
• As camadas são divididas em dois grupos:
– O primeiro visualiza os diversos tipos de dispositivos do
sistema de um modo único;
– O segundo é específico para cada dispositivo
Sistemas Operacionais
5
Gerência de Dispositivos
Sistemas Operacionais
6
Acesso ao Subsistema de
Entrada e Saída
• O SO possui um conjunto de rotinas que torna possível
a comunicação com qualquer dispositivo que possa ser
conectado
ao
computador.
Essas
rotinas
são
denominadas de Rotinas de Entrada/Saída e fazem parte
do Subsistema de E/S.
• As operações de E/S são realizadas através de System
Calls que chamam as rotina de E/S do núcleo do SO.
Dessa forma, é possível escrever um programa que
manipule arquivos, estejam eles em disquetes, discos
rígidos, CDs, fitas magnéticas, sem ter que alterar o
código para cada tipo de dispositivo.
• As System Calls responsáveis pois essa comunicação são
chamadas de System Calls de Entrada/Saída, e um de
seus objetivos é simplificar a interface entre as
aplicações e os dispositivos.
Sistemas Operacionais
7
Acesso ao Subsistema de
Entrada e Saída
As operações de E/S podem ser classificadas em:
• Operação Síncrona: Quando o processo que realizou a
operação fica aguardando em estado de espera por seu
término.
• Operação Assíncrona: Quando o processo que realizou
a operação não aguarda pelo seu término e continua
pronto para ser executado. Neste caso deve existir uma
sinalização que indique que a operação foi terminada.
Sistemas Operacionais
8
Operações de Entrada/Saída
Sistemas Operacionais
9
Device Drivers
• O Device Driver ou somente Driver, tem como função
implementar a comunicação do subsistema de E/S
com os dispositivos através de Controladores.
• Os Drivers recebem os comandos gerais sobre os
acessos aos dispositivos e traduz para comandos
específicos que poderão ser acessados pelas funções do
Controladores e com isso ele possa entendê-las e
executá-las.
• Cada driver manipula um tipo de dispositivo ou grupo
de dispositivos semelhantes e normalmente o SO possui
diferentes drivers para cada recurso computacional.
• Devido ao grau de dependência entre os drivers e o
restante do Núcleo do SO, os fabricantes desenvolvem
para um mesmo dispositivo, diferentes drivers para
um SO.
Sistemas Operacionais
10
Figura 3 – Device Drivers
Sistemas Operacionais
11
Controladores
• São componentes de hardware responsáveis por
manipular diretamente os dispositivos de E/S.
• O Driver comunica-se com os dispositivos através
dos Controladores.
• Ele pode ser uma placa independente conectada a um slot
do computador ou implementada na mesma placa do
processador.
• Controlador possui memória e registradores próprios.
• São utilizados na execução de instruções enviadas
pelo Driver. Em operações de leitura, armazena em seu
buffer interno, uma seqüência de bits provenientes driver
até formar um bloco. Após verificar se no bloco existem
erros, é transferido para um buffer de E/S na Memória
Principal.
Sistemas Operacionais
12
Exercícios
1. Explique na finalidade do subsistema de Entrada e Saída para o Sistema
Operacional.
2. Explique como atuam e funcionam o Device Driver em um Sistema
Operacional.
3. Explique o que são Controladores. Para que servem e suas características
Sistemas Operacionais
13
Exercícios
1. Explique a finalidade do subsistema de Entrada e Saída para o SO.
Resposta: A diversidade dos tipos de E/S exige que o SO implemente uma
camada chamada de Subsistema de E/S, com a função de isolar a
complexabilidade dos dispositivos da camada de sistemas de arquivos e da
aplicação.
2. Explique como atuam e funcionam o Device Driver em um SO.
Resposta: O Device Driver ou somente Driver, tem como função implementar a
comunicação do subsistema de E/S com os dispositivos através de
Controladores.
Os Drivers recebem os comandos gerais sobre os acessos aos dispositivos e
traduz para comandos específicos que poderão ser acessados pelas funções
dos Controladores e com isso ele possa entendê-las e executá-las.
Cada driver manipula um tipo de dispositivo ou grupo de dispositivos
semelhantes e normalmente o SO possui diferentes drivers para cada recurso
computacional
Sistemas Operacionais
14
Exercícios
3. Explique o que são Controladores. Para que servem e suas características
Resposta: São componentes de hw responsáveis por manipular
diretamente os dispositivos de E/S. É através dos controladores que
os drivers se comunicam com os dispositivos. Possuem memória e
registradores próprios. São utilizados na execução de instruções
enviadas pelo driver.
4. Qual o nome do software que fornece informações específicas ao sistema
operacional sobre um determinado hardware: Tem como função implementar a
comunicação do subsistema de E/S com os dispositivos através de Controladores:
a) Unix
b) WinZip
c) Semáforos
d) Device Driver
5. São componentes de hardware responsáveis por manipular diretamente os
dispositivos de E/S.
a) Device Drivers
b) Controladores
c) Kernel
d) RAID
Sistemas Operacionais
15
Figura 4: UCP, Memória e Controladores
Sistemas Operacionais
16
DMA e Padrões de Conexão
• DMA (Direct Memory Acess ou Acesso Direto a Memória),
permite que certos dispositivos de hardware acessem a memória
para leitura e gravação independentemente.
• A técnica de DMA evita que o processador fique ocupado com a
transferência do bloco para
a memória.Pode fazer parte do
Controlador ou ser independente.
• Exemplos: Controladores de Disco, placas de rede e som.
• Uma transferência por DMA copia um bloco de memória de uma
dispositivo para o outro. A UCP inicia a transferência, mas não a
executa.
Alguns padrões de Conexão:
• SCSI (Small Computer Systens Interface);
• IDE (Integrated Drive Electronics) ou ATA (Advanced Techology)
Attachment.
• ATA, SATA, S-ATA, tecnologias de transferência de dados em
série.
Sistemas Operacionais
17
Figura 5 – Técnica de DMA
Sistemas Operacionais
18
Dispositivos de Entrada e Saída
Permitem a comunicação entre o SO e o mundo externo.
São classificados como:
• Entrada de Dados: (CD-ROM, teclado, etc)
• Saída de Dados: (impressoras) ou ainda,
• Entrada/Saída de dados: ( modem, discos, CD-ROM.)
Sistemas Operacionais
19
Dispositivos de Entrada e Saída
Em função da forma com que os dados são armazenados, são
classificados em:
• Dispositivos Estruturados: Armazenam as informações
em blocos de tamanho fixo possuindo cada qual um
endereço que pode ser lido/gravado. Ex. Disco rígido.
Seus tipos:
– Acesso Direto: Quando um bloco pode ser recuperado
através de seu endereço.
–
Acesso Seqüencial: Quando para se acessar um bloco,
o dispositivo
blocos.
percorre
seqüencialmente
os
demais
• Dispositivos não Estruturados: Enviam ou recebem uma
seqüência de caracteres sem estar estruturado no formado
de um bloco. Ex.: Terminais, impressoras, interfaces de
rede.
Sistemas Operacionais
20
Figura 6 – Tempo de Acesso
Sistemas Operacionais
21
Discos Magnéticos e
Desempenho
Entre os diversos dispositivos de E/S, os discos magnéticos
são o principal repositório de dados.
O tempo utilizado pela leitura e gravação de dados em um
disco está em função de três fatores:
• Tempo de Seek: Tempo do posicionamento do cabeçote
de leitura/gravação.
• Latência Rotacional: Tempo de espera até que o setor
desejado posicione sobre o mecanismo de leitura /
gravação.
• Tempo de Transferência: Tempo necessário
transferir o bloco da MP para o setor do disco.
Sistemas Operacionais
para
22
Redundância e Proteção de
Dados
Na década de 80, os pesquisadores desenvolveram técnicas
de gerenciamento de disco para otimizar as operações de
E/S e implementar redundância e proteção de Dados
conhecidos como RAID (Redundant Arrays of Inexpensive
Disk).
• Uma característica da técnica de RAID é a criação de um
dispositivo virtual, o Array de Discos.
• Consiste em um grupo de discos físicos que são tratados
pelo SO como um único disco, trazendo mais capacidade de
armazenamento, maior desempenho e confiabilidade nos
dados armazenados.
• As técnicas de Raid estão distribuídas em 6 níveis (1-6) e
um novo nível foi introduzido denominado RAID 0.
Detalhamento dos níveis foram abordados na disciplina de Organização e Arquitetura
de Computadores.
Sistemas Operacionais
23
Redundância e Proteção de
Dados
Dentre as técnicas de RAID temos:
• RAID 0 (Striping)
Que distribui as operações de E/S entre diversos discos
físicos visando aumento de desempenho,
• RAID 1 (Espelhamento / Mirroring)
Que replica todo o conteúdo do disco principal, chamado de
primário em discos secundários;
• RAID 5 (Acesso Independente com Paridade
Distribuída)
Distribui dados entre os discos do array e implementar
redundância baseada em paridade, requerendo espaço
adicional menor para ser implementada.
Sistemas Operacionais
24
Figura 7 – Níveis do RAID
RAID O
RAID 1
RAID 5
Sistemas Operacionais
25
Exercícios
1) Qual é a função do Subsistema de E/S para o SO?
2) Em qual aspecto, a System Calls é importante no acesso ao
Subsistema de E/S?
3) Diferencie Operações Síncronas e Assíncronas.
4) Descreva a função dos Devices Drivers.
5) O Controlador é responsável por_______________
complete a frase.
6) A técnica de DMA facilita em que a execução dos
Controladores?
7) No que consiste os Dispositivos Estruturados?
8) "O tempo utilizado pela leitura e gravação de dados em um
disco está em função de 3 fatores". Explique-os.
9) Como a tecnologia RAID trabalha?
Sistemas Operacionais
26
Download

Subsistema de Entrada e Saída do Kernel