Sei sulla pagina 1di 9

Sistemas de Arquivos Windows x Linux

Gleci Ribeiro Martins, Letcia Saalfeld Universidade Catlica de Pelotas {glemarti, leticias}@atlas.ucpel.tche.br Resumo
O sistema de arquivos a parte de um sistema operacional que fica mais visvel para o usurio do computador. por meio dele que se manipulam os arquivos existentes no computador. A partir dos sistemas de arquivos Windows e Linux que ganham popularidade nos ltimos anos e vm sofrendo uma rpida evoluo. O Linux manteve o modelo do sistema de arquivos padro do Unix, que um arquivo que pode ser qualquer entidade capaz de tratar as entradas e as sadas de um fluxo de dados. O Kernel do Linux lida com todos esses tipos de arquivos ocultandos os detalhes de implementao de qualquer tipo de arquivo por de trs de uma camada de software. O sistema de arquivos Windows FAT aceitvel e perfeitamente funcional para a maioria dos usurios domsticos, o qual foi necessrio o desenvolvimento de um sistema de arquivos que se adequasse ao funcionamento do Windows NT sendo criado o NTFS que muito melhor sendo projetado com muitos recursos, inclusive recuperao de dados, segurana, tolerncia falhas. ele ser destrudo ou danificado seriamente. A maioria dos programas trabalha em um sistema de arquivos e no funcionam em uma partio que no contenha um (ou que contenha um de tipo errado). Antes de uma partio ou disco ser usado como um sistema de arquivos ele necessita ser inicializado, e a estrutura bsica de dados necessita ser gravada no disco. Este processo chamado criao de um sistema de arquivos.

2. O sistema de arquivos FAT do Windows


FAT a sigla para File Allocation Table (ou tabela de alocao de arquivos). O primeiro FAT surgiu em 1977, para funcionar com a primeira verso do DOS. Trata-se de um sistema que funciona atravs de uma espcie de tabela que contm indicaes para onde esto as informaes de cada arquivo. Quando um arquivo salvo num disquete, por exemplo, o FAT divide a rea do disco em pequenos blocos. Assim, um arquivo pode (e ocupa) vrios blocos, mas eles no precisam estar numa seqncia. Os blocos de determinados arquivos podem estar em vrias posies diferentes. Da a necessidade de uma tabela para indicar cada bloco. Com o surgimento de dispositivos de armazenamento com mais capacidade e mais sofisticados, o sistema FAT foi ganhando alteraes (identificadas pelos nomes FAT12 e FAT16). Isso foi necessrio porque o FAT era limitado determinada capacidade de armazenamento. Por exemplo, ele s operava com tamanho mximo de 2 GB. Assim, num disco de 5 GB, seria necessrio dividi-lo em 3 parties. Fora o fato de que o FAT apresentava problemas com informaes acima de 512 MB. Diante de tantos problemas, em 1996, a Microsoft lanou um novo FAT: o FAT32, que compatvel com os Windows 9x/Me/2000 e XP (apesar destes dois ltimos terem um sistema de arquivos mais avanado, o NTFS).

1. Introduo
Um sistema de arquivos o mtodo e a estrutura de dados que um sistema operacional utiliza para administrar arquivos em um disco ou partio, ou seja, a forma pela qual os arquivos esto organizados em um disco. A expresso tambm utilizada para se referenciar a uma partio ou disco que seja usado para armazenar os arquivos ou outros tipos de sistemas de arquivos. Algum pode dizer eu tenho dois sistemas de arquivos, significando que tem duas parties nas quais armazena arquivos ou aquela pessoa est usando o sistema de arquivos estendido, exemplificando o tipo do sistema de arquivos. A diferena entre um disco ou partio e um sistema de arquivos bastante significativa. Poucos programas (inclusive os programas que criam sistemas de arquivos) operam diretamente em setores no inicializados de um disco ou partio, e caso exista um sistema de arquivos

2.1. Funcionamento do sistema FAT


Ao trabalharmos com HDs (e disquetes) necessrio prepar-los, fazendo uma formatao fsica. Este

processo divide os discos em trilhas (uma espcie de caminho circular) e setores (subdivises de cada trilha, com geralmente 512 bytes). Um conjunto de trilhas recebe o nome de cilindro. A formatao fsica j vem de fbrica e pode ser alterada se o usurio quiser dividir o disco em parties. Depois se deve fazer uma formatao lgica, que nada mais do que instalar o sistema de arquivos no dispositivo de armazenamento. O sistema de arquivos FAT no trabalha diretamente com cada setor, mas sim com um grupo de setores. Esse grupo chamado de cluster (ou unidade de alocao). Se por exemplo, um disco com setor de 512 bytes, tiver 5 KB de tamanho, ele ter 10 setores e 5 clusters, se cada cluster ocupar dois setores. Sendo assim, quando o FAT precisar acessar um determinado setor, primeiro ele descobre em qual cluster ele se encontra. vlido citar que tanto o FAT quanto o FAT32 trabalham de acordo com este princpio.

2.2. Tamanho de cluster


