18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material...

66
18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara Gonçalves DIN - UEM

Transcript of 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material...

Page 1: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 1

Sistemas Operacionais:Gerenciamento de Arquivos

Prof. Leandro Magno

Material gentilmente cedido pelo prof.Dr. Ronaldo Augusto de Lara Gonçalves

DIN - UEM

Page 2: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 2

Gerenciamento de Arquivos

Terminologia Disco Controladores Drivers do SO Rotinas do SO Rotinas do usuário Interrupções Arquivos (descritores, tipos) Diretórios Cache de blocos do disco Algoritmos de alocação de

espaço livre e ocupado

Page 3: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 3

Diretórios

Arq1

Nome do Arquivo

Arq5 5

:

:

Arq2 20

Arq8 34

Arq1 50

:

:

Diretório

Atributos

251060 :

Descritorde Arquivo

50

blocosde dados

60

10

25

Page 4: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 4

Diretório de Nível Simples

nometipoetc...

.....Diretório

Arquivos

Page 5: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 5

Diretório de Dois Níveis

usuário 1 usuário 2 usuário 3DiretórioMestre

Diretóriosdos

Usuários

Arquivos

Page 6: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 6

Diretórios em Árvores

util exe fontes

dos vacinas pilha lista pilha lista

scan cura norton pctools

raíz

Page 7: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 7

Diretórios em Grafos Acíclicos

alunos professorraíz

bcc pd

bete lu gil ana

din dema

luiz ana dina maria

trab2 turbo clipper projeto

Page 8: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 8

Gerenciamento de Espaço Livre em Disco

Mapa de Bits Lista Encadeada de Blocos Livres Tabela (Bloco) de Endereços de Blocos

Livres Tabela de Blocos Livres Contíguos

Page 9: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 9

Mapa de Bits

Cada bloco é representado por 1 bit

Fácil procura de n blocos livres consecutivos

Gasto de disco para armazenar o mapa de bits

Em uma única leitura no disco (leitura do mapa de bits), é possível saber a situação de um grande número de setores

Page 10: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 10

Lista Encadeada de Blocos Livres

Cada bloco é acessado por 1 ponteiro, iniciando pela cabeça e seguindo o encadeamento

Difícil procura de n blocos livres quaisquer (caminhamento seqüencial bloco a bloco)

Extremamente difícil procura de n blocos livres consecutivos

Gasto de disco para armazenar os ponteiros, mas somente para aqueles que estão livres.

Não se tem uma visão geral sobre a proximidade dos blocos – dificulta controle de fragmentação

Page 11: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 11

Lista Encadeada de Blocos Livres

: : :

head 0 1 2 3

4 5 6 7

8 9 1011

Page 12: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 12

Tabela (Bloco) de Endereços de Blocos Livres

Cada bloco é acessado por 1 ponteiro. Existe uma tabela com ponteiros para todos os blocos livres

Difícil procura de n blocos livres consecutivos com custo médio entre o Mapa de Bits e a Lista de Blocos Livres

Gasto de disco para armazenar os ponteiros com a exigência de blocos de discos específicos para esta finalidade

Page 13: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 13

Tabela (Bloco) de Endereços de Blocos Livres

: : :

head

Page 14: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 14

Tabela de Blocos Livres Contíguos

Existe uma tabela onde cada entrada controla uma seqüencia de blocos livres

Fácil procura de n blocos livres consecutivos Semelhante ao mapa de bits: não tão

econômico mas sem a necessidade de cálculo da posição final do bloco.

Quanto mais disjuntos os blocos livres maior a tabela

Page 15: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 15

Tabela de Blocos Livres Contíguos

1 3

7 8

: :

2030 20

tamanho da sequencia

início da sequencia

Page 16: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 16

Pergunta 1

Na tabela de blocos livres contiguos, do exemplo anterior, como poderia a mesma ser atualizada, se o SO alocasse 2 setores da segunda sequência?

Page 17: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 17

Pergunta 2

