Sistemas Operacionais - Gestão de arquivos - diretórios e...

17
1/17 Sistemas Operacionais Gestão de arquivos - diretórios e atalhos Prof. Carlos Maziero DInf UFPR, Curitiba PR Agosto de 2020

Transcript of Sistemas Operacionais - Gestão de arquivos - diretórios e...

Page 1: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

1/17

Sistemas OperacionaisGestão de arquivos - diretórios e atalhos

Prof. Carlos Maziero

DInf UFPR, Curitiba PR

Agosto de 2020

Page 2: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

2/17

Conteúdo

1 O conceito de diretório

2 Caminhos de acesso

3 Implementação de diretórios

4 Atalhos

5 Resolução de nomes de caminho

Page 3: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

3/17

Diretório

Conceito:

Elemento estruturante do sistema de arquivos.

“Contém” arquivos e outros diretórios.

Também chamado pasta ou folder.

Diretórios organizam os volumes em árvores:

UNIX: uma única árvore por sistema (/).

Windows: uma árvore por dispositivo (C:, D:).

Page 4: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

4/17

Linux FHS - Filesystem Hierarchy Standard

/

bin/boot/dev/etc/lib/media/mnt/opt/run/sbin/srv/tmp/usr/var/

opt/sgml/X11/xml/

bin/include/lib/local/sbin/share/

cache/lib/local/lock/log/opt/run/spool/tmp/

bin/etc/games/include/lib/man/sbin/share/src/

color/dict/doc/games/info/locale/nls/ppd/sgml/terminfo/tmac/xml/zoneinfo/

(raiz)

Page 5: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

5/17

Caminhos de acesso

C:\

Program Files

Mozilla

Users

Maziero

public_html

ensino

Windows

index.html

anotacoes.txt

firefox.exe

back.png

C:\Program Files\Mozilla\firefox.exe

C:\Users\Maziero\public_html\index.html

C:\Users\Maziero\ensino\anotacoes.txt

C:\Windows

Page 6: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

6/17

Caminhos de acesso

Arquivos são referenciados por nomes e caminhos

Nome: identifica o arquivo para o usuário.

Caminho: trilha de diretórios que leva ao arquivo.

Separador: / \ # : !

Referências especiais: . ..

Formas de referenciar um arquivo:

Referência direta

Referência absoluta

Referência relativa

Page 7: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

7/17

Caminhos de acessoReferência direta: somente o nome do arquivo

1 materiais.pdf2 uma-bela-foto.jpg

Referência absoluta: caminho inicia no diretório raiz

1 \Windows\system32\drivers\etc\hosts.lm2 /home/maziero/bin/scripts/../../docs/proj1.pdf

Referência relativa: caminho inicia no diretório atual

1 imagens\satelite\brasil\geral.jpg2 ../../../share/icons/128x128/calculator.svg

Page 8: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

8/17

Implementação de diretórios

Diretório = arquivo que contém uma tabela de arquivos.

Cada entrada dessa tabela contém:

Nome do arquivo

Localização no disco

Atributos (depende do filesystem)

Um diretório não contém arquivos, apenas os relaciona.

A localização do diretório raiz é indicada no Volume BootRecord.

Page 9: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

9/17

Implementação de diretórios

. D

.. Dbin Detc Dhome Dlib Dusr Dvar D

. D

.. Ddaniel Dike D

. D

.. D

ls Amv A

cp A

. D

.. Darq1 Aarq2 A

/

0101011110000110001101011101110100110000010100011111010110100

VBR

/bin

/home /home/daniel

0101011110000110001101011101110100110000010100011111010110100

0101011110000110001101011101110100110000010100011111010110100

/home/daniel/arq1

/bin/cp

/bin/mv

Page 10: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

10/17

Implementação de diretórios

Implementação da tabela de arquivos de um diretório:

Lista linear (FAT, Ext2, Ext3)

Árvore binária (NTFS, XFS, JFS, ReiserFS, BTRFS)

