Você está na página 1de 15

Os sistemas de arquivos

Prof.: Edwilian Maia Nome: Paulo Henrique Maia Mat: 19992021733

Os sistemas de arquivos
O nome pode ser com ou sem extenso de arquivo com ou sem distino entre as letras maisculas e as minsculas com limitao de caracteres de 16 ou 256 ou ...

Tipos de arquivos

arquivos regulares (ASCII ou binrio, diretrio, arquivos especiais de caracteres ou de blocados.

Acessos aos arquivos


seqencial randmico ou aleatrio

Estrutura do arquivo

Operaes sobre arquivos


CREATE, DELETE, OPEN, CLOSE, READ, WRITE, APPEND, SEEK, GET ATTRIBUTES, SET ATTRIBUTES, RENAME.

Arquivos mapeados na memria O que acontece quando o arquivo maior que a memria? MAP, UNMAP

Diretrios

nome de arquivo absoluto (/usr/local/bin/xv) nome de arquivo relativo (../../nsmail/Inbox) diretrio de trabalho ou corrente (.) diretrio dos binrios (/r0/CMDS)

Operaes sobre diretrios


CREATE, DELETE, OPENDIR, CLOSEDIR, READDIR, RENAME, LINK, UNLINK

Implementao do sistema de arquivos Alocao contgua


Vantagens: simples de implementar, guardar s um endereo do arquivo no disco, o arquivo pode ser lido do disco em uma nica operao. Desvantagens: devemos conhecer o tamanho do arquivo para reservar o espao em disco, fragmentao do disco.

Alocao com lista ligada


A primeira palavra de cada bloco usada como ponteiro para o prximo bloco.

Desvantagem:acesso randmico extremamente lento.

Alocao com lista ligada usando um ndice


Usar uma tabela ou ndice na memria (usado em MSDOS)

Desvantagem: toda a tabela deve estar na memria durante todo o tempo Ns-i Cada arquivo tem uma pequena tabela N-i (n-ndice) que lista os atributos e os endereos em disco dos blocos do arquivo (usado em UNIX).

Implementao de diretrios

entrada de diretrio do MS-DOS

entrada de diretrio de UNIX

$ od -hc .. 0000000 08 43 . 00 00 00 00 00 00 00 00 00 00 00 00 00 0000020 19 02 . . 00 00 00 00 00 00 00 00 00 00 00 00 0000040 09 c3 s i s _ o p e r a t i o n a 0000060 08 5a l e n c i 00 00 00 00 00 00 00 00 00 0000100 19 7c c u r s o _ p o r t u g u e 0000120 10 4c c u r s o _ h t m l 00 00 00 00 0000140 10 42 C _ p o r t 00 00 00 00 00 00 00 00 0000160 30 11 s y s _ o p e r a t o i r e 0000200 $ ls -ia .. 2115 . 4172 curso_html 2499 sis_operational 6402 .. 6524 curso_portugus 2305 sys_operatoire 4162 C_port 2138 lenci $ ls -ia . 12305 . 12360 exercices.html 21558 postscript 2115 .. 12299 image 24604 process 17457 Unixprogrammeur 24596 introduction 12351 sommaire.html

6156 exercices 1228 memoire sys_fichiers $ Os passos da busca de /usr/jch/mbox

2546

Arquivos compartilhados

ligao simblica ou no $ ls -li 2499 drwxr-xr-x 10 jch lasid 512 sys_operatoire 2242 -rw-r--r-1 jch lasid 23 toto $ ln -s sys_operatoire sis_operacional $ ls -li 2499 lrwxrwxrwx 1 jch lasid 14 sis_operacional -> sys_operatoire 12305 drwxr-xr-x 10 jch lasid 512 sys_operatoire 2242 -rw-r--r-1 jch lasid 23 toto $ ln toto titi $ ls -li 2499 lrwxrwxrwx 1 jch lasid 14 sis_operacional -> sys_operatoire 12305 drwxr-xr-x 10 jch lasid 512 sys_operatoire 2242 -rw-r--r-1 jch lasid 23 toto

2242 -rw-r--r-1 jch lasid 23 titi $ Problemas: quando o dono apaga o arquivo compartilhado, com o backup do(s) arquivo(s).

Gerncia do espao em disco


tamanho do bloco (512, 1K, 2K ?)

se bloco grande, leitura rpida mas perda de espao quando o arquivo pequeno em comparao do bloco. se bloco pequeno: tempo perdido para ler cada setor (seek, latncia) (exemplo: disco com 32768 bytes por cilindro, tempo de latncia de 16,67 ms, tempo de seek de 30ms => leitura de um bloco de K bytes 30+8,3+(k/32768)x16,67 1k= 38,3ms)

controle dos blocos livres (com lista ligada no disco ou mapa de bits na memria) ou blocos ruins (construir um arquivo contendo todos os blocos com defeito). cotas de disco (UNIX)

$ quota -u jch User quotas for user jch (uid 502):

File system blocks quota limit grace /u 20 60 65 $ disco espelho (disk mirror)

quota 55

limit 60

grace

Files 20

backups (binrio, por arquivo, incremental) Problema do rm -R * (em UNIX) (usar rm -i ...)

$ cd fromdir; tar cvf - . | (cd todir; tar xvf -) $ ls | cpio -o > /dev/rmt/0mn $ cpio -i < archiv $ find . -depth -print | cpio -oB > /dev/rmt/0mn # equivalent $ find . -cpio /dev/rmt/0mn $ find . -name *.c -newer $HOME/archiv -size +2 -print | cpio -ov >> $HOME/archiv 2> $HOME/tracearchiv2 $ dump 0f /dev/rct/c7d0s2 /mnt; cd /mnt ; restore r $ dd if=/dev/rmt/0mn of=fichier ibs=800 cbs=80 conv=ascii,lcase

$ A ultima linha l 10 blocos de uma fita EBCDIC de 80 bytes e converti em ASCII minscula para o colocar em um arquivo "fichier". consistncia do sistema de arquivos (em UNIX: fsck) sync para atualizar o super bloco A verificao de consistncia pode ser feita por bloco ou por arquivos. fases do fsck:
o o

Erro na inicializao (perigoso) Verificao dos blocos e dos tamanhos nos inodes (type, link, size, number of blocks) Verificao dos caminhos de nomes: inode root (aponta sobre nada, ou no um diretrio, inode ruim ...), e dos outros (diretrios apontando em dire de inodes ruins ...) Verificao das conexes para salvar em /lost+found os diretrios no referenciados Verificao dos arquivos no referenciados Verificao dos cylinder groups Reconstruo do cylinder group

o o o

blocos perdidos colocados em: lost+found

Performance dos sistemas de arquivo


A leitura de um bloco no disco leva dezenas de milissegundos, leitura de uma palavra da memria gasta em mdia poucas centenas de nanossegundos no mximo => usar o cach de bloco ou buffer cach = conjunto de blocos que so mantidos na memria. carregar um novo bloco (bloco com inodes ou com diretrio,...) na cach semelhante ao problema de carregar uma pgina. sync forca a cpia imediata para o disco de todos os blocos modificados. reduzir o movimento do brao do disco

Segurana no sistema operacional


O par: login password

/etc/passwd de UniX: jch:nb/Ot0mnevluk:205:201:Jean-Charles BONIN:/home/jch:/usr/bin/ksh

com o sistema tempo-real os9:

User name?: super user Process #05 logged on 00/24/45 01:56:03 Welcome! Super: chd /h0/SYS Super: list password super,user,0.0,128,.,.,shell -p="Super: " jch,cheval,0.0,128,/h0/ISIA/JCH/CMDS,/h0/ISIA/JC H,shell -p="Themis$ " ... Os Acessos

o set user bit: $ ls -l /etc/passwd -rw-r--r-1 root sys /etc/passwd $ ls -l /bin/passwd -r-sr-sr-x 1 root sys /bin/passwd $ noo de grupo de maquinas e usurios $ more /etc/net group engineering hardware software (host3, mikey, hp) hardware (hardwhost1, chm, hp) (hardwhost2, dae, hp) software (softwhost1, jad, hp) (softwhost2, dds, hp) m-isia \ (buckler,-,yp_isia) (buckler.cma.fr,-,yp_isia) \

(meteor,-,yp_isia) (meteor.cma.fr,-,yp_isia) \ (isia,-,yp_isia) (isia.cma.fr,-,yp_isia) \ $ chgrp cma cat /etc/group cma:*:10:lenci,jch,nadia,tigli isia:*:20:jmt inria:*:30:jch,jmt,nadia,tigli ... o acesso remoto
o o o o o o o o o o

/etc/host.equiv $ rcp maquina1.rede.br:/home/jch/toto . $ rsh maquina1.rede.br pwd /home/jch $ rlogin maquina1.rede.br Sun Microsystems Inc. SunOS 5.4 Generic July 1994 maquina1 $ ... problema da passagem do par: login password na rede.

o o o o o o o o o o o o o o o o o o o o o

$ telnet host.lasid.br Trying... Connected to host.lasid.br Escape character is '^]'. Linux 2.0.33 (host.lasid.br) (ttyp4) login: jc s/key 9986 ni60052 s/key OTP (echo is on): LIVE SLY BARR TIC DIP HUNK Last login: Mon Apr 13 16:24:33 from host2.lasid.br You have new mail. TERM= (xterm) $ $ key -n 3 9986 ni60052 Reminder - Do not use this program while logged in via telnet or rlogin. Enter secret password: 9984: MITE MARS CASK BIDE RAFT FUR 9985: WOLF GORY CAT HUH CASK SHY 9986: LIVE SLY BARR TIC DIP HUNK

BIBLIOGRAFIA:

YORDON, Edward, 1509Anlise estruturada moderna/ Edward Yordon; traduo Dalton Conde de Alencar Rio de janeiro: Campus , 1990.

YORDON, Edward, - Administrao ao Sistema Operacional / Edward Yordon; traduo de Daniel Vieira Rio de Janeiro; Campus, 1989