Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki [email protected] Universidade...

68
Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki [email protected] Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação

Transcript of Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki [email protected] Universidade...

Page 1: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

Sistemas OperacionaisAula 15

Sistema de Arquivos

Regiane [email protected]

Universidade Federal do Pará

Instituto de Ciências Exatas e Naturais

Faculdade de Computação

Page 2: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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

Page 3: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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)

Page 4: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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.

Page 5: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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.

Page 6: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

Conceitos Básicos

ArquivoUnidade lógica de informação.

DiretórioConjunto de referências a arquivos.

PartiçãoAbstração que permite a partir do disco físico

criar discos lógicos.

Page 7: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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.

Page 8: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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ãoTamanho máximo de nome e da extensão

Page 9: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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 Hora e data de criação, identificação do usuário:

informações destinadas à proteção, segurança e monitoração.

Varia de SO a SO Atributos são mantidos em uma estrutura à parte!

Page 10: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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.

Page 11: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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.

Page 12: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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; Usado em mainframes atuais.

Page 13: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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.

Page 14: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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.

Page 15: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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.

Page 16: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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ípicaLista de acesso e grupo.

Page 17: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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.

Page 18: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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).

Page 19: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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.

Page 20: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

Emprego conjunto das tabelas

Page 21: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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 blocoAlocação de blocos no discoRecuperação de blocos liberadosLocalização de dados no disco

Existe uma relação entre a política de alocação e a política de espaço livre.

Page 22: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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ápidoAlocar blocos livres suficientes para armazenar

o arquivoBlocos lógicos do disco são enumerados

sequencialmente Duas formas básicas:

ContíguaNão-contígua Encadeada

Indexada

Page 23: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

Alocação Contígua

Arquivo é uma sequência de 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

Page 24: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

Esquema Alocação Contígua

Page 25: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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

Page 26: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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

Page 27: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

Esquema de Alocação Encadeada

Page 28: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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

Page 29: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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.

Page 30: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

Esquema de Funcionamento da FAT Desvantagem principal é o tempo de seek

Page 31: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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.

Page 32: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

Esquema de Alocação Indexada

Page 33: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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.

Page 34: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

Diretório Problema: Quantidade de arquivos implica

necessidade de organizá-los. Sistema de Arquivos oferece duas formas

de organização:PartiçãoDiretório

Partição divide um disco em discos lógicosNo mínimo uma em um sistema;Onde “residem” os arquivos e diretórios.

Page 35: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

35

Diretórios

Diretórios são arquivos responsáveis por manter a estrutura do Sistema de Arquivos.

Organização

Operações

Page 36: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

36

Diretórios

Organização pode ser feita das seguintes maneiras:Nível único (Single-level);

Dois níveis (Two-level);

Hierárquica.

Page 37: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

37

Diretórios – Nível único

Apenas um diretório contém todos os arquivos diretório raiz (root directory).

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

Page 38: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

38

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.

Diretório raiz

A A B C

Page 39: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

39

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.

Diretório raiz

A A B C

A B C

C C

Diretóriodo usuário

Arquivos

Page 40: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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.

Page 41: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

41

Diretórios – Hierárquico

Diretório raiz

A A B

C

A B C

C

C

Diretóriodo usuário

Arquivos

BB

B

C

CC

C C

Sub-diretóriosdo usuário

Page 42: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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);

Page 43: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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;

Page 44: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

44

Diretórios – Caminho (path name)

Diretório de Trabalho (working directory) ou diretório corrente (current directory).

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

Page 45: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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

Page 46: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

46

Diretórios – Operações

Create; DeleteOpendir; ClosedirReaddirRenameLink (um arquivo pode aparecer em mais de

um diretório)Unlink

Page 47: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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.

Page 48: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

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:

Page 49: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

49

Implementação do Sistema de arquivos - Layout

Disco

MBR

Tabela de partição Partições

Boot RaizGerenc. de Espaço livre

Super blocoArquivosDiretóriosI-nodes

Contém parâmetros (tipo do SA, número de blocos) sobre o sistema

de arquivos e é carregado na memória

Page 50: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

50

Implementação do Sistema de arquivos - Layout

MBR

Tabela de partição Partições

Boot RaizGerenc. de Espaço livre

Super blocoArquivosDiretóriosI-nodes

Contém informações sobre os blocos livres do disco (mapa de bits ou lista

encadeada)

Disco

Page 51: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

51

Implementação do Sistema de arquivos - Layout

Estruturas de dados (vetor) contendo informações sobre os arquivos

MBR

Tabela de partição Partições

Boot RaizGerenc. de Espaço livre

Super blocoArquivosDiretóriosI-nodes

Disco

Page 52: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

52

Implementação do Sistema de arquivos - Layout

Diretório raiz – árvore de diretórios

MBR

Tabela de partição Partições

Boot RaizGerenc. de Espaço livre

Super blocoArquivosDiretóriosI-nodes

Disco

Page 53: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

53

Implementação do Sistema de arquivos - Layout

Demais arquivos e diretórios

MBR

Tabela de partição Partições

Boot RaizGerenc. de Espaço livre

Super blocoArquivosDiretóriosI-nodes

Disco

Page 54: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

54

Implementação do Sistema de arquivos - Arquivos Armazenamento de arquivos como os

arquivos são alocados no disco; Diferentes técnicas são implementas por

diferentes Sistemas Operacionais;Alocação contínua;Alocação com lista encadeada;Alocação com lista encadeada utilizando uma

tabela na memória (FAT); I-Nodes;

Page 55: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