Tabela de hash (ZFS)

Árvore com hash (Ext3, Ext4)

Page 11: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

11/17

Atalhos

Atalhos: referências indiretas a arquivos ou diretórios.

Evita replicação desnecessária de arquivos.

Permite atribuir vários nomes/caminhos ao mesmo conteúdo.

1 $ ls -l /usr/lib/23 ...4 lrwxrwxrwx 1 root root libcrypt.so -> /lib/x86_64/libcrypt.so.15 lrwxrwxrwx 1 root root libcryptui.so -> libcryptui.so.0.0.06 lrwxrwxrwx 1 root root libcryptui.so.0 -> libcryptui.so.0.0.07 -rw-r--r-- 1 root root libcryptui.so.0.0.08 ...

Page 12: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

12/17

Tipos de atalhos

Atalho simbólico (so� link):

Arquivo que contém uma string (caminho de acesso).

Pode apontar para arquivo em outro sistema de arquivos.

Pode apontar para arquivo inexistente (“broken link”).

Atalho físico (hard link):

Aponta para uma área de disco.

Só pode ser usado dentro do mesmo sistema de arquivos.

Cada arquivo deve manter um contador de referências.

Page 13: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

13/17

Implementação de atalhos

. D

.. D

shell Lcopy A

. D

.. D

cp Arm A

bash A

sh L

. D

.. Dbin Detc Dhome Dlib Lusr D

. D

.. Dbin Dlib D

/

VBR

0101011110000110001101011101110100110000010100011111010110100

/usr/lib

/bin

/usr /usr/bin

/usr/lib

. D

.. D

lib.a A

X11 Dpython D

/bin/bash

0101011110000110001101011101110100110000010100011111010110100

/bin/sh

/lib

/bin/sh

/bin/bash

/usr/bin/copy

/usr/bin/shell

/bin/cp

Page 14: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

14/17

Localização de um arquivo

Localizar arquivo /home/daniel/arq1 (UNIX):

1 ler o VBR para obter localização do inode do diretório /

2 Ler o inode de / para:

Checar a permissão de acesso a /Obter a localização do conteúdo de /

3 Ler o conteúdo de / e obter o inode de /home

4 Ler o inode de /home para:

Checar a permissão de acesso a /homeObter a localização do conteúdo de /home

5 Idem para /home e /home/daniel

Page 15: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

15/17

Localização de um arquivo

VBR

1

/home/daniel

metadados

bloco:3711

inode 45

metadados

bloco:906

inode 0

. 0

bloco 906

.. 0

bin

config

home 45

usr

etc

. 45

bloco 3711

.. 0

carlos

daniel 87

lucia

ike

metadados

bloco:5650

inode 87

. 87

bloco 5650

.. 45

arq1 590

arq2

dir1

/home/

2

3

4

5

6

78

Page 16: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

16/17

Caching de nomes

A resolução de um nome exige muitos acessos a disco:

1 /usr/share/texlive/texmf-dist/tex/generic/pgf/graphdrawing/2 lua/pgf/gd/force/jedi/algorithms/SimpleSpring.lua

Caminho com 15 níveis: 30 acessos a disco!

Muitas resoluções são repetidas (/usr/bin, /home)

Cache de resolução de nomes:

Armazena pares [path : inode] recentes

Acelera a localização de arquivos e diretórios

Pode armazenar resultados negativos

Page 17: Sistemas Operacionais - Gestão de arquivos - diretórios e atalhoswiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:... · 2019. 5. 31. · Sistemas Operacionais Gestão de arquivos

17/17

Caching de nomes

Cache de nomes: tabela hash com política LRU

Conteúdo do cache:

caminho i-node/home/daniel/arq1 590

/home/daniel 87

/home 45

/ 0

Consultas:

/home/daniel/arq1 : inode 590

/home/daniel/arq2 : não

/home/daniel : inode 87

/usr/bin/bash : não

/usr/bin : não

/usr : não

/ : inode 0