O sistema FAT exige que cada cluster do disco seja usado somente para um nico arquivo, ou seja, num mesmo cluster, no pode haver informaes sobre mais de um arquivo. Isso pode at parecer bvio, mas gera um problema: desperdcio. Para mostrar isso, vamos supor que desejamos guardar num disquete um arquivo de 5 KB. Imaginemos que este disquete tenha 8 KB de espao e dois clusters de 4 KB. Um cluster ocuparia 4 KB do arquivo, enquanto o outro cluster ocuparia apenas 1 KB. Como o cluster s pode trabalhar com um arquivo, haveria desperdcio de 3 KB. Vamos imaginar agora que em vez de termos clusters com 4 KB, teremos clusters com 2 KB. Assim, 3 cluster seriam usados, sendo que um ainda apresentaria desperdcio de 1 KB. No entanto, sobrou um cluster com 2 KB, que pode ser usado por outro arquivo. Percebe-se com isso que o tamanho do cluster deve ser o mximo que o FAT consegue manipular. Alis, a principal diferena entre FAT e FAT 32, que este ltimo consegue trabalhar com um nmero maior de clusters.

tamanho dos clusters no sistema FAT tambm uma potncia de 2. O limite mximo de tamanho para uma partio em FAT16 de 2 GB (correspondente a 2 elevado a 16). J no caso do sistema de arquivos FAT32 (seu nome se deve ao mesmo motivo que no FAT32), o tamanho dos clusters determinado atravs da relao entre os comandos FDISK e FORMAT, apesar de que possvel determinar o tamanho do cluster do FAT32 tambm por programas de terceiros, com o Partition Magic (no possvel ter clusters de diferentes tamanhos). O tamanho mximo da partio em FAT32 de 2 TB. Mas se voc fizer a contas notar que 2 elevado a 32 equivalente a 128 TB. Ento porque o FAT32 usa somente 2 TB? Pode parecer confuso, mas o nmero mximo de clusters no caso do FAT32 no de 2 elevado a 32. Apesar de seu endereamento ser de 32 bits, na verdade so usados apenas 28 bits. Com isso, a quantidade mxima de clusters seria 2 elevado a 28, que corresponde a 8 TB. Ento, qual a razo do FAT32 ter tamanho mximo de espao de 2 TB? Segundo a Microsoft, o nmero mximo de setores (setores, no clusters!) que um disco pode ter de 2 elevado a 32. Como cada setor tem 512 bytes, o tamanho mximo de um disco no FAT32 acaba sendo de 2 TB. As diferenas entre FAT (ou FAT16) e FAT32 no param por a. O FAT32 tambm mais confivel, alm disso, este sistema tambm consegue posicionar o diretrio principal em qualquer lugar do disco. Fora o fato de que no sistema FAT, havia uma limitao no nmero de entradas que podiam ser alocadas no diretrio principal (512 arquivos e/ou pastas). No h essa limitao no FAT32. Algo curioso de ser citado, que o FAT32 pode mudar o tamanho da partio sem perder dados. Apesar desta capacidade, a Microsoft, por alguma razo misteriosa, no implementou esta caracterstica no FAT 32. Hoje em dia, programas particionadores, como o Partition Magic ou ento particionadores de disco de distribuies Linux, conseguem redimensionar uma partio FAT32 inserido este poder ao sistema de arquivos.

2.3. Diferenas entre FAT e FAT32


O sistema FAT (ou FAT16) consegue trabalhar com 65536 clusters. Esse nmero obtido elevando o nmero 2 a 16 (da a terminologia FAT16). Mas, na verdade, o sistema FAT16 usa apenas 65525 clusters por disco (ou partio). importante frisar que o tamanho do cluster deve obedecer tambm uma potncia de 2: 2 KB, 4 KB, 8 KB, 16 KB e 32 KB, ou seja, no possvel ter cluster de 5 KB, 7 KB, etc. O

2.4. Mais sobre FAT32


O sistema FAT32 precisa de alteraes para trabalhar perfeitamente com discos (ou parties) maiores que 8,4 GB de tamanho. Discos que possuam esse limite de tamanho usam a forma de endereamento CHS (Cylinder-Head-Sector), onde cada setor do disco unicamente endereado usando-se o Cilindro (Cylinder), a cabea de leitura (Head) e o setor (Sector)

da trilha definida pelo cilindro e cabea anteriores. Para contornar isso, foi criado o mtodo LBA (Logical Block Addressing) onde cada setor do disco endereado atravs de um nmero nico fornecido pelo BIOS. Com o LBA possvel trabalhar com discos de dezenas de GB. O Windows consegue trabalhar com discos reconhecidos por LBA. No entanto, pode haver problemas quando o HD (ou a partio) possui mais de 1024 cilindros. Para contornar isso, foi criado o sistema FAT32X, onde a tabela de alocao de arquivos deslocada para o fim do disco. Essa tcnica evita o problema porque com mais de 1024 cilindros, a FAT no consegue armazenar todas as informaes sobre o disco. Jogando-a para o final do disco, a limitao burlada, j que a mantendo no incio do disco, por uma srie de razes, no possvel aumentar o tamanho da tabela.

O sistema FAT32 herdou todas as caractersticas do VFAT.

