• Nenhum resultado encontrado

Sistemas Operacionais

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas Operacionais"

Copied!
6
0
0

Texto

(1)

Instituto de Informática

-U

FRGS

Sistemas Operacionais

Sistemas de arquivos

Diretórios

Aula 11

Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados 3.0 Brasil Creative Commons.

Para visualizar uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/3.0/br/ Instituto

d

e Informática

-UFRGS

Introdução

Sistemas de arquivos (visão do usuário):

 Método para organizar e armazenar arquivos em um dispositivo de memória

secundária

 Formado por dois componentes básicos:

Coleção de arquivos (armazenamento de dados)

Estrutura de diretórios que organiza e provê informações de todos os

arquivos do sistema Sistemas Operacionais 2 A. C arissimi -24-avr.-1 8 Instituto d e Informática -UFRGS

Diretório

Arquivo especial do sistema de arquivos

 Serve para armazenar informações relativas a todos os arquivos que

compõem o sistema de arquivo (incluindo os próprios diretórios)

Definem um registro

 Cada arquivo (e diretório) é associado a uma entrada (registro) no diretório

O arquivo de diretório possui uma organização interna

 Forma pela qual os registros são armazenados e localizados

Operações em diretório

 Buscar arquivo, criar arquivo, remover arquivo, renomear arquivo, listar

conteúdo do diretório, “navegar” no sistema de arquivos

Sistemas Operacionais 3 A. C arissimi -24-avr.-1 8 Instituto d e Informática -UFRGS

Implementação de diretório (visão simplificada)

Diretórios são arquivos no disco

 Diretório raiz: armazenado em local conhecido do disco (ou partição)

 Subdiretórios: local de armazenamento informado a partir de outro (sub)diretório

Sistemas Operacionais 4 A. C arissimi -24-avr.-1 8

Nome Flag Local. .... Atributos d: diretório a: arquivo l: link b: bloco c: caractere permissões Arquivo de diretório d1 (raiz)

n 0 1 2 ... Localização do arquivo diretório raiz Entrada do diretório (registro) k 0 1 2 ... Arquivo de diretório d2 (sudiretório)

(2)

Instituto d e Informática -UFRGS

Implementação de diretórios

Sistema de arquivos armazena arquivos de diferentes usuários

Duas prerrogativas importantes a respeitar:

 Liberdade para nomear os arquivos

 Habilidade para compartilhar os arquivos

A noção de estrutura de diretório busca atender essas prerrogativas

 Estratégias de estruturação : plana (linear), dois níveis e árvore.

Questão associada: implementação do diretório em si

 Lembrando que um diretório é um tipo de arquivo

Sistemas Operacionais 5 A. C arissimi -24-avr.-1 8 Instituto d e Informática -UFRGS

Diretório em um único nível

Todos os arquivos são mantidos em um único diretório

Diretório raiz ou mestre (Master File Directory – MFD)

Problemas:

 Organização quando há muitos arquivos

 Nomeação (colisão): nomes devem ser únicos

 Fatores agravados em ambientes multiusuário

Ainda: aspectos de proteção

Solução:

 Empregar uma estrutura hierárquica

Diretórios em dois níveis

Estruturados em árvores ou grafos

Sistemas Operacionais 6 A. C arissimi -24-avr.-1 8

Não atende a prerrogativa de liberdade para nomear arquivosNão atende a prerrogativa de liberdade para nomear arquivos

...

MFD

texto.doc aula10.pdf notas.xls cthreads.c

Instituto

d

e Informática

-UFRGS

Diretório de dois níveis

Criação de um diretório para cada usuário (user file directory - UFD)

Conceito de diretório home do usuário

Existem dentro de um diretório raiz (master file directory – MFD)

 Define uma árvore de altura dois

Atende a primeira prerrogativa (liberdade de nomear)

 Resolve o problema de colisão de nomes entre usuários

Segunda prerrogativa (compartilhamento)

 Permitir um usuário indicar arquivo no diretório de outro usuário

