Você está na página 1de 8

Funes de um SO




Sistemas de Arquivos
(Aula 23)





Gerncia de processos
Gerncia de memria

Gerncia de Arquivos
Gerncia de I/O
Sistema de Proteo

Profa. Patrcia D. Costa LPRM/DI/UFES

Necessidade de Armazenamento





Abstrao criada pelo S.O. para gerenciar e representar


os dados

Profa. Patrcia D. Costa LPRM/DI/UFES

Sistemas Operacionais 2008/1

Gerncia de Arquivos

Grandes quantidades de informao tm de ser


armazenadas
Informao armazenada tem de sobreviver ao fim
do processo que a utiliza
Mltiplos processos devem poder acessar a
informao de um modo concorrente
ARQUIVO


Sistemas Operacionais 2008/1

Oferece a abstrao de arquivos (e diretrios)

Atividades suportadas


Primitivas para manipulao (chamadas de sistema para


manipulao de arquivos)
 criar, deletar
 abrir, fechar
 ler, escrever
 posicionar

 Mapeamento para memria secundria

Profa. Patrcia D. Costa LPRM/DI/UFES

Sistemas Operacionais 2008/1

Estrutura Interna do Kernel UNIX

Sistema de Arquivos

User application

 O que ?
 Um conjunto de arquivos, diretrios, descritores e estruturas de

Standard Unix libraries

User level

dados auxiliares gerenciados pelo sub sistema de gerncia de


arquivos
 Permitem estruturar o armazenamento e a recuperao de dados
persistentes em um ou mais dispositivos de memria secundria
(discos ou bandas magnticas)

Kernel level
System call interface
File Subsystem
Buffer cache
Character

Process
control
system

Interprocess communication

identificado por um nome

Memory management

block

Arquivo

 Um conjunto de dados persistentes, geralmente relacionados,

scheduler

 composto por:


Device drivers

Hardware control


level
Profa.Hardware
Patrcia D. Costa
LPRM/DI/UFES

Hardware
5

Estrutura Interna de Arquivos

Sistemas Operacionais 2008/1

Profa. Patrcia D. Costa LPRM/DI/UFES

rvore de Registros

Profa. Patrcia D. Costa LPRM/DI/UFES

Sistemas Operacionais 2008/1

Sistemas Operacionais 2008/1

(2)

Seqncia no-estruturada de bytes




Seqncia de
Registros

Estrutura Interna de Arquivos

(1)

Seqncia
noestruturada
de bytes

Nome: identifica o ficheiro perante o utilizador


Descritor de arquivo: estrutura de dados em memria secundria com
informao sobre o ficheiro (dimenso, datas de criao, modificao e
acesso, dono, autorizaes de acesso)
Informao: dados guardados em memria secundria

Forma mais simples de organizao de arquivos


Sistema de arquivos no impe nenhuma estrutura lgica
para os dados, a aplicao deve definir toda a
organizao
Vantagem: flexibilidade para criar estruturas de dados,
porm todo o controle de dados de responsabilidade da
aplicao
Estratgia adotada tanto pelo UNIX quanto pelo Windows

Profa. Patrcia D. Costa LPRM/DI/UFES

Sistemas Operacionais 2008/1

Estrutura Interna de Arquivos




Seqncia de Registros




Tipos de Arquivos

(3)

Em geral, registros de tamanho fixo


Operao de leitura retorna um registro
Operao de escrita sobrepe/anexa um registro

rvore de Registros




Cada registro associado a uma chave


rvore ordenada pela chave
Computadores de grande porte / aplicaes que fazem
muita leitura aleatria
9

Profa. Patrcia D. Costa LPRM/DI/UFES

Tipos de Arquivos

Sistemas Operacionais 2008/1

(1)

Arquivos Regulares



Arquivos ASCII
Binrios
 Apresentam uma estrutura interna conhecida pelo S.O.

Diretrios



Arquivos do sistema
Mantm a estrutura do Sistemas de Arquivos

Profa. Patrcia D. Costa LPRM/DI/UFES

10

Sistemas Operacionais 2008/1

Operaes sobre Arquivos

(2)

 Dependem do tipo
 create
 delete
 open
 close
 read
 write
 append
 seek
 get attributes

Arquivo
Executvel
(UNIX)
Profa. Patrcia D. Costa LPRM/DI/UFES

Repositrio
ou Archive
(UNIX)
11

Sistemas Operacionais 2008/1

 set attributes
 rename
Profa. Patrcia D. Costa LPRM/DI/UFES

12

Sistemas Operacionais 2008/1

Operaes sobre Arquivos

Diretrios



(1)