Em quais situações cada método poderá gastar mais espaço de controle/gerenciamento do que os demais?

Page 18: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 18

Gerenciamento de Espaço Ocupado em Disco

Alocação Contígua Alocação Ligada

Alocação Indexada

Page 19: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 19

Alocação Contígua

0 1 2 3

4 5 6 7

8 9 10 11

12 13 14 15: :

Disco

: :

arquivo início tamanhocarta 2 3tese 9 5 : : :

diretório

Page 20: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 20

Alocação Ligada

0 1 2 3

4 5 6 7

8 9 10 11

12 13 14 15: :

Disco

: :

arquivo início fimrelato 2 11

: : :

diretório

Page 21: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 21

Alocação Indexada

0 1 2 3

4 5 6 7

8 9 10 11

12 13 14: :

Disco

: :

arquivo end. bloco índicecarta 15

: :

diretório

42

3 12 -1 -1

bloco de índices

Page 22: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 22

Escalonamento de Disco

Tempos Importantes Deslocamento (seek) Rotação Transferência

Algoritmos Comuns FIFO/FCFS SSTF SCAN (elevador)

Page 23: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 23

Exemplo: Posição Inicial = 53Ordem das Solicitações = 98, 183, 37, 122, 14, 124, 65

e 67

14 37 53 65 67 98 122 124 183

FCFS

SSTF

SCAN

640 trilhas

236 trilhas

208 trilhas

Page 24: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 24

Gerenciamento de Arquivos no DOS

FAT (File Allocation Table) - 1

Disco é dividido em boot, FAT, diretório e cluster de dados

A FAT trabalha semelhante ao Mapa de Bits, para gerenciamento de espaço livre, e como Alocação Indexada (Bloco de Índices Único), para a alocação de espaço ocupado, onde as 2 primeiras entradas são reservadas e as demais são associadas a clusters do disco, em ordem. A 3o entrada é associada ao 1o cluster de dados, a 4o entrada ao 2o cluster e assim por diante.

Page 25: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 25

Gerenciamento de Arquivos no DOS

FAT (File Allocation Table) - 2

Assim, o cluster n é associado a entrada de índice (n+2) da FAT

No diretório, cada arquivo mantém o valor da entrada na FAT relativo ao seu primeiro cluster de dados

Cada entrada da FAT pode conter: 0, indicando disponibilidade do cluster endereço do próximo cluster de algum arquivo código de “fim”, indicando que o cluster

associado é o último de algum arquivo.

Page 26: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 26

Visão Geral do Disco Formatado

BOOT FAT ... C1 C2 C3 C4 ...

Ci = cluster i

Page 27: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 27

Controle de Espaço Livre na FAT

4

reservado

reservado

FAT

1

2

3

5

:

n+2

DISCO

C1 C2 C3

C4 C5 C6

C7 .. Cn

Page 28: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 28

Alocação de Espaço Ocupado na FAT

4

reservado

reservado

FAT

5

n+2

1

2

3

5

:

fimn+2

DISCO

C1 C2 C3

C4 C5 C6

C7 .. Cn

Nome doarquivo

Índice daFAT

carta.doc 3

: :

Diretório

Page 29: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 29

Sistema de Arquivos do UNIX

Diretório hierárquico iniciado no root

Os diretórios principais são subsistemas de arquivos separados mas subordinados ao root e podem ser montados no mesmo disco do root ou em discos diferentes

Um sistema de arquivos pode ser ligado como diretório de um outro sistema de arquivos através de mount

Contém superbloco, vetor de i-nodes, blocos de dados e blocos livres.

Page 30: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 30

Subsistemas de Arquivos do UNIX

/ root

etc bin usr dev lib tmp

comandos deadministraçãodo sistema

comandosUNIX maiscomumenteusados

contas dos usuários ealguns comandos

arquivos de dispositivos

arquivosbiblioteca para programaçãoem C

armazenamentotemporário

Page 31: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 31

Características Gerais

Um mesmo arquivo físico pode aparecer em mais de uma entrada no diretório, com nomes #s (links)

