UNIVERSIDADE FEDERAL DO ABC
BC1518 - SISTEMAS OPERACIONAIS
Alunos:
Guilherme Yuji Tuyama
Kauê Vidal
Ricardo Koiti Sato
Rogério Kiyoshi Kaneko
SEMINÁRIO
Extended File System 3
MinixFS
Inicialmente o Linux trabalhava com o
mesmo sistema de arquivos do Minix, o
MinixFS;
Porém, esse sistema era muito limitado:
Endereços de blocos de dados com 16
bits;
Partições com no máximo 64 MB;
Nomes de arquivo com no máximo 14
caracteres.
EXT
Devido a essas limitações, Rémy Card
criou um novo sistema voltado
especificamente para o Linux, o EXT.
Ele foi incluído no Linux 0.96c em julho de
1992.
Embora fosse superior ao MinixFS (
suportava partições de até 2GB e os
nomes de arquivos podiam ter até 255
caracteres), tinha um baixo desempenho e
problemas de fragmentação de arquivos.
EXT2
Já em 1993, surgem o EXT2 (também
criado por Rémy Card) e o Xia FS .
O EXT2 suportava partições de até 32TB,
porém sem nenhum sistema de tolerância
a falhas:
Se o sistema fosse desligado de maneira
incorreta, era necessário usar um
programa para verificar erros no disco
(processo muito demorado).
Sistemas de Arquivos Com
Registros de Mudanças
Para resolver os problemas de inconsistência
do sistema de arquivos (que surgem após
desligar o sistema incorretamente), surgem os
sistemas de arquivos com registros de
mudanças.
Nesses sistemas todas as mudanças efetuadas
são armazenadas no sistema de arquivos (em
intervalos de tempo pré-definidos).
Caso ocorra algum problema, essas
informações podem ser usadas para evitar que
dados sejam corrompidos.
EXT3
Em 1999 lançou-se o EXT3. Uma continuação
do EXT2.
Compatível com o EXT2.
Surgiu com a proposta de suprir uma das
maiores deficiências do EXT2, a incapacidade
de se recuperar de falhas de forma eficiente.
Para isso, o EXT3 surge como um sistema de
arquivos com registro de mudanças.
Sendo assim, todas as alterações realizadas são
armazenadas pelo sistema de arquivos. Se
houver uma falha, o sistema pode ser reparado
muito mais rapidamente.
EXT3
Apresenta três modos de operação
possíveis:
Cada um deles apresenta suas próprias
características relacionadas a que dados
gravar e em que intervalo de tempo.
Modos de operação
Modo gravação: Apenas informações
sobre a estrutura de sistema de arquivos
são armazenadas (em momentos de
inatividade), isto é, somente os
metadados são gravados.
Problema: Pode ocorrer corrupção de
dados (dados não chegaram a ser
gravados, mas as mudanças nos
metadados foram armazenadas).
Modos de operação
Modo solicitado: é feita uma cópia de
segurança de todos os arquivos
modificados ainda não gravados no
disco.
Ou seja, os dados são gravados antes do
diário. Na recuperação ambos estarão
Modos de operação
Modo dados: Após o término de cada
operação tanto dados como metadados
são armazenados no diário.
Com isso há uma perda de desempenho
(gravação deve der feita no arquivo e no
diário), porém tanto os dados como o
sistema de arquivos estarão consistentes
após uma possível recuperação.
Problemas do EXT3
Por ser uma extensão do EXT2, não
possui diversos recursos que outros
sistemas de arquivos com registros de
mudanças possuem.
Seu desempenho é menor que o de seus
principais concorrentes.
ReiserFs
O sistema de arquivos ReiserFS teve sua primeira aparição no ano de 2001
Foi criado por Hans Reiser, responsável também pela criação da NAMESYS
empresa responśavel por gerenciar os trabalhos do projeto.
Empresa não opera comercialmente desde 2007.
ReiserFs
Características:
-Journaling: Recurso responsável por manter a integridade dos dados em caso de, por exemplo, erros no sistema
causados por desligamento incorreto ou por alguma falha de hardware.
-Suporte a arquivos com mais de 2GB.
- Os objetos do sistema de arquivos são organizados utilizando uma estrutura de dados chamado Árvore B+
ReiserFs
Com o journaling, o sistema registra em uma área especial chamada "journal" ou "log", as ações que serão feitas nos arquivos.
Depois de realizadas e tidas como concluídas, as ações são apagadas.
Diferente do sistema Ext3, as técnicas de Journaling se limitam aos metadados.
ReiserFs
O ReiserFS trata toda a partição como se fosse uma única tabela de banco de dados contendo diretórios, arquivos e metadados dentro de uma mesma árvore, utilizando o
esquema B+Tree para organizar e localizá-los.
Usa árvores balanceadas para tornar a busca de arquivos, informações sobre segurança e outros metadados
ReiserFs
Basicamente, todos esses itens são classificados em:
Inodes: onde são classificadas as informações referentes a cada arquivo, isto é, os metadados.
Direct items: são os arquivos em si, mas quando
armazenados nas "folhas" das sub-árvores e, embora tenham tamanho variável, são compostos por blocos de dados pequenos.
Indirect items: São os blocos maiores não são incluídos nas árvores (por isso recebem esse nome) e são "localizáveis" por ponteiros que indicam onde estão armazenados
ReiserFs
O ReiserFS é rápido. Seu ganho de velocidade em relação a outros sistemas de arquivos varia de acordo com cada operação em disco.
Para arquivos grandes, a leitura/escrita é limitada pela
velocidade do dispositivo de armazenamento e pelo canal de entrada e saída da controladora de discos.
A abertura de arquivos requer a leitura dos metadados, armazenados no inode em uma área distinta dos dados. Após localizar a entrada referente ao arquivo, o sistema realiza a leitura nos setores que contem os dados.
ReiserFs
Alocação dinâmica de inodes: diferente do Ext3 que dispõe tamanho fixo, o ReiserFS aloca o tamanho exato que o
arquivo necessita.
Isso faz com que o espaço em disco seja melhor aproveitado.
Mas em contrapartida pode exigir mais recurso de
Reiser4
Reiser4 é o sucessor do ReiserFS. Ele oferece:
Journaling mais eficiente;
Melhor suporte a grandes quantidades de arquivos pequenos;
Gerenciamento mais rápido de diretórios com muitos arquivos (na casa dos milhares);
Estrutura de arquivos dinamicamente otimizada;
Transações atômicas na modificação do sistema de arquivos. Neste caso, uma operação só pode ser tida como concluída se executada por completo, ou seja, não há meio termo: ou está feito ou não está.
NTFS
O NTFS (New Technology File System -
Sistema de Arquivos de Nova Tecnologia) é o
sistema de arquivos mais utilizado por
computadores baseados em Windows NT,
incluindo o 2000 e o XP.
NTFS - Principais Características
Confiabilidade: O NTFS foi criado para ser o mais confiável possível e necessitar do mínimo possível de manutenção ao
sistema de arquivos.
Expansibilidade: Um sistema de arquivos feito para servidores não pode se dar ao luxo de suportar apenas os
discos rígidos mais comuns. Ao contrário do FAT, que somente suporta partições de 4Gb, o NTFS foi desenhado para suportar discos de até 16 exabytes (264 bytes).
NTFS - Principais Características
Eficiência: O FAT desperdiçava enormes quantidades de espaço em disco. Com o NTFS, esses desperdícios foram
evitados ao máximo.
O NTFS não lida com os setores individuais de um disco, mas em vez disso utiliza clusters como a unidade de alocação de disco.
Tamanho da Partição Tamanho do Cluster até 512Mb 512 bytes
até 1GB 1KB
até 2GB 2KB
NTFS - Principais Características
Segurança: Através de permissões de arquivos e pastas, o NTFS permite controlar o acesso aos dados.
Nomes de arquivos: Ao contrário do FAT (16 bits), o NTFS suporta nomes de arquivos e pastas com até 255 caracteres.
NTFS
Cada arquivo no NTFS é descrito por um ou mais registros em um array armazenado em um arquivo especial, chamado tabela mestra de arquivos (MFT - Master File Table).
O arquivo MFT é o arquivo mais importante do NTFS. Esta tabela armazena todos os atributos que um arquivo pode
conter, e cada arquivo ou pasta tem uma entrada na MFT. Vários outros atributos existem, mas os principais são:
Standard Information Attribute ou Atributo Padrão de
Informações: Neste atributo estão contidas informações sobre quando o arquivo foi criado, modificado, ou acessado pela
última vez
NTFS
File Name Attribute ou Atributo de Nome do Arquivo:
Como o próprio nome já sugere, este atributo armazena o nome do arquivo.
Data Attribute ou Atributo de Dados: Aqui é armazenado o
conteúdo do arquivo:
Security Descriptor Atribute ou Atributo Descritor de Segurança: Este atributo contém as configurações de
segurança do arquivo.
NTFS - Metadados
Arquivos de metadados são arquivos contendo informações sobre o volume em si. São criados automaticamente na
formatação e armazenados no começo do volume. As primeiras 16 entradas da MFT são reservadas a esses arquivos. Alguns desses arquivos de metadados são:
$MFT: A própria MFT é um arquivo e, por isso, deve ter uma entrada na MFT.
$MFTMirr: Espelho das primeiras 16 entradas da MFT, para que os arquivos de metadados possam ser acessados em caso de corrupção da MFT original.
NTFS - Metadados
$LogFile: Contém o log de transações do NTFS
$Volume: Informações sobre o volume, como versão do NTFS e data de criação.
$AttrDef: Define os tipos de atributos disponíveis para serem utilizados em arquivos e pastas NTFS.
"." (ponto, sem aspas): Contém um indicador para o
diretório ou pasta raiz (topo da herarquia) do volume.
$Bitmap: Mapa que descreve quais clusters estão utilizados no momento e quais estão disponíveis para gravação de
dados.
NTFS - Metadados
$Boot: Contém a cópia do código de boot do volume ou um indicador para ela.
$BadClus: Lista os clusters defeituosos do volume, para garantir que o sistema de arquivos não os utilize.
$Quota: Arquivo contendo a tabela de utilização das cotas de disco.
$UpCase: Tabela que contém informações de como converter os nomes de arquivos para o formato Unicode (formato que universalizou a forma de representação de caracteres em computadores, permitindo milhares de
caracteres diferentes, suportando assim inclusive línguas Asiáticas, como o Japonês).
Google File System
Computação de Sistema Distribuído Desempenho
Escalabilidade Confiabilidade Disponibilidade
Google File System
-Interface
Arquivos organizados hierarquicamente Suporte de operações usuais em arquivos
criar, deletar, ler, escrever, abrir e fechar
Snapshot
Google File System
-Arquitetura Cluster de Computadores GFS Master Chunkservers GFS ClientGoogle File System
Google File System
-Arquitetura
Arquivos
Divididos em partes de 64MB (Chunk)
Chunk handle 64 bits
Confiabilidade
Google File System
-Arquitetura
Master
Armazena os metadados do sistema de arquivos
metadados : namespaces, informação do controle de acesso, mapeamento de arquivos para os chunks e localização atual dos chunks
Controle de atividades gerais do sistema
Gerenciamento do empréstimo de chuncks Coleta de lixo
Migração de chunks entre chunkservers Comunicação periódica com os chunkservers
Google File System
-Arquitetura
Chunkservers
Armazena chunks em disco como arquivos Linux Client
Comunica com o master e os chunkservers Metadados obtidos pelo master
Qualquer outra comunicação de dados é feita diretamente com os chunkservers
- Ambos, client e chunkservers, não fazem uso de cache para os arquivos
Google File System
-Escrita Client Master Chunkserver primário Chunkserver secundário Chunkserver secundário 1 2 3 3 3 4 5 5 6 6 7Google File System
-Leitura Client Master Chunkserver #2 Chunkserver #3 Chunkserver #1 1 2 3 4Google File System
http://labs.google.com/papers/gfs.html
http://communication.howstuffworks.com/google-file-system. htm/printable