Transcript
Page 1: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

Gerenciador de Entrada/Saída

(aula 11)

BC 1518 - Sistemas Operacionais (SO)

Prof. Marcelo Zanchetta do Nascimento

Universidade Federal do ABC

Page 2: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

2

Roteiro Princípios básicos de hardware de E/S;

Operações dos módulos de E/S;

Tipos de E/S;

Princípios básicos de software de E/S;

Organização dos discos;

Desempenho;

Escalonamento de dados;

Leitura Sugerida

Page 3: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

3

Periférico é um dispositivo conectado ao computador

de forma a possibilitar sua interação com o mundo

externo;

Não são conectados diretamente aos barramentos

(dados, endereços) do computador;

São interconectados aos barramentos internos do

computador interfaces.

Elemento chave para transfêrencia de dados

Princípios básicos de hardware

Page 4: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

4

Razões para utilizar as interfaces:

Inúmeros tipos de periféricos, com diferentes

formas de operação, sendo impraticável implantar

no computador uma lógica que permita a

operação com todos ou mesmo parte destes

dispositivos;

Interface emprega em seu projeto um outro

componente denominado controlador. Operações como: “ler dados”, “escrever dados”, etc.

Princípios básicos de hardware

Page 5: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

5

Princípios básicos de hardware Dispositivos de E/S:

Memór iaPr incipal

UCP

Controladorde

Impressora

Controladorde

Disco

ControladordeFita

Impressora Disco Fita

Page 6: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

6

Controlador é programado via registradores interno

de configuração (barrramento de dados e de

endereços):

Recebem ordens do processador,

Fornece o estado de uma operação,

Permite a leitura e escrita de dados do periférico.

Registradores são “visto” como posições de memória:

E/S mapeamento em memória;

E/S mapeamento em espaço de entrada e saída.

Como os controladores interagem com o sistema operacional?

Page 7: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

7

Espaço de endereçamento

Conjunto de endereços de memória reservada

para que o processador possa endereçar dados

Pode haver um espaço de endereçamento distinto

a entrada e saída: Cada registrador é associado a um número de porta de

E/S

Instruções específicas para acessar um ou outro

espaço de endereçamento (registradores): mov, in, out

Mapeamento em espaço de memória e em espaço de entrada e saída

Page 8: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

8

Um único espaço de endereçamento (memória e

E/S)

Projeto do computador reserva uma parte de área

de memória de endereçamento para E/S

Intruções de acesso do tipo mov end, dados pode

referenciar uma posição real da memória como um

registrador associado a um periférico.

Ex. Processadores da família motorola

Mapeamento em espaço de memória

Page 9: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

9

Processador possui duas áreas distintas de

endereçamento:

Acesso a memória: instruções (mov)

Acesso a E/S: instruções (in, out)

Numericamente o valor do endereço pode ser o

mesmo nos dois casos: Diferença depende da instrução empregada (mov ou in).

Pode ter uma parte alocada da memória para

mapeamento de E/S Ex. Processadores Intel

Mapeamento em espaço de E/S

Page 10: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

10

Via Acesso Direto à Memória (DMA)

Utiliza um hardware especial, controlador DMA, para

tranferência de dados;

A técnica que propõe utilizar uma única interrupção para

efetuar a transferência de um bloco de dados

diretamente entre o recurso e a memória, sem o

envolvimento da CPU => reduzindo o número de

operações;

Operação de módulos de E/S

Page 11: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

11

Via Acesso Direto à Memória (DMA) Eficiente quando envolve muitos dados (leitura de disco).

Funcionamento: CPU inicializa o controlador DMA fornecendo informações sobre

quantidade de dados a transferir, origem e destino;

CPU dispara a execução do DMA, iniciando a transferência;

CPU se dedica a outra tarefa;

Ao final da operação o DMA aciona uma interrupção para

sinalizar o término da operação;

Operação de módulos de E/S

Page 12: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

12

Operação de módulos de E/SVia Acesso Direto à Memória (DMA)

UCP

Controladorde DMA

Registradores

Buffer

MemóriaPr incipal

Buffer de E/S

Controladorde

Disco

Disco

1

2

3

4

Page 13: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

13

O objetivo é padronizar as rotinas de acesso aos periféricos de forma a reduzir o número de rotinas;

O subsistema é organizados em camadas:

Camadas mais baixas apresentam detalhes de hardware:

Drivers e manipuladores de interrupção;

Camadas mais altas apresentam interface para o usuário:

Aplicações de Usuário;

Chamadas de Sistemas;

Software Independente de E/S.

Princípios básicos de software de E/S

Page 14: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

14

Princípios básicos de software de E/SInterface padrão para drivers de dispositivos (API)

Page 15: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

15

Software de E/S no nível Usuário: Bibliotecas de E/S são utilizadas pelos programas dos usuários Chamadas ao sistema (system calls);