Os links no diretório apontam para os i-nodes que por sua vez apontam para os arquivos físicos

O arquivo desaparece quando o último link é removido

Page 32: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 32

TDA - Tabela de Descritores de Arquivos TAS - Tabela de Arquivos do Sistema e

Cada usuário contém uma TDA com informações de todos os seus arquivos.

Cada entrada da TDA aponta para uma entrada da TAS

A TAS representa o diretório do sistema e contém uma entrada para todos os arquivos do sistema. A TODA representa o diretório do usuário.

Cada entrada da TAS possui um ponteiro para o i-node (descritor) do arquivo

O i-node é uma estrutura contendo

Page 33: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 33

identificação do usuário e grupo proprietários

bits de proteção locador de blocos (contém endereços físicos

do disco para os conteúdos do arquivo) tamanho do arquivo tempo de criação tempo da última modificação número de links do arquivo indicador que diz se o arquivo é um arquivo

comum, diretório, arquivo de dispositivo ou pipe

Page 34: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 34

Componentes do Diretório

TabelaDescritor

de Arquivos

:

Tabelade Arquivosdo Sistema

do processo

:

:

:

:

:

Tabelade i-nodes

Page 35: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 35

LocadorDe Blocos

locador de blocos

456789

10 11 12

0123

blocos dedados

: :

bloco indireto

blocos dedados

: :

:

:

blocoduplamenteindireto

: :

:

:

: :

:

:

:

:

:

:

:

:

blocoindiretotriplo

:

:

:

:

Page 36: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 36

Exercícios para Entregar

• Analise os desempenho de cada algoritmo de escalonamento de disco para a seguinte situação: Posição Inicial = 70Ordem das Solicitações = 198, 1, 6, 183, 38, 71, 72, 3, 140, 50

• Explique o esquema de gerenciamento de arquivos no DOS

• Explique o esquema de gerenciamento de arquivos no UNIX

Page 37: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 37

Gerenciamento de E/S

Principais Atividades Gerenciamento do espaço de nomes dos

dispositivos Controle de acesso aos dispositivos Alocação de espaço e alocação de dispositivos Gerenciamento de áreas temporárias, cache e

spool Escalonamento das solicitações de E/S Controle de status, erro e recuperação Configuração das rotinas de controle dos

dispositivos

Page 38: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 38

Tipos e Componentes

Tipos de Dispositivos Blocos (endereçáveis – permite seek)

HDs, CDs, Floppys ... Caracteres (fluxo contínuo – não permite seek)

Impressoras, Terminais ...

Componentes Componente Eletro-Mecânico (acionador) Componente Eletrônico (adaptador,

controlador) Software Controlador (driver)

Page 39: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 39

Taxas de Transmissão

Page 40: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 40

Controladores ou Adaptadores

Modos de Endereçamento E/S Programada E/S Dirigida por Interrupção E/S Usando DMA

Controladordo Disco

Discos

MemóriaCPU Controladorda Impressora

Impressora

Outros...

Page 41: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 41

Endereçamento Direto

Os controladores podem ser acessados através de seus registradores de controle os quais tem portas (endereços) associadas, usando instruções especiais do tipo IN e OUT. Ex:

IN REG, PORT /* lê um dado do controlador */

OUT PORT, REG /* escreve um dado no controlador */

Page 42: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 42

Endereçamento Mapeado na Memória

Os controladores podem ser acessados através de seus registradores de controle os quais são mapeados em endereços convencionais de memória, usando instruções convencionais do tipo LOAD e STORE. Ex:

LOAD REG, (END) /* lê um dado do controlador */

STORE (END), REG /* escreve um dado no controlador */

Page 43: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 43

Vantagens Acesso pode ser feito em código de alto nível,

pois estes endereços podem ser acessados como variáveis comuns.

Não requer mecanismo especial de proteção, pois estes endereços podem ser mapeados no espaço de memória virtual de cada usuário.

