Buscar

Sistemas_de_Arquivos

Prévia do material em texto

SISTEMAS DE ARQUIVOS Eng. Eduardo Juliano Alberti
Tudo o que fazemos em um computador utiliza aplicações que reúnem informações,
as armazena e as recupera.
Algumas informações podem ser retidas na memória RAM, que torna sua
disponibilidade maior e a velocidade de acesso também maior, porém nem todas as
aplicações podem executar totalmente em memória ou após desligadas necessitam
gravar informações de forma persistente.
2
Outro problema é que algumas informações necessitam compartilhar informações, se
estas estão em espaço de endereçamento de um processo específico estão, então,
indisponíveis para os demais.
Desta forma, para o armazenamento a longo prazo:
1. Deve ser possível armazenar uma quantidade muito grande de informação;
2. A informação deve sobreviver ao término do processo;
3. Múltiplos processos têm de ser capazes de acessar a informação corretamente.
3
Para que seja possível realizar tais operações, os dados são agrupados e
armazenados em meios externos a memória. Tais agrupamentos recebem o nome de
arquivos.
4
ARQUIVOS
Os arquivos são dados agrupados com o objetivo de abstrair informações. Não há
necessidade e muitas vezes nem é recomendado que o usuário tenha conhecimento
do conteúdo (em sua verdadeira forma) de um arquivo.
Para facilitar a tarefa de organizar diversos arquivos, provenientes de diversos
programas, um arquivo pode receber um nome.
5
ARQUIVOS
As regras de nomenclatura de arquivos varia de acordo com o sistema.
Usualmente os nomes de arquivos podem receber caracteres alfanuméricos com
tamanho máximo de 255 caracteres.
Algumas características podem variar como a sensibilidade a caixa alta ou baixa e
presença de caracteres especiais ou símbolos.
6
ARQUIVOS
Os nomes dos arquivos são seguidos por um ponto e uma extensão, que define algo
sobre o arquivo.
Tais extensões de arquivo identificam qual tipo de informação tal arquivo carrega.
7
ARQUIVOS
8
ESTRUTURA DOS ARQUIVOS
O sistema Operacional não se importa com o conteúdo dos arquivos, não há
interesse em conhecer seu conteúdo (apenas o software a nível de usuário se
interessa), desta forma o sistema oferece flexibilidade, não ajudam e nem
atrapalham o software a incluir informações em seu arquivo.
9
ESTRUTURA DOS ARQUIVOS
10
TIPOS DE ARQUIVOS
11
Arquivos regulares: contêm informações de usuários
 Normalmente são compostos por caracteres ASCII organizados em linhas terminadas por caracteres 
especiais
 Podem ser visualizados, impressos e modificados com qualquer editor de textos.
 Fácil conexão entre programas.
 Arquivos Binários: gravam informações em formato binário e possuem uma estrutura interna 