3. Sistemas de arquivos NTFS


NTFS a sigla para New Technology File System. Desde a poca do DOS, a Microsoft vinha utilizando o sistema de arquivos FAT, que foi sofrendo variaes ao longo do tempo, de acordo com o lanamento de seus sistemas operacionais. No entanto, o FAT apresenta algumas limitaes, principalmente no quesito segurana. Por causa disso, a Microsoft lanou o sistema de arquivos NTFS, usado inicialmente em verses do Windows para servidores.

3.1. Como o NTFS surgiu


O sistema de arquivos FAT aceitvel e perfeitamente funcional para a maioria dos usurios domsticos. Trata-se de um sistema antigo, que mesmo com novas verses, herdou a simplicidade da primeira verso. As limitaes do FAT, principalmente quanto segurana, capacidade e confiana, fizeram do FAT um sistema de arquivos inadequado para uso em servidores e aplicaes crticas. A Microsoft, estando ciente disso, decidiu desenvolver um sistema de arquivos que se adequasse aos princpios de funcionamento do Windows NT e lanou o New Technology File System, conhecido pela sigla NTFS. Entre os objetivos da idealizao do NTFS estavam o fornecimento de um sistema de arquivos flexvel, adaptvel, altamente seguro e confivel. Sem dvida, tais caractersticas fizeram do Windows NT um sistema operacional aceitvel para as aplicaes cujo seu desenvolvimento foi planejado. A idia de lanar o Windows NT surgiu em 1990, quando a Microsoft sentiu a necessidade de ter um sistema operacional com as qualidades citadas acima e com funcionalidades tpicas de servidor. Nesta poca, a Microsoft no tinha nenhum sistema que pudesse se equiparar ao poderoso Unix (tinha somente o MS-DOS e o Windows 3.x). Decidida a ter uma fatia do mercado que pertencia ao Unix, a Microsoft deu incio ao desenvolvimento do Windows NT. Esta sigla - NT significa New Technology. A Microsoft logo percebeu que este novo Windows no teria sucesso se utilizasse o FAT, pelas razes j citadas. Era preciso criar um sistema de arquivos novo. O NTFS foi desenvolvido e muitos at hoje pensam que ele um sistema de arquivos inteiramente desenvolvido pela Microsoft, o que no verdade. Seu projeto foi baseado nas anlises das necessidades do novo sistema operacional, mas seus conceitos funcionais

2.5. Manipulando o sistema FAT32


possvel manipular o tamanho dos clusters de uma partio FAT32, no intuito de melhorar o desempenho do mesmo. Sabe-se que quanto menor um cluster, menor o desperdcio. No entanto, isso aumenta a quantidade de clusters, e quanto mais clusters existir, mais demorado ser o uso do sistema de arquivos. Portanto, usar tamanho de clusters com 8 KB, pode ser uma boa idia, j que esse valor consegue gerar um equilbrio. No entanto, devem-se considerar vrios outros aspectos tcnicos para se definir o tamanho do cluster. Isso deixa claro que esta operao voltada a usurios experientes. Para definir o tamanho do cluster, pode-se usar programas de terceiros ou usar um recurso no documentado pela Microsoft do comando FORMAT. Para deixar o tamanho do cluster com 8 KB, digite no DOS: FORMAT C: /Z:16 O nmero 16 usado porque 16 x 512 bytes = 8 KB. Se em vez de 16, fosse usado 32, o cluster teria 16 KB (32 x 512 bytes = 16 KB).

2.6. O que VFAT


VFAT a sigla para Virtual File Allocation Table. Trata-se de um sistema introduzido no Windows 95. Ele possui as mesmas caractersticas do sistema FAT, mas pode suportar nome de arquivos longos. O sistema de arquivos FAT s trabalha com nomes no estilo 8.3 (8 caracteres para o nome e 3 para a extenso, como palavras.txt).Com o VFAT, possvel ter nomes de arquivos com at 256 caracteres mais 3 para a extenso.

foram herdados do sistema de arquivos HPFS (High Performance File System). Um sistema operacional muito conhecido nesta poca era o OS/2, um projeto realizado em conjunto entre a Microsoft e a IBM. Ambas as empresas estavam tentando criar um sistema operacional de grande sucesso, cujo apelo principal seria a capacidade grfica (lembre-se que naquela poca, era muito maior o uso de sistemas operacionais baseados em linha de comando, como o DOS). O OS/2 de fato continha inovaes tecnolgicas, mas esbarrava nos quesitos suporte e marketing. Fora isso, a IBM e a Microsoft comearam a se desentender e a empresa de Bill Gates decidiu abandonar o projeto e se dedicar ao desenvolvimento do Windows NT. No entanto, a Microsoft acabou levando consigo muitos conceitos funcionais do sistema de arquivos do OS/2, o HPFS. claro que tais conceitos foram essenciais para a criao do NTFS, o que fez com que muitos pensassem que a Microsoft passou um golpe na IBM. No entanto, este artigo no visa discutir isso.

3.2. Caractersticas do NTFS