Desvantagens Memórias podem ser “cacheadas” e com isso os

programas podem estar acessando a cache ao invés do dispositivo.

Como o espaço de endereçamento é único, todos os módulos de memória e todos os dispositivos de E/S devem examinar todas as referências a memória para identificar cada um as suas.

Page 44: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 44

Endereços de Portas Tradicionais em PCs

Page 45: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 45

E/S Programada

A cada solicitação da CPU para um dispositivo de E/S, a própria CPU deve checar junto ao dispositivo (em um loop) se a sua solicitação já foi ou não atendida, ou melhor, se o dispositivo já está pronto ou não para realizar uma próxima operação. Esta espera pela CPU é conhecida como “espera ocupada” (busy waiting ou polling) e consome tempo desnecessário da CPU.

Page 46: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 46

Exemplo

copia_do_usuario (buffer, p, contador);for (i=0; i < contador; i++) { while (*reg_status_impressora != PRONTO); *reg_dado_impressora = p[i]; }retorna_para_usuario();

Obs: buffer é do usuário, p é do núcleo

Page 47: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 47

E/S Dirigida por Interrupção

Neste caso, após o driver ter solicitado a operação de E/S ao controlador do dispositivo, a CPU prossegue a execução de outras atividades e não pergunta pelo término da E/S. Quando o dispositivo terminar a sua operação, ele interrompe a CPU para avisá-la do término e que está pronto para atender outra solicitação.

Page 48: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 48

Interrupção de Hardware e Software (Trap)

programa

CPUdispositivo

de E/S

interrupçãode softwareinterrupção

de hardware

rotina deE/S

Page 49: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 49

Hardware de Interrupção

relógio

impressora

disco

Controladorde

InterrupçõesCPU

int

posiçãodo vetor

Page 50: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 50

Vetor de Interrupções

ender do tratadorde teclado

:

ender do tratadordo relógio

:

tratador dorelógio

0

:

n

:

tratador doteclado

MEM

:

vetor deinterrupções

rotinas donúcleo para

tratar asinterrupções

Page 51: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 51

Interrupção Precisa

Ocorre quando a máquina fica em um estado bem definido após uma interrupção, sendo que: O PC deve ser salvo em lugar conhecido (pilha) Todas as instruções anteriores aquela apontada pelo

PC devem ser executadas completamente Nenhuma instrução após aquela apontada pelo PC

deve ser executada com aproveitamento O estado da execução da instrução apontada pelo PC

deve ser conhecido

Page 52: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 52

Exemplo do funcionamento básico de um dispositivo de caractere com

buffering

Device

Buffer

Controlador

Processo

variáveis locais

DeviceDriver

Rotinasde E/S

buffer de

caracteres

Character

1 caracter

read e write

interrupção

interrupção de hardware

desoftware

chamada de procedimento

Page 53: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 53

Ciclo de E/S com Interrupção - Visão Geral -

Driver do Dispositivoinicia operação de E/S

CPU testa ocorrência deinterrupções entre instruções

CPU detecta ocorrênciade interrupção, transferecontrole para tratador da

interrupção

Tratador da interrupçãoprocessa os dados e

retorna da interrupção

CPU reiniciaprocessamento da tarefa

interrompida

CPU

1

Inicia E/S

Entrada pronta, saídacompleta ou erro.

Gera sinal deinterrupção.

2

3

4

5

6

7

Controlador de E/S

Page 54: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 54

Ciclo de E/S com Interrupção - Visão Mais Detalhada -

requisição de E/S

chama rotina do sistema

requisiçãojá pode seratendida?

envia requisição ao driverdo controlador e bloqueia

proc chamador ( se devido)

não

processa requisição e enviacomandos ao controlador.

Configura o driver para ficarbloq até ocorrer uma intpt

comandos ao controlador

controla o dispos e causaintept quando termina a E/S

processodo usuário

subsistema deE/S do núcleo

subsistema deE/S do núcleo

driver dodispositivo

tratador deinterrupções

controlador doteclado

