450 likes | 595 Views
Infra-Estrutura de Software. Sistema de Arquivos. O que são sistemas de arquivos?. Parte do S.O. que gerencia os arquivos. É responsável por: Estruturação, identificação, mapeamento lógico físico, controle de acesso, criação e apagamento dos arquivos. Nomes de arquivos.
E N D
Infra-Estrutura de Software Sistema de Arquivos
O que são sistemas de arquivos? • Parte do S.O. que gerencia os arquivos. É responsável por: • Estruturação, identificação, mapeamento lógico físico, controle de acesso, criação e apagamento dos arquivos
Nomes de arquivos Extensões de arquivo típicas
Estrutura de arquivos • Três tipos de arquivos • byte sequence • record sequence • tree
Tipos de arquivo (a) Arquivo executável (b) Arquivo de armazenamento
Tipos de acesso a arquivo • Acesso Sequencial (ex: fita) • Lê a partir do primeiro byte/record • Não pode pular posições, mas pode voltar • Acesso randômico • Bytes/records lidos em qualquer ordem • Essencial para bancos de dados • Leitura pode ser … • Move ponteiro do arquivo (seek) e lê, ou … • Lê e depois move o ponteiro
Create Delete Open Close Read Write Append Seek Get attributes Set attributes Rename Operações sobre arquivos
Arquivos mapeados em memória (a) Processo segmentado antes de mapear arquivos em seu espaço de endereçamento (b) Processo após mapeamento Arquivo abc colocado em um segmento Criando novo segmento para arquivo xyz
DiretóriosSistema de diretório de um nível • Sistema de diretório de um nível • Contém 4 arquivos pertencentes a 3 pessoas diferentes: A, B, e C
Sistema de diretório de dois níveis Letras indicam donos dos diretórios e arquivos
Localização de arquivos:Caminhos de diretório Árvore de diretório do UNIX
Create Delete Opendir Closedir Readdir Rename Link Unlink Operações sobre diretórios
Implementação de arquivos (1) (a) Alocação contínua de espaço em disco para 7 arquivos (b) Estado do disco após remoção dos arquivos D e E
Implementação de arquivos (2) Armazenando como uma lista ligada de blocos
Implementação de arquivos (3) Alocação de lista usando FAT (File Allocation Table) em RAM
Implementação de arquivos (4) Exemplo de i-node
Implementando diretórios (1) (a) Um diretório simples: • Entradas de tamanho fixo • Endereço de disco e atributos nas entradas do diretório (b) diretório onde cada entrada aponta um i-node
Implementando diretórios (2) • Tratando nomes gradnes de arquivo: • (a) In-line • (b) Usando uma heap
Arquivos compartilhados (1) Sistema contendo um arquivo compartilhado
Arquivos compartilhados (2) (a) Situação antes de conectar (link) (b) Após conexão (c) Após remoção do arquivo pelo dono original
Gerenciamento do disco (1) • Todos os arquivos de 1KB Block size
Gerenciamento do disco (2) (a) Armazenando a lista livre numa lista ligada (b) Um mapa de bits (bit map)
Sistema de arquivos:Confiabilidade • Estados do sistema de arquivo (a) Consistente (b) Bloco perdido (c) Bloco duplicado na lista livre (d) Bloco de dados duplicado
Sistema de arquivos:Performance: Cache de Discos • Uso do LFU • MS-DOS • Write-through • Unix • Write com Sync a cada 30 seg. • Problemas com disquetes
Sistema de arquivos:Performance: Armaz. dos I-Nodes • I-nodes colocados no começo do disco • Disco dividido em grupos de cilindros • Cada um com seus blocos e i-nodes
Exemplos de sistemas de arquivo:Sistema CP/M (1) Organização da memória no CP/M
Exemplos de sistemas de arquivo:Sistema CP/M (2) Entrada de diretório do CP/M
Exemplos de sistemas de arquivo:Sistema MS-DOS (1) Entrada de diretório do MS-DOS
Exemplos de sistemas de arquivo:Sistema MS-DOS (2) • Partição máxima para tamanhos de bloco diferentes • Caixas vazias representam combinações proibidas
Exemplos de sistemas de arquivo:Sistema Windows 98 (1) Diretório extendido do MS-DOS usado no Windows 98 Bytes
Exemplos de sistemas de arquivo:Sistema Windows 98 (2) Entrada para parte de um nome de arquivo longo Bytes Checksum
Exemplos de sistemas de arquivo:Sistema Windows 98 (3) Exemplo do espaço usado para armazenar um nome de arquivo longo
Exemplos de sistemas de arquivo:Sistema UNIX V7 (1) Entrada de diretório do UNIX V7
Exemplos de sistemas de arquivo:Sistema UNIX V7 (2) O i-node do UNIX
Exemplos de sistemas de arquivo:Sistema UNIX V7 (3) Procurando a /usr/ast/mbox
Sistema de arquivos:Confiabilidade (1) • Um sistema de arquivos para ser dumped • Quadrados são diretórios, círculos são arquivos • Items sombreados foram modificados desde o último dump • Diretórios e arquivos rotulados pelo i-node arquivo that has not changed
Sistema de arquivos:Confiabilidade (2) Bit maps usados pelo algoritmo de dump lógico
Sistema de arquivos:Performance (1) Estrutura de dados da cache de blocos
Sistema de arquivos:Log-Structured • With CPUs faster, memory larger • Cache de disco também podem ser grandes • Grande número de req. de leitura pode vir da cache • Assim, a maioria dos acessos serão de escrita • Estratégia de LFS mantém disco como um log • Todas as escritas são buferizadas em memória • Periodicamente as escreve no fim do log • Quando arquivo é aberto, localiza i-node, e acha blocos
Exemplos de sistemas de arquivo:Sistema do CD-ROM Entrada de diretório tipo ISO 9660