O NTFS possui caractersticas importantes, que o fez ser considerado um bom sistema de arquivos. Entre essas qualidades esto: confiana, pois permite que o sistema operacional se recupere de problemas sem perder informaes, fazendo-o ser tolerante a falhas; segurana, onde possvel ter um controle de acesso preciso e ter aplicaes que rodem em rede, fazendo com que seja possvel o gerenciamento de usurios, incluindo suas permisses de acesso e escrita de dados; armazenamento, onde possvel trabalhar com uma grande quantidade de dados, permitindo inclusive o uso de arrays RAID; rede, fazendo do sistema plenamente funcional para o trabalho e o fluxo de dados em rede. H muitas outras caractersticas, que ficam mais ainda visveis se comparadas ao FAT. A Microsoft vem trabalhando bastante para aperfeioar o NTFS, por isso, de se esperar que novas caractersticas sejam implementadas no sistema de arquivos, de acordo com o lanamento de novas verses do Windows.

Com o lanamento do Windows NT 4, o NTFS ganhou a verso 1.1 (ou verso 4). Esta verso tambm foi usada no Windows NT 3.51. O sucesso do Windows NT foi to grande que sua verso do NTFS virou referncia em sistemas de arquivos. A Microsoft no ficou parada e lanou a verso conhecida como NTFS 5.0 com o lanamento do Windows 2000, substituto do Windows NT. Apesar da nova verso, o NTFS 4 foi to difundido que seu suporte a outro sistemas operacionais no acabar to cedo. Esta nova verso do NTFS possui novas caractersticas importantes, alm daquelas herdadas da verso anterior. Essas mudanas foram essenciais para fazer do Windows 2000 um sistema que fosse realmente adequado para substituir o Windows NT. S para servir de exemplo, o servio Active Directory um dos chamativos do Windows 2000 e foi implementado graas a alteraes no FTFS. Entre os novos recursos do NTFS 5 esto: Reparse Points, onde arquivos e pastas dentro do sistema de arquivos podem ter aes associadas a eles, de forma que operaes particulares a estes arquivos possam ser executadas; novas caractersticas de segurana, onde o mecanismo para gerenciamento da segurana e de usurios, principalmente em relao a acesso e arquivos foram melhorados; quotas de discos, onde o administrador do sistema pode determinar o espao em disco disponvel a um usurio ou a um grupo de usurios; dirios de alteraes, onde volumes podem ser ajustados para rastrear as operaes efetuadas nos arquivos e pastas; codificao, onde o sistema permite que arquivos sejam codificados/decodificados automaticamente; suporte a arquivos esparsos, onde possvel armazenar de forma eficiente arquivos esparsos (que so arquivos grandes mas que possuem algumas estruturas vazias, desperdiando espao em disco). Com o lanamento do Windows XP, Windows 2003 Server e futuras verses, o NFTS vai ganhando melhoramentos e novas caractersticas, mas certamente a verso 4 ainda ser uma referncia. Isso deixa claro que o NFTS no deixar de ser usado to cedo pela Microsoft.

3.3. Verses do NTFS


Assim como aconteceu com o FAT, o NTFS tambm tem verses, que foram lanadas principalmente no surgimento de novos Windows. A cada verso, correes de falhas so feitas, suportes a hardware so implementados e novas caractersticas so dadas ao NTFS. A princpio houve o NTFS 1.0 usado no Windows NT 3.1 (por isso, esta verso do NTFS tambm ficou conhecida por NTFS 3.1).

3.4. Funcionamento do NTFS


Conforme as caractersticas herdadas do HPFS, o NTFS trabalha de uma forma mais eficiente no gerenciamento do espao de disco. Isso porque as informaes so armazenadas em uma base por setor do disco, em vez de utilizar clusters de mltiplos setores. Essa forma de trabalho traz vrias vantagens, como menor necessidade de desfragmentao de disco e maior consistncia de dados. Isso porque essa arquitetura de

dados por base em setor permite manter os dados prximos, ou seja, no espalhados pelo disco. At o gerenciamento de grandes quantidades de dados beneficiado por esta caracterstica, j que como acontecia com o FAT, trabalhar com clusters por setor, fazia do sistema de arquivos dependente de um nmero pr-determinado de setores.

4.2 - Diretrio /etc


