Buscar

Parte8 - Sistemas de Ficheiros

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

Continue navegando