Baixe o app para aproveitar ainda mais
Prévia do material em texto
Gerência de dispositivos (E/S) 11/04/2000 1 11/04/2000 2 Entrada e saída • S.O. oferece abstração e controle de acesso • Dispositivos abstratos: ° Arquivos ° Terminais (teclado+mouse, monitor) ° Rede • Complexidade modelada por device drivers 11/04/2000 3 Arquivos • Sequência de bytes • Posição atual • Atributos ° Tamanho ° Criador ° Permissões ° Data de criação ° Data de acesso ° Etc. 17 18 19 20 21 22 23 24 25 Cursor: próxima posição a ser lida/escrita 17 18 19 20 21 22 23 24 25 11/04/2000 4 Operações sobre arquivos • Abrir • Ler • Escrever • Reposicionar o cursor (apontador) • Truncar 11/04/2000 5 Controle de acesso/proteção • Simples: poucos recursos/garantias • Hierárquico: controle definido por grupos • Senha associada a cada arquivo • Listas de controle de acesso: ° Método mais genérico ° Permite definição de acessos em detalhes ° Pode prejudicar desempenho ° Cansativo para se administrar 11/04/2000 6 Mapeamento de arquivos em disco • Define a relação entre blocos da sequência e setores do disco real • Alocação sequencial: ° Mais simples de se implementar e controlar ° Possível apenas com arquivos fixos (CD-ROM) • Alocação não sequencial: ° Solução mais genérica ° Permite lidar com arquivos de tamanho variável ° Requer estruturas auxiliares 11/04/2000 7 Técnicas de mapeamento não-sequencial • Lista encadeada: ° Cada bloco aponta para o seguinte: simples ° Requer acesso sequencial para localizar blocos • Encadeada com FAT (tabela de alocação): ° Lista encadeada armazenada em tabela isolada ° Reduz custo de acesso sequencial • Arquivo indexado: ° Estrutura de dados c/ posição de todos os blocos ° Acesso direto a qualquer parte do arquivo 11/04/2000 8 Mapeamento com lista encadeada Início Fim Arquivo.txt G H A B F I C D E • Acesso sequencial: • simples • Acesso direto: • trabalhoso • Suscetível a erros • Exemplo: PICK 11 13 15 19 22 25 26 28 31 11/04/2000 9 Mapeamento com tabela de alocação (FAT) Início (11) Fim (25) Arquivo.txt • Acesso sequencial: • simples • Acesso direto: • mediano • FAT na memória • Exemplo: DOS 11 13 15 19 22 25 26 28 31 19 28 31 15 13 -1 25 26 22 G H A B F I C D E FAT 1 32 11/04/2000 10 Mapeamento com índices Arquivo.txt • Acesso sequencial: • simples • Acesso direto: • simples • Índice na memória • Um índice por arquivo • Índices: • Lista encadeada • Multi-nível • Híbrido • Exemplo: UNIX 11 13 15 19 22 25 26 28 31 G H A B F I C D E Índice 0x010A0 19 28 31 11 15 13 -1 25 26 22 0x010A0 11/04/2000 11 Gerência do espaço livre • Lista encadeada de blocos livres ° Implementação simples ° Solução direta no caso da FAT • Mapa de bits dos setores do disco ° Acesso fácil com auxílio do hardware ° Requer espaço em disco e memória • Listas com otimizações/compactação 11/04/2000 12 Diretórios • Associação de nomes com arquivos • Atributos de arquivos • Atributos do diretório ° Permissões de acesso ° Tamanho ° Hierarquia de diretórios 11/04/2000 13 Operações em diretórios • Criar arquivos • Procurar por um arquivo • Remover arquivos • Renomear de um arquivo • Percorrer o sistema de arquivos • Criar/remover/renomear diretórios 11/04/2000 14 Estrutura de diretórios • Lista de nomes de arquivos • Lista encadeada simples • Lista ordenada • Hash • Árvores de busca (B+) 11/04/2000 15 Sistemas de arquivos em redes • Arquivos em discos de outras máquinas • S.O. transforma acessos a disco em mensagens pela rede • A separação entre máquinas gera problemas semânticos ° Arquivos podem ser alterados por dois clientes ° Alterações não são visíveis imediatamente ° Controle de acesso deve ser distribuído Como lidar com operações de E/S? • Controle do processador: busy waiting • Via interrupções ao processador: ° Programmed I/O (PIO) • Sem interromper o processador ° Direct Memory Access (DMA) 11/04/2000 16
Compartilhar