O diretrio /etc contm inmeros arquivos. Alguns deles esto descritos resumidamente a sequir. Para outras descries necessrio determinar a quis programas eles pertencem e ler as pginas de manual daqueles programas. Para sistemas que utilizam a tecnologia RPM, basta executar rpm -qf arquivo que o sistema lhe dir a qual pacote o arquivo pertence. Muitos arquivos de configurao de programas de rede esto no etc. /etc/rc ou /etc/rc.d ou /etc/rc?.d So scrips (arquivos de lote) ou os diretrios de scripts que so executados no incio do sistema ou na mudana de nvel do sistema. /etc/passwd A base de dados dos usurios, cujos campos definem nome do usurio, nome real, diretrio pessoal, senha criptografada e outras informaes especficas de cada usurio. /etc/fdprm A tabela de parmetros de disquetes. Descreve os diferentes formatos dispniveis. utilizada pelo programa setfdprm. /etc/fstab Lista os sistemas de arquivos montados automaticamente, durante a inicializao do sistema, pelo comando mount -a (no script de inicializao /etc/rc.d/rc.sysinit ou similar). No Linux, contm ainda informaes sobre as reas de troca (swap) usadas automaticamente pelo comando swapon -a. /etc/group Similar ao /etc/passwd, porm descreve grupos ao invs de usurios. /etc/inittab Arquivo de configurao do init. /etc/issue Sada do programa getty antes do prompt de acesso ao sistema. Normalmente contm uma breve ou mensagem de boas-vindas. O contedo fica a critrio do administrador do sistema. /etc/motd Escreve uma mensagem do dia automaticamente aps um acesso bem sucedido. Contedos ficam a critrio do administrador do sistema. Normalmente so usadas para enviar informaes para os usurios, como por exemplo, avisos de desligamentos planejados. /etc/mtab Lista dos sistemas de arquivos montados. Inicialmente configurado por scripts e posteriormente atualizado pelo comando mount. Usado quando uma listagem dos sistemas de arquivos necessria, como, por exemplo, pelo comando df. /etc/shadow/ Arquivo de senhas em sistemas onde o shadow esteja instalado. Esta opo move senhas criptografadas do /etc/passwd para o arquivo /etc/shadow o qual somente pode ser lido pelo superusurio. O shadow d uma maior segurana s senhas dos usurios. /etc/longin.defs Arquivo de configurao do programa login.

4. O sistema de arquivos raiz (root) do Linux 4.1. Diretrio raiz


O diretrio raiz geralmente no contm nenhum arquivo, exceto, em algumas distribuies, pela imagem de inicializao (boot) do sistema chamada /vmlinuz. Todos os outros arquivos esto em subdiretrios do raiz: /bin Comandos necessrios durante a inicializao do sistema que podem ser utilizados pelos usurios (provavelmente aps a ativao). /sbin Similar ao /bin, porm os comandos no so destinados aos usurios comuns, apesar de poderem ser utilizados por estes se necessrio. /etc Arquivos de configurso especfico da mquina. /lib Bibliotecas compartilhadas necessrias aos programas no sistema de arquivos raiz. /lib/modules Mdulo dinmico e carregveis pelo kernel, especialmente aqueles necessrios para inicializar o sistema em caso de acidentes (por exemplo, programas de controle de sistemas de arquivos de redes). /dev Arquivos de dispositivos. /tmp Arquivos temporrios. Programas que so executados aps a ativao do sistema devem usar o /var/tmp e no o /tmp, uma vez que provavelmente encontraro mais espao disponvel neste sistema de arquivos. /boot Arquivos utilizados pelo gerenciador de inicializao do sistema, p. ex., LILO. Imagens do kernel no normalmente mantidas aqui ao invs do no diretrio raiz. Caso existam inmeras imagens, o diretrio pode facilmente crescer demasiadamente, sendo aconselhveis mant-lo em um sistema de arquivos parte. Outra razo estar seguro de que as imagens do kernel estejam nos primeiros 1024 cilindros de um disco IDE. /mnt Ponto para montagens temporrias realizadas pelo administrador do sistema. Programas e usualmente no prevem a montagem automtica no /mnt. Este deve estar dividido em subdiretrios, como por exemplo, /mnt/dosa sendo uma unidade de disquetes utilizando um sistema de arquivos MS-DOS, e /mnt/exta pode ser a mesma unidade, porm com usam extenso ext2. /proc, /usr, /var, /home Pontos de montagem para outros sistemas de arquivos.

/etc/termcap O arquivo de configurao de terminal. Descreve as seqncias de escape para os diversos tipos de terminais. Os programas ao invs de escreverem diretamente uma seqncia que funcione em determinado tipo de terminal devem buscar a seqncia correta no /etc/termcap. Desta maneira os programas funcionam na maioria dos terminais. /etc/printcap Similar ao /etc/termcap, mas direcionado impressora e com sintaxe diferente. /etc/profile, /etc/bashrc Arquivos executados pelo Bourne Shell e Bash, no momento do login do usurio. Estes arquivos permitem ao administrador manipular o ambiente de trabalho de todos os usurios do sistema. Veja as pginas de manual dos interpretadores de comandos para detalhes especficos. /etc/securetty Identifica terminais seguros, ou seja, aquele nos quais permitido que o root acesse o sistema. Normalmente somente quando os consoles virtuais so listados, tornando muito mais difcil obter os privilgios de superusurio do sistema atravs da rede ou de uma conexo via modem. /etc/shells/ Lista as shells vlidas. O comando chsh permite que os usurios mudem sua shell de login, porm, somente para aquelas listadas neste arquivo. O servidor de transferncia de arquivos, ftpd, checar se a shell do usurio est listada no /etc/shells e no aceitar acessos, a menos que ela esteja presente neste arquivo.