Modo como o sistema organiza os diferentes arquivos


contidos num disco
a estrutura de dados que contm entradas associadas aos
arquivos
 localizao fsica, nome, organizao e demais atributos




Quando um arquivo aberto, o sistema operacional procura


a sua entrada na estrutura de diretrios
As informaes do arquivo so armazenadas em uma tabela
mantida na memria principal(tabela de arquivo abertos)
 Fundamental para aumentar o desempenho das operaes com

arquivos
Profa. Patrcia D. Costa LPRM/DI/UFES

Diretrios


13

Sistemas Operacionais 2008/1

Diretrios

(2)

14

Profa. Patrcia D. Costa LPRM/DI/UFES

(3)

 Estrutura de diretrios com dois nveis

Sistemas de Diretrio em Nvel nico

 Para cada usurio existe um diretrio particular e assim poderia criar

 Implementao mais simples

arquivos com qualquer nome.

 Existe apenas um nico diretrio contendo todos os

arquivos do disco
 Bastante limitado j que no permite que usurios criem

arquivos com o mesmo nome

 Deve haver um nvel de

diretrio adicional para


controle que indexado
pelo nome do usurio


 Isso ocasionaria um conflito no acesso aos arquivos

Cada entrada aponta para


o diretrio pessoal.

Usurio 1
Usurio 2
Usurio 3

Usurio n

Profa. Patrcia D. Costa LPRM/DI/UFES

15

Sistemas Operacionais 2008/1

Sistemas Operacionais 2008/1

Profa. Patrcia D. Costa LPRM/DI/UFES

Master File Directory


(MFD)
16

Arquivo 1
Arquivo 2
Arquivo 3
Arquivo 1
Arquivo 1
Arquivo 2
Arquivo 3
User File Directory
(UFD)

Arquivos

Sistemas Operacionais 2008/1

Diretrios


Diretrios

(4)

Estrutura de diretrios Hierrquicos








Adotado pela maioria dos sistemas operacionais


Logicamente melhor organizado
possvel criar quantos diretrios quiser
Um diretrio pode conter arquivos e outros diretrios
(chamados subdiretrios)
Cada arquivo possui um path nico que descreve todos

(4)

Estrutura de diretrios Hierrquicos


Disco C:/

Carlos

17

Esquema do Sistema de Arquivos

Sistemas Operacionais 2008/1

Ivan

Teste

os diretrios da raiz (MFD) at o diretrio onde o arquivo


esta ligado
Na maioria dos S.O.s os diretrios so tratados como
arquivos tendo atributos e identificao

Profa. Patrcia D. Costa LPRM/DI/UFES

Paulo

Pessoal

Pessoal

Programas

Soma.exe
Profa. Patrcia D. Costa LPRM/DI/UFES

18

Esquema do Sistema de Arquivos

(1)

(cont.)

Sistemas Operacionais 2008/1

(2)

 A maioria dos discos dividida em uma ou mais parties com Sistemas


de arquivos independentes para cada partio
 O setor 0 do disco chamado de
(MBR)
 Na inicializao do sistema, a BIOS l e executa o MBR
 O programa do MBR localiza a partio ativa, l seu primeiro bloco,
chamado de bloco de boot (boot sector no NTFS)
 O programa no bloco de boot carrega o S.O. contido na partio
 O esquema da partio varia de um S.O. para outro, mas comum:
 A definio de um SuperBloco (Master File Table no NTFS):
contm os principais parmetros do sistema de arquivos (tipo, no. de
blocos, etc.)
 As informaes sobre os blocos livres
 FCB (File control block) define detalhes do arquivo, incluindo
permisses, propriedade, tamanho, e local dos blocos de dados. No
UNIX (Inode), NTFS (fica no MFT que usa estrutura de banco de
dados relacional, uma linha por arquivo)

Master Boot Record

Profa. Patrcia D. Costa LPRM/DI/UFES

19

Sistemas Operacionais 2008/1

Profa. Patrcia D. Costa LPRM/DI/UFES

20

Sistemas Operacionais 2008/1

Implementao de Arquivos


Implementao de Arquivos

(1)

Alocao Contgua

(2)

Alocao Contgua (cont.)

 Consiste em armazenar um arquivo em blocos seqencialmente

dispostos
arquivo

 O sistema localiza um arquivo atravs do endereo do primeiro bloco

e da sua extenso em blocos


 O acesso bastante simples
 Seu principal problema a alocao de novos arquivos nos espaos

inicio #blocos

readme.txt

010

003

prova.doc
Aula.pdf

002
017

008
005

livres


Para armazenar um arquivo que ocupa n blocos, necessrio uma


