Sistema Operacional
Sistema Operacional
Sistema Operacional
Atributos de arquivos
Um arquivo possui certos atributos que variam de um sistema operacional para o outro, mas
que normalmente so os seguintes:
Nome: o nome simblico do arquivo a nica informao conservada em forma legvel
pelas pessoas.
Identificador: este rtulo nico, usualmente um numero, identifica o arquivo dentro do
sistema de arquivo; o nome no legvel pelas pessoas.
Tipos : esta informao necessria para aqueles sistemas que suportam diferentes tipos.
Posio: esta informao um ponteiro para um dispositivo e para a posio do arquivo
naquele dispositivo.
Tamanho: o tamanho corrente do arquivo e possivelmente o tamanho mximo permitido
esto includos neste atributo.
Proteo: a informao de controlo de acesso determina quem pode ler o arquivo, grav-lo,
execut-lo e assim por diante.
Hora, data e identificao do usurio: estas informaes podem ser conservadas em relao
a data da criao, ultima modificao e ultima utilizao do arquivo. Estes dados podem ser
teis para proteo, segurana e monitoramento de uso do arquivo.
A informao sobre todos os arquivos conservada na estrutura do diretrio que tambm
reside em memria secundria. A entrada de um diretrio consiste no nome do arquivo com
seu identificador nico. O identificador, por sua vez, permite localizar os demais atributos
do arquivo. O registro desta informao para cada arquivo pode ocupar mais que um
kilobyte. Em um sistema com muitos arquivos o tamanho do prprio diretrio pode ocupar
megabytes. Como os diretrios, da mesma forma que os arquivos, devem ser no volteis,
precisam ser armazenados em dispositivos e conduzidos memria gradativamente,
conforme necessrio.
de modo que este espao possa ser reutilizado por outros arquivos, e apagamos a entrada do
diretrio.
Trocando um arquivo: o usurio pode desejar apagar o contedo de um arquivo, mas
conservar seus atributos. Em lugar de obrigar o usurio a apagar completamente o arquivo e
recri-lo, esta funo permite que todos os atributos - exceto o tamanho - sejam mantidos,
reposicionando o arquivo com tamanho zero.
UFS(UNIX)
O Sistema de Arquivos Unix, do ingls Unix File System (UFS), um sistema de
arquivos usado por muitos sistemas operacionais Unix e assemelhados. Tambm
conhecido como Berkeley Fast File System (Sistema de Arquivos Rpido da
Berkeley), BSD Fast File System ou simplesmente FFS.
Um volume UFS composto das seguintes partes:
Alguns blocos no inicio da partio reservados para blocos de boot (os quais devem ser
inicializados separadamente do sistema de arquivos);
Ext
O Ext (extended file system) foi o primeiro sistema de arquivos criado especificamente
para o Linux. Ele foi desenvolvido por Rmy Card para substituir o sistema de arquivos do
MINIX (Minix FS), que havia sido inicialmente utilizado por Linus Torvalds para o recmcriado Linux.
Caracterstica
Minix FS
Ext
Ext2
Xia FS
Tam. mx. sistema
64 MB
2 GB
4 TB
2 GB
Tam. mx. arquivo
64 MB
2 GB
2 GB
64 MB
Tam. mx. nome
16-30 car.
255 car.
255 car.
248 car.
Rt. tempo MAC
no
no
sim
Sim
Ext2
O Ext2 (Second Extended file system) um sistema de arquivos para dispositivos de blocos
(disco rgido, disquete, pen drive). Foi desenvolvido para o Linux por Rmy Card para
substituir o Ext (Extended file system), que tambm havia sido criado por Rmy Card.
Caractersticas tcnicas
Ext2 foi projetado e implementado para corrigir as deficincias do Ext e prover um sistema
que respeitasse a semntica UNIX. A influncia do UNIX pode ser vista, por exemplo, na
utilizao de grupos de blocos, que so anlogos aos grupos de cilindros utilizados pelo
FFS [CARD, TS'O & TWEEDIE, 1994]. A verso original do FFS originou o que hoje
conhecido como UFS1 (Unix File System 1) [MCKUSIC & NEVILLE-NEIL, 2005].
5
O bloco, que consiste num conjunto de setores (cada setor tem 512 bytes), a menor
unidade de alocao para o Ext2. O tamanho pode ser de 1024, 2048 ou 4096 bytes e
definido na formatao. [BOVET e CESATI, 2005, p. 739].
O tamanho mximo de um volume Ext2 de 8 TiB [MINGMING CAO et al, 2005].
Embora o superbloco (v. abaixo) contenha um campo de 32 bits que determina o nmero de
blocos (s_blocks_count), o que permitiria armazenar at 16 TiB, o tamanho limitado pelo
nmero de grupos de bloco, que de 65 536 (determinado pelo campo s_block_group_nr),
pois o campo ocupa dois bytes (16 bits). Assim, caso o volume seja formatado usando
blocos de 4 KiB, cada grupo de blocos tem at 32 768 blocos; com 65 536 blocos obtm-se
o limite indicado (4 KiB * 32 768 * 65 536 =
8 589 934 592 KiB = 8 TiB).
Ext3
Como o ext3 visa uma grande compatibilidade com o ext2, muitas das estruturas on-disk
so similares quelas da ext2. Por causa disso, o ext3 no possui muitas das funes mais
recentes como alocao dinmica de inodes e tamanhos de blocos variveis (fragmentos ou
caudas).
Os sistemas de arquivos ext3 no podem ser checados enquanto so montados para escrita.
Um dump do sistema de arquivos feito enquanto ele est sendo montado para leitura e
escrita pode resultar em dados corrompidos dentro do arquivo de dump.
Ext4
O Ext4 um sistema de arquivos do Linux desenvolvido para ser o sucessor do Ext3 a
partir de 2006.
Funcionalidades
As novas funcionalidades propostas so: alocao tardia (delayed allocation); marcas
temporais com maior resoluo (nanossegundos)[4] ; verificao de integridade do journal
(journal checksums); suporte para tamanhos maiores de volumes e arquivos[5] . mais
extenses so introduzidas, compatibilidade com verses anteriores, pr alocao, mais
rpido sistema de arquivo de verificao, alocador multibloco, melhor timestamps.
Deixa de existir um limite de sub-diretrios no ext4 .
Alocao tardia
Ext4 usa uma tcnica de execuo do sistema de arquivos chamado atribuir-on-flush,
tambm conhecida como a atribuio de atraso. Isso melhora o desempenho e reduz a
fragmentao, melhorando a alocao de blocos decises com base no tamanho do arquivo.
Jornal checksumming
Ext4 usa checksums no jornal para melhorar a confiabilidade, j que o jornal um dos
arquivos mais utilizados do disco. Esta caracterstica tem um lado benfico, que pode evitar
com segurana um disco I / O esperar durante o processo dirio, melhorando o desempenho
ligeiramente.
7
Extenses
As extenses so introduzidas para substituir o tradicional bloco de mapeamento de
esquema usado por arquivos ext2/3.Uma extenso um conjunto de blocos contguos
fsico, melhorando o desempenho de muitos arquivos e reduo de fragmentao. Uma
nica extenso em ext4 pode mapear at 128MB de espao contguo com um bloco de 4
KB de tamanho. Quando h mais de 4 extenses em um arquivo, o resto das extenses so
indexadas em um three.
Pr alocao
O sistema de arquivos ext4 permite pr-alocao de espao em disco para um arquivo.
Um novo fallocate () chamada de sistema foi adicionado ao Linux para uso de sistemas de
arquivos, incluindo ext4 e XFS, que tm essa capacidade.
O mais rpido sistema de arquivos de verificao
No ext4, bloco alocado grupos e seces da tabela de inode so marcados como tal. Isso
permite que e2fsck para ignor-los completamente em uma verificao e reduz o tempo
necessrio para verificar o sistema de arquivos do tamanho do ext4 construda para
suportar. Esse recurso implementado na verso 2.6.24 do Linux.
8
Alocador multibloco
O alocador multiblock usado quando a atribuio atrasada ativado por um sistema de
arquivos, ou quando os arquivos so abertos no modo O_DIRECT. Esse recurso no afeta o
formato de disco.
Desvantagens
Alocao tardia e potencial perda de dados
Como as mudanas de alocao atrasada que os programadores tm contado com o ext3, o
recurso representa algum risco adicional de perda de dados nos casos em que o sistema
trava antes que todos os dados tenham sido gravados no disco. Devido a isto, o ext4, na
verso 2.6.30 do Linux, detecta automaticamente esses casos e reverte para o
comportamento antigo.
O cenrio tpico em que isso pode ocorrer um programa que substitui o contedo de um
arquivo sem forar uma gravao para o disco com fsync. Existem duas maneiras comuns
de substituir o contedo de um arquivo em sistemas Unix:
open ("file", O_TRUNC), write (fd, data); close (fd); Neste caso, um arquivo existente
truncado no momento da abertura (devido a O_TRUNC flag), ento os novos dados so
gravados. Desde a gravao pode demorar algum tempo, h uma oportunidade de perder o
9
contedo mesmo com ext3, mas geralmente muito pequena. No entanto, porque o ext4 pode
atrasar a atribuio arquivo de dados por um longo tempo, essa oportunidade muito maior.
SWAP
Reiser
ReiserFS um sistema de arquivos usado geralmente em sistemas Linux. Este artigo
fornece informaes sobre a verso 3.6.x do ReiserFS. Uma nova verso, Reiser4, ainda
est inacabada.
HPFS
O HPFS o sistema de arquivos utilizado pelo OS/2 da IBM, com recursos que se
aproximam muito dos permitidos pelo NTFS como nome de arquivos com at 254
caracteres incluindo espaos, parties de at 512 GB e unidades de alocao de 512 bytes.
Embora muito eficiente, este sistema de arquivos caiu em desuso juntamente com o OS/2,
sendo suportado atualmente somente pelo Linux.
JFS(Journaling FileSystem)
O JFS (Journaling FileSystem) um sistema de arquivos desenvolvido pela IBM,
disponvel em licena open source, com o intuito de ser utilizado nos "UNIXes" que a IBM
vendia. Alm de possuir journal, ele permite que as parties do sistema sejam
redimensionadas sem que seja necessrio desligar o computador.
O sistema de arquivos JFS tambm usa a estrutura inode para armazenar a localizao dos
blocos de cada arquivo nas estruturas fsicas do disco, a verso JFS2 armazena esses inodes
em uma rvore binria para acelerar o acesso a essas informaes. Esses blocos podem
variar de 512 a 4096 bytes, e a alocao dos inodes feita conforme necessrio.
10
O XFS um sistema de arquivos inicialmente desenvolvido pela Silicon Graphics, Inc. para
o seu sistema operacional IRIX. Posteriormente teve seu cdigo fonte liberado e foi
adaptado para funcionar no Linux.
ZFS
ZFS um sistema de arquivos originalmente criado pela Sun Microsystems para o sistema
operacional Unix. Por ser proprietria do SO Solaris e OpenSolaris, a soluo foi
implantada nas plataformas. O significado original era " Zettabyte File System ", mas agora
um acrnimo recursivo. As caractersticas do ZFS incluem grande capacidade de
armazenamento, integrao de conceitos de sistema de arquivos e administrao de
volumes, uma inovadora estrutura em disco, instancias leves, e gerenciamento fcil de
pools de armazenamento. ZFS implementado como um software livre ('open-source')
licenciado sobre a licena CDDL
IBM (AIX, OS/2)
JFS (AIX Version 3.1 ou superior, OS/2 Warp)
O JFS (Journaling FileSystem) um sistema de arquivos desenvolvido pela IBM,
disponvel em licena open source, com o intuito de ser utilizado nos "UNIXes" que a IBM
vendia. Alm de possuir journal, ele permite que as parties do sistema sejam
redimensionadas sem que seja necessrio desligar o computador.
O sistema de arquivos JFS tambm usa a estrutura inode para armazenar a localizao dos
blocos de cada arquivo nas estruturas fsicas do disco, a verso JFS2 armazena esses inodes
em uma rvore binria para acelerar o acesso a essas informaes. Esses blocos podem
variar de 512 a 4096 bytes, e a alocao dos inodes feita conforme necessrio.
Embora muito eficiente, este sistema de arquivos caiu em desuso juntamente com o OS/2,
sendo suportado atualmente somente pelo Linux.
MS-DOS/Microsoft Windows
12
FAT 32 - MS-DOS 7.1 e 8.0 / Windows 95 (verso OSR2!), ou superior (95 OSR2, 98, ME,
NT, 2000, XP...)
O FAT32 (File Allocation Table ou Tabela de Alocao de Arquivos) um sistema de
arquivos que organiza e gerencia o acesso a arquivos em HDs e outras mdias. Criado em
1996 pela Microsoft para substituir o FAT16 usado pelo MS-DOS e com uma srie de
limitaes. O FAT32 foi implementado nos sistemas Windows 95 (OSR2), Windows 98 e
Millennium e ainda possui compatibilidade com os sistemas Windows 2000 e Windows XP,
que utilizam um sistema de arquivos mais moderno, o NTFS, que foi continuado, sendo
usado tambm nos sistemas Windows Vista, Windows 7 e Windows Server 2008 R1/R2
(para servidores empresariais).
ExFAT - FAT Estendido, tambm conhecido como FAT64, Windows XP ou superior ( Vista,
7...)
exFAT (Extended File Allocation Table, em portugus "Tabela de Alocao de Arquivos
(ficheiros) Estendida, tambm conhecido como FAT64) um formato de sistema de
arquivos (ficheiros) utilizado principalmente em discos de memria flash, introduzido com
o Windows Embedded CE 6.0. A utilizao do exFAT uma alternativa para evitar o
extensivo uso do sistema de arquivos (ficheiros) NTFS.
NTFS - Windows NT ou superior (NT, 2000, XP, 2003 Server,...)
O NTFS (New Technology File System) o sistema de arquivos padro para o Windows
NT e seus derivados.
O NTFS foi desenvolvido quando a Microsoft decidiu criar o Windows NT: como o WinNT
deveria ser um sistema operacional mais completo e confivel, o FAT no servia como
sistema de arquivos por causa de suas limitaes e falta de recursos. Na poca, o que a
empresa de Bill Gates queria apoderar-se de uma fatia do mercado ocupada pelo Unix.
Anteriormente, ela j havia tentado fazer isso em parceria com a IBM, lanando o OS/2 no entanto as duas empresas divergiam em certos pontos e acabaram quebrando a aliana.
13
O OS/2 usava o sistema de arquivos HPFS (High Performance File System - Sistema de
Arquivos de Alta Performance), cujos conceitos acabaram servindo de base ao NTFS.
14