E/S terminada.Gera interrupção

tempo

recebe o controle, colocadados em área do driver

(qdo entrada) e envia sinalpara desbloquear o driver

determina qual operação deE/S terminou e indica

mudança de estado para osubsistema de E/S

transfere dados (seadequado) ao processo eretorna código de erro ou

sucesso

E/S terminada

sim

Page 55: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 55

E/S com DMA (Direct Access Memory)

Usa-se DMA para evitar que a CPU transfira byte a byte grandes quantidades de dados. A CPU informa ao controlador DMA o início, o fim e o número de bytes que deseja transferir (por ex: do disco para a memória) e prossegue com outra atividade. O DMA também prossegue transferindo sem a ajuda da CPU, usando o barramento e quando termina interrompe a CPU.

Page 56: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 56

Observações

Quando o DMA usa o barramento da memória, a CPU fica momentaneamente impedida de usar a memória principal, embora ela possa ainda usar suas caches.

Placas de E/S com gerenciamento de uso de barramento contém normalmente seu próprio hardware de DMA de alta velocidade.

Page 57: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 57

Organização DMA

CPU MEMÓRIA

: :

Controlador doDisco c/ DMA

buffer

end. da memóriaend. do bloconro de bytes

Disco

Page 58: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 58

Tipos de Barramentos

ISA (industry Standard Architecture) Original do PC/AT da IBM Opera a 8.33 MHz Pode transferir 2 bytes por vez a uma

velocidade máxima de 16,67 MB/s Possui compatibilidade com

dispositivos mais lentos

Page 59: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 59

Tipos de Barramentos

PCI (Peripheral Component Interconnect) Sucessor do ISA - Inventado pela Intel Pode operar a 66 MHz Pode transferir 8 bytes por vez a uma

velocidade de 528 MB/s Maioria dos dispositivos de E/S de alta

velocidade usam PCI

Page 60: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 60

Tipos de Barramentos

USB (Universal Serial Bus) Para ligar dispositivos lentos (teclado,

mouse) Controlador centralizado que varre a cada

1 ms para ver se existe tráfego Pode transmitir até 1,5 MB/s serialmente Driver único para todos dispositivos

conectados Não precisam de reboot para nova adição

Page 61: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 61

Tipos de Barramentos

SCSI (Small Computer System Interface) Barramento de alto desempenho para

dispositivos que precisam de alta taxa de transferência tais como discos e scanners.

Pode transferir até 160 MB/s Presente no Macintosh Apple desde sua

criação e é muito popular em ambientes UNIX

Page 62: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 62

Tipos de Barramentos

Barramento IEEE 1394 Chamado as vezes de FireWire Usado em equipamentos Macintosh Apple Pode transmitir até 50 MB/s serialmente Útil para conectar câmeras de vídeo digital Não tem controlador centralizado

Page 63: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 63

Facilidade Plug and Play

Como era antes?

O próprio sistema (BIOS) detecta os dispositivos e configura seus valores para interrupção e endereços de portas de E/S e então informa estes valores para cada controlador de dispositivo. Você pode eventualmente ter ainda controladores antigos com valores pré-fixados.

Page 64: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 64

Estrutura Possível de um Pentium

Page 65: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 65

Relógios e Temporizadores

Funções básicas Informar o instante atual Informar intervalo de tempo decorrido Ajustar temporizador para iniciar certa operação

em certo instante de tempo Hardware (temporizador programável):

pode ser programado para gerar uma interrupção após certo intervalo de tempo

Taxa comum de 18 a 60 interrupções/s

Note: Um processador moderno pode executar centenas de milhões de instruções/s

Page 66: 18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

18/02/13 FAFIMAN 66

Como melhorar o desempenho da E/S

Reduzir trocas de contextos

Reduzir número de vezes que dados são copiados na MEM na transferência entre dispositivo e programa

Reduzir freqüência das interrupções usando grandes transferências

Aumentar concorrência usando DMA e canais específicos de E/S para reduzir o número de cópias feitas pela CPU