Gerência do Sistema de Arquivos Adão de Melo Neto 1 Gerência do Sistema de Arquivos Q Q Q Q Q Q Q Organização de arquivos Operações de E/S Estrutura de diretórios Gerência de espaço livre Gerência de alocação de espaços em disco Proteção de acesso Sistema de Alocação de Arquivos 2 Organização de Arquivos Q Q Consiste em como seus dados estão internamente organizados Tipos – Organização não estruturada – Organização indexada 3 Organização de Arquivos Não estruturada Q Q Q Seqüência não- estruturada de bytes O sistema de alocação não impõe nenhuma estrutura lógica para os dados A aplicação deve definir toda organização, estando livre para estabelecer seus critérios 4 Organização de Arquivos Indexada Q Podemos visualizar o arquivo como um conjunto de registros, que podem ser de tamanho fixo ou variável registro 5 Operações de E/S Q O sistema de arquivos do Sistema Operacional disponibiliza um conjunto de rotinas que permite às aplicações realizarem operações de E/S 6 Estrutura de diretórios Q Q Q É como o sistema organiza logicamente os arquivos contidos em um disco. É uma estrutura de dados que contém entradas associadas aos arquivos que mantém informações como localização física, nome, organização e demais atributos Tipos – Nível único – Diretório pessoal – Múltiplos níveis (árvore) 7 Estrutura de diretórios NÍVEL ÚNICO Q Q Q Implementação mais simples da estrutura de diretórios Um único diretório contém todos os arquivos do disco É limitado não permitindo a criação de arquivos com o mesmo nome que ocasionaria um conflito no acesso aos arquivos Estrutura de Informações 8 Estrutura de diretórios DIRETÓRIO PESSOAL Q Q Q Evolução do modelo anterior Permite cada usuário ter seu “diretório particular”, sem a preocupação de conhecer os outros arquivos do disco Há um diretório “master” que indexa todos os diretórios particulares dos usuário, provendo o acesso a cada um. 9 Estrutura de diretórios DIRETÓRIO PESSOAL DIRETÓRIO MASTER 10 Estrutura de diretórios DIRETÓRIO PESSOAL Q Q O MDF (diretório de arquivo mestre) é a raiz, os galhos são os UFD (diretório de arquivos do usuário) e os arquivos são filhas. Quando se referencia um arquivo, é necessário especificar, além do nome, o diretório onde se localiza . 11 Estrutura de diretórios DIRETÓRIO PESSOAL DIRETÓRIO DE ARQUIVO DO USUÁRIO DIRETÓRIO MASTER Estrutura de Informações 12 Estrutura de diretórios DIRETÓRIO PESSOAL Q Q A referência é conhecida como path (caminho) Carlos deseja acessar um arquivo chamado DOCUMENTO.txt – referenciação ==> /CARLOS/DOCUMENTO.TXT Q Cada sistema de arquivos possui sua própria sintaxe para especificação de arquivos e diretórios 13 Estrutura de diretórios MÚLTIPLOS NÍVEIS (ÁRVORE) Q Modelo utilizado hoje em dia em quase todos os sistemas operacionais 14 Estrutura de diretórios MÚLTIPLOS NÍVEIS (ÁRVORE) Q Q Cada usuário pode criar vários níveis de diretórios (ou subdiretórios) sendo que cada um pode conter arquivos e subdiretórios O número de níveis possíveis depende do sistema operacional 15 Estrutura de diretórios MÚLTIPLOS NÍVEIS (ÁRVORE) Q Q Um arquivo pode ser especificado unicamente através de um “path” absoluto, descrevendo todos os diretórios percorridos a partir da raiz (MFD) até o diretório no qual o arquivo está ligado. “Path” do arquivo SOMA.exe é /PAULO/PROGRAMAS. 16 Gerência do Espaço Livre Q Q A criação de arquivos em disco exige que o sistema operacional tenha controle de quais áreas ou blocos no disco estão livre Controle realizado utilizando alguma estrutura de dados que armazena informações que possibilitam ao sistema gerenciar o espaço livre do disco. – Mapa de bits – Lista encadeada de blocos livres no disco – Tabela de blocos livres 17 Gerência do Espaço Livre Q Tabela denominada Mapa de bits – Cada entrada da tabela é associada a um bloco do disco representado por um bit, que estando com o valor 0 indica que o espaço está livre, e com valor 1 representa o espaço ocupado – Gasta muita memória, pois para cada bloco no disco há uma entrada na tabela 18 Gerência do Espaço Livre Q Lista encadeada de blocos livres no disco – Cada bloco possui uma área reservada para armazenar o endereço do próximo bloco livre. – Apresenta problemas de lentidão de acesso, devido a constantes buscas seqüenciais na lista. 19 Gerência do Espaço Livre Q Tabela de blocos livres – Leva em consideração que blocos contíguos de dados geralmente são alocados/liberados simultaneamente – Enxerga o disco como um conjunto de blocos livres – Mantém uma tabela com o endereço do primeiro bloco de cada segmento e o número de blocos contíguos (livres) que se seguem 1 => 0 5 => 2 12 => 0 15 => 0 20 Gerência de Alocação de espaço em disco Q A gerência de espaços alocados aos arquivos é de fundamental importância em um sistema de arquivos – Alocação contígua – Alocação encadeada – Alocação indexada 21 Gerência de Alocação de espaço em disco (Alocação Contígua) Q Q Q Armazena o arquivo em blocos seqüencialmente dispostos no disco O arquivo é localizado através do endereço do primeiro bloco de sua extensão em blocos Principal problema: problema falta de espaço livre para novos arquivos que deve ser contínua 22 Gerência de Alocação de espaço em disco (Alocação Contígua) Q Q Q Alto índice de fragmentação no disco Best-fit; worst-fit e first-fit para definir onde o arquivo será alocado O problema da fragmentação pode ser contornado através de rotinas que reorganizem todos os arquivos no disco de maneira que só exista um único elemento de blocos livres 23 Gerência de Alocação de espaço em disco (Alocação Encadeada) Q Q O arquivo é organizado como um conjunto de blocos ligados logicamente no disco, independentemente da localização física, onde cada bloco possui um ponteiro para o bloco seguinte. A fragmentação não representa um problema na alocação encadeada, pois os blocos livres para alocação não necessitam estar necessariamente contíguos. Início do arquivo A . TXT 24 Gerência de Alocação de espaço em disco (Alocação Encadeada) Q Q Q Quebra do arquivo em vários pedaços o que aumenta o tempo de acesso Desvantagem: só permite o acesso seqüencial ao bloco de arquivos, sendo esta uma das principais desvantagens da técnica Desvantagem: – perda de espaço nos blocos com o armazenamento dos ponteiros 25 Gerência de Alocação de espaço em disco (Alocação Indexada) Q Q Q Soluciona a limitação da alocação encadeada no que diz respeito ao acesso, pois permite o acesso direto aos blocos do arquivo. Conseguido mantendo ponteiros de todos os blocos do arquivo em uma única estrutura chamada bloco de índice. Além de permitir o acesso direto aos blocos, não utiliza informações de controle nos blocos de dados. 26 Proteção de Acesso Q Considerando que os meios de armazenamento são compartilhados por vários usuários, é fundamental que mecanismos de proteção sejam implementados para garantir a integridade e a proteção individual dos arquivos e diretórios. – Senha de acesso – Grupo de usuários – Lista de controle de acesso 27 Proteção de Acesso (Senha de Acesso) Q Q Mecanismo simples de implementação Duas desvantagens: – Não é possível determinar quais as operações podem ser executadas nos arquivos – Se for compartilhado, todos os usuários que o utilizam devem conhecer a senha de acesso. 28 Proteção de Acesso (Grupo de Usuários) Q Q Q Utilizada em muitos sistemas operacionais Consiste em associar a cada usuário a um grupo Os grupos são organizados logicamente com o objetivo de compartilhar arquivos e diretórios no disco. 29 Proteção de Acesso (Grupo de Usuários) Q Q Implementa três níveis de proteção : OWNER (dono), GROUP (grupo) e ALL (todos) Na criação do arquivo o usuário especifica se o arquivo pode ser acessado somente pelo criador, pelo grupo ou por todos os usuários, além de definir que tipos de acesso podem ser realizados (leitura, escrita, execução e eliminação) 30 Proteção de Acesso (Grupo de Usuários) 31 Proteção de Acesso (Lista de controle de acesso) Q Q Q Lista associada ao arquivo onde são especificados quais os usuários e os tipos de acesso permitidos O tamanho desta estrutura pode ser bastante extenso se considerarmos que um arquivo pode ser compartilhado por vários usuários. Além disso há o inconveniente de se fazer o acesso seqüencial a lista toda vez que o acesso é solicitado 32