• Nenhum resultado encontrado

Sistemas de Arquivos Armazenamento Externo

N/A
N/A
Protected

Academic year: 2019

Share "Sistemas de Arquivos Armazenamento Externo"

Copied!
76
0
0

Texto

(1)

Sistemas Operacionais

Sistemas de Arquivos

(2)

Toda esta apresentação é uma

adaptação/tradução/versão do

curso de Abraham

Silberschatz

(3)

Sistemas de Arquivos

• Estrutura do Sistemas de Arquivos

• Implementação de Sistemas de Arquivos

• Diretórios

• Métodos de Alocação

• Gerenciamento do Espaço Livre

• Eficiência e Desempenho

• Recuperação

(4)

Objetivos

Explicar as funções dos sistemas de arquivo.

Descrever a implementação de sistemas de

arquivos.

Discutir as propostas de sistemas arquivos,

incluindo métodos de acesso,

compartilhamento de arquivos,

(5)

Conceito de Arquivo

Espaço de endereçamento lógico contínuo

Tipos de arquivos:

Dados

• numérico

• caracter

• binário

(6)

Estrutura dos arquivos

Sequencia de palavras, bytes

Simples estrutura em REGISTROS

– Linhas

– Tamanho Fixo

– Tamanho Variável

Estruturas Complexas

– Documentos Formatados

(7)

– Unidade de Armazenamento Lógica – Coleção de informações relacionadas

– Sistema de arquivos organizado em camadas.

Sistema de arquivos reside em armazenamento secundário (discos).

– Fornecem acesso eficiente e conveniente aos discos

permitindo o fácil armazenamento de dados e sua localização – Bloco de Controle de Arquivo (FCB - File Control block)

estrutura de armazenamento contendo informações sobre um arquivo.

(8)
(9)
(10)

Estrutura dos Discos

• Os discos podem ser divididos em partitions - partições

• Os discos podem ser protegidos por RAID (Redundant Array of Independent Drives)

• Os discos podem ser raw – sem o sistema de arquivos, ou formatted

com o sistema de arquivos.

• Partições podem ser como minidisks ou fatias

• Uma entidade que contém o sistema de arquivos conhecido como

volume

• Cada volume contém o sistema de arquivos , suas trilhas com

(11)

Estrutura dos Discos

(12)

Estrutura dos Discos

Cluster

“Um conjunto de setores do HD que são endereçados pelo

sistema operacional como uma única unidade lógica. Em

outras palavras, um cluster é a menor parcela do HD que pode

ser acessada pelo sistema operacional.”

(13)

Boot Control Block (BCB) contém informações

necessárias pelo sistema para iniciar o SO naquele

volume.

Volume Control Block (VCB) contém detalhes do

volume

Estrutura de diretório organiza os arquivos

File Control Block (FCB) por arquivo contém vários

(14)

Discos e o Sistemas de Arquivos – Alocação dos Blocos

Um método de alocação indica como os blocos

de disco são alocados aos arquivos:

(15)

Cada arquivo ocupa um conjunto de blocos contíguos no

disco.

Simples

somente é necessário armazenar a localização

inicial (número do bloco) e o tamanho do arquivo

(quantidade de blocos).

Acesso Direto (randômico).

Perda de Espaço (problema da alocação dinâmica).

(16)
(17)

Cada arquivo é uma lista encadeada de blocos em disco:

blocos podem ser espalhados em qualquer lugar do disco.

Alocação Encadeada

Simples – necessita somente do endereço inicial. Sistema de Gerenciamento de Espaço Livre – sem perda de espaço.

Sem acesso direto (randômico).

Desvantagens:

- percorrer o encadeamento até encontrar posição.

(18)
(19)
(20)

Alocação Indexada

Juntar todos os ponteiros em uma tabela de índices (index block).

– Também chamados de Inodes ou Nós-Índices

– Visão Lógica.

Esquema encadeado.

Índice multinível.

(21)

Vetor ou mapa de Bits (n blocos)

Cálculo do número do Bloco:

