Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8...

41
G G e e r r e e n n c c i i a a m m e e n n t t o o d d e e E E n n t t r r a a d d a a e e S S a a í í d d a a e e E E s s c c a a l l o o n n a a m m e e n n t t o o d d e e D D i i s s c c o o Luiz Otávio Duarte INPE MSc. Candidate Prof. Dr. José Carlos Becceneri INPE Researcher Maio – 2004

Transcript of Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8...

Page 1: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

GGeerreenncciiaammeennttoo ddee EEnnttrraaddaa ee SSaaííddaa ee EEssccaalloonnaammeennttoo ddee

DDiissccoo

Luiz Otávio Duarte

INPE MSc. Candidate

Prof. Dr. José Carlos Becceneri INPE Researcher

Maio – 2004

Page 2: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

ii

Copyright © Luiz Otávio Duarte. É dada permissão para copiar, distribuir e/ou modificar este documento sob os termos da Licença de Documentação Livre GNU, Versão 1.1 ou qualquer versão posterior publicada pela Free Software Foundation em http://www.gnu.org/licenses/licenses.html, com todas as seções Invariantes, com os Textos da Capa da Frente sendo “Gerenciamento de entrada e saída e escalonamento de disco - Luiz Otávio Duarte”, e com os textos prefaciados de “quarta-capa” sendo as páginas numeradas de “ii” até “iii” deste documento. Contato: Luiz Otávio Duarte INPE MSc Candidate [email protected] INPE – Instituto Nacional de Pesquisas Espaciais Unidade de São José dos Campos Laboratório Associado de Computação Endereço: Av. dos Astronautas, 1758 – Jd. Nazareth 12227-010 * São José dos Campos – SP – Brasil Fone: 55-12-3945-6000 http://www.inpe.br/

Page 3: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

iii

Prefácio Este material é uma coleção dos slides e material auxiliar da palestra “Gerenciamento de entrada e saída e escalonamento de disco”, ministrado aos alunos do curso de sistemas

operacionais como parte dos trabalhos para aprovação no curso, no dia 18 de maio de 2004.

A principal função destes slides e notas de aula é facilitar a realização das anotações

dos tópicos mais importantes discutidos durante a apresentação. Sugestões e apontamentos

de falhas podem ser enviadas diretamente aos autores, em [email protected].

Importante: Este material tem finalidade meramente educacional. Estas notas de aula podem conter figuras e/ou textos extraídos de outras fontes, as quais, quando ocorrerem, serão devidamente citados. Os direitos autorais dos textos citados são de propriedade de seus detentores. A citação ou uso de material de outros autores, quando ocorrer, tem finalidade meramente didática. As opiniões expressadas são de responsabilidade do autor e não refletem a posição do INPE, Instituto Nacional de Pesquisas Espaciais. Nem o autor nem o INPE se responsabilizam por quaisquer danos diretos ou indiretos que o uso deste material possa causar. Este material pode ser copiado livremente, desde incluindo-se a nota de copyright da página ii e que sejam citadas todas as fontes, e respeitados os detentores dos direitos autorais. A referência a qualquer produto comercial específico, marca, modelo, estabelecimento comercial, processo ou serviço, através de nome comercial, marca registrada, marca de fantasia, nome de fabricante, fornecedor, ou nome de empresa, necessariamente NÃO constitui ou insinua seu endosso, recomendação, ou favorecimento por parte do INPE ou do autor. O INPE ou o autor não endossam ou recomendam marcas, produtos, estabelecimentos comerciais, serviços ou fornecedores de quaisquer espécie, em nenhuma hipótese. As eventuais marcas e patentes mencionadas são de propriedade exclusiva dos detentores originais dos seus direitos e, quando citadas, aparecem meramente em caráter informativo e educacional, para auxiliar os participantes do curso ou treinamento, numa base de boa fé pública. Os participantes ou outros interessados devem utilizar estas informações por sua conta e risco. Este material didático não se trata de uma publicação oficial do INPE – Instituto Nacional de Pesquisas Espaciais. Seu conteúdo não foi examinado ou editado por esta instituição. As opiniões refletem a posição do autor.

São José dos Campos, 18 de maio de 2004.

Luiz Otávio Duarte

Page 4: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

Pós Graduação em Computação Aplicada

Gerenciamento de Entrada e Saída

Discentes: Cassius Gomes de OliveiraLuiz Otávio Duarte

Disciplina: Sistemas Operacionais

Docente: José Carlos Becceneri

INPESão José dos Campos

Maio/2004

Page 5: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

Sumário

1 Resumo 3

2 Introdução 32.1 Dispositivos de Entrada/Saída. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Classificação dos dispositivos de E/S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.3 Diferenças entre os Dispositivos de E/S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.4 Interfaces de E/S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

3 Estrutura de comunicação Dispositivos X CPU 53.1 Barramentos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

4 Estrutura de Comunicação Dispositivo X Memória X CPU 6

5 Sinais de Controle 65.1 Strobing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65.2 Handshaking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

6 Organização da Função de E/S 96.1 Programmed I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96.2 Interrupt-driven I/O. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106.3 DMA - Direct Memory Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116.4 I/O Processor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

7 Finalidades do projeto do Sistema Operacional 137.1 Eficiência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137.2 Generalidade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

8 Bibliografia 15

Page 6: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

1 Resumo

Uma das funções do sistema operacional é controlar todos os dispositivos de E/S (entrada/saída) [1]. Como existeuma gama muito grande de dispositivos, também existe a dificuldade em se desenvolver e implementar uma solução degerenciamento eficiente e geral.

O objetivo desta apresentação é mostrar as possíveis abordagens para solucionar o gerenciamento de dispositivos deE/S, bem como detalhar o escalonamento de disco.

2 Introdução

2.1 Dispositivos de Entrada/Saída

Segundo John D. Carpinelli [2] os computadores precisam ser capazes de interagir com o mundo externo e disposi-tivos além da memória.

Dispositivos que a CPU controla diretamente são ditos conectadoson-line. Este dispositivos comunicam-sediretamente com a CPU e transferem informações binárias para dentro ou fora da memória sob o comandoda CPU. Dispositivos de entrada e saída ligados ao computadoron-linesão ditos periféricos.[Mano Limes576]

2.2 Classificação dos dispositivos de E/S

Diferentes autores classificam os dispositivos de E/S de diferentes formas. Andrew S. Tanenbaum [1] agrupa osdispositivos de acordo como os dados podem ser acessados e/ou obtidos a partir destes dispositivos. Agrupando-os emdispositivos de blocos e dispositivos de caracteres.