foram integrados ao restante do sistema. H uma rvore de diretrios sob /usr/X11R6 similar ao /usr. /usr/X386 Similar ao /usr/X11R6, mas para o X11 Release 5. /usr/bin Praticamente todos os comandos de usurios. Alguns outros podem ser encontrados em /bin ou /usr/local/bin. /usr/sbin Comandos de administrao do sistema que no necessitem estar no sistema de arquivos raiz, como servidores. /usr/man, /usr/info, /usr/doc Pgina de manual, documentos de GUN/Info e diversos outros documentos, respectivamente. /usr/include Arquivos header para a linguagem de programao C. Este diretrio sob o /usr/lib, porm por tradio tem sido mantido neste local. /usr/lib Arquivos estticos de dados para programas e subsistemas, incluindo alguns arquivos de configurao globais. O lib vem de library (biblioteca); originalmente as bibliotecas de programao eram armazenadas neste subdiretrio. /usr/local O local para programas instalados localmente e outros arquivos. /usr/share/magic O arquivo de configurao para o comando file. Contm as descries de vrios formatos de arquivos nas quais o file pode descobrir o tipo do arquivo. Veja as pginas de manual do magic e do file para maiores informaes.

4.3. Diretrio /dev


O diretrio /dev contm arquivos especiais (drivers) de controle do todos os dispositivos. Estes arquivos utilizam uma denominao especial descrita na lista de dispositivos. Os controladores so criados durante a instalao, e posteriormente atravs do script /dev/MAKEDEV.local, um script escrito pelo administrador para criar somente os dispositivos locais que no faam parte do padro do MAKEDEV.

4.5. O sistema de arquivos /var


O sistema de arquivos /var contm dados que so alterados quando o sistema est sendo executado. especfico de cada sistema, ou seja, no compartilhado atravs da rede com outros equipamentos. /var/catman Um cache para pginas de manual que so formatadas. Fontes para as pginas so armazenadas em /usr/man/man*, sendo que algumas podem vir prformadas, estando armazenadas em /usr/man/cat*. Outras pginas necessitam ser formatadas quando acessadas pela primeira vez. A verso formatada fica armazenada em /var/catman, fazendo com que outro usurio que acesse a pgina, tenha esta pronta e disponvel. O diretrio /var/catman freqentemente esvaziado, da mesma forma que os arquivos temporrios. /var/lib Arquivos que mudam enquanto o sistema est ativo. /var/lock Arquivos de bloqueio. Muitos programas seguem uma conveno de se criar arquivos no /var/lock para indicar que eles esto utilizando um dispositivo em particular ou um determinado arquivo de bloqueio e no tentaro utilizar o mesmo dispositivo ou arquivo.

4.4. O sistema de arquivos /usr


O sistema de arquivos /usr grande, uma vez que a maioria dos programas esto ali instalados. Os arquivos /usr so normalmente instalados pela sua distribuio do Linux. Programas locais so instalados no /urs/local. Isso torna a atualizao do sistema possvel para uma nova verso da distribuio ou mesmo para uma distribuio completamente nova, sem que seja necessrio instalar todos os programas novamente. Alguns dos subdiretrios do /usr esto listados a seguir (os mais importantes); /usr/X11r6 Arquivos do X Window. Para simplificar o desenvolvimento e a instalao do X, seus arquivos no

/var/log Arquivos de histricos de vrios programas, especialmente o login (/var/log/wtmp, o qual registra todas as entradas e sadas do sistema) e o syslog (/var/log/messages, o qual contm as mensagens do kernel e programas do sistema). Os arquivos no /var/log podem crescer indefinidamente com frequncia e podem requerer limpezas peridicas. /var/run Arquivos que contm informaes sobre o sistema e que so vlidas at a prxima inicializao. Por exemplo, o /var/rum/utmp contm informaes sobre os usurios atualmente conectados. /var/tmp Diretrios para mail, news, filas de impresso e outros trabalhos em fila. Cada fila tem o seu prprio subdiretrio sob o /var/spool, por ex. as mensagens de correio eletrnico esto armazenadas em /var/spool/mail. /var/tmp Arquivos temporrios que sejam muito grandes ou que necessitem existir por um perodo maior que o definido para o /tmp. Note que o administrador do sistema pode no permitir arquivos muito antigos tambm no /var/tmp.

4.6. O sistema de arquivos /proc


O /proc um sistema de arquivos ilusrio. Na verdade ele no existe em um disco rgido. criado em memria pelo kernel, sendo usado para disponibilizar informaes sobre o sistema (originalmente sobre os processos, da a origem de seu nome). O /proc descrito mais detalhadamente na pgina de manual proc. /proc/1 Um diretrio com as informaes 1 (init). Cada processo tem um diretrio embaixo do /proc, cujo nome equivale ao seu nmero de identificao. /proc/cpuinfo Informaes sobre o processador, tais como tipo, fabricante, modelo, e performance. /proc/devices Lista dos controladores de dispositivos configurados no kernel atualmente em execuo. /proc/dma Mostra quais canais DMA esto sendo utilizados no momento. /proc/filesystems Sistemas de arquivos configurados no kernel. /proc/iterrupts Mostra quais interrupes esto em uso e quantas vezes foram chamadas. /proc/ioports Quais portas de entrada e sada esto em uso no momento. /proc/kcore Imagem da memria fsica do sistema. Tem exatamente o mesmo tamanho da memria fsica, mas no ocupa toda aquela rea. Ela gerada em tempo de execuo, atravs do acesso dos programas. Lembre-se: a menos que voc copie esta imagem para outro lugar, nada abaixo do /proc ocupa espao em disco. /proc/ksyms Mensagem de sada do kernel. So direcionadas tambm para o syslog.