(número de bits por palavra) * (número de palavras com valor 0) +

(22)

Espaço Livre

• Vetor de bits requer espaço extra. Exemplo: tamanho do bloco = 212 bytes

tamanho do disco = 230 bytes (1 gigabyte) n = 230/212 = 218 bits (ou 32K bytes)

• Fácil para manter arquivos contíguos.

• Lista encadeada (Lista de blocos livres).

• Difícil manter alocação contígua.

• Sem desperdício de espaço.

• Agrupamento.

(23)

Espaço Livre

Outras técnicas:

• Lista encadeada (Com lista de blocos livres)

• Difícil manter alocação contígua

• Sem desperdício de espaço

• Agrupamento

• Agrupa n blocos livres no primeiro bloco livre, assim sucessivamente

• Contagem

• Registra no primeiro bloco livre o nº de blocos livres contíguos

• Mapa de espaços

(24)
(25)

Disco é o principal gargalo para o desempenho do sistema

Eficiência depende de:

Alocação de disco e algoritmos de diretório

Tipos de dados mantidos na entrada do arquivo no diretório

Desempenho

cache de disco – seção separada de memória principal para blocos freqüentemente usados

Liberação antecipada (free-behind) e leitura antecipada (read-ahead) – técnicas para otimizar o acesso sequencial

Aumentar o desempenho do PC dedicando partes da memória

(26)

 Um cache de páginas armazena páginas ao invés de blocos de disco usando técnicas de memória virtual.

 E/S mapeado em memória usa um cache de página.

 Rotina de E/S através do sistema de arquivos usa o cache de buffer (do Disco).

(27)
(28)

Atributos dos Arquivos

Nome – mantém a identificação do arquivo para os usuários.

Identificador – número que identifica o arquivo dentro do sistema.

Tipo – classifica os arquivos em grupos e geralmente estão associados a programas.

Localização – ponteiro para a localização do arquuivo no dispositivo de armazenamento.

Size – current file size

Protection – controls who can do reading, writing, executing

(29)

Operações

Arquivos são estruturas abstradas de dados

(30)

Arquivo Aberto

Várias partes dos dados são necessárias para a

gestão dos arquivos abertos:

– Ponteiro do arquivo: aponta o última localização do registro lido ou gravado.

– Contador: conta o número de vezes que um arquivo esta aberto.

(31)

Bloqueia um arquivo aberto

Responsabilidade de alguns sistemas

operacionais e dos sistemas de arquivos.

Controle dos acessos concorrentes.

Obrigatório ou consultivo:

Obrigatório

o acesso é negado dependendo de

bloqueios mantidos e configurados.

(32)

Exemplo de bloqueio de um arquivo com Java API

import java.io.*;