Software Independente de E/S:

Realizar as funções comuns a qualquer dispositivo; Fazer o escalonamento de E/S; Atribuir um nome lógico a partir do qual o dispositivo é

identificado; Ex.: UNIX (/dev)

Prover buffering: ajuste entre a velocidade e a quantidade de dados transferidos;

Cache de dados: armazenar na memória um conjunto de dados freqüentemente acessados;

Princípios básicos de software de E/S

Page 16: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

16

Software Independente de E/S:

Reportar erros e proteger os dispositivos contra acessos indevidos :

Gerenciar alocação, uso e liberação dos dispositivos acessos concorrentes;

Transferência de dados:

Síncrona (bloqueante): requer bloqueio até que os dados estejam prontos para transferência;

Assíncrona (não-bloqueante): transferências acionadas por interrupções; mais comuns;

Tipos de dispositivos:

Compartilháveis: podem ser utilizados por vários usuários ao mesmo tempo; Exemplo: disco rígido;

Dedicados: podem ser utilizados por apenas um usuário de cada vez;

Princípios básicos de software de E/S

Page 17: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

17

Drivers de dispositivos

Responsável pelo gerenciamento do dispositivo físico de E/S;

Código específico a um dispositivo;

Recebe solicitações da camada de gerenciamento do dispositivo (lógico):

Subdivide os periféricos em função da unidade de transferência de dados;

Orientado a caractere;

Orientado a bloco;

Responsável por tratamento de erros;

Princípios básicos de software

Page 18: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

18

Princípios básicos de softwareDrivers de dispositivos

Rotinade E/S

Dr iverde Disco

Controladorde Disco

Ler bloco n Ler setor x

Discos

Page 19: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

19

Funções gerais a todos os dispositivos de E/S:

Escalonamento de E/S -> serviços responsável por

reordenar requisições de acesso a dispositivos de E/S

buscando melhorar desempenho do sistema;

Denominação -> nome lógico para identificação do

periférico;

Buferização –> memória onde dados são

temporariamente armazenados quando são transferidos

entre diferentes camadas do software de E/S;

Cache de dados – armazena na memória um conjunto de

dados que estão sendo freqüentemente acessado;

Princípios básicos de software

Page 20: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

20

Alocação e liberação –> utiliza o spooling (sequencializa

os pedidos de acesso e atende um de cada vez) para

organizá-lo em uma fila especial;

Direitos a acesso –> Acesso restrito a autorização (UNIX

utiliza um bit de permissão de acesso);

Tratamento de erros –> manipula o erro informando a

camada superior o sucesso ou fracasso de uma

operação.

Princípios básicos de software

Page 21: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

21

Existem uma grande variedade de dispositivos: Dispositivos apropriados para sistemas computacionais de grande

porte;

Exemplo:terminais de vídeo.

Dispositivos de armazenamento secundário;

Dispositivos de comunicação, etc;

Para o sistema operacional: o periférico mais importante é o disco magnético, principalmente o disco rígido (Oliveira et al., 2001).

Dispostivios perífericos tipicos

Page 22: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

22

Possui um ou vários discos (disks) => às vezes chamados de pratos (platters), conectados a uma haste que gira em alta velocidade;

O conjunto de discos => dividido em circunferências concêntricas denominadas cilindros (cylinders);

A cabeça de leitura (head) define as trilhas (track) => que é dividida radialmente em setores (sectors);

Organização dos Discos

Page 23: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

23

Organização dos Discos

Page 24: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

24

● Setores (sectors)

– Armazenamento de informações;

– Informações de controle:● Exemplo:

– início, final do setor e ECC (Error Correcting Code);

– Entre as trilhas existe um espaço livre (inter-track gap) da mesma forma entre os setores (inter-track gap);

– Todo o espaço livre existente entre trilhas e setores não é utilizado por este dispositivo.

Organização dos Discos

Page 25: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

25

Organização dos Discos

Page 26: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

26

● Múltiplos pratos (disk pack)

– Vários pratos empilhados e concentrados;

– Cada prato um cabeçote de leitura/escrita (braço móvel);

● Mecanismo do cabeçote de leitura e escrita

– Contato físico entre a superfície magnética e o cabeçote;

– Distância física (air gap) da superfície magnética (menor do que uma partícula de fumaça);

Organização dos Discos

Page 27: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

27

Organização dos Discos

Page 28: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

28

Tempo de acesso

O tempo necessário para mover até o cilindro correto => o tempo de acesso à trilha ou tempo de pesquisa da trilha (seek time);

O tempo necessário para a cabeça ser posicionada no início do setor desejado, chamado de atraso rotacional (rotational delay);

O tempo de transferência dos dados => a leitura ou escrita dos dados (transfer time ou transmission time).

Desempenho

Page 29: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

29

Desempenho

Page 30: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

30