/proc/loadavg A ``carga mdia'' do sistema, contendo trs indicadores de quanto trabalho o sistema est executando no momento. /proc/meminfo Informaes sobre o uso de memria, tanto fsica como de swap. /proc/modules Descreve quais mdulos esto corregados no momento. /proc/net Informaes sobre a situao dos protocolos de rede. /proc/self Um link simblico para o diretrio dos processos do programa que est olhando para o /proc no momento. Quando dois processos acessam o /proc, estes recebem diferentes links. Isto feito para facilitar a vida dos programas quando o seu diretrio de processos. /proc/stat Diversas estatsticas sobre o sistema, como o nmero de paginaes desde seu incio, E/S, processos executados, etc... /proc/uptime O tempo que o sistema est ativo. /proc/version Verso do kernel do sistema. Enquanto os esses arquivos so de fcil leitura, por estarem em formato texto, no quer dizer que eles sejam facilmente lidos. H muitos comandos que fazem mais que somente ler os arquivos acima e formatar o seu contedo para um melhor entendimento. Por exemplo, o programa free l o contedo do /proc/meminfo e converte as informaes dadas em bytes, para kilobytes, com algumas pequenas informaes adicionais.

4.7. Sistema de arquivos ext3


Usurios experientes de Linux sabem que o sistema possui excelente performance no gerenciamento de dados, tanto no que diz respeito ao armazenamento, quanto nas alocaes e atualizaes de informaes. Dentre vrios, um dos grandes responsveis por tanta eficincia o sistema de arquivo ext3, que passou a ser integrado definitivamente ao Linux (kernel) a partir da verso 2.4. Este artigo mostrar as caractersticas mais importantes do ext3, alm das razes de sua alta performance. Espera-se que o leitor tenha alguma noo do conceito de sistemas de arquivos para entender este texto.

5. Funcionamento padro dos sistemas de arquivos em Linux


Os sistemas de arquivos so criados em parties do disco, de forma que seja possvel armazenar programas e dados em formato de arquivos e diretrios (pastas). O Linux, assim como praticamente todos os sistemas operacionais baseados em Unix, usam um sistema de arquivos que possuem uma hierarquia, composta de

arquivos e diretrios, que podem conter outros diretrios ou arquivos. Os arquivos/diretrios (sistemas baseados em Unix tratam os diretrios como arquivos especiais) em um sistema de arquivos para Linux so disponibilizados (ou montados) para manipulao atravs do comando mount geralmente acionado no processo de startup (inicializao), que ocorre quando o computador ligado e comea-se a carregar o sistema operacional. O Linux consegue trabalhar com vrios sistemas de arquivos num mesmo disco (situao comum usurios que possuem Windows e Linux em suas mquinas, por exemplo) e para enxerg-los, armazena a lista de sistemas de arquivos disponveis no arquivo /etc/fstab (repare que /etc/ indica um caminho de diretrio). No entanto, h uma lista de sistemas de arquivos que esto efetivamente em uso, disponvel no arquivo /etc/mtab, tambm conhecido como abela mount. Esta lista atualizada no processo de startup, para indicar ao sistema operacional quais sistemas de arquivos ele poder acessar. Para cada sistema de arquivos montado no startup, um bit no cabealho do sistema de arquivos zerado para indica que o sistema de arquivos est em uso a partir daquele momento e que as estruturas de dados usadas para o alocao e organizao de arquivos/diretrios podem sofrer mudanas (atualizaes). Quando o usurio decide desligar o computador e usa comandos para encerrar o Linux, os sistemas de arquivos so desmontados, fazendo com que o bit citado acima seja modificado para indicar que o sistema de arquivos est consistente, ou seja, no pode mais sofrer mudanas.

O fsck consegue prover resultados satisfatrios, mas a correo de erros pode levar muito tempo, algo inaceitvel em aplicaes crticas. Alm disso, se o desligamento incorreto do computador ocorreu quando dados estavam sendo gravados no disco, o fsck no conseguir completar esses processos, ocasionando a perda das informaes que estavam sendo gravadas. Diante desses problemas, foi apresentada uma soluo vivel: a utilizao de sistemas de arquivos com a tecnologia Journaling;, que possuem a capacidade de acompanhar as mudanas que sero feitas no sistema de arquivos (por exemplo, gravaes/atualizaes de dados) antes que realmente sejam feitas. Essas informaes que o Journaling captura so ento armazenadas em uma parte separada do sistema de arquivos, denominada Journal (mas tambm conhecida por registros de log). Quando as informaes so armazenadas no Journal, o sistema de arquivos aplica as mudanas registradas nele e ento, remove as informaes do Journal. Agora, entenda porque o Journaling uma soluo eficiente para os problemas de erro. Os registros de log so escritos antes que as mudanas efetivamente ocorram no sistema de arquivos e esses registros somente so eliminados quando as mudanas so feitas. Assim, se o computador indevidamente desligado, o processo de montagem no prximo startup verificar se h mudanas gravadas no Journal marcadas como no feitas. Se houver, tais mudanas so ento aplicadas ao sistema de arquivos. Isso faz com que os riscos de perda de dados sejam reduzidos drasticamente.