Envolve questões de autorizações e permissões

No login o sistema posiciona o UFD em função do usuário autenticado e isola

sua estrutura de arquivos dos demais

A. C arissimi -24-avr.-1 8 Instituto d e Informática -UFRGS

Caminhos em sistemas de dois níveis

Um arquivo é localizado no sistema através de

 MFD + UFD + Nome do arquivo

Arquivos do sistema operacional e de uso comum (compiladores,

bibliotecas, etc)

 Criar um usuário especial que mantém todos esses arquivos (UFD sistema)

 Sequência de acesso

Busca no UFD local e, se não encontrar, busca no UFD sistema

Caminho de busca: sequência de diretórios pesquisados na procura de

um arquivo (caminho: MFD+UFD)

A. C arissimi -24-avr.-1 8 ... asc

texto.doc aula10.pdf notas.xls cthreads.c

... sistema

gcc libcthread.a

(3)

Instituto d e Informática -UFRGS

Diretórios em árvore

Generalização da árvore de dois níveis

Permite que usuários criem subdiretórios

 Necessidade de indicar se uma entrada de diretório está relacionada com um

arquivo ou com um diretório

Uso de um flag indicativo como um atributo do arquivo

 Existência de uma hierarquia de diretórios organizados na forma de “pai-filho”

Um “filho” é um subdiretório do diretório “pai”

Sistemas Operacionais 9 A. C arissimi -24-avr.-1 8 ... asc redes sisop ... sistema bin lib MFD ... ...

aula10.pdf notas.xls aula10.pdf notas.xls Instituto

d

e Informática

-UFRGS

Noção de diretório corrente, caminho relativo e absoluto

Diretório corrente (atual ou de trabalho)

No login é o home do usuário

 Arquivos são acessados considerando que estão no diretório corrente

Em Unix é empregado a notação (./)

 Necessário indicar um caminho ou mudar o diretório atual para acessar

arquivos que estão em outros diretórios

Caminho (pathname)

 Identificação unívoca de um arquivo

 Duas formas:

Relativo: a partir do diretório corrente

Ex.: ../../sisop/pdf/aula23.pdf; ../pdf/aula23.pdf

Absoluto: a partir do diretório raiz (MFD)

 Ex.: /home/asc/public_html/sisop/pdf/aula23.pdf Sistemas Operacionais 10 A. C arissimi -24-avr.-1 8 Instituto d e Informática -UFRGS

Diretórios como grafos direcionados acíclicos (DAGs)

Características da organização em árvore

 Cada arquivo (inclui arquivos de diretório) tem apenas um diretório pai

 Liberdade para nomeação (prerrogativa 1)

 Compartilhamento implica em fornecer caminhos para os arquivos

Podem ser arbitrariamente longos

Diferentes nomes (i.é. Caminho relativo +nome) para um mesmo arquivo

 Problema sob o ponto de vista do usuário (não conveniente)

Solução: emprego de grafos acíclicos

 Permite o acesso ao arquivo por “caminhos alternativos”

Implica em haver mais de um ascendente (diretório pai) para um arquivo

Conceito de vínculo (link)

Sistemas Operacionais 11 A. C arissimi -24-avr.-1 8 Instituto d e Informática -UFRGS

Vínculos (link)

Vínculo ou link (ou ainda, ligação)

 Conexão direcionada entre dois arquivos existentes na estrutura de diretório

link é um tipo de arquivo e sua entrada no diretório indica isso

Resolução do link: localização do caminho real

Genericamente fornecido por uma tupla

<from_file_name; to_file_name; link_name>

Sistemas Operacionais 12 A. C arissimi -24-avr.-1 8

Diretório Diretório ou arquivo

(x; x/software/web; guest) guest x software web A partir do diretório x: ./guest ./software/web

(4)

Instituto d e Informática -UFRGS Sistemas Operacionais 13 A. C arissimi -24-avr.-1 8

Problema: remoção de arquivos (original do apontamento)

Duas opções:

 Opção I: remover a entrada do diretório e remover o arquivo

