quarta-feira, 2 de abril de 2014

Linux Ext

RICARDO DE MAGALHÃES SIMÕES - Sobre o Autor
Doutorando em Engenharia Elétrica, Mestre em Informática (2006) e Bacharel em Ciência da Computação (2003), todos pela Universidade Federal do Espírito Santo. Atualmente, Professor Substituto de Informática no CEFET-ES, Professor de Programação I no Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas à Distância no CEFET- ES, professor de Sistemas Operacionais pela ESAB. Tem experiência na área de Ciência da Computação, com ênfase em Desenvolvimento de Algorítmos, Educação de Informática para estudantes do Ensino Médio, atuando principalmente nos seguintes temas: Informática Básica, Programação nas linguagem C/C++/C#, Java, Pascal.
Página pessoal:
Curriculo Lattes::

UNIDADE 18

Objetivo: Conhecer o sistema de arquivos utilizado no Linux, aprender as suas características e entender o seu modo de funcionamento.

1. Introdução

Durante o desenvolvimento inicial do Linux, entre os anos de 1991 e 1992, foi utilizado um sistema de arquivos chamado ext1. Nesse período o Linux era praticamente utilizado apenas pelos programadores. Em 1993 foi desenvolvida uma versão do sistema de arquivos própria para o Linux, que já podia ser instalado e utilizado por vários usuários, essa versão recebeu o nome de Linux Extended File System Version 2, ou ext2.

Características gerais do padrão ext2:

Tamanho Máximo do disco-rígido: 4 Terabytes;
Tamanho da Unidade Básica de Informação: 4 KB;
Tamanho Máximo do nome do arquivo: 255 letras (ASCII);
Maior Data dos arquivos: 18/01/2038.

De maneira semelhante ao NTFS, o tamanho padrão da unidade básica de informação nos discos ext2 atualmente é de 4 KB, podendo variar entre 512 bytes e 4 KB dependendo do espaço disponível no disco.
O padrão ext2 ainda é bastante utilizado, mas já possui um sucessor, denominado ext3, desenvolvido em 2001. A diferença básica entre os padrões ext2 e ext3 é a seguinte: o ext3 possui um mecanismo especializado chamado Journaling que é utilizado para otimizar o desempenho nas operações de busca de arquivos, e proteção contra falhas no sistemas (queda de energia durante a gravação de um arquivo).

Um novo padrão foi desenvolvido em 2006, denominado ext4, apresentando um aumento no tamanho máximo do disco de 1 Exabyte, além de melhorias no desempenho geral do sistema de arquivos.

2. Tratamento dos Arquivos

No ext2 os arquivos são tratados de maneira diferente do tratamento feito no NTFS. As informações sobre o arquivo são explicitamente separadas dos dados do arquivo. Basicamente, a estrutura de arquivos do padrão ext2 se divide em: Inodes e Blocos de Dados.

Os Inodes armazenam as propriedades dos arquivos, como tamanho, o usuário que o criou, o grupo do usuário, data de criação, entre outras. Um arquivo pode ter mais de um Inode, pois cada Inode está associado a um Bloco de Dados.

Os Blocos de Dados representam os dados fisicamente gravados no disco. Dependendo de como está a distribuição dos dados no disco, o arquivo possuirá um ou mais blocos de dados gravados. O ext2 irá priorizar a gravação de um bloco contínuo de dados, para minimizar as operações de leitura e gravação das informações, otimizando o desempenho do sistema de arquivos.

Esse modelo de tratamento dos arquivos está sendo mantido nos padrões ext3 e ext4. Sendo adicionado neles o mecanismo de Journaling, que consiste na utilização de uma estrutura de dados semelhante a Árvore-B+, e utilização de Meta-Dados para representar os arquivos. O Journaling não é uma adaptação do mecanismo utilizado no NTFS, pois ele foi criado pela IBM em 1990 e é utilizado em vários sistemas operacionais. O mais provável é que a Microsoft tenha adaptado o Journaling no NTFS.