import java.nio.channels.*; public class LockingExample {

public static final boolean EXCLUSIVE = false; public static final boolean SHARED = true;

public static void main(String arsg[]) throws IOException { FileLock sharedLock = null;

FileLock exclusiveLock = null; try {

RandomAccessFile raf = new RandomAccessFile("file.txt", "rw"); // get the channel for the file

FileChannel ch = raf.getChannel();

// this locks the first half of the file - exclusive

(33)

// this locks the second half of the file - shared

sharedLock = ch.lock(raf.length()/2+1, raf.length(), SHARED);

/** Now read the data . . . */ // release the lock

sharedLock.release(); } catch (java.io.IOException ioe) {

System.err.println(ioe); }finally {

if (exclusiveLock != null) exclusiveLock.release(); if (sharedLock != null) sharedLock.release(); }

(34)
(35)

Métodos de Acesso

Acesso sequencial

read next write next reset

no read after last write (rewrite)

Acesso Direto

read n

write n

position to n

(36)
(37)
(38)
(39)

Estrutura de Diretórios

Uma coleção de “nodes” contendo informações sobre os arquivos.

F 1 F 2 F 3 F 4

F n Directory

Files

(40)
(41)
(42)
(43)
(44)

Operações nos Diretórios

Pesquisar por um file

Criar um file

Deletar um file

Listar o diretório

Renomear um file

(45)

Vantagens da organização em Diretórios

• Eficiência – localização de um file rapidamente

• Nomeclatura dos arquivos – conveniente para os usuários

– Dois usuários pode tem um mesmo nome de arquivo para diferentes files

– E um mesmo file pode ter differentes nomes

(46)

Implementação de Diretórios

Lista Linear de nomes de arquivos com ponteiros para os

blocos de dados

Simples de programar

Execução lenta

Tabela Hash

lista linear com estruturas de dados

hash.

Diminui o tempo de procura no diretório

(47)

Diretório de um nível simples

Um diretório simples para todos os usuários

Problemas para a nomenclatura.

(48)

Diretório de dois níveis

Cada usuário com seu diretório

(49)
(50)
(51)

Estruturas em árvores

Pesquisa ainda mais eficiente

Capacidade de agrupamento

Solução de diretório corrente e de trabalho

cd /spell/mail/prog

(52)

Estrutura em árvore (Cont)

Absoluto ou relativo caminho/nome

Criar um novo file é realizado diretório corrente.

Criar um novo diretório também é no diretório corrente

mkdir <dir-name>

Deletar um file (não confundir com rename). rm <file-name>

Example: if in current directory /mail mkdir count

(53)

Diretórios em Grafos Acíclicos.

(54)

Diretórios em Grafos Acíclicos (Cont.)

Dois nomes diferentes (alias)

Nova entrada no diretório

Link – outro nome (pointer) para um arquivo existente

(55)
(56)

Como é que vamos garantir não há ciclos?

Permitir somente links para files e não

subdiretórios

Coleta de lixo

Cada vez que ocorra um novo LINK é adicionado

utilizar um ciclo de detecção.

Algoritmo para determinar se está OK

(57)

Montagem de Sistemas de Arquivos

Um sistema de arquivos deve ser

montado antes de ser acessado.

Um sistema de arquivos também

pode ser desmontado e ao montar

(58)
(59)
(60)

Compartilhamento de arquivos

• Compartilhamento de files é necessário para sistemas multi-usuários.

• Compartilhamento pode ser feito por meio de um esquema de protecão

• Em sistemas distribuídos os arquivos devem ser compartilhados na rede.

(61)

Compartilhamento de arquivos

User IDs

identifica os usuários e permite

permissões e proteções por usuário.

Group IDs

permtie que usuários sejam

agrupados e herdem os direitos de

(62)

Compartilhamento de arquivos. Sistemas Remoto de Arquivos

Usuários em rede deve ter acesso aos arquivos.

– Manualmente por meio de programas como o File Transfer Protocol (FTP)

– Automaticamente utilizando sistemas distribuídos de arquivos.

– Semi automaticamente via oworld wide web (WWW)

Modelo cliente-servidor permite que clientes montem arquivos dos servidores remotamente.

Servidor deve permitir múltiplos clientes.

Network File System (NFS) é o padrão UNIX cliente-servidor

Common Internet File System (CIFS) é o padrão Windows

Sistemas de Informações Distribuídas

Lightweight Directory Access Protocol (LDAP),

(63)

Compartilhamento de arquivos Novas Falhas

Sistemas de arquivos remotos adicionam novos tipos

de falha, devido a falha na rede e no servidor remoto.

Recuperação de falhas pode envolver informações de

estado de cada solicitação remota

(64)

Compartilhamento de arquivos Semânticas para consistência

Semânticas para Consistência especifica como multiplos usuários podem ter acesso aos arquivos compartilhados.

São necessários eficientes algoritmos de sincronização.

Tendem a ser menos complexo devido latência do disco (I / O) e da rede (para sistemas de arquivos remotos)

Andrew File System (AFS) implementa semântica complexa para o compartilhamento remoto de arquivos.

Unix file system (UFS) implementa:

(65)

Proteção

O proprietário e criador do file estará apto a controlar:

O que pode ser feito com o file.

De onde pode e por quem pode ser manipulado.

Tipos de Acessos

Read Write

(66)

Lista de Acesso e Grupos

• Mode de acesso Leitura, Gravação e Execução

• Três classes de usuários

RWX a) Acesso do proprietário 7  1 1 1 RWX

b) Acesso do Grupo 6  1 1 0