Torna a Referência inválida para os demais ascendentes

 Opção 2: remover a entrada do diretório e remover o arquivo apenas se não

houver mais ninguém apontando para ele

Adicionar um contador de referência

Sistemas operacionais ofecerem essas opções através de

Opção I: vínculos simbólicos (softlinks)

Opção II: Vinculos estritos (hardlinks)

Instituto d e Informática -U FRGS Sistemas Operacionais 14 A. C arissimi -24-avr.-1 8

Vínculo simbólico ou softlink

Permite um arquivo possuir vários ascendentes, mas apenas um

deles mantém o registro do arquivo com seus atributos (original)

 Arquivo original (acesso “oficial”): proprietário do arquivo

 Vínculo (acesso “secundário”): registro com caminho para acesso ao arquivo

Semântica de remoção:

Remover o link implica em remover apenas a sua entrada na estrutura de diretório, não o arquivo que aponta

Vínculos entre diretórios gera ciclo

D5 D6 D4 D3 D2 D7 F5 F4 F1 F2 F3 F7 F6 F8 F9 F5 F4 D1 D2 D4 D3 D6 D5 D2 F11 F10 D7 softlink softlink FX FX Instituto d e Informática -UFRGS

Vínculos estritos (hardlink)

Um arquivo possui múltiplos ascendentes e todos apontam para o

registro do arquivo e com seus atributos

 Se perde a noção de quem é o original e quem é o vínculo

Na remoção emprega o contador de referência

 Incrementado a cada criação de caminho ao arquivo (original e vínculos)

 Decrementado na remoção (se zero remove o arquivo e a entrada no

diretório, senão remove apenas a entrada)

A. C arissimi -24-avr.-1 8 d1 d2 d1 d2 Inexistente (removido) a b a remover d1/b d1 d2 a b NÃO pode!!

Solução: remover só a entrada inválido Mantém enquanto houve apontamentos Instituto d e Informática -UFRGS

Problema adicional: presença de ciclos

Contador de referência só funciona bem se não tiver ciclos

 Ciclos acontecem sempre que o caminho alternativo for para um diretório

A. C arissimi -24-avr.-1 8 A realtime vprojects projects (count=2) beta main pgm A realtime vprojects projects (count=1) beta main pgm (a partir do diretório A) %rm projects Inacessível!!

X

(5)

Instituto

d

e Informática

-UFRGS

Solução para os problemas com ciclos

Problemas causados por ciclos e suas soluções

 Desempenho: atravessar uma região compartilhada mais de uma vez

Não varrer links (se sabe pela entrada no diretório)

 Pesquisa contínua (fica preso no ciclo)

Não varrer links (se sabe pela entrada no diretório)

 Arquivos inacessíveis com contagem de referências diferente de zero

Garbage collection (procedimento custoso)

Solução simples e eficaz:

 Impedir a existência de ciclos na estrutura de diretórios proibindo que sejam

feitos vínculos estritos (hardlinks) entre diretórios

Apenas esses geram arquivos inacessíveis (subárvores)

Sistemas Operacionais 17 A. C arissimi -24-avr.-1 8 Instituto d e Informática -UFRGS

Exemplo: implementação de vínculos no Windows (NTFS)

Hardlinks

 Permitidos apenas para arquivos no mesmo volume NTFS

Jonctions

 Permitidos apenas para diretórios, podendo estar em volumes diferentes,

desde que estejam localmente na mesma máquina

 Fornece caminho absoluto

Softlinks (shortcuts ou atalhos)

 Permitidos para arquivos e diretórios, podendo estar em volumes diferentes

tanto local à máquina como remotamente

 Aceita caminhos absolutos ou relativos

Sistemas Operacionais 18 A. C arissimi -24-avr.-1 8

Volume = disco lógico (partição) formatado em NTFS

Instituto d e Informática -UFRGS Sistemas Operacionais 19 A. C arissimi -24-avr.-1 8

Exemplo: implementação de vínculos no Unix