- Os dispositivos de blocos são dispositivos que armazenam as informações em blocos de tamanho fixo, cada umcom seu próprio endereço. Os discos são exemplos de dispositivos de blocos comuns;

- Os dispositivos de caractere são aqueles que recebem fluxos de caracteres, sem considerar qualquer estruturade blocos. Estes não são endereçáveis e não dispões de qualquer operação de posicionamento. Impressoras,interfaces de rede, mouses e a maior parte de outros dispositivos que são diferentes do disco podem ser consideradosdispositivos de caractere;

Já Stallings[4] classificaa grosso modoos dispositivos em três categorias, segundo a finalidade do dispositivo e comoele interage com os outros dispositivos e/ou usuário,Human Readable, Machine ReadableeCommunications;

- Human readable, são dispositivos adequados para a comunicação com o usuário. Exemplos destes dispositivosincluem teclados, mouses, impressora, monitor, etc...;

- Machine readable, são dispositivos adequados para comunicação com dispositivos eletrônicos. Exemplos destesdispositivos são, disco rígido drivers de fita magnética, censores, controladores, cdroms, etc...;

- Communication, são dispositivos adequados para comunicação com dispositivos remotos. Exemplos são modens,dispositivos para redes, etc...

Carpineli classifica os dispositivos de E/S em dispositivos de Entrada, dispositivos de Saída e dispositivos de Entradae Saída.

- Dispositivos de entrada são aqueles como o teclado que é apenas utilizado para inserir dados no sistema;

- Dispositivos de saída são aqueles como o monitor que são utilizados apenas para saída dos dados do sistema;

- Dispositivos de entrada e saída como os discos rígidos e modens, são utilizados tanto para entrada de dados comopara saída de dados no sistema.

3

Page 7: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

2.3 Diferenças entre os Dispositivos de E/S

2.3 Diferenças entre os Dispositivos de E/S

Existem grandes diferenças entre os dispositivos. Dentre estas diferenças destacam-se:[4]

- Data rate (Taxa de transferência): É a taxa com que os dados são enviados ou recebidos pelo ou para o dispositivo.Por exemplo, o teclado tem uma taxa de transferência inferior a 10 B/s, visto que esta taxa depende exclusivamenteda rapidez com que o usuário pressiona as teclas do teclado. Entretanto, um monitor pode receber dados com umavelocidade de 75 MB/s [3];

- Application (Aplicação): A finalidade de cada dispositivo influencia nosoftwaree nas políticas do sistema opera-cional e nos utilitários de suporte. Por exemplo, um disco utilizado para arquivos requer o suporte de umsoftwarede gerenciamento de arquivos. Um disco utilizado para armazenar páginas em um esquema de memória virtualdepende do uso desoftwareehardwarepara memória virtual;

Portanto, um mesmo dispositivo utilizado para finalidades diferentes pode apresentar a necessidade de tratamentodiferente. O que pode gerar aumento na complexidade de gerenciamento do mesmo;

- Complexity of control (Complexidade do controle): Por exemplo, uma impressora requer uma interface de controlerelativamente simples. Enquanto o controle de um disco é muito mais complexo;

- Unit of Transfer (Unidade de Transferência): Os dados podem ser transferidos em como um conjunto de bytes oucaracteres ou em grandes blocos de dados;

- Data representation (Representação dos Dados): Diferentes abordagens para codificações de dados são utilizadaspor diferentes dispositivos, isto inclui diferenças nos códigos dos caracteres e convenções de paridade;

- Error conditions (Condições de erro): A natureza dos erros, o modo como estes são reportados, suas conseqüênciase o conjunto de respostas possíveis difere enormemente de um dispositivo para outro.

4

Page 8: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

2.4 Interfaces de E/S

2.4 Interfaces de E/S

Os dispositivos de E/S precisam de um canal especial para comunicação para interfacea-los com a CPU. Isto para re-solver as diferenças nas propriedades de cada dispositivo com as propriedades da CPU e memória. As maiores diferençasentre os periféricos, a CPU e memória são:

1. Dispositivos de E/S grande parte das vezes são dispositivos eletromecânicos cuja forma de operação difere da CPUe da memória, que são dispositivos eletrônicos;

2. A taxa de transferência dos dispositivos de E/S são usualmente diferentes da taxa de relógio (clock rate) da CPU.Conseqüentemente existe a necessidade de mecanismos de sincronização;

3. O formato e o código dos dados nos periféricos diferem do formato das palavras na CPU e memória.

Para resolver estas diferenças, os sistemas computacionais incluemhardwaresespeciais entre a CPU e os dispositivosde E/S. Este componentes são chamadasinterface unitspois elas são a interface entre o barramento da CPU e os disposi-tivos de E/S. Além disso, cada dispositivo tem seu próprio controlador ara supervisionar as operações de um mecanismoparticular daquele dispositivo. Por exemplo, o controlador de uma impressora controla a quantidade de papel, o tempoda impressão e a quantidade de caracteres a serem impressos.

3 Estrutura de comunicação Dispositivos X CPU

Uma estrutura típica de comunicação entre a CPU e vários periféricos pode ser observada na Figura 1.

Centralprocessing

unit(CPU)

Interface

Keyboard

Inputdevice

Interface

CRTdisplay

Outputdevice

Interface

Printer

Outputdevice

Interface

Magneticdisk

Input and Output device

Data bus

Address bus

Control

Figura 1: Simples estrutura de comunicação - barramentos.

É importante notar que esta figura será tomada como base para ilustrar as diferenças da diferentes abordagens dafunção de E/S.

3.1 Barramentos

Como visto na figura anterior, todas as interfaces são diretamente conectadas nos barramentos de dados, endereço econtrole.

5

Page 9: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

Neste caso, quando a CPU deseja acessar algum dispositivo em particular, ela coloca o endereço do dispositivo nobarramento de endereço. Todos os periféricos com endereços não correspondentes àquele inserido pela CPU, desabilitamsua interface. Quando uma interface detecta seu próprio endereço, esta ativa as linhas de barramento e o dispositivoque esta interface controla. No mesmo tempo que o endereço é colocado no barramentos de endereços, o processadorprovê um código de função nas linhas de controle. A interface selecionada responde à este código de função e continua aexecutá-la. Se dados precisam ser transferidos, a interface comunica-se com o dispositivo e o barramento de dados parasincronizar a transferência.

Além disso, a CPU deve se comunicar com a unidade de memória através de um barramento de endereço, dados econtrole.

4 Estrutura de Comunicação Dispositivo X Memória X CPU

Existem três maneiras dos barramentos se comunicarem com a memória e os dispositivos de E/S.