55

Implementação do Sistema de arquivos - Arquivos Alocação contínua:

Técnica mais simples;Armazena arquivos de forma contínua no

disco; Ex.: em um disco com blocos de 1kb um arquivo

com 50kb será alocado em 50 blocos consecutivos;

Page 56: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

56

Implementação do Sistema de arquivos - Arquivos

A B C D E F

4 3 6 5 12 637 Blocos

Removendo os arquivos D e F...

A B C E Livre

4 3 6 5 12 7

Livre

Alocação contínua:

Page 57: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

57

Implementação do Sistema de arquivos - Arquivos

Alocação contínua: Vantagens:

Simplicidade: somente o endereço do primeiro bloco e número de blocos no arquivo são necessários.

Desempenho para o acesso ao arquivo: acesso seqüencial. Desvantagens (discos rígidos):

Fragmentação externa: Compactação alto custo. Reuso de espaço atualização da lista de espaços livres.

Conhecimento prévio do tamanho do arquivo para alocar o espaço necessário.

CD-ROM e DVD-ROM (quando somente escrita).

Page 58: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

58

Implementação do Sistema de arquivos - Arquivos Alocação com lista encadeada:

A primeira palavra de cada bloco é um ponteiro para o bloco seguinte.

O restante do bloco é destinado aos dados.Apenas o endereço em disco do primeiro

bloco do arquivo é armazenado. Serviço de diretório é responsável por manter esse

endereço.

Page 59: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

59

Implementação do Sistema de arquivos - Arquivos Alocação com lista encadeada:

Desvantagens: Acesso aos arquivos é feito aleatoriamente

processo mais lento; A informação armazenada em um bloco não é

mais uma potência de dois, pois existe a necessidade de se armazenar o ponteiro para o próximo bloco;

Vantagem: Não se perde espaço com a fragmentação

externa;

Page 60: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

60

Implementação do Sistema de arquivos - Arquivos Alocação com lista encadeada:

0

Arquivo ABlocos do arquivo

1 2 3 4

Blocos físicos

4 7 2 10 12

0

Arquivo BBlocos do arquivo

1 2 3

Blocos físicos

6 3 11 14

Page 61: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

61

Implementação do Sistema de arquivos - Arquivos

Alocação com lista encadeada utilizando uma tabela na memória: O ponteiro é colocado em uma tabela na memória ao invés de

ser colocado no bloco. FAT Tabela de alocação de arquivos (File Allocation Table). Assim, todo o bloco está disponível para alocação de dados;

Serviço de diretório é responsável por manter o início do arquivo (bloco inicial).

MS-DOS e família Windows 9x (exceto WinNT, Win2000 e WinXP - NTFS).

Page 62: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

62

Implementação do Sistema de arquivos - Arquivos

Acesso aleatório se torna mais fácil devido ao uso da memória.

Desvantagem: Toda a tabela deve estar na memória.

Exemplo: Com um disco de 20Gb com blocos de 1kb, a tabela

precisa de 20 milhões de entradas.

Page 63: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

63

Implementação do Sistema de arquivos - ArquivosAlocação com lista encadeada utilizando FAT

0123456789101112131415

10117

32

1214-1

-1Bloco livre

Início arquivo A

Início arquivo B

Arquivo A 4 7 2 10 12

Arquivo B6 3 11 14

Marca de término

Page 64: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

64

Implementação do Sistema de arquivos - Arquivos I-nodes:

Cada arquivo possui uma estrutura de dados chamada i-node (index-node) que lista os atributos e endereços em disco dos blocos do arquivo.

Assim, dado o i-node de um arquivo é possível encontrar todos os blocos desse arquivo.

Se cada i-node ocupa n bytes e k arquivos estão abertos ao mesmo tempo o total de memória ocupada é kn bytes.

UNIX e Linux.

Page 65: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

65

Implementação do Sistema de arquivos - Arquivos

Espaço de memória ocupado pelos i-nodes é proporcional ao número de arquivos abertos.

Vantagem: O i-node somente é carregado na memória quando o seu

respectivo arquivo está aberto (em uso); Desvantagem:

O tamanho do arquivo pode aumentar muito Solução: reservar o último endereço para outros endereços

de blocos.

Page 66: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

66

Implementação do Sistema de arquivos - Arquivos

I-nodes:Atributos do arquivo

Endereço do bloco 0

Endereço do bloco 1

Endereço do bloco 2

Endereço do bloco 3

Endereço do bloco 4

Endereço do bloco 5

Endereço do bloco 6

Endereço do bloco 7

Endereço do bloco de ponteiros

En

der

eços

do

dis

co

Bloco com endereçosadicionais

Page 67: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

67

Implementação do Sistema de arquivos - Arquivos

I-nodes:

Page 68: Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki kawasaki@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais.

68

Implementação do Sistema de arquivos - Arquivos I-nodes

O arquivo texto.txtestá no bloco 503

1 .

7 tmp6 usr4 bin1 ..

Diretório Raiz *

Encontra /usrcom i-node 6

modo

132hora

tamanho

I-node 66 .

26 andy23 ana19 dick

1 ..

Bloco 132 tem o sub-diretório/usr

Bloco 132

/usr/andy está no i-node 26

modo

406hora

tamanho

I-node 26

Bloco 406 tem o sub-diretório/usr/andy

26 .

72 texto.txt66 teste.c64 notas

6 ..

Bloco 406

O arquivo texto.txtestá no i-node 72

modo

503hora

tamanho

I-node 72

Texto.txt

Bloco 503