Hardlinks

 Só é permitido com arquivos que não sejam diretórios

 Ao ser removido apaga-se apenas o ponteiro; o objeto apontado só é

efetivamente removido se não houver mais referências a ele

Softlinks

Soft link é equivalente ao shortcut (microsoft)

%ln index hlink %ln -s index slinl %ls -l

-rw- - - 2 chavez chem 5228 Mar 12 11:36 index -rw- - - 2 chavez chem 5228 Mar 12 11:36 hlink lrwx rwx rwx 1 chavez chem 5 Mar 12 11:36 slinkindex

Contador de referências Instituto d e Informática -UFRGS Sistemas Operacionais 20 A. C arissimi -24-avr.-1 8

Implementação de diretório (formato interno)

Um diretório nada mais é que uma tabela

Três implementações bastante utilizadas:

 Lista (ordenada e não ordenada)

Tabela de dispersão (tabela hash)

 Estruturas em árvore (e.g. árvores B+)

Relação custo versus desempenho

 Simplicidade versus desempenho

Em tabelas, tempo médio é n/2

Em árvores a complexidade está na inserção e remoção de entradas, mas

(6)

Instituto d e Informática -UFRGS Sistemas Operacionais 21 A. C arissimi -24-avr.-1 8

Exemplo: implementação de diretórios UNIX

Berkeley File System (BFS ou UFS)

Vetor linear de entradas de tamanho variável

 Registro (i-node, tipo (diretório ou regular), nome simbólico, “buraco”)

 “buraco” surge da fragmentação gerada pela remoção de entradas

Pode receber uma nova entrada

Cada entrada possui um tamanho máximo limitado pelo fato do

nome simbólico ter até 255 caracteres

l1 l2 tipo abc inode “buraco” entrada i-node = descritor Instituto d e Informática -U FRGS

Exemplo: implementação de diretório no NTFS

Cada arquivo e diretório é representa em um registro de 1 KB

Registro MFT (Master File Table): possui os atributos e localização do arquivo

Diretório é organizado de duas formas:

 Pequenos: lista nome do arquivo e um índice do descritor de arquivo (MFT)

Grandes: emprega MFTs adicionais (runs) organizados em uma B tree+

Sistemas Operacionais 22 A. C arissimi -24-avr.-1 8 base 2º run 1º run Instituto d e Informática -UFRGS A. C arissimi -24-avr.-1 8

Leituras complementares

R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. Editora

Sagra-Luzzato, 2001.

 Capítulo 8, seções 8.1, 8.2, e 8.3

A. Silberchatz, P. Galvin; Operating System Concepts.

Addison-Wesley, (4

rd

edition).

Referências

Documentos relacionados

Observados os termos e condições desta Escritura, na Data do Vencimento todas as Debêntures serão obrigatoriamente convertidas por certa quantidade de ações ordinárias de emissão

Este trabalho tem como objetivo analisar modelos tradicionais de gestão e identificar o modelo mais adequado a ser adotado como base para a construção do Modelo de Gestão numa empresa

Métodos: Recém- nascidos foram recrutados de maternidades de referência em Salvador, entre julho de 2015 e janeiro de 2016, com base na suspeição clínica de

outra temperatura) são diferentes quando se considera a célula completa ou a meia-célula da reação.. O enxofre reside inteiramente no domínio da estabilidade da

Quanto ao conhecimento sobre o câncer de boca autorreferido pelos acadêmicos, verificou-se associação significativa entre os cursos e o tempo percorrido na graduação em relação

Esse pequeno manual da Medialogue Digital (www.medialogue.com.br) mostra os caminhos e sugere 15 medidas das mais básicas às mais extremas para lidar com ataques na internet..

A classe patronal rural produz manifestações principalmente entre 1995 e 2005 para defender seus interesses no campo diante da forte mobilização dos movimentos sociais

Os mapas de isolinhas elaborados por meio da krigagem, levando-se em consideração a existência de dependência espacial de atributos do solo, expressa no