• Memory-mapped I/O (E/S mapeada em memória): Onde os barramentos de dados, endereços e controle são co-muns. Um espaço de endereçamento comum é compartilhado entre as interfaces e as palavras de memória, cadaqual tendo valores distintos. Computadores que possuem E/S mapeada em memória lêem e escrevem nas interfacescomo se estas fossem endereços de memória através do uso das mesmas instruções de leitura e escrita da memória.

• Isoled I/O configuration (Configuração de E/S isolada): compartilha os barramentos de dados e endereços, mascom barramentos de controle separados. Estes computadores possuem linhas separadas de leitura e escrita paramemória e dispositivos de E/S.

• Independent Set of data, address and control buses (Conjunto de barramentos de dados, endereços e controleindependentes). Isso é possível através do uso deI/O Processorsque serão discutidos posteriormente.

5 Sinais de Controle

A CPU, a interface e o dispositivo de E/S possuem diferentesclocksque não estão sincronizados. Assim, estasunidades são ditas assíncronas entre si. A transferência assíncrona de informações ou dados entre duas unidades inde-pendentes requer que sinais de controle sejam transmitidos entre estas unidades para indicar quando cada dado esta sendotransmitido. No caso da comunicação CPU-para-interface, os sinais de controle também precisam indicar o tempo noqual o endereço é válido. Dois métodos,strobingehandshaking, serão abordados a seguir.

5.1 Strobing

Na Figura 2(a) a transferência é iniciada pela unidade de destino. Na região achurada no barramento de dados, estessão inválidos. Além disso, a mudança noStrobeno final de cada flecha causa uma mudança no barramento de dados noinício de cada flecha.

A unidade de destino modifica oStrobede 0 para 1. Quando o valor 1 doStrobechega a unidade emissora, a unidaderesponde colocando o dado no barramento de dados. A unidade de destino espera o dado ser disponibilizado, no piordos casos, um tempo fixo depois doStrobeter sido setado para 1. Então, a unidade de destino captura os dados em umregistrador e modifica oStrobede 1 para 0. Em resposta ao valor 0 doStrobea unidade emissora retira os dados dobarramento.

Na Figura 2(b) a transferência é iniciada pela unidade emissora. Neste caso, a unidade emissora coloca os dados nobarramento. Após um curto intervalo de tempo requerido para os dados se estabilizarem no barramento, a unidade deorigem modifica oStrobede 0 para 1. Em resposta aoStrobemodificado de 0 para 1, a unidade de destino transfere osdados para um de seus registradores. A unidade emissora então modifica oStrobede 1 para 0. Finalmente, após um curtoperíodo de tempo requerido para garantir que a transferência dos dados para o registrador da unidade de destino tenha

6

Page 10: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

5.2 Handshaking

Destination unit

(a) Destination-initiated transfer

Data bus

Source unitStrobe

Data bus

Strobe

Source unit

(b) Source-initiated transfer

Data bus

Destination unitStrobe

Data bus

Strobe

Figura 2: Transferência assíncrona através de Strobe.

sido realizada, a unidade emissora retira os dados do barramento de dados, completando assim a transferência.

Apesar de simples, o método de transferência de dados com o uso destrobepossui muitas desvantagens. Primeiro,quando a unidade emissora inicia a transferência, não existe indicação de que os dados foram realmente capturados pelaunidade de destino. Isto é possível, através de uma falha de hardware, no qual a unidade de destino não recebe a mudançanoStrobe. Segundo, quando a unidade de destino inicia a transferência, não existe indicação para ela que a unidade emis-sora já tenha colocado os dados no barramento. Assim, a unidade de destino pode ler valores arbitrários do barramentoao invés dos dados esperados. Finalmente, a velocidade com que cada uma das várias unidades responde pode variar.Se existirem múltiplas unidades, a unidade que inicializar a transferência precisa esperar pelo atraso da mais vagarosaunidade antes de modificar oStrobepara 0. Assim , o tempo tomado para toda transferência é determinado pela unidademais lenta.

5.2 Handshaking

O métodohandshakingusa dois sinais de controle para tratar o tempo das transferências. Além do sinal da unidadeque inicia a transferência, existe um segundo sinal de controle da outra unidade envolvida na comunicação.

O princípio básico de um processo dehandshakingde dois sinais é como se segue. Uma linha de controle da unidadeque deseja iniciar a transferência é utilizada para requisitar uma resposta da outra unidade. A segunda linha de controleda outra unidade é utilizada para avisar à outra unidade que a resposta esta acontecendo. Desta forma, cada unidadeinforma a outra a respeito de seu status.

A Figura 3 mostra o processo de transferência de dados através do uso dohandshaking. Na Figura 3(a), a transferên-

7

Page 11: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

5.2 Handshaking

Destination unit

(a) Destination-initiated transfer

Data bus

Source unitRequest

Data bus

Request

Source unit

(b) Source-initiated transfer

Destination unit

Reply

Data bus

Request

Reply

Reply

Data bus

Request

Reply

Figura 3: Transferência assíncrona através de handshaking.

cia é inicializada pela unidade de destino. As duas linhas dehandshakingsão chamadas deRequest(Requisição) eReply(Resposta). O estado inicial é quando ambas,RequesteReplyestão desabilitadas e no estado 00. Os estados subseqüentessão 10, 11 e 01. A unidade de destino inicia a transferência habilitandoRequest. A unidade emissora responde colocandoos dados no barramento. Após um curto período de tempo, necessário para estabilizar os dados no barramento, a unidadeemissora ativaReplypara sinalizar a presença de dados. Em resposta aoReplya unidade de destino captura os dados dobarramento em um registrador e desabilitaRequest. A unidade emissora então também desabilitaReplye o sistema voltaao estado inicial. A unidade de destino não pode fazer outra requisição até que a unidade emissora esteja pronta paraprover novos dados, o que é sinalizado desabilitandoReply.

A Figura 3(b) representa ohandshakingde uma transferência inicializada pelo emissor. Neste caso, o emissor con-trola o intervalo entre quando o dado é aplicado no barramento eRequesté modificado para 1 e quando o dado é retiradodo barramento eRequestvolta a 0.

O método dehakdshakingprove um alto grau de flexibilidade e confiabilidade pois completar com sucesso umatransferência de dados necessita da participação ativa das duas unidades. Se uma unidade esta com problemas, a trans-ferência não será completa. Um erro pode ser detectado através de mecanismos detime-out, que produz um alarme sea transferência não for realizada em um período de tempo pré-determinado. Otime-outé implementado quando umaunidade habilita um dos sinais (Requestou Reply) dehandshaking. Se ohandshakede retorno não ocorrer em um dado