No padrão ext4 uma nova funcionalidade foi adicionada, chamada de Alocação Dinâmica de Inodes. Essa funcionalidade garante espaço adicional para os arquivos durante as etapas de gravação e atualização dos mesmos, reservando espaço adicional no disco-rígido, evitando assim que os dados fiquem fragmentados.
Em todas as versões do padrão ext os arquivos são organizados em uma tabela chamada: Tabela Descritiva de Grupos, que contém a lista de arquivos e as listas de Inodes associadas a cada arquivo.

3. Compatibilidade com outros Sistemas Operacionais

O sistema de arquivos ext2, e ext3, podem ser acessados a partir de outros sistemas operacionais através de utilitários disponíveis para cada sistema, como por exemplo:

MacOS X: pode-se instalar o utilitário “ext2 driver”, permitindo que discos ext2 sejam manipular diretamente pelo MacOS X;

MS-Windows Server: também possui um utilitário chamado ext2fsd que também permitirá aos sistemas MS-Windows 2000 e MS-Windows 2003 manipularem diretamente discos ext2 ou ext3;

Explore2fs: este programa está disponível para praticamente todas as versões do sistema MS-Windows posteriores ao MS-Windows 95. Tem um funcionamento semelhante ao Windows Explorer, permitindo manipular arquivos em discos ext2 ou ext3.

Em todos esses casos, os utilitários e programas, não garantem a total compatibilidade e integridade dos dados acessados. Esses programas foram feitos por desenvolvedores independentes, não tendo garantias na sua utilização, mas até hoje nenhum dano sério foi identificado ou divulgado. Como o padrão ext4 é recente, e ainda está em desenvolvimento, não existe um programa.

4. Características Gerais

Atualmente o padrão ext3 possui as seguintes características:

Definição Padrão dos atributos de um arquivo: os atributos que um arquivo possui definem a maneira como será acessado. Tais atributos podem ser definidos de acordo com o diretório em que o arquivo está armazenado, não havendo necessidade de se modificar os atributos depois de criá-lo;

Definição Padrão do “Grupo de Usuário” a um diretório: um diretório pode ser definido para permitir que apenas um determinado Grupo de Usuários tenha acesso de gravação. Outros usuários de outros grupos podem ler os arquivos (se for permitido pelo atributo do arquivo), mas não poderão gravar arquivos no mesmo diretório;

Definição do tamanho da Unidade Básica de Informação na criação do arquivo: quando o arquivo é gravado no disco-rígido, ocupará uma determinada quantidade de unidades básicas de informação. No padrão etx3 o tamanho da unidade básica de um arquivo pode ser especificado de acordo com o tamanho do arquivo. Arquivos grandes podem ser definidos com unidades de informação grandes, e arquivos pequenos com unidades de informação menores;

Checagem da integridade do sistema de arquivos: em determinados momentos, definidos previamente pelo usuário, o padrão ext3 irá realizar a checagem da integridade dos dados armazenados na Tabela Descritiva de Grupos, verificando se não existe falha no sistema. Esta checagem é realizada por um programa utilitário chamado tune2fs;

Um atributo especial no arquivo pode ser definido para que o conteúdo do arquivo armazenado fisicamente no disco-rígido seja destruído ao se apagar o arquivo da Tabela Descritiva de Grupos. O ext3 irá gravar dados aleatórios no espaço físico onde se encontrava o arquivo, esta propriedade é bastante útil, pois evita que outras pessoas acessem os dados de uma empresa diretamente no disco-rígido através de um “extrator de dados”.

O sistema operacional MacOS X, por ser derivado de um sistema semelhante ao Unix, possui atualmente um sistema de arquivos semelhante ao ext3, chamado HFS+. O padrão HFS+ é a junção do padrão HFS utilizado nos sistemas MacOS 8 e MacOS 9 com o padrão ext3.

Nenhum comentário:

Postar um comentário