6. Erros e corrompimento do sistema de arquivos no Sistema Operacional Linux


Os sistemas de arquivos para Linux j sofreram muitos tipos de tratamentos e reescrita de cdigo para eliminar o corrompimento causado por aplicaes ou pelo prprio kernel. No entanto, eliminar o corrompimento de dados em arquivos causados, por exemplo, pela queda de energia ou pelo desligamento incorreto por parte do usurio, sempre foi uma tarefa praticamente impossvel. Quando o sistema desligado incorretamente o bit do cabealho do sistema de arquivos no ajustado. A soluo foi fazer com que, no prximo processo de carregamento do Linux, seja verificado se o cabealho est com o bit de cabealho setado para indicar que o sistema de arquivos est consistente e no manipulvel. Caso no esteja, a ferrramenta fsck verifica o sistema na busca de erros.

8. Sistema de arquivos ext3


Existem vrios sistemas de arquivos disponveis com a tecnologia Journaling, como o XFS, desenvolvido originalmente pela Silicon Graphics e posteriormente disponibilizado com cdigo aberto, o ReiserFS, desenvolvido especialmente para Linux, JFS, desenvolvido originalmente pela IBM mas tambm liberado com cdigo aberto, e o mais conhecido deles: o ext3, desenvolvido pelo Dr. Stephen Tweedie juntamente com outros colaboradores, na Red Hat, e que veremos agora. O sistema de arquivos ext3 basicamente o sistema de arquivos ext2 com recursos de Journaling. Talvez, essa seja a razo de seu uso amplo: ele totalmente compatvel com ext2 (que foi um sistema de arquivos muito usado), o que nenhum outro sistema de arquivos baseado em Journaling . O ext3 passou a ser efetivamente suportado pelo kernel do Linux a partir da verso 2.4. Conseqentemente, todas as distribuies Linux lanadas

7. Journaling

com esse kernel ou superior, tem suporte padro para ext3. No ext3, o cdigo de Journaling usa uma camada chamada Journaling Block Device (JBD). A JBD foi criada com o propsito de implementar Journal em qualquer tipo de dispositivo com base em blocos de dados. Por exemplo, o cdigo ext3 informa e pede autorizao JDB para efetuar as mudanas, antes de modificar/adicionar qualquer dado no disco. Sendo assim, o JDB que verdadeiramente gerencia o Journal. O fato mais interessante disso que, a JDB funciona como uma entidade independente, permitindo que no s o ext3 a use, mas tambm outros sistemas de arquivos. A JDB utiliza um mtodo diferente de outros Journalings para recuperao de informaes. Ao invs de armazenar as informaes em bytes que depois devem ser implementados, a JDB grava os prprios blocos modificados do sistema de arquivos. Assim, o ext3 tambm armazena rplicas completas dos blocos modificados em memria para rastrear as operaes que ficaram pendentes. A desvantagem desta forma de trabalho que o Journal acaba sendo maior. No entanto, o ext3 no precisa lidar com a complexidade dos Journalings que trabalham gravando bytes. O ext3 suporta trs diferentes modos de trabalho do Journaling. So eles: Journal: grava todas as mudanas em sistema de arquivos. o mais lento dos trs modos, mas o que possui maior capacidade de evitar perda de dados; Ordered: grava somente mudanas em arquivos metadata (arquivos que guardam informaes sobre outros arquivos), mas guardas as atualizaes no arquivo de dados antes de fazer as mudanas associadas ao sistema de arquivos. Este Journaling o padro nos sistemas de arquivos ext3; Writeback: tambm s grava mudanas para o sistema de arquivo em metadata, mas utiliza o processo de escrita do sistema de arquivos em uso para gravao. o mais rpido Journaling ext3, mas o menos confivel. O modo Ordered o padro no ext3, mas possvel especificar qual o modo que voc deseja usar, atravs da atualizao do arquivo fstab. Por exemplo, pode ser que a linha /dev/hda1/opt tenha sua opo data com o valor ordered. Voc pode mudar este valor para writeback ou journal.

http://www.li.facens.br/gas/node42.html [3] Prazer, S. S., Sistemas de arquivos em Linux, Universidade de So Paulo, 2000 Disponvel WWW em: http://latt.if.usp.br/fma215/galeria/simone/node1.html Sites visitados: http://www.infowester.com/linext3.htm http://www.infowester.com/ntfs.htm http://www.infowester.com/fat.htm

9. Referncias
[1] Silberschatz, A., Galvin, P., Gagne, G., Sistemas Operacionais, Editora Campus, 2001 [2] Wirzenius, L., Guia do Administrador de Sistemas Linux, Editora Conectiva Informtica , 1999 Disponvel WWW em:

Potrebbero piacerti anche