conhecida pelos programas que o usam.
Diretórios: são arquivos do sistema que mantêm a estrutura do sistema de arquivos
TIPOS DE ARQUIVOS
12
Arquivos especiais de caracteres: relacionados a entrada/saída e são usados para 
transportar dados para impressoras, rede e portas.
Arquivo especiais de blocos: modelam discos
TIPOS DE ARQUIVOS
13
Os arquivos binários executável:
Número Mágico: identifica o arquivo como executável
Informações do cabeçalho
TIPOS DE ARQUIVOS
14
Os sistemas operacionais devem reconhecer ao menos um tipo de arquivo: o seu 
próprio executável.
Os arquivos fortemente tipificados (onde a extensão implica da recusa de sua 
utilização) pode implicar em problemas, imagine que você queira compilar um 
programa e ao salvá-lo inseriu uma extensão que não é a utilizada pelo programa. 
Seu arquivo será rejeitado mesmo que o código esteja correto.
Claro que, em uma visão de usuário isso é ótimo, pois evita erros.
ACESSO AOS ARQUIVOS
15
Acesso Sequencial os arquivos são lidos de forma sequencial, do início ao fim, sem 
saltos. O arquivo poderia ser lido quantas vezes fosse necessário. 
Acesso Aleatório os arquivos são lidos byte a byte sem a necessidade de
sequencialidade. O controle de leitura fica mais complexo, porém a leitura fica mais
dinâmica.
ATRIBUTOS DOS ARQUIVOS
16
Os atributos do arquivo permitem armazenar informações que dizem respeito a 
data de criação, modificação, proprietário e outras informações.
Permitem ainda, incluir senhas, proteção, ocultar ou não sua visualização e demais 
propriedades avançadas.
ATRIBUTOS DOS ARQUIVOS
17
OPERAÇÕES COM ARQUIVOS
18
Create o arquivo é criado sem dados. Define arquivo e atributos, porém não insere 
dados.
Delete exclui o arquivo e libera seu espaço em disco.
Open abre o arquivo e copia seus dados para a memória principal tornando mais 
rápida a resposta a operações posteriores.
OPERAÇÕES COM ARQUIVOS
19
Close fecha o arquivo liberando espaço na memória principal. Alguns sistemas 
possuem um número máximo de arquivos que podem ser abertos simultaneamente. O 
fechamento força que o último bloco do arquivo seja escrito, mesmo que o bloco não 
esteja totalmente completo.
Read operação que permite a leitura dos bytes do arquivo, especifica a quantidade 
de bytes a ser lidos e um buffer que receberá tal leitura.
OPERAÇÕES COM ARQUIVOS
20
Write escreve dados no arquivo, dependendo a posição do ponteiro de escrita o 
arquivo pode aumentar de tamanho ou perder seus dados. Se o ponteiro estiver no 
final do arquivo o tamanho do arquivo será aumentado, caso contrário, os dados 
posteriores a posição do ponteiro serão substituídos e perdidos.
Append escreve dados no arquivo, porém de uma forma restrita, apenas no final do 
arquivo, torna a operação de escrita mais segura, porém mais restrita.
OPERAÇÕES COM ARQUIVOS
21
Seek reposiciona o ponteiro de leitura ou gravação em uma posição específica do 
arquivo. Provê o acesso aleatório aos dados do arquivo.
Get Attributes permite a leitura dos atributos do arquivo, dá acesso as propriedades 
do arquivo e permite decisões a partir das características do arquivo.
Set Attributes permite a alteração de alguns atributos do arquivo, porém alguns 
atributos não são alteráveis, assim como a data de criação.
OPERAÇÕES COM ARQUIVOS
22
Rename permite a alteração do nome do arquivo e sua extensão. Note que a 
alteração da extensão não altera a forma que o arquivo sobre execução, tornar um 
arquivo de texto em executável não o torna um arquivo válido.
DIRETÓRIOS
23
Os diretórios tem por função agrupar arquivos, controlá-los e organizá-los em uma
estrutura conhecida.
A organização mais simples é a reunir todos os arquivos em um único diretório, o
diretório raiz (nome não importa muito, já que só existe um diretório).
DIRETÓRIOS
24
Na organização em nível único, a velocidade de busca de um arquivo é muitas vezes
maior que outros tipos de organização, porém um único diretório para vários usuários
pode levar a erros, imagine que dois usuários distintos utilizem o mesmo nome de
arquivo.
Apesar de já ter sido usado em um supercomputador (CDC 6600), este sistema não é
mais utilizado.
DIRETÓRIOS
25
No sentido de resolver os problemas que podem surgir quando dois usuários utilizam
o mesmo nome de arquivo, idealizou-se o sistema de nível duplo, onde cada usuário
possuiria um diretório.
Desta forma cada usuário poderia utilizar qualquer nome que desejasse sem
interferir na escolha do outro usuário.
DIRETÓRIOS
26
Neste modelo inclui-se um problema no qual o arquivo só deveria ser executado pelo
seu próprio dono, ou seja, deveria ser observado o proprietário do arquivo.
Outro porém para tal modelo é que aplicativos deveriam ser dispostos de forma a
serem acessados pelos múltiplos usuários, afinal manter várias cópias do mesmo
programa apenas gastaria recursos.
DIRETÓRIOS
27
Ambos modelos anteriores possuem suas qualidades e defeitos, porém nenhum dos
dois permite que o usuário organize seus arquivos(quando existirem muitos) em um
sistema de diretórios específico.
Desta forma o sistema de diretórios hierárquico tenta suprir a necessidade de
organização de um sistema de diretórios. Cada diretório está em um nível de uma
hierarquia e pode agrupar n arquivos.
CAMINHOS DE DIRETÓRIOS
28
Uma preocupação com o modelo hierárquico é a de acessar o conteúdo de um
diretório específico. Para tal, é necessário conhecer o caminho de tal arquivo. Desta
forma, podemos relacionar duas opções:
Caminho Absoluto: leva em consideração o caminho completo, desde o diretório raiz
até o local onde o arquivo se encontra.
/usr/x/arquivo.txt
C:/usuários/x/arquivo.txt
CAMINHOS DE DIRETÓRIOS
29
Caminho Relativo: leva em consideração que o ponto de partida é o diretório atual.
Neste conceito o usuário pode navegar por cada um dos diretórios antes de chegar o
arquivo que busca.
Cd c:
cd usuários
Cd x
Edit arquivo.txt
CAMINHOS DE DIRETÓRIOS
30
É importante observar que cada sistema operacional possui uma organização
diferente de seus diretórios, pode ser com poucos ou muitos níveis de hierarquia.
OPERAÇÕES COM DIRETÓRIOS
31
Create cria um diretório vazio, exceto pelo ponto e pontoponto.
Delete remove um diretório vazio
Opendir abre um diretório para leitura
Closedir fecha um diretório para leitura
OPERAÇÕES COM DIRETÓRIOS
32
Readdir permite a leitura do diretório, retorna a próxima entrada de um diretório
aberto
Rename renomeia o diretório
Link possibilita a um arquivo aparecer em mais de um diretório ao mesmo tempo
Unlink quebra o link de um arquivo que aparece em dois diretórios simultaneamente.
IMPLEMENTAÇÃO DE UM SISTEMA DE ARQUIVOS
33
Quando estudamos os sistemas de arquivos, o que nos importa compreender é como a
organização dos diretório e arquivos armazenados pode afetar o desempenho das
atividades que dependem deles, se estão armazenados de forma confiável e se sua
utilização será da forma mais eficiente possível.
IMPLEMENTAÇÃO DE UM SISTEMA DE ARQUIVOS
34
Em todos os discos, não importando o formato de suas partições e sistemas de
arquivos, o primeiro setor, chamado de setor 0 ou MBR armazena informações para
iniciar o computador, a localização de cada partição e localização do bloco de boot.
Outra função do MBR é identificar o superbloco, que é uma área reservada do
sistema, lida na memória principal com o intuito de identificar tipos e quais arquivos
devem ser executados para iniciar o sistema.
ALOCAÇÃO DE SISTEMAS DE ARQUIVOS
35
Existem diversas forma de organizar e realizar a manutenção dos blocos de memória
de um sistema de discos. Uma das formas de armazenar arquivos é através da
alocação contígua.
A alocação contígua é a forma mais simples de alocação, na qual cada arquivo é
armazenado de forma contígua no disco. Um arquivo é fracionado em n partes que
serão gravadas em blocos contíguos do disco. Ou seja, se possuímos blocos de 1Kb,
um arquivo de 50Kb será gravado em 50 blocos sequenciais ou consecutivos.
ALOCAÇÃO DE SISTEMAS DE ARQUIVOS
36
É possível verificar vantagens neste tipo de 
alocação?
ALOCAÇÃO DE SISTEMAS DE ARQUIVOS
37
A alocação contígua é a forma mais simples de alocação e sua implementação é, por
consequência, também a mais simples. Para encontrar um arquivo, o sistema de
arquivos necessita apenas lembrar o local no qual o arquivo de encontra e qual o
número de blocos que o arquivo ocupa.
Não há atrasos rotacionais ou a necessidade de posicionamento a cada bloco, o que
torna a alocação contígua um sistema de alocação com grande desempenho.
ALOCAÇÃO DE SISTEMAS DE ARQUIVOS
38
É possível verificar desvantagens neste tipo de 
alocação?
ALOCAÇÃO DE SISTEMAS DE ARQUIVOS
39
Com o tempo, a exclusão de arquivos cria lacunas entre espaços alocados,
fragmentando o disco.
ALOCAÇÃO DE SISTEMAS DE ARQUIVOS
40
Outro problema é que se o usuário necessitar gravar um arquivo com 100Mb, o disco
deverá possuir blocos consecutivos que somados tenham esta capacidade. O
problema é que depois de um certo período de tempo, muito provavelmente este
espaço contíguo não irá existir, o que impossibilitará o usuário de salvar seus dados.
ALOCAÇÃO DE SISTEMAS DE ARQUIVOS
41
Porém se observarmos um CD-ROM, esse tipo de alocação é altamente interessante,
pois trará desempenho superior, e não será necessário incluir ou excluir arquivos, o
que tornar a alocação contígua viável e altamente recomendada.
ALOCAÇÃO DE SISTEMAS DE ARQUIVOS
42
Outra forma de alocação é a alocação por meio de lista encadeada.
Com esse método o arquivo pode ser armazenado de forma fracionada, e cada
bloco contém um fragmento do arquivo e um endereço para o próximo bloco que
contem outro fragmento do arquivo.
A grande vantagem da utilização deste método é que todo o disco pode ser usado, e
não serão necessário blocos contíguos para armazenar um arquivo.
ALOCAÇÃO DE SISTEMAS DE ARQUIVOS
43
A grande desvantagem deste método é que a fragmentação do arquivo (não do
espaço livre) pode tornar o processo de leitura lento, devido a latência rotacional,
movimentação mecânica e processo de leitura.
Uma forma de eliminar tais desvantagens seria pela implementação de uma tabela
que armazenaria todos os endereços dos blocos de um arquivo. A essa tabela dá-se
o nome de FAT (File Allocation Table).
ALOCAÇÃO DE SISTEMAS DE ARQUIVOS
44
A desvantagem da alocação por lista encadeada usando uma tabela de alocação, é
que esta tabela necessariamente deve estar em memória durante todo o tempo, ou
seja, um espaço da memória principal deverá ser destinado apenas ao sistema de
arquivos.
Mesmo que tal tabela seja armazenada utilizando memória virtual, o tráfego entre
memória e disco seria intenso, deixando o sistema lento.

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

3 pág.
lista07

Colégio Dom Bosco

User badge image

mariaester041092

50 pág.
aula20

Colégio Dom Bosco

User badge image

mariaester041092

Perguntas Recentes