8

Page 12: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

período de tempo, a unidade assume que um erro ocorreu.

O sinal detime-outpode ser utilizado para interromper a CPU e executar uma rotina que tome a devida ação pararecuperação do erro.

6 Organização da Função de E/S

As informações binárias recebidas de um dispositivo externo é são usualmente armazenadas em memória para poste-rior processamento. Informações transferidas da CPU para um dispositivo tem como origem a memória.

A CPU simplesmente executa as instruções de E/S e pode aceitar os dados temporariamente, mas o destino final ou aorigem dos dados é a memória.

Atualmente quatro técnicas podem ser utilizadas para possibilitar a E/S.

- Programmed I/O (E/S Programada)

- Interrupt-driven I/O (E/S por Tratamento de Interrupção)

- DMA - Direct Memory Access (ADM - Acesso Direto a Memória)

- I/O Processor - (Processador de E/S)

A seguir, será detalhado o funcionamento de cada uma das abordagens.

6.1 Programmed I/O

Quando o processador esta executando um programa e encontra uma instrução relacionada à E/S, este executa aquelainstrução através da aplicação de um comando à interface do dispositivo apropriado. Usualmente, a transferência é real-izada entre um registrador da CPU e um registrador da interface do dispositivo ou através da CPU e memória.

Figura 4: E/S programada

Com a E/S programada, quando um dispositivo realiza as operações desejadas, ou possui informações que devemser enviadas ele as envia para sua interface que simplesmente seta um bit no registrador de status (geralmente chamadodeflag) indicando sua necessidade de troca de dados. Nem uma outra ação é tomada pela interface do dispositivo paraalertar o processador. Assim, é responsabilidade do processador chegar aflagde status da interface de tempos em tempo.

9

Page 13: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

6.2 Interrupt-driven I/O

O fluxograma da figura 5 do programa que deve ser escrito para possibilitar a transferência de um conjunto de bytesde um dispositivo que devem ser armazenadas na memória. O programa continuamente examina o status da interface atéque ele seja estado como 1.

Read status register

Check flag bit

Read data register

Transfer data to memory

Continue Program

Operationcompleted?

Flag

1

0

No

Yes

Figura 5: Fluxgrama de E/S programada

Na E/S programada, o processador permanece em umloop de programa chamadobusy-wait loop(loop de esperaocupada) até que a interface do dispositivo indique que esta pronta para transferência.

A transferência de dados controlada por programa é utilizada somente em sistemas que são dedicados a monitorarum dispositivo constantemente. A diferença entre a taxa de transmissão de informação entre a CPU e o dispositivo deE/S torna este tipo de transferência ineficiente.

Segundo [Stallings], o problema com a E/S programada é que o processador tem que esperar um longo período detempo para que a interface do dispositivo esteja pronto, tanto para recepção quanto para o envio de mais dados. O proces-sador, enquanto espera, precisa continuamente interrogar o status da interface. Como resultado, o nível de performancede todo o sistema é severamente degradado.

6.2 Interrupt-driven I/O

Uma alternativa à E/S programada é a E/S dirigida à interrupção (alguns autores referenciam este método comoTransferência iniciada por interrupção). Com isso a CPU não precisa constantemente chegar a flag das interfaces dos dia-

10

Page 14: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

6.3 DMA - Direct Memory Access

positivos, ao invés disso ele permite que as interfaces o informe de quando estão prontas para transmissão. O processadorentão a execução do processo atual e executa a transferência de dados, como feito no caso de E/S programada. Após terefetuado a transmissão o processador volta ao processamento que estava efetuando antes de ter sido interrompido.

Para efetuar a E/S, o processador precisa armazenar o contexto (e.g., program counter and processor registers) doprograma corrente e executar um programa para o tratamento da interrupção. Por exemplo, o processador pode ler umapalavra de dados da interface e armazenar na memória.

E/S dirigida à interrupção, apesar de mais eficiente do que a simples E/S programada, ainda requer a intervençãoativa do processador para transferir informações entre a memória e uma interface, e qualquer transferência de dados deveatravessar o caminho através do processador. Assim tanto a E/S programada quanto a E/S dirigida à interrupção sofremde duas desvantagens inerentes:

1. A transferência é limitada pela velocidade com que o processador consegue testar e servir um dispositivo;

2. O processador esta amarrado ao gerenciamento de uma transferência de E/S; muitas instruções precisam ser exe-cutadas em cada transferência de E/S.

6.3 DMA - Direct Memory Access

A transferência de blocos de informação entre um rápido dispositivo de armazenamento com um disco magnético e aCPU pode preocupar a CPU e pode permitir que pouco, se algum, outro processamento possa ser executado. Removendoa CPU do caminho e deixando que o dispositivo periférico gerencie os barramentos de memória diretamente aliviará aCPU de muitas operações de E/S e irá permitir que o processador continue com outro processamento. Nesta técnica detransferência, chamada Acesso Direto a Memória - ADM (Direct Memory Access - DMA). O controlador DMA obtémos barramentos para controlar a transmissão diretamente entre o dispositivo de E/S e a memória. Como conseqüência oprocessador é temporariamente privado de acessar a memória e controlar os barramentos de memória.

Quando o processador deseja ler ou escrever um bloco de dados, ele envia um comando para o módulo DMA atravésdo envio das seguintes informações:

• Se a operação é de leitura ou escrita;

• O endereço do dispositivo de E/S envolvido;

• O endereço inicial na memória para ler ou escrever os dados;

• O número de palavras que deve ser lido.

DMA pode capturar os barramentos de muitas formas. Um método comum e muito utilizado em microprocessadoresé desabilitar os barramentos através de sinais de controle especiais. A figura 6 mostra dois sinais de controle em umaCPU que facilita a transferência via DMA. A requisição de barramento (BR) é utilizada pelo controlador DMA parasolicitar à CPU que libere o controle dos barramentos. Quando o BR é ativado, a CPU coloca o barramento de endereços,de dados e as linhas de leitura e escrita em alta impedância. Depois disso, a CPU ativa o sinal de Barramento Garantido(BG) para informar ao DMA que ele pode tomar o controle dos barramentos. Enquanto a linha BG estiver ativa, a CPUnão poderá proceder com qualquer operação que necessite acessar os barramentos. Quando o BR é desabilitado pelomódulo DMA, a CPU retorna a sua operação convencional, desabilita a saída BG e toma controle dos barramentos.

