Sistemas de Arquivos Profa. Janine Kniess Sistema de Arquivos • Problema: manter as informações geradas pelos processos; • Por que não colocar na área de armazenamento do processo? – Essa informação seria perdida quando o processo terminasse; – Outros processos não conseguiriam ler essa informação; Requisitos para Armazenamento da Informação a Longo Prazo 1. Deve ser possível armazenar uma quantidade muito grande de informação 2. A informação deve sobreviver ao término do processo que a usa 3. Múltiplos processos devem ser capazes de acessar a informação concorrentemente Solução Armazenar em disco em estruturas chamadas arquivos; O SO trata de definir o arquivo e a parte que faz isso é o Sistema de Arquivos; Diretórios - Representação Diretório em dois níveis Diretório em um único nível Diretórios hierárquicos O sistema de arquivos é o responsável por organizar essa estrutura de arquivos e diretórios Diretórios - Representação -Comandos Linux para Gerenciamento de Diretórios: pwd: apresenta o caminho do raiz até o diretório corrente cd <nome diretório>: entra no diretório corrente Exercício: crie um arquivo de nome so_ger_diretorios usando o vi Ex: vi so_ger_diretorios Salve: <esc> e :q! Crie um diretório de nome: SOAula_GerenciaArquivos Copie o arquivo so_ger_diretorios para SOAula_GerenciaArquivos Diretórios - Representação -Comandos Linux para Gerenciamento de Diretórios: -Visualiza o conteúdo do arquivo cat <nome arquivo> -Procura um diretório: find <nome do diretório> Diretórios - Nomeação • <nome_arquivo>.<extensão> • DOS: 8 caracteres para nome de arquivo e 3 para extensão; • Windows e Linux: até 256 caracteres; Diretórios - Nomeação Extensões típicas de arquivos Diretórios - Operações 1. Create: cria um diretório vazio 2. Delete: Remove um diretório 3. Opendir: Permite a leitura de diretórios 4. Closedir: Fecha o diretório após ser lido 5. Readdir: retorna a próxima entrada de diretório evita que o programador precise conhecer a estrutura interna dos diretórios 6. Rename: renomeia diretórios 7. Link: possibilita que um arquivo apareça em mais de um diretório 8. Unlink: remove uma entrada de um diretório Exercício: visualize o conteúdo do diretório apresentado os proprietários dos arquivos. Diretórios - Operações $ ls –l drwxr-xr-x 5 laureano prof 4096 Abr 14 drwxr-xr-x 3 laureano prof 4096 Mar 31 -rw-r--r-- 1 laureano prof 647 Abr 28 -rw-r--r-- 1 laureano prof 2335 Abr 28 drwxr-xr-x 11 laureano prof 4096 Mai 30 drwxr-xr-x 2 laureano prof 4096 Mai 18 drwx------ 11 laureano prof 4096 Jul 5 -rw-r--r-- 1 laureano prof 8437760 Jul 5 drwxr-xr-x 2 laureano prof 4096 Mai 22 -rw------- 1 laureano prof 1470 Set 28 11:34 12:25 12:24 12:24 2005 2005 2004 2004 2005 2004 a abc arqcut1 arqgrep arquivos asu bash-2.05b bash5.tar c client.c Atributos Descrição Tamanho Proteção Dono Criação Backup Organização Senha Especifica o tamanho do arquivo Código de proteção de acesso Identifica o criador do arquivo Data e hora da criação do arquivo Data e hora do último backup realizado Indica a organização lógica dos registros Senha necessária para acessar o arquivo Atributos de Arquivos Possíveis atributos de arquivos Nomes de Caminhos Uma árvore de diretórios UNIX Nomes de Caminhos • Caminho absoluto: – cp /usr/bib . • Caminho relativo: – cp ../bib . (o diretório atual é o usr) Implementação do Sistema de Arquivos • Sistemas são armazenados em disco; • Os discos são armazenados em uma ou mais partições; • O setor 0 do disco é a MBR (Master Boot Record), e é usada para iniciar o sistema; • O fim da MBR contém a tabela de partição; • Uma das partições da tabela é marcada como ativa; Sistemas de Arquivos Figura: Uma organização possível para o sistema de arquivos Implementação do Sistema de Arquivos • Superbloco: – contém o tipo do sistema de arquivos, quantidade de blocos, etc; • Gerenciamento de espaço livre: – Guarda uma estrutura com apontadores para blocos livres; • i-nodes: – Informações específicas de cada arquivo; – Para cada arquivo, existe um i-node associado; • Diretório raiz + arquivos e diretórios: – O sistema de arquivos propriamente dito; Sistemas de Arquivos • O sistema de arquivos é responsável por organizar esses setores em arquivos e diretórios, e manter uma tabela de quais setores são relacionados com quais arquivos/diretórios • Os mais populares utilizam dispositivos de armazenamento de dados, que fornecem os setores de seu espaço físico – Alocação contígua – Alocação por Lista Encadeada Sistemas de Arquivos – Alocação Contígua • Esquema mais simples • Metodologia: os arquivos são armazenados de forma contínua em disco – Em discos com blocos de 1k, um arquivo de 50k seria alocado sequencialmente em 50 blocos • Vantagens: – Simples de implementar – Otimização de desempenho • Desvantagens: – Praticável se for conhecido o tamanho do arquivo a ser criado – Fragmentação de disco Alocação Contígua – Representação Arquivo de no máximo 1k Sistemas de Arquivos – Lista Encadeada • Metodologia: blocos com dois campos, o primeiro é um ponteiro para o próximo bloco e o segundo são dados – Em discos com blocos de 1k, um arquivo de 50k não necessariamente seria alocado sequencialmente em 50 blocos • Vantagens: – Não existe a fragmentação de disco – Diretório simplesmente armazena o endereço do primeiro bloco • Desvantagens: – Acesso aleatório é mais lento – Necessidade de alocar mais um campo para indicar próximo bloco de dados Lista Encadeada – Representação Gerência de Espaço Livre • Quantidade limitada de espaço em disco – – Necessário reutilizar o espaço de arquivos excluídos Quando o arquivo excluído, seu espaço em disco é adicionado a lista de espaço livre. Gerência de Espaço Livre • Vetor de bits – – Lista de espaço livre é implementada como um vetor de bits ou mapa de bits. Cada bloco é representado por um bit 1: • Se o bloco estiver livre, o bit será 0 • Se o bloc0 estiver alocado será 1 Gerência de Espaço Livre • Vetor de bits: exemplo – Considere um disco no qual os blocos estão alocados 2,3,4,5,8,9,10,11,12,13,17,18,25,26,27 Referências • TANENBAUN, Andrew S., WOODHULL, Albert S.Sistemas Operacionais – Projeto e Implementação. Ed. Bookmam, 2Ed. FIM