1 / 68

Sistemas Operacionais Aula 15 Sistema de Arquivos

Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação. Sistemas Operacionais Aula 15 Sistema de Arquivos. Regiane Kawasaki kawasaki@ufpa.br. Introdução. O sistema de arquivos é a parte mais visível do SO.

paloma
Télécharger la présentation

Sistemas Operacionais Aula 15 Sistema de Arquivos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação Sistemas OperacionaisAula 15Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br

  2. Introdução • O sistema de arquivos é a parte mais visível do SO. • Cria um recurso lógico a partir de recursos físicos através de uma interface coerente e simples, fácil de usar. • Mecanismos de acesso a dados e a programas. • Duas partes básicas: • Arquivos – Armazenamento de dados e programas • Diretórios – Organização e informações sobre arquivos

  3. Objetivos do Sistema de Arquivos • Fornecer mecanismos para usuários manipular arquivos e diretórios. • Garantir a validade e coerência de dados • Minimizar ou eliminar o risco de perda/alteração de dados • Otimizar o acesso • Fornecer suporte a outros sistemas de arquivos. • Suporte a vários usuários • Uso compartilhado (proteção e concorrência)

  4. Requisitos mínimos (Usuário) • Cada usuário deve ser capaz de: • Criar, apagar, ler e alterar arquivos. • Controlar as permissões de acesso. • Nomear arquivos de forma simbólica. • Estruturar os arquivos de forma a adequá-los às suas necessidades específicas • Criação de diretórios e subdiretórios • Realizar backups e recuperar arquivos em caso de problemas.

  5. Requisitos mínimos (Sistema) • O SO deve ser capaz de: • Descrever a localização de todos os arquivos e de seus atributos (Via diretório) • Gerenciar espaço físico do disco: • Alocar blocos livres a arquivos em criação/expansão. • Liberar blocos de arquivos removidos. • Mecanismos para localizar eficientemente blocos (setores) que compõem arquivos.

  6. Conceitos Básicos • Arquivo • Unidade lógica de informação. • Diretório • Conjunto de referências a arquivos. • Partição • Abstração que permite a partir do disco físico criar discos lógicos.

  7. Conceito de Arquivo • Informação pode ser armazenada em diferentes tipos de mídia. • Arquivos são mapeados para dispositivos físicos. • Arquivos possuem: • Nome, atributos, estrutura interna, tipo, método de acesso, operações.

  8. Nomes de Arquivos • O Sistema de Arquivos define um espaço de nomes: • Conjunto de regras e convenções para identificar um arquivo • Variam de sistema para sistema: • Distinção entre letras maiúsculas e minúsculas (case sensitive) • Obrigatoriedade de extensão • Tamanho máximo de nome e da extensão

  9. Atributos de um Arquivo • Informações sobre arquivos: • Nome: informação simbólica para referenciar o arquivo. • Tipo: binário, texto, executável, caracter, bloco • Localização: posição do arquivo em dispositivos de E\S • Tamanho: n° de bytes que compõem o arquivo • Proteção: controla acesso a leitura, escrita e execução ao arquivo • Horaedatadecriação, identificaçãodousuário: informações destinadas à proteção, segurança e monitoração. • Varia de SO a SO • Atributos são mantidos em uma estrutura à parte!

  10. Estrutura de arquivos • Arquivos podem ser estruturados de diferentes maneiras: • a) Sequência não estruturada de bytes • Para o SO arquivos são apenas conjuntos de bytes. • SO não se importa com o conteúdo do arquivo. • Significado deve ser atribuído pelos programas em nível de usuário (aplicativos). • Vantagem: • Flexibilidade: os usuários nomeiam seus arquivos como quiserem. • Ex.: UNIX, LINUX e Windows.

  11. Estrutura de arquivos • b) Sequência de registros de tamanho fixo, cada qual com uma estrutura interna  leitura/escrita são realizadas em registros. • SOs mais antigos  mainframes e cartões perfurados (80 caracteres). • Nenhum sistema atual utiliza esse esquema.

  12. Estrutura de Arquivos • c) Árvores de registros (tamanho variado), cada qual com um campo chave em uma posição fixa: • SO decide onde colocar os arquivos; • Usadoem mainframesatuais.

  13. Tipos de arquivos • Arquivos regulares são aqueles que contêm informações dos usuários. • Diretórios  são arquivos responsáveis por manter a estrutura do Sistema de Arquivos. • Arquivos especiais de caracteres são aqueles relacionados com E/S e utilizados para modelar dispositivos seriais de E/S. • Ex.: impressora, interface de rede, terminais. • Arquivos especiais de bloco  são aqueles utilizados para modelar discos.

  14. Acessos em arquivos • SOs mais antigos ofereciam apenas acesso seqüencial no disco  leitura em ordem byte a byte (registro a registro). • SOs mais modernos fazem acesso randômico ou aleatório. • Acesso feito por chave; • Ex.: base de dados de uma empresa de aérea. • Métodos para especificar onde iniciar leitura: • Operação Read  posição do arquivo em que se inicia a leitura. • Operação Seek  marca posição corrente permitindo leitura sequencial.

  15. Operações básicas sobre arquivo • Arquivo é um tipo abstrato de dados sobre o qual se pode efetuar uma série de operações: • Criação (create) • Escrita (write) e Leitura (read) • Reposicionamento (file seek) • Remoção (delete) • Abertura (open) e Encerramento (close) • Renomeação (rename), trucagem (truncate) e etc. • Geralmente correspondem a chamadas de sistemas.

  16. Controle de Acesso • Importante controlar o acesso aos arquivos devido questões de segurança. • Objetivo é evitar acessos indevidos. • Baseado na identificação de usuários: • Sistema de autenticação padrão. • Usuários possuem direitos de acessos. • Solução típica • Lista de acesso e grupo.

  17. Implementação de Arquivos • Arquivos são implementados através da criação, para cada arquivo no sistema, de uma estrutura de dados. • Descritor de arquivo é um registro que mantém informações sobre o arquivo. • Informações típicas: Nome do arquivo, tamanho em bytes, data e hora da criação, identificação do usuário que criou, lista de controle de acesso, local físico do disco onde o arquivo foi colocado, etc.

  18. Tabela de Descritores de Arquivos • Descritores de Arquivos são armazenados no próprio disco: • Mesma partição • Problema de desempenho: • Acesso ao descritor de arquivos é lenta. • Solução é manter descritor em memória enquanto o arquivo estiver em uso. • Sistema de Arquivos mantém os descritores de arquivos em memória em uma estrutura de dados do SO: • Tabela de descritores de arquivos abertos (TDAA).

  19. Tabelas de Arquivos Abertos por Processos • Informações relacionadas a arquivos são de dois tipos: • Não variáveis enquanto o arquivo estiver em uso. (Ex.: Nome do arquivo). • Dependem do processo que está acessando o arquivo.(Ex.: posição corrente). • Informações dependentes do processo são armazenados em uma tabela àparte mantida pelo processo (TAAP): • Posição corrente no arquivo, tipo de acesso e apontador para a entrada correspondente na TDAA. • Entrada na TAAP serve para referenciar o arquivo.

  20. Emprego conjunto das tabelas

  21. Gerenciamento do dispositivo de armazenamento • Problema: arquivos devem ser armazenados no disco! • Pontos as serem tratados: • Relação n° de setores do disco que compõem um bloco • Alocação de blocos no disco • Recuperação de blocos liberados • Localização de dados no disco • Existe uma relação entre a política de alocação e a política de espaço livre.

  22. Encadeada Indexada Alocação de Espaço em Disco • Como colocar em espaço em disco de forma que os arquivos sejam armazenados de forma eficiente e que permita acesso rápido • Alocar blocos livres suficientes para armazenar o arquivo • Blocos lógicos do disco são enumerados sequencialmente • Duas formas básicas: • Contígua • Não-contígua

  23. Alocação Contígua • Arquivo é uma sequênciade blocos lógicos contíguos alocados no momento da criação • Endereços no disco são lineares • Reduz necessidade de seek já que blocos estão na mesma trilha (no pior caso necessita apenas a troca do cilindro) • Arquivo é descrito através de uma entrada na forma: • Bloco físico inicial • Tamanho do arquivos em blocos

  24. Esquema Alocação Contígua

  25. Problemas da Alocação Contígua • 1° Problema: encontrar espaço para um novo arquivo • Técnicas de Gerência de Memória • Gera Fragmentação Externa • 2° Problema: determinar o espaço necessário para um arquivo • Arquivos tendem a crescer, e se não houver espaço contíguo disponível? • Pré-alocar um espaço máximo para o arquivo • Fragmentação Interna

  26. Alocação Encadeada • Soluciona os problemas de alocação contígua • Relação e dimensionamento do tamanho e crescimento de arquivos • Alocação é baseada em uma unidade de bloco lógico • Análogo à paginação • Arquivo é uma lista encadeada de blocos • Cada bloco contém um ponteiro para o próximo bloco • Arquivo é descrito em uma entrada na forma: • Bloco inicial do arquivo • Bloco final do arquivo ou tamanho do arquivo em blocos

  27. Esquema de Alocação Encadeada

  28. Prós e Contras da Alocação Encadeada • Elimina a Fragmentação Externa • Arquivos podem crescer “indefinidamente” • Não há necessidade de compactar o disco • O acesso a um bloco qualquer implica em percorrer a lista encadeada • Afeta o desempenho • Confiabilidade • Erro pode provocar a leitura\escrita em bloco pertencente a outro arquivo

  29. File Allocation Table - FAT • Variação de alocação encadeada. • FAT é uma tabela de encadeamento de blocos lógicos. • Uma entrada na FAT para cada bloco lógico do disco. • Composta por um ponteiro (endereço do bloco lógico). • Arquivo é descrito por uma seqüência de entradas na FAT, cada entrada apontando para a próxima entrada.

  30. Esquema de Funcionamento da FAT • Desvantagem principal é o tempo de seek

  31. Alocação Indexada • Busca resolver o problema de “ponteiros espalhados” pelo disco que a alocação encadeada provoca. • Mantém, por arquivo, um índice de blocos que o compõem. • O índice é mantido em um bloco. • Diretório possui um ponteiro para o bloco onde está o índice associado a um determinado arquivo.

  32. Esquema de Alocação Indexada

  33. Prós e contras da Alocação Indexada • Permite o acesso randômico a blocos independentes de sua posição relativa no arquivo. • Tamanho máximo do arquivo é limitado pela quantidade de entradas suportadas pelo bloco: • Muito pequeno (limita o tamanho do arquivo) • Muito grande (desperdiça espaço em disco) • Solução é utilizar dois tamanhos de blocos, um para o índice e outro para dados.

  34. Diretório • Problema: Quantidade de arquivos implica necessidade de organizá-los. • Sistema de Arquivos oferece duas formas de organização: • Partição • Diretório • Partição divide um disco em discos lógicos • No mínimo uma em um sistema; • Onde “residem” os arquivos e diretórios.

  35. Diretórios • Diretórios são arquivos responsáveis por manter a estrutura do Sistema de Arquivos. • Organização • Operações

  36. Diretórios • Organização pode ser feita das seguintes maneiras: • Nível único (Single-level); • Dois níveis (Two-level); • Hierárquica.

  37. Diretórios – Nível único • Apenas um diretório contém todos os arquivos  diretório raiz (rootdirectory). • Computadores antigos utilizavam esse método, pois eram monousuários. • Exceção: CDC 6600  supercomputador que utilizava-se desse método, apesar de ser multiusuário. • Vantagens: • Simplicidade • Eficiência

  38. Diretório raiz A A B C Diretórios – Nível único • 04 arquivos. • Três diferentes proprietários. • Desvantagens: • Sistemas multiusuários: Diferentes usuários podem criar arquivos como mesmo nome; • Exemplo: • Usuários A e B criam, respectivamente, um arquivo mailbox; • Usuário B sobrescreve arquivo do usuário A.

  39. Diretório raiz Diretório do usuário A B C A A B C C C Arquivos Diretórios – Dois níveis • Cada usuário possui um diretório privado. • Sem conflitos de nomes de arquivos. • Procedimento de login:identificação. • Compartilhamento de arquivos  programas executáveis do sistema. • Desvantagem: • Usuário com muitos arquivos.

  40. Diretórios – Hierárquico • Hierarquia de diretórios  árvores de diretórios; • Usuários podem querer agrupar seus arquivos de maneira lógica, criando diversos diretórios que agrupam arquivos; • Sistemas operacionais modernos utilizam esse método.

  41. Diretório raiz Diretório do usuário A B B B C C A A B B C C C C C Sub-diretórios do usuário C C Arquivos Diretórios – Hierárquico

  42. Diretórios – Caminho (path name) • O método hierárquico requer métodos pelos quais os arquivos são acessados. • Dois métodos diferentes: • Caminho absoluto (absolute path name); • Caminho relativo (relative path name);

  43. Diretórios – Caminho (path name) • Caminho absoluto: consiste de um caminho a partir do diretório raiz até o arquivo; • É ÚNICO; • Funciona independentemente de qual seja o diretório corrente; • Ex.: • UNIX: /usr/ast/mailbox; • Windows: \usr\ast\mailbox;

  44. Diretórios – Caminho (path name) • Diretório de Trabalho (workingdirectory) ou diretório corrente (currentdirectory). • Caminho relativo é utilizado em conjunto com o diretório corrente. • Usuário estabelece um diretório como sendo o diretório corrente; nesse caso caminhos não iniciados no diretório raiz são tido como relativos ao diretório corrente; • Exemplo: • cp /usr/ast/mailbox /usr/ast/mailbox.bak • Diretório corrente: /usr/ast  cp mailbox mailbox.bak

  45. Diretórios – Caminho (path name) • “.”  diretório corrente; • “..”  diretório pai (anterior ao corrente); • Ex.: diretório corrente /usr/ast: cp ../lib/dictionary . cp /usr/lib/dictionary . cp /usr/lib/dictionary dictionary cp /usr/lib/dictionary /usr/ast/dictionary

  46. Diretórios – Operações • Create;Delete • Opendir; Closedir • Readdir • Rename • Link (um arquivo pode aparecer em mais de um diretório) • Unlink

  47. Implementação do Sistema de arquivos - Layout • Arquivos são armazenados em discos. • Discos podem ser divididos em uma ou mais partições, com sistemas de arquivos independentes. • Setor 0 do disco é destinado ao MBR – Master Boot Record; que é responsável pela a tarefa de boot do computador. • MBR possui a tabela de partição, com o endereço inicial e final de cada partição. • BIOS lê e executa o MBR.

  48. Implementação do Sistema de arquivos - Layout • Tarefas básicas do MBR (pode variar dependendo do SO): • 1ª  localizar a partição ativa; • 2ª  ler o primeiro bloco dessa partição, chamado bloco de boot (boot block); • 3ª  executar o bloco de boot ; • Layout de um Sistema de Arquivos pode variar; mas a idéia geral é a seguinte:

  49. Disco Partições Tabela de partição MBR Boot Super bloco Gerenc. de Espaço livre Raiz Arquivos Diretórios I-nodes Contém parâmetros (tipo do SA, número de blocos) sobre o sistema de arquivos e é carregado na memória Implementação do Sistema de arquivos - Layout

  50. Disco Partições Tabela de partição MBR Boot Super bloco Gerenc. de Espaço livre Raiz Arquivos Diretórios I-nodes Contém informações sobre os blocos livres do disco (mapa de bits ou lista encadeada) Implementação do Sistema de arquivos - Layout

More Related