cadeia com n blocos dispostos seqencialmente no disco

 Alm disso, como determinar o espao necessrio a um arquivo que

possa se estender depois da sua criao?




Pr-alocao (fragmentao interna)

Profa. Patrcia D. Costa LPRM/DI/UFES

21

Implementao de Arquivos


0 1 2 3 4 5 6 7

Sistemas Operacionais 2008/1

Profa. Patrcia D. Costa LPRM/DI/UFES

Implementao de Arquivos

(3)

Alocao Contgua (cont.)

aloca

remove

remove

aloca

remove

aloca

Agora, como alocar um arquivo com 4 blocos ? Fragmentao Externa !


E se o arquivo fosse dividido em Blocos lgicos?

Profa. Patrcia D. Costa LPRM/DI/UFES

23

Sistemas Operacionais 2008/1

Sistemas Operacionais 2008/1

(4)

Alocao por Lista Encadeada




aloca

22




O arquivo organizado como um conjunto de blocos


ligados no disco
Cada bloco deve possuir um ponteiro para o bloco
seguinte
Aumenta o tempo de acesso ao arquivo, pois o disco
deve deslocar-se diversas vezes para acessar todos os
blocos
necessrio que o disco seja desfragmentado
periodicamente
Esta alocao s permite acesso seqencial
Desperdcio de espao nos blocos com armazenamento
de ponteiros

Profa. Patrcia D. Costa LPRM/DI/UFES

24

Sistemas Operacionais 2008/1

Implementao de Arquivos


Implementao de Arquivos

(5)

Alocao por Lista Encadeada (cont.)

(6)

Alocao por Lista Encadeada usando Tabela na


Memria

Incio

Mantm os ponteiros de todos os blocos de arquivos em


uma nica estrutura denominada Tabela de Alocao
de Arquivos


FAT (File Allocation Table)

 Vantagens:

 Permitir o acesso direto aos blocos

 No mantm informaes de controle dentro dos blocos de dados

10

11

12

13

14

Profa. Patrcia D. Costa LPRM/DI/UFES

25

Implementao de Arquivos


 Esquema usado pelo MS-DOS, Win95 e Win98

Sistemas Operacionais 2008/1

(7)

Alocao por Lista Encadeada usando


Tabela na Memria (cont.)

Diretrio

Profa. Patrcia D. Costa LPRM/DI/UFES

26

Sistemas Operacionais 2008/1

Implementao de Arquivos (8)


 i-nodes
 Cada arquivo possui uma

tabela (i-node) no disco


 O i-node s precisa estar na

memria quando o arquivo


correspondente estiver aberto

Desvantagem

 A tabela deve estar na memria


 Disco de 20 G, blocos de 1k?



 Ocupa menos espao que a

20 milhes de entradas
Cada entrada 4 bytes: 80MB

FAT


 Mas possvel paginar a FAT!

Tamanho da FAT cresce


linearmente com o tamanho
do disco
I-nodes requerem um espao
proporcional quantidade
mxima de arquivos abertos

 Usados por sistemas baseados


Profa. Patrcia D. Costa LPRM/DI/UFES

27

Sistemas Operacionais 2008/1

UNIX
Profa. Patrciano
D. Costa
LPRM/DI/UFES

28

Sistemas Operacionais 2008/1

i-nodes

i-nodes

(1)

(2)

TBD = 1K
TR = 4 bytes

Bmax=10 + 256 + 2562 + 2563 = 10


+ 216 + 224 = 10 + 64K + 16M
blocos
Fmax 16 Gigabytes

10 entradas
diretas

Dado que:
TBD Tamanho bloco de dados
TR Tamanho referncia (endereo do
bloco)
Qual ser...?
Bmax N Blocos mximo de um arquivo
Fmax dimenso mxima de um arquivo
Bmax= 10 + TBD + TBD 2 + TBD
TR
TR
TR
Fmax = Bmax x TBD
Profa. Patrcia D. Costa LPRM/DI/UFES

29

Relao entre Diretrios e i-nodes




Sistemas Operacionais 2008/1

Profa. Patrcia D. Costa LPRM/DI/UFES

30

Relao entre Diretrios e i-nodes

(1)

Diretrios incluem nomes de arquivos e referncias

Sistemas Operacionais 2008/1

(2)

Passos para alcanar /usr/ast/mbox

para os respectivos i-nodes

Profa. Patrcia D. Costa LPRM/DI/UFES

31

Sistemas Operacionais 2008/1

Profa. Patrcia D. Costa LPRM/DI/UFES

32

Sistemas Operacionais 2008/1

Você também pode gostar