Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMAS OPERATIVOS Sistemas de Arquivos Interface de Sistemas de Arquivos 10.4 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Tipos de Sistemas de Arquivos Muitos sistemas de arquivos estão em uso atualmente, e a maioria dos sistemas operacionais suporta mais de um: • O UNIX usa o sistema de arquivos UNIX (UFS) que é baseado no Berkeley Fast File System (FFS) • O sistema de arquivos padrão do Linux é o sistema de arquivos estendido (as versões mais comuns são ext3 e ext4) • Windows usa os sistemas de arquivos FAT, FAT32 e NTFS • CD-ROMs são escritos no formato ISO 9660 Novos ainda estão chegando, já que o sistema de arquivos continua sendo uma área de pesquisa ativa • GoogleFS • Oracle ASM • FUSÍVEL 10.5 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Sistemas de Arquivos - Conceito Para a maioria dos usuários, o sistema de arquivos é o aspecto mais visível de um sistema operacional, pois fornece o mecanismo para armazenamento e acesso a dados e programas do sistema operacional. Um sistema de arquivos consiste em duas partes distintas: o Uma coleção de arquivos, cada arquivo define uma unidade de armazenamento lógico com dados relacionados o Uma estrutura de diretórios, que organiza e fornece informações sobre todos os arquivos no sistema O sistema operacional abstrai as propriedades físicas de seus dispositivos de armazenamento para organizar a estrutura de diretórios e seus arquivos Esses dispositivos de armazenamento geralmente não são voláteis, portanto, o conteúdo é persistente entre reinicializações do sistema 10.6 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Conceito de Arquivo Espaço de endereçamento lógico contíguo Tipos: Dados numérico caractere binário Programa 10.7 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Estrutura de Arquivos Nenhuma - seqüência de palavras, bytes Estrutura de registro simples Linhas Tamanho fixo Tamanho variável Estruturas Complexas Documentos formatados Arquivo de carga relocável Pode simular os dois últimos com o primeiro método inserindo caracteres especiais de controle. Quem decide: Sistema Operacional Programa 10.8 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Atributos de Arquivos Um arquivo é definido por um conjunto de atributos que variam de um sistema operacional para outro. Atributos típicos são: Nome – única informação mantida em uma forma legível para o usuário. Identificador – identificador único (número) do arquivo pelo sistema de arquivos Tipo – necessária para sistemas que suportam diferentes tipos de arquivos. Localização – ponteiro para a posição do arquivo no dispositivo. Tamanho – tamanho atual do arquivo. Proteção – controla quem pode ler, escrever e executar. Hora, data, e identificação do usuário – dados para proteção, segurança e monitoração de uso. Informações sobre os arquivos são mantidas nas estruturas de diretórios, as quais são armazenadas no disco. 10.9 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Operações sobre Arquivos Arquivo é um tipo de dados abstrato Operações Criar (create) Escrever (write) Ler (read) Reposicionamento de um arquivo (seek) Excluir (delete) Truncamento (truncate) Abrir[Fi] (open[Fi]) – procura na estrutura de diretório do disco pela entrada Fi, e move o conteúdo da entrada para a memória. Fechar[Fi] (close[Fi]) – move o conteúdo da entrada Fi na memória para a estrutura de diretório no disco. 10.10 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Arquivos Abertos Alguns dados são necessários para gerenciar arquivos abertos: Ponteiro de Arquivo: ponteiro para a última localização de leitura/escrita, por processo que tem um arquivo aberto Contador de arquivos abertos: contador do número de vezes que um arquivo é aberto - para permitir a remoção dos dados da tabela de arquivos abertos quando o último processo fechar o arquivo Localização no disco do arquivo: cache dos dados acessados Direitos de acesso: informações de modo de acesso por processo 10.11 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Tipos de Arquivos – Nome, Extensão 10.12 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Estrutura de Diretório Uma coleção de nodos contendo informações sobre todos arquivos. F 1 F 2 F 3 F 4 F n Diretório Arquivos Tanto a estrutura de diretórios quando de arquivos residem no disco Cópias de segurança dessas duas estruturas são mantidas em fitas 10.13 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Uma Organização típica de Sistemas de Arquivos 10.15 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Montagem de Sistemas de Arquivos Assim como um arquivo deve ser aberto antes de ser usado, um sistema de arquivos deve ser montado antes de poder ser acessado A estrutura do diretório pode ser construída a partir de vários volumes, que devem ser montados para disponibilizá-los dentro do espaço de nomes do sistema de arquivos. Os volumes podem ser montados no momento da inicialização ou posteriormente, automaticamente ou manualmente O procedimento de montagem é direto, o sistema operacional recebe o nome de um volume e o ponto de montagem - o local dentro da estrutura de arquivos em que o novo sistema de arquivos deve ser anexado Normalmente, um ponto de montagem é um diretório vazio 10.16 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition (a) Existente (b) Partição não montada 10.17 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Ponto de Montagem 10.18 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Proteção Quando um sistema operacional acomoda vários usuários, ele deve mediar como o compartilhamento de arquivos e a proteção de arquivos é feito O sistema pode permitir que um usuário acesse os arquivos de outros usuários por padrão ou exigir que um usuário conceda especificamente acesso a seus arquivos Para implementar o compartilhamento e a proteção, a maioria dos sistemas evoluiu para usar os conceitos de proprietário e grupo de arquivos O proprietário é o usuário que tem mais controle sobre um arquivo O grupo define um subconjunto de usuários que podem compartilhar direitos especiais de acesso a um arquivo Quais direitos de acesso podem ser executados pelos membros do grupo e outros usuários são definíveis pelo proprietário do arquivo 10.19 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Proteção Dono/Criador do arquivo deve estar apto a controlar: O que pode ser feito Por quem Tipos de Acesso Leitura Escrita Execução Adição (Append) Exclusão Listagem 10.21 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Organização do sistema de arquivos Um dispositivo de armazenamento pode ser usado integralmente para um sistema de arquivos ou subdividido em partições. O particionamento permite: Vários tipos de sistemas de arquivos estejam no mesmo dispositivo Necessidades específicas em que nenhum sistema de arquivos é apropriado (partição bruta), como para espaço de troca ou bases de dados que desejam formatar dados de acordo com suas necessidades 10.22Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Organização do sistema de arquivos Uma entidade que contém um sistema de arquivos é geralmente conhecida como um volume Um volume pode ser um dispositivo inteiro, um subconjunto de um dispositivo ou vários dispositivos vinculados As informações sobre o sistema de arquivos em um volume são mantidas em: Bloco de controle de inicialização Bloco de controle de volume Estrutura de diretórios 10.23 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Organização do sistema de arquivos Bloco de controle de inicialização Normalmente, o primeiro bloco de um volume que contém as informações necessárias para inicializar um sistema operacional desse volume (pode estar vazio se o volume não contiver um sistema operacional) Também chamado de bloco de inicialização no UFS e setor de inicialização de partição em NTFS Bloco de controle de volume Contém detalhes de volume, como número total de blocos, número total de blocos livres, tamanho de bloco, ponteiros de blocos livres,… Também chamado de superblock no UFS e faz parte da tabela de arquivos mestre em NTFS Estrutura de diretórios Usado para organizar o diretório e arquivos Parte da tabela de arquivos mestre em NTFS Implementação de Sistemas de Arquivos 10.26 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Estrutura de Sistemas de Arquivos Estrutura do Arquivo Unidade de Armazenamento Lógica Coleção de informações relacionadas Sistema de arquivos organizado em camadas. Sistema de arquivos reside em armazenamento secundário (discos). Fornecem acesso eficiente e conveniente aos discos permitindo o fácil armazenamento de dados e sua localização Bloco de Controle de Arquivo (File control block) – estrutura de armazenamento contendo informações sobre um arquivo. Driver de dispositivo (Device driver) controla o dispositivo físico 10.27 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Métodos de Alocação Um método de alocação indica como os blocos de disco são alocados aos arquivos: Alocação Contígua Alocação Encadeada Alocação Indexada 10.28 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Alocação Contígua Cada arquivo ocupa um conjunto de blocos contíguos no disco Simples – somente é necessário armazenar a localização inicial (número do bloco) e o tamanho do arquivo (quantidade de blocos) Acesso Direto (randômico) Perda de Espaço Arquivos não podem crescer 10.29 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Exemplo de Alocação Contígua 10.30 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Alocação Encadeada Cada arquivo é uma lista encadeada de blocos em disco: blocos podem ser espalhados em qualquer lugar do disco. ponteirobloco = 10.31 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Alocação Encadeada (Cont.) Simples – necessita somente do endereço inicial Sistema de Gerenciamento de Espaço Livre – sem perda de espaço Sem acesso direto (randômico) Desvantagens: - percorrer o encadeamento até encontrar posição - armazenamento requerido para ponteiros, desperdício de 0,78% (512 bytes – 4 bytes) - paliativo: uso de clusters de blocos = fragmentação interna - possíveis consequências da perda ou dano de um ponteiro? 10.32 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Exemplo de Alocação Encadeada 10.33 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition File-Allocation Table - FAT 10.34 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Alocação Indexada (em Tabela) Juntar todos os ponteiros em uma tabela de índices (index block). Também chamados de Inodes ou Nós-Índices Visão Lógica. index table 10.35 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Examplo de Alocação Indexada 10.36 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition Lista Encadeada de Espaço Livre no Disco
Compartilhar