Subsistema de Entrada e Saida Do Kernel

21
Sistemas Operacionais 1 Subsistema de Entrada e Saída do Kernel PORTAL UNIGTI

Transcript of Subsistema de Entrada e Saida Do Kernel

Page 1: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 1

Subsistema de Entrada e Saída do Kernel

PORTAL UNIGTI

Page 2: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 2

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.

Page 3: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 3

Introdução

• O  SO  é  formado  por  um  conjunto  de  rotinas  que  oferece  servios  aos usuários e às suas aplicações (Kernel). 

• 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 complexibilidade dos  dispositivos  da  chamada  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

Page 4: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 4

Figura 1 – Gerência de Dispositivos

Page 5: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 5

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.

Page 6: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 6

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.

Page 7: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 7

Figura 2 – Operações de Entrada/Saída

Page 8: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 8

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 cada um para um SO. 

Page 9: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 9

Figura 3 – Device Drivers

Page 10: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 10

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.

• O 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.

• A  transferência  do  bloco  para  o  buffer  pode  ser  realizado  por  um controlador de DMA.

Page 11: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 11

Figura 4: UCP, Memória e Controladores

Page 12: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 12

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.

Page 13: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 13

Figura 5 – Técnica de DMA

Page 14: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 14

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.)  

Page 15: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 15

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 percorre seqüencialmente os demais blocos.

• 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.

Page 16: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 16

Figura 6 – Tempo de Acesso

Page 17: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 17

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 para transferir o bloco da MP para o setor do disco.

Page 18: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 18

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.

Page 19: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 19

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.

Page 20: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 20

Figura 7 – Níveis do RAID

RAID O

RAID 1

RAID 5

Page 21: Subsistema de Entrada e Saida Do Kernel

Sistemas Operacionais 21

Exercícios1) 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?