Quando a linha BG é habilitada, o controlador DMA toma controle do sistema de barramentos para comunicaçãodireta com a memória. A transferência pode ser feita para um bloco inteiro de palavras memória, suspendendo a op-eração da CPU até que o bloco todo seja transferido, este processo é conhecido comoburst transfer(transferência porrajadas). Ou a transferência pode ser realizada uma palavra por vez entre execuções de instruções da CPU, um processochamadosingle-cycle transfer(transferência em um ciclo) oucycle stealing(roubo de ciclo). A CPU meramente faz suasoperações no sistema de barramentos aguardar um ciclo de memória para permitir a transferência direta da memória-E/S

11

Page 15: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

6.3 DMA - Direct Memory Access

Figura 6: Sinais de controle da CPU para DMA

para “roubar” um ciclo de memória.

Maiores informações sobre o controlador DMA podem ser encontradas em [3 pg 603].

A posição do controlador DMA em um sistema computacional é ilustrado na Figura 7.

Figura 7: Posição do DMA em um sistema computacional.

12

Page 16: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

6.4 I/O Processor

6.4 I/O Processor

Ao invés de ter cada interface comunicando com a CPU, um computador pode incorporar um ou mais processadoresexternos e atribuir a tarefa de comunicar diretamente com todos os dispositivos de E/S. Um I/O Processor (IOP) pode serclassificado como um processador com capacidades de acesso direto a memória, que se comunica com os dispositivos deE/S. Nesta configuração, o sistema computacional pode ser dividido em uma unidade de memória e vários processadorescomposto de CPU e um ou mais IOPs. Cada IOP toma conta das tarefas de E/S.

O benefício derivado do uso de IOPs é o aumento da performance do sistema , atingido através da liberação da CPUdas tarefas detalhadas relativa à E/S.

Um IOP é similar a uma CPU, exceto que esta é desenvolvida para suportar os detalhes do processamento de E/S.Ao contrário, do DMA que precisa ser inteiramente configurado pela CPU, o IOP pode buscar e executar suas própriasinstruções . Instruções de IOP são desenvolvidas especificamente para facilitar as transferências de E/S. Além disso, oIOP pode fazer outras tarefas de processamento, como aritmética, lógica e tradução de nomes.

O diagrama de blocos de um computador com dois processadores pode ser visto na figura 8:

Figura 8: Diagrama de um computador com dois processadores.

A comunicação entre o IOP e os dispositivos é similar ao método de transferência controlada por programa (Pro-grammed I/O). A comunicação com a memória é similar ao método de DMA.

A comunicação entre a CPU e o IOP pode ser feita de diferentes formas. Na maioria dos casos, a memória atua comoum centro de mensagens. Onde cada processador deixa mensagem para o outro. Um exemplo da seqüência de operaçõesque podem ser realizadas é ilustrada no fluxograma a da figura 9.

7 Finalidades do projeto do Sistema Operacional

Dois objetivos são pertinentes no desenvolvimento da facilidade de E/S:EficiênciaeGeneralidade.

7.1 Eficiência

É importante pois as operações de E/S geralmente forma o gargalo em um sistema computacional. A maioria dosdispositivos de E/S são extremamente lentos comparados com a memória principal e o processador.

13

Page 17: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

7.2 Generalidade

Figura 9: Fluxograma da tranferência usando IOP.

Uma forma de endereçar este problema é multi-programação, que, como nós temos visto, permite que alguns proces-sos estejam esperando por operações de E/S enquanto outro processo esta executando. Entretanto, mesmo com o grandetamanho da memória principal nos computadores de hoje, ainda será freqüente o caso em que a E/S não acompanha asatividades do processador.Swappingé usado para carregar processos prontos adicionais para manter a CPU ocupada,mas isso por si só é uma operação de E/S. A área que tem recebido a maior atenção, por causa de sua importância é a E/Sem disco.

7.2 Generalidade

Outro grande objetivo. No que diz respeito a simplicidade e ausência de erros, é desejável lidar com todos os dis-positivos de uma maneira uniforme.Esta afirmação em ambos, o modo como cada processo vê os dispositivos de E/S e omodo em que o sistema operacional gerencia os dispositivos de E/S e operações.

Por causa, da diversidade das características, é difícil na prática endereçar a verdadeira generalidade. O que podeser feito é usar uma abordagem hierárquica e modular para o projeto da função de E/S. Esta abordagem esconde muitosdos detalhes do dispositivo de E/S em rotinas de baixo-nível de maneira que processos de níveis superiores do sistemaoperacional vêem os dispositivos em termo de funções gerais comoread, write, open, close,lock,unlock.

14

Page 18: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

8 Bibliografia

[1] Tanenbaum, A. S.; Sistemas Operacionais Modernos - Modern Operating Systems; Editora LTC; tradução daprimeira edição.

[2] Carpinelli, J. D. Carpinelli; Computer Systems Organization & Architecture ;Addison Wesley; primeira ediçãorevisada.

[3] Mano, M. M. & Kime, C. R.; Logic and Computer Design Fundamentals; segunda edição revisada.

15

Page 19: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

1

1

GERENCIAMENTO DE ENTRADA E SAÍDAE ESCALONAMENTO DE DISCO

Discentes: CASSIUS GOMES DE OLIVEIRALUIZ OTÁVIO DUARTE

Docente: JOSÉ CARLOS BECCENERI

1

Roteiro – Gerenciamento de E/S

� Introdução

� Comunicação: Dispositivos X CPU

� Comunicação: Memória X Dispositivos X CPU

� Sinais de Controle

� Organização da Função de E/S

� Finalidades do Projeto do S.O.

� Buffers de E/S

1

Roteiro – Gerenciamento de Disco

� Introdução

� Parâmetros de performance de disco

� Políticas de escalonamento de disco

� RAID

� Disk cache

1

Introdução (1/2)

● O controle e o gerenciamento adequado dos dispositivos de entrada e saída, tornam possiveis as abordagens vistas anteriormente;

● É uma das funções do Sistema Operacinal gerenciar e controlar todos os dispositivos de Entrada e Saída (E/S);

● Como existem muitos dispositivos diferentes, cuja forma de atuação também difere, existe a dificuldade em se prover um gerenciamento eficiente e geral para estes dispositivos.

Page 20: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

2

1

Introdução (2/2)

● O que são periféricos?

– Periféricos são dispositivos de entrada e saída conectados a um computador de maneira “on-line”;

– São ditos on-line todos os dispositivos que cuja CPU controla diretamente.

– Exemplo de periféricos: Teclado, Disco Rígido, Display gráfico, etc...

1

Classificação dos Dispositivos de E/S (1/2)

● Os dispositivos de E/S podem ser agrupados de diferentes forma;

● Tanembaum classifica os dispositivos em:

– Dispositivos de Blocos;

– Dispositivos de Caracteres.

1

Classificação dos Dispositivos de E/S (2/2)

● Stallings classifica os dispositivos em:

– Human Readable;

– Machine Readable;

– Communication.

● Carpinelli os classifica, simplesmente em:

– Dispositivo de entrada;

– Dispositivo de saída;

– Dispositivo de entrada e saída.

1

Diferenças dos dispositivos de E/S

● Mesmo agrupados em qualquer um dos métodos apresentados anteriormente, existem muitas diferenças entre dispositivos de E/S:

– Data Rate (Taxa de Transferência);

– Application (Aplicação);

– Complexity of Control (Complex. do Controle);

– Unit of transfer (Unidade de Transferência);

– Data representation (Representação dos dados);

– Error Conditions;

– ...

Page 21: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

3

1

Data Rate

● É a taxa que os dados são enviados de ou para um dispositivo de E/S.

1

Application

● Dispositivos diferentes são desenvolvidos para finalidades diferentes. Portando, necessítam de softwares específicos.

● Existem casos onde o mesmo dispositivo pode ter mais do que uma aplicação.

– Por exemplo, um disco utilizado para arquivos requer o suporte de um software de gerenciamento de arquivos. Um disco utilizado para armazenar páginas em um esquema de memória virtual depende do uso de software e hardware para memória virtual;

1

Complexity of control

● Diferentes dispositivos possuem complexidade diferente na maneira como são controlados.

– Por exemplo, uma impressora requer uma interface de controle relativamente simples. Enquanto o controle de um disco é muito mais complexo;

1

Unit of Transfer

● As unidades utilizadas pelos dispositivos de E/S podem ser diferentes. Alguns dispositivos podem transferir blocos inteiros de dados a cada operação de entrada e saída. Outros transferem caracteres ou bytes.

Page 22: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

4

1

Data Representation

● Diferentes abordagens para codificações de dados são utilizadas por diferentes dispositivos;

● Diferenças nos códigos dos caracteres e convenções de paridade.

1

Errors Conditions

● A forma como os erros ocorrem, a maneira como podem ser tratados, como são reportados e seus significados difere de dispositivo para dispositivo.

● Por exemplo, uma impressora pode reportar erros através de leds do próprio dispositivo, enquanto o mouse não possui esse recurso.

1

Interfaces de E/S

● São hardwares específicos para tratar diferenças entre a CPU e os dispositivos de E/S. Estas diferenças estão presentes no modo de operação, na taxa de transmissão de dados e o formato do código de cada periférico.

1

Interfaces de E/S

Page 23: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

5

1

Roteiro – Gerenciamento de E/S

� Introdução

� Comunicação: Dispositivos X CPU

� Comunicação: Memória X Dispositivos X CPU

� Sinais de Controle

� Organização da Função de E/S

� Finalidades do Projeto do S.O.

� Buffers de E/S

1

Comunicação: Dispositivos X CPU

1

Roteiro – Gerenciamento de E/S

� Introdução

� Comunicação: Dispositivos X CPU

� Comunicação: Memória X Dispositivos X CPU

� Sinais de Controle

� Organização da Função de E/S

� Finalidades do Projeto do S.O.

� Buffers de E/S

1

Com: Dispositivos X CPU X Memória

● A estrutura de comunicação entre dispositivos, CPU e memória pode ser através de:

– Memory-mapped I/O (E/S mapeada em memória);

– Isoled I/O configuration (configuração de E/S isolada);

– Independent Set of data, address and control buses (Conjunto de barramentos de dados, endereços e controle independentes).

Page 24: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

6

1

Roteiro – Gerenciamento de E/S

� Introdução

� Comunicação: Dispositivos X CPU

� Comunicação: Memória X Dispositivos X CPU

� Sinais de Controle

� Organização da Função de E/S

� Finalidades do Projeto do S.O.

� Buffers de E/S

1

Sinais de Controle

● Como a CPU e os dispositivos de E/S são assincronos entre si. Existe a necessidade de que sinais de controle sejam trocados entre as unidades para sinalizar quando os dados e endereços (no caso da CPU) são válidos.

● Alguns métodos são desenvolvidos para sinalização:

– Strobing

– Handshaking

1

Strobing (1/3)

1

Strobing (2/3)

● Este é um método onde uma única linha adicional é utilizada para informar à outra unidade quando os dados estão válidos no barramento.

● Desvantagens

– Quando a unidade emissora inicia a transferência, não existe indicação de que os dados foram realmente capturados pela unidade de destino.

– Quando a unidade de destino inicia a transferência, não existe indicação para ela que a unidade emissora já tenha colocado os dados no barramento.

Page 25: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

7

1

Strobing (3/3)

● Desvantagens cont.

– A velocidade com que cada uma das várias unidades responde pode variar. Se existirem múltiplas unidades, a unidade que inicializar a transferência precisa esperar pelo atraso da mais vagarosa unidade antes de modificar o Strobe para 0.

● Para tentar suprir estas desvantagens existe um segundo modelo conhecido como handshaking.

1

Handshaking (1/2)

1

Handshake (2/2)

● O método handshaking usa dois sinais de controle para tratar as transferências. Um da unidade que inicia a transferência e outro da outra unidade.

● O sinal de request requisita uma resposta da outra unidade e o sinal de reply é a resposta ao request.

● O método de hakdshaking prove um alto grau de flexibilidade e confiabilidade pois completar com sucesso uma transferência de dados necessita da participação ativa das duas unidades.

1

Comunicação Serial

● A Comunicação entre as unidades pode ser realizada de duas formas:

– Paralela;

– Serial.

● Na forma paralela, cada bit da mensagem possui seu próprio linha e toda mensagem é enviada de uma única vez. É mais rápida mais necessita de muito mais fios para realizar a comunição

● Comunicação Serial necessita de linhas de sinalização como strobe ou handshake.

Page 26: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

8

1

Comunicação Serial (1/2)

● A transmissão serial é mais lenta, porém mais economica.

● Modos de transmissão serial:

– Simplex;

– Half-Duplex;

– Full-duplex.

● A transmissão de dados pode ser:

– Assincrona, onde start bits e stop bits são enviados antes de cada transmissão.

– Sincrona, onde informações são sempre trocadas pra manter as duas unidades sincronizadas.

1

Comunicação Serial (2/2)

1

Roteiro – Gerenciamento de E/S

� Introdução

� Comunicação: Dispositivos X CPU

� Comunicação: Memória X Dispositivos X CPU

� Sinais de Controle

� Organização da Função de E/S

� Finalidades do Projeto do S.O.

� Buffers de E/S

1

Organização da função de E/S (1/2)

● A memória em uma operação de E/S é sempre o destino ou a origem dos dados da transmissão.

● As informações podem ser armazenadas temporariamente na CPU, mas sendo a origem ou o destino final a memória principal.

● A maneira como a transmissão dos dados entre os dispositivos e a memória é fator determinante de desempenho do sistema.

Page 27: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

9

1

Organização da função de E/S (2/2)

● Existem várias maneira da transferência de dados ocorrer entre o dipositivo de E/S e a memória principal. Quatro deles são:

� Programmed I/O (E/S programada);

� Interrupt-driven I/O (E/S por tratamento de interrupção);

� DMA – Direct Memory Access (ADM – Acesso Direto a Memória);

� IOP – I/O Processor (Processador de E/S).

1

Programmed I/O (1/3)

● Quando uma transferência é solicitada, um programa é executado, este fica em um “busy-wait loop” até que a transferência seja terminada.

● Com isso o processador deve verificar constantemente o status das interfaces. Em sistemas convencionais onde inúmeras transferências de E/S são realizadas em um curto periodo de tempo, esta abordagem não é aconselhavel.

1

Programmed I/O (2/3)

1

Programmed I/O (3/3)

Page 28: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

10

1

Interrupt-driven I/O (1/2)

● Não ocorre a necessidade de constantes checagem do status das interfaces constantemente.

● Fica a cargo da interface “interromper” a CPU quando os dados estiverem prontos para serem transmitidos ou recebidos.

● Mas, como na Programmed I/O, possui a desvantagem de que todos os dados necessitam atravessar a CPU.

1

Interrupt-driven I/O (2/2)

● Daisy chain para prioridade de interrupção:

1

Direct Memory Access (1/4)

● A transferência de blocos de informação entre dispositivos rápidos e a CPU pode permitir que pouco, se algum, outro processamento possa ser executado.

● Removendo a CPU do caminho e deixando que o dispositivo periférico gerencie os barramentos diretamente aliviará a CPU de muitas operações de E/S e irá permitir que o outros processamentos.

1

Direct Memory Access (2/4)

● Quando o processador deseja ler ou escrever um bloco de dados, ele envia um comando para o módulo DMA através do envio das seguintes informações:

– Se a operação é de leitura ou escrita;

– O endereço do dispositivo de E/S envolvido;

– O endereço inicial na memória para ler ou escrever os dados;

– O número de palavras que deve ser lido.

Page 29: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

11

1

Direct Memory Access (¾)

1

Direct Memory Access

1

I/O Processor (1/2)

● É um processador capaz de se comunicar com a memória através de acesso direto e capaz de comunidar com os dispositivos através de E/S programada.

1

I/O Processor (2/2)

Page 30: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

12

1

Roteiro – Gerenciamento de E/S

� Introdução

� Comunicação: Dispositivos X CPU

� Comunicação: Memória X Dispositivos X CPU

� Sinais de Controle

� Organização da Função de E/S

� Finalidades do Projeto do S.O.

� Buffers de E/S

1

Finalidades do Projeto de E/S

● Eficiência:

– Como operações de E/S são geralmente o gargalo do sistema, a eficiência torna-se muito importante;

– Uma das formas de de endereças esta finalidade é através da multi-programação.

● Generalidade:

– A generalidade permite um maior grau de simplicidade para o gerenciamento dos periféricos;

– Entretanto, na prática é muito difícil obter uma grande generalidade. O que pode ser feito é utilizar uma programação hierarquica e modular.

1

Roteiro – Gerenciamento de E/S

� Introdução

� Comunicação: Dispositivos X CPU

� Comunicação: Memória X Dispositivos X CPU

� Sinais de Controle

� Organização da Função de E/S

� Finalidades do Projeto do S.O.

� Buffers de E/S

1

Buffers de E/S

● Sistemas que não possuem buffers de E/S podem ter problemas com swapping e paginação.

● Algumas técnicas de buffers utilizadas são:

– Single Buffering;

– Double Buffering;

– Circular Buffering.

Page 31: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

13

1

Buffers de E/S

1

Buffers de E/S

1

Roteiro – Gerenciamento de Disco

� Introdução

� Parâmetros de performance de disco

� Políticas de escalonamento de disco

� RAID

� Disk cache

1

Introdução

● É o primeiro dispositivo de armazenamento de dados em massa, não volatil, de velocidade intermediaria para maioria dos sistemas.

● O disco rígido é dividido em pratos magnetizados nas duas faces. Existem uma ou mais cabeças de leitura.

Page 32: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

14

1

Disco Rígido:

1

Disco Rigido: Endereçamento

● O endereçamento de um byte de um disco rígido leva em consideração o número do cilindro, o número da cabeça de leitura, o número do setor e o deslocamento dentro do setor.

● O enderçamento leva em consideração que o número de setores por trilha é fixo. Entretando nos discos de alta capacidade atuais isso pode não ser verdade.

1

Roteiro – Gerenciamento de Disco

� Introdução

� Parâmetros de performance de disco

� Políticas de escalonamento de disco

� RAID

� Disk cache

1

Parâmetros de performance de disco

● Para medir o desempenho de um disco rígido é necessário levar em consideração alguns parâmetros como:

– Seek Time;

– Rotational Delay;

– Access Time;

– Transfer Time;

– ...

Page 33: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

15

1

Seek Time

● É o tempo requerido para a movimentação das cabeças de leitura do cilindro atual ao cilindro desejado.

● O seek time pode ser aproximado por:

Ts = m . n + s

Onde: Ts = Estimativa do seek time

n = número de trilhas para atravessar

m = constante que depende do driver

s = startup time1

Rotational Delay

● É a quantidade de tempo gasta para que o setor desejado no dispositivo seja alcaçado.

● Segundo Stallings os discos possuem velocidades de 3.600 rpm, o que significa uma rotação a cada 16.7 ms. No caso médio teriamos um rotational delay de 8.3 ms.

● Entretanto atualmente é fácil encontrar discos que possuem velocidades de 5.000 rpm; 7.200 rpm e até de 15K rpm. No caso de 7.200 rpm teriamos uma rotação a cada 8.3ms. E no caso médio teriamos um rotational delay de 4.15ms.

1

Access Time

● A soma do seek time, se existir com o rotational delay é conhecido como Access Time, o tempo para chegar à posição correta para escrita ou leitura.

1

Transfer Time

● Uma vez que a cabeça esta na posição correta, é o tempo tomado para que a operação de leitura e escrita seja feita a medida em que o setor se move debaixo da cabeça.

● Pode ser resumido por:

T=b/rN

Onde:

T = tempo de tranferênciab = número de bytes a serem transferidosN = número de bytes de uma trilhar = velocidade de rotação por segundo

Page 34: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

16

1

Average Access Time

● Portanto, o tempo médio de acesso pode ser expressado por:

Ta = Ts + 1/2r + b/rN

● Mas simples exemplos podem mostrar que to tempo de acesso para um mesmo problema pode variar enormemente dependendo da localização física dos dados no disco.

1

● Levando-se em consideração um simples exemplo de leitura de disco.

1) Se os dados que precisam ser obtidos estão compactados e armazenados seqüêncialmente dentro do disco. Ou seja, dentro da mesma trilha com setores adjacentes. Se tivessemos que ler uma trilha inteira de dados. Teriamos um tempo de acesso: Ta = Ts + 1/2r + b/rN

2) Se os dados estão espalhados em setores randomicamente dentro do disco. Teriamos um tempo de acesso: Ta = (Ts + 1/2r + c/rN)*b/c

Onde: c é o número de bytes por setor.

1

Comparação de tempo.

● Considere um Ts médio de 20ms, um disco com 3.600 rpm e 512bytes por setor e 32 setores por trilha. Qual o Ta para a leitura de 16KBytes de dados ?

1) Ta = Ts + 1/2r + b/rN =

= 20ms + 8.3ms + 16.7ms = 45ms

2) Ta = (Ts + 1/2r + c/rN)*b/c =

= (20 + 8.3 + 0.52)*32 = 922.24ms

1

Roteiro – Gerenciamento de Disco

� Introdução

� Parâmetros de performance de disco

� Políticas de escalonamento de disco

� RAID

� Disk cache

Page 35: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

17

1

Políticas de Escalonamento de Disco

● Em um ambiente de multiprogramação onde filas de requisições são mantidas, podemos implementar políticas de escalonamento:

– Random Scheduling;

– First-in-First-out (FIFO);

– Priority;

– Last In First Out (LIFO);

– Shortest Service Time First (SSTF);

– SCAN;

– C-SCAN;

– N-Step-SCAN e FSCAN. 1

Escalonamento Randomico

● É um escalonamento utilizado apenas para comparação entre os outros algorítmos de escalonamento.

● Podemos esperar que as trilhas seja acessadas randomicamente, obtendo a pior performance possível.

1

First-in-First-out (FIFO)

● É a forma mais simples de escalonamento, que significa que os itens da fila são processadas de maneira seqüêncial.

● É um algoritmo justo pois todas as requisições serão atendidas e as requisições são atendidas na ordem em que chegaram.

● Entretanto a performance deste método freqüêntemente irá se aproximar à do escalonamento randomico.

1

Prioridade

● Em um sistema baseado em prioridades, o controle do escalonamento esta fora do controle do software de gerenciamento de disco.

● Não tem a inteção de otimizar a utilização do disco e sim alcançar outros objetivos do sistema operacional.

Page 36: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

18

1

Last In First Out (LIFO)

● É uma política onde sempre a última requisição é tratada.

● Em alguns sistemas atribuir ao dispositivo a última requisição pode resultar em pouca ou nenhuma necessidade de movimentação da cabeça de leitura.

● Entretanto existe risco de starvation quando muitas requisições são enviadas ao disco.

1

Shortest Service Time First (SSTF)

Esta política seleciona a requisição que requer a menor movimentação do braço do disco (deslocamento da cabeça de leitura) da posição atual.

● Assim, pretende-se encontrar o menor seek time.

● Pode ocorrer risco de starvation quando a requisição possuir um seek time muito grande.

1

SCAN

● A movimentação da cabeça de leitura é realizada em apenas uma direção, até que a última trilha seja encontrada.

● Após isso a movimentação passa a ser no sentido contrário.

● É uma alternativa para tentar se prevenir starvation quando requisições possuem um seek time muito grande.

1

C-SCAN

● O escaneamento é restrito a uma única direção.

● Quando a última trilha é encontrada em uma direção, a cabeça de leitura retora ao inicio oposto do disco.

Page 37: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

19

1

N-STEP-SCAN e FSCAN (1/2)

● Em todas as abordagens vistas, é possível que a cabeça de leitura não se mova por um periodo consideravel de tempo. Isso pois, podem haver processos que possuiem uma grande taxa de acesso a uma únca trilha.

● Para evitar este tipo de problema, a fila de requisição pode ser segmentada.

1

N-STEP-SCAN e FSCAN

● N-Step-SCAN

– Segmenta a fila de requisição em sub-filas de tamanho N.

– As subfilas são então processadas uma por vez utilizando-se SCAN.

– Novas requisições são inseridas a outra fila enquanto a fila é processada.

● FSCAN

– São formadas duas filas.

– Enquanto uma é tratada a outra é preenchida.

1 1

Roteiro – Gerenciamento de Disco

� Introdução

� Parâmetros de performance de disco

� Políticas de escalonamento de disco

� RAID

� Disk cache

Page 38: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

20

1

RAID 0 (Não redundante)

1

1

RAID 1 (Espelhado)

1

RAID 2 (Redundancia através de código de Hamming)

Page 39: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

21

1

RAID 3 (bit-interleaved parity)

1

RAID (block-level parity)

1

RAID 5 (block-level distributed parity)

1

RAID 6 (dual redundancy)

Page 40: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

22

1

Roteiro – Gerenciamento de Disco

� Introdução

� Parâmetros de performance de disco

� Políticas de escalonamento de disco

� RAID

� Disk cache

1

Cache de Disco

● É um buffer em memória principal para setores do disco.

● Ou seja, contêm uma cópia de alguns dos setores do disco.

1

Least Recently Used (LRU)

● É uma estratégia de realocação onde o bloco que estiver em cache o maior tempo sem ser referênciado deverá ser retirado. (O bloco

que estiver no final da pilha.)

● O bloco mais recentemente referênciado é colocado no top da pilha.

● Quando um novo bloco é inserido no cache ele assume o topo da fila.

1

Least Frequently Used (LFU)

● Neste método o bloco que tiver sido referênciado o menor número de vezes é retirado quando um novo bloco é trazido para a cache.

● Um contador é associado a cada bloco e é incrementado a cada acesso.

● Possui problemas com blocos que são referênciados muitas vezes em um curto periodo de tempo e não são mais necessários mas acabam não sendo descartados.

Page 41: Gerenciamento de Entrada e Saída e Escalonamento de …becceneri/arquivos/entrada_e_saida.pdf · 8 Bibliografia 15. 1 Resumo ... - Dispositivos de entrada e saída como os discos

23

1

Obrigado!