Possui duas componentes Tempo de acionamento e aceleração do braço do cabeçote;

Tempo de deslocamento até a trilha desejada;

Não é linear em função do número de trilhas Tempo de identificação da trilha;

Tempo médio de busca (seek):

• Exemplo: •Maxtor DiamondMax Plus 9 – 9,3 ms

•Toshiba MK8025GAS – 8,9 ms

Tempo de Posicionamento

Page 31: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

31

Definido pelo velocidade de rotação do motor

Estima-se o tempo médio:

•Exemplo:

• Maxtor DiamondMax Plus 9 – 4,2 ms

• WD Caviar – 4,2 ms

Tempo de latência rotacional

Page 32: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

32

● Técnica:– Forma de aumentar o desempenho no acesso ao disco;– Evitar latência rotacional em setores adjacentes;– Consiste em numerar os setores não mais de forma

contígua, mas sim com espaço entre eles.

E x e mp l o :

- l e i t u r a d o s s e t o r e s 4 e 5 .

- e x i s t e m 2 s e t o r e s .

Entrelaçamento

Page 33: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

33

● S.O. deve gerenciar recursos de forma eficaz;

● Um processo realiza uma operação de E/S em disco através de uma chamada de sistema (System Call) => reflete em posições diferentes de trilhas e setores do disco;

● Menor tempo de posicionamento pode melhorar substancialmente o desempenho do sistema;

Escalonamento de Dados

Page 34: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

34

● Objetivo:

– Minimizar os movimentos da cabeça de leitura e maximizar o número de bytes transferidos para atender a um maior número de requisições;

– Algoritmos para realizar a movimentação da Algoritmos para realizar a movimentação da cabeça de leitura do disco.cabeça de leitura do disco.

Escalonamento de Dados

Page 35: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

35

● Exemplo:

– Disco organizado em 200 trilhas (0-199);

– Posição inicial do cabeçote: trilha 53;

– Atender a seguinte lista de requisições:

96, 183, 37, 122, 14, 124, 65 e 67. 96, 183, 37, 122, 14, 124, 65 e 67.

Escalonamento de Dados

Page 36: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

36

FCFS (First Come First Served)FCFS (First Come First Served)● Acesso na ordem em que as requisições são

solicitadas;● Obtém-se um deslocamento equivalente a 640 trilhas;

Page 37: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

37

SSTF (Shortest Seek Time First)SSTF (Shortest Seek Time First)

● Seleciona a requisição com menor tempo de Seek

em relação a posição atual do cabeçote de leitura e

escrita;

● Análogo ao algoritmo SJF (Shortest Job First);

– Pode provocar um atraso em uma requisiçãoPode provocar um atraso em uma requisição

Page 38: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

38

● De s l o c a me n t o e q u i v a l e n t e a 2 3 6 t r i l h a s ;

SSTF (Shortest Seek Time First)SSTF (Shortest Seek Time First)

Page 39: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

39

SCANSCAN● O movimento do cabeçote inicia em uma extremidade

do disco e se movimenta em direção a outra

extremidade;

– Executa as requisições na ordem desta varredura;

– Ao chegar ao outro extremo, inverte o sentido e

repete o procedimento;

● Conhecido como algoritmo do elevador;

Page 40: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

40

SCANSCAN● De s l o c a me n t o e q u i v a l e n t e a 2 0 8 t r i l h a s .

Page 41: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

41

C-SCANC-SCAN● Variação do algoritmo de SCAN;

● Procedimento é idêntico ao do algoritmo SCAN, porém,

as requisições são atendidas apenas em um sentido da

varredura;

– Ao final da varredura o cabeçote é posicionado no

início do disco;

● Fornece uma visão lógica onde o disco é tratado como

uma fila circular;

– Oferece um tempo médio de acesso mais uniforme

que o SCAN;

Page 42: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

42

C-SCANC-SCAN

Page 43: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

• TANENBAUM, A. Sistemas Operacionais Modernos. Rio de Janeiro: Pearson, 3 ed. 2010

Leitura Sugerida

Page 44: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

Acesse o link abaixo:

http://hostel.ufabc.edu.br/~marcelo.nascimento/

Obrigado!!!

Notas de AulaNotas de Aula

Page 45: Universidade Federal do ABC - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/aulas/ufabc_bc15… · Inúmeros tipos de periféricos, com diferentes ... Operacionais

45

● 1- Aplicar os algoritmos de escalonamento no disco, FCFS, SSTF e SCAN para a seguinte seqüência de requisições:– Seqüência: 10,22,20,2,30,6;– Posição inicial – cilindro 20;– Disco com 36 cilindros;– Tempo de cada movimentação: 6 mseg;– Fazer:

● Fazer um gráfico;● Calcular o número de movimentos do braço e o

tempo total para o atendimento de todas as requisições;

– No SCAN considerar movimento inicial para a direita;

ExercícioExercício


Top Related