RWX

c) Acesso Público 1  0 0 1

(67)
(68)
(69)

Arquivos e diretórios são mantidos em disco e memória, atenção para que possíveis falhas no sistema não resultem em perdas ou inconsistências

Teste de Consistência – comparar dados nas estruturas de

diretórios com blocos de dados no disco, e tentar consertar as inconsistências.

Usar programas de sistemas para criar cópias de segurança (back up) do disco para outros dispositivos de armazenamento (disquete, disco magnético, pendriver).

(70)

Sistemas de arquivos com Estrutura de Registro de Operações - Log (ou journaling) registram cada atualização no sistema de arquivos como uma transação.

Todas as transações são escritas em um registro de operações:

• Uma transação é considerada encerrada com sucesso (commit) uma vez que é gravada no registro de operações.

• Entretanto, o sistema de arquivos pode não ter sido atualizado ainda.

As transações do registro de operações são gravadas de forma assíncrona no sistema de arquivos.

• Quando o sistema de arquivos é modificado, a transação é

(71)

Uma implementação e especificação de um software

para acessar arquivos remotos através das redes locais

(ou metropolitanas).

A implementação é parte dos sistemas operacionais

Solaris e SunOS executando em estações de trabalho

Sun usando um protocolo de datagramas não confiável

(UDP/IP) e Ethernet.

(72)

Network File System (NFS).

Estações de trabalho interconectadas são vistas como um conjunto de máquinas independentes com sistemas de arquivos independentes. NFS permite compartilhamento entre esses sistemas de arquivos de forma transparente

• Um diretório remoto é montado sobre um sistema de diretórios local

O diretório montado aparece como uma sub-árvore integrada ao

sistema de arquivos local, substituindo as ramificações descendentes do subdiretório local

• Especificação do diretório remoto para a operação de montagem não é transparente; O nome da máquina do diretório remoto deve ser fornecido

(73)

Network File System (NFS).

NFS é projetado para operar em ambientes heterogêneos de

diferentes máquinas, sistemas operacionais e arquiteturas de rede; a especificação do NFS independe dessas mídias.

A independência é obtida através do uso de primitivas de Remote Procedure Call (RPC) construídas sobre o protocolo External Data Representation (XDR) usado entre duas interfaces independentes de implementação.

(74)
(75)
(76)

Referências

Documentos relacionados

Em uma pesquisa de Ghedini (2009) observam-se dados do IBGE (Instituto Brasileiro Geografia e Estatística) que apresentam resultados sobre o segundo semestre de 2006,

8 Castors Roulettes de déplacement Ruedas de desplazamiento Transportrollen Rotelle di spostamento Transportwieltjes Rodinhas de deslocação Kółka do przemieszczania Görgők

– mantenha os backups desconectados dos seus equipamentos – desabilite o compartilhamento de arquivos, se não for necessário – escolha serviços de nuvem que ofereçam

(Solução saturada é aquela que apresenta massa de soluto dissolvida igual a solubilidade da substância no solvente numa determinada temperatura)?. Classificação das soluções

Sabendo-se que após 10 minutos verifica-se a presença de 4 mol de SO 3 , apresente a velocidade média reacional em função de cada espécie participante.. Sabendo-se

7) Até que se ache um modo econômico de extrair oxigênio da água do mar ou de rochas lunares, ele tem que ser transportado com as pessoas quando estas vão para lugares onde ele

As taxas de ganho de peso após o desaleitamento precoce e o custo total de alimentação demonstraram que os três critérios para tomada de decisão de realizar o desaleitamento podem ser

 Outras organizações primárias de arquivos  Acesso Paralelo em disco Usando RAID  Área de armazenamento em Rede.. DISPOSIÇÃO DE REGISTROS DE ARQUIVOS EM