%--------------------------------------------------------------------
\chapter{Visão Geral da Árvore de Diretórios} \label{chap:walkabout}
%--------------------------------------------------------------------


        \begin{chapterquote}
	Dois dias depois, lá estava Pooh, \\
	sentado em seu banco, balançando suas pernas, \\
	e ao seu lado, quatro potes de mel\dots \\
	(A.A.\ Milne) \\
        \end{chapterquote}

	\noindent
	Este capítulo descreve as partes  importantes 
	da árvore de diretórios do \linux,
	baseado no Sistema de Arquivos Padrão do \linux\ -
	FSSTND. Ele descreve a forma usual de dividir a
	árvore de diretórios em diferentes sistemas de
	arquivos com diferentes propósitos, justificando a
	adoção de cada divisão. Algumas opções alternativas de particionamento
	são também descritas.


%	\meta The next version of the FSSTND (1.3?) will cause many
%	minor changes, and some new ones, due to work to make the
%	FSSTND work for BSD systems as well.

\section{Background}

	Este capítulo está de certa forma baseado no Sistema de Arquivos 
	Padrão do Linux  (FSSTND), versão 1.2, (veja \cite{fsstnd-1.2}) o qual 
	busca definir uma padronização para a organização da árvore de
	diretórios no \linux.  Tal padrão tem a função de facilitar o
	desenvolvimento e o porte para o \linux, assim como
	a administração de máquinas \linux, uma vez que tudo
	estará localizado em caminhos conhecidos. Não há
	obrigatoriedade da adoção desta padronização,  nem
	nada que obrigue quem quer que seja a utilizá-la,
	além do bom senso, uma vez que ela tem o apoio da
	maioria, senão da totalidade, das distribuições
	\linux. Portanto não é aconselhável alterar o padrão
	da árvore de diretórios, a menos que se tenha
	razões muito fortes para isso. O FSSTND busca
	manter os padrões antigos do UNIX, conciliando-os
	com novas demandas, fazendo com o que o \linux\ 
	torne-se mais familiar para aqueles com alguma
	experiência em outros UNIX e vice e versa.

	Este capítulo não é tão detalhado como o FSSTND. Um
	administrador de sistemas deverá  ler aquela
	especificação  para um completo entendimento.

	Também não são descritos todos os arquivos em
	detalhes. A intenção é de apresentar uma visão
	geral, sob um ponto de vista de sistemas de
	arquivos. Maiores informações sobre cada arquivo
	podem ser encontradas em outros pontos deste manual
	ou nas páginas de manual do \linux.

	A árvore de diretórios deve ser dividida em partes
	menores, cada uma com o seu próprio disco ou
	partição, facilitando questões como limites de
	tamanho de disco ou a geração de cópias de
	segurança. Os sistemas de arquivo mais importantes são o
	raiz (root), \fn{/usr} , \fn{/var} , e \fn{/home} (vide figura
	\ref{fig:fstree}). Cada parte tem um propósito diferente. O
	desenho da árvore foi idealizado para funcionar tanto em máquinas 
	que necessitem compartilhar partes do sistema de arquivos com
	autorização somente de leitura (por exemplo um CD-ROM), assim como
	na rede via NFS.

	
		\begin{figure}[htb]
		\begin{center}
	%%	\includegraphics{walkabout/fstree.ps}
		\end{center}
		\caption{Partes de uma árvore de diretório do Unix.
			linhas tracejadas indicam os limites das partições.}
		\label{fig:fstree}
		\end{figure}

	As regras para tal divisão são descritas a seguir.
		%
	\begin{itemize}
	\item
	O sistema de arquivos raiz é específico de cada máquina 
	(ele é geralmente armazenado em um disco
	local, apesar de poder ser um disco em memória (ramdisk) ou uma 
	unidade de rede) e contém os arquivos necessários para a inicialização do
	sistema e para permitir o acesso aos demais sistemas de arquivos. 
	O conteúdo do sistema de arquivos raiz deverá ser suficiente ainda para 
	que o sistema possa ser executado em modo monousuário. Ele contém ainda 
	ferramentas para resolver eventuais problemas de disco e recuperar 
	arquivos a partir de cópias de segurança.

	\item
	O sistema de arquivos \fn{/usr} contém os comandos,
	bibliotecas, páginas de manual e outros arquivos
	imutáveis, necessários para a operação normal do
	sistema. Os arquivos no \fn{/usr} não devem ser
	específicos para uma determinada máquina e não
	devem ser alterados durante o uso normal. Isso
	permite que estes arquivos possam ser
	compartilhados através da rede, o que pode ser
	bastante interessante pela possível economia de
	espaço em disco, (o \fn{/usr} pode conter facilmente
	centenas de megabytes) torna a administração mais
	simples (uma vez que somente o \fn{/usr} na máquina
	principal necessita ser atualizado e mantido em
	dia\footnote{note que ao utilizar sistemas baseados na tecnologia rpm, 
	os pacotes devem ser instalados somente na máquina principal}). 
	Mesmo que este sistema de arquivos esteja no
	disco local, ele deve ser montado com autorização
	somente de leitura, para diminuir a chance de
	corrupção de arquivos durante um eventual acidente.
\index{rpm} 

	\item
	O sistema de arquivos \fn{/var} contém arquivos
	mutáveis, como diretórios de arquivos temporários,
	spool (para correio eletrônico, news, impressões, etc), logs,
	páginas de manual formatadas, etc\dots
	Tradicionalmente o conteúdo do \fn{/var} era montado em
	algum lugar sob o \fn{/usr}, porém isso tornava
	impossível montar o \fn{/usr} com permissões somente de
	leitura.

	\item
	O sistema de arquivos \fn{/home} contém os diretórios
	pessoais dos usuários, ou seja, todas as
	informações armazenadas por estes no sistema.
	Separar diretórios pessoais em sua própria árvore
	de diretórios ou sistema de arquivos simplifica a
	geração de cópias de segurança, uma vez que outras
	partes do sistema normalmente não necessitam de 
	cópias com a mesma frequência. Um \fn{/home} muito
	grande pode ser dividido em diversos sistemas de
	arquivos que requerem um nível adicional na sua
	denominação, p. ex., \fn{/home/alunos} ou
	\fn{/home/funcionários}.

	\end{itemize}
		%
	Apesar das diferentes partes acima serem chamadas
	de sistemas de arquivos, não há obrigatoriedade que
	elas estejam assim separadas. Elas podem estar facilmente
	no mesmo sistema de arquivos em uma pequena máquina
	utilizada por um único usuário que deseje mantê-las
	de uma forma mais simplificada. A árvore de
	diretórios pode estar dividida ainda em diferentes
	sistemas de arquivos, dependendo do tamanho de cada
	disco e de quanto espaço será alocado para cada
	finalidade. A parte importante é que os nomes
	padrão funcionam, mesmo que o \fn{/var} e o \fn{/usr} estejam na mesma
	partição, os arquivos \fn{/usr/lib/libc.a} e \fn{/var/adm/messages}
	apontarão para os locais corretos, pois somente é necessário mover 
	os dados do \fn{/var} para \fn{/usr/var} e fazer um link simbólico do
	\fn{/var} para o \fn{/usr/var}.

	A estrutura dos sistemas de arquivos \unix\ prevê um
	agrupamento de acordo com o propósito. Os comandos estão todos
	em uma determinada área, todos os arquivos de dados em uma outra, 
	documentação em uma terceira, e assim por diante. Uma alternativa
	seria agrupar os arquivo de acordo com os programas
	a que eles pertençam, isto é, os arquivo do Emacs
	estariam todos em um único diretório, todos os
	arquivos do \TeX\ em outro, e assim por diante. O
	problema dessa abordagem reside no compartilhamento
	de arquivos (um diretório de programas contém todos
	os tipos de arquivos: estáticos, dinâmicos,
	compartilhados e não compartilhados,...) e algumas
	vezes em encontrar alguns desses arquivos (por
	exemplo uma página de manual a ser pesquisada em um
	grande número de diretórios é um pesadelo para a administração).


\section{O Sistema de arquivos raiz (root)}

	O sistema de arquivos raiz deve geralmente ser
	pequeno, pois ele contém  somente os arquivos
	fundamentais para a inicialização e funcionamento do
	sistema. Um sistema pequeno e pouco modificado tem
	uma chance maior de não ter problemas. Um sistema
	de arquivos raiz corrompido normalmente significa que o 
	sistema não poderá ser inicializado, exceto através de medidas especiais
	(como por exemplo, por disquetes).


	O diretório raiz geralmente não contém nenhum
	arquivo, exceto, em algumas distribuições, pela imagem de inicialização 
	(boot) do sistema chamada \fn{/vmlinuz}\footnote{No Conectiva Linux a 
	imagem do kernel encontra-se no diretório \fn{/boot}}. Todos os outros 
	arquivos estão em subdiretórios do raiz:

		%
	\begin{dispitems}
	\item[\fn{/bin}]
		Comandos necessários durante a inicialização do
		sistema que podem ser utilizados pelos usuários
		(provavelmente após a ativação).

	\item[\fn{/sbin}]
		Similar ao \fn{/bin}, porém os comandos não são
		destinados aos usuários comuns, apesar de poderem
		ser utilizados por estes se necessário.

	\item[\fn{/etc}]
		Arquivos de configuração específicos da máquina.

	\item[\fn{/root}]
		O diretório pessoal do \texttt{superusuário} (root).

	\item[\fn{/lib}]
		Bibliotecas compartilhadas necessárias aos
		programas no sistema de arquivos raiz.

	\item[\fn{/lib/modules}]
		Módulos dinâmicos e carregáveis pelo kernel,
		especialmente aqueles necessários para inicializar
		o sistema em caso de acidentes (por exemplo
		programas de controle de sistemas de arquivos de
		redes).

	\item[\fn{/dev}]
		Arquivos de dispositivos. 

	\item[\fn{/tmp}]
		Arquivos temporários. Programas que são executados
		após a ativação do sistema devem usar o \fn{/var/tmp} e
		não o \fn{/tmp}, uma vez que provavelmente encontrarão
		mais espaço disponível neste sistema de arquivos.

	\item[\fn{/boot}]
		Arquivos utilizados pelo gerenciador de
		inicialização do sistema, p. ex., LILO.
		Imagens do kernel são normalmente mantidas aqui ao
		invés de no diretório raiz. Casa haja inúmeras
		imagens, o diretório pode facilmente crescer
		demasiadamente, sendo aconselhável mantê-lo em um
		sistema de arquivos à parte. Outra razão é estar
		seguro de que as imagens do kernel estejam nos
		primeiros 1024 cilindros de um disco IDE.

	\item[\fn{/mnt}]
		Ponto para montagens temporárias realizadas pelo
		administrador do sistema. Programas usualmente não
		prevêem a montagem automática no \fn{/mnt}. Este deve
		estar dividido em subdiretórios, como por exemplo
		\fn{/mnt/dosa} sendo uma unidade de disquetes utilizando
		um sistemas de arquivos MS-DOS, e \fn{/mnt/exta} pode
		ser a mesma unidade,porém com uma extensão ext2.

	\item[\fn{/proc}, \fn{/usr}, \fn{/var}, \fn{/home}]
		Pontos de montagem para outros sistemas de arquivos.  
	\end{dispitems}

\subsection{O diretório \fn{/etc}}

	O diretório \fn{/etc} contém inúmeros arquivos. Alguns
	deles estão descritos a seguir. Para outras
	descrições é necessário determinar a quais
	programas eles pertencem e ler as páginas de manual
	daqueles programas.  Para sistemas que utilizam a tecnologia RPM, 
	basta executar ``\cmd{rpm -qf arquivo}'' que o sistema lhe dirá a qual
	pacote o arquivo pertence. Muitos arquivos de configuração
	de programas de rede estão no \fn{/etc}, assim como
	encontram-se descritos no Guia do Administrador de
	Redes (\cite{network-admin-guide}).
\index{rpm}


		%
	\begin{dispitems}
	\item[\fn{/etc/rc} ou \fn{/etc/rc.d} ou \fn{/etc/rc?.d}]
	São scripts (arquivos de lote) ou os diretórios de scripts que
	são executados no início do sistema ou na mudança de nível do sistema. 
	Veja o capítulo \ref{ch:init} sobre o processo \cmd{init} para maiores 
	informações.

	\item[\fn{/etc/passwd}]
	A base de dados de usuários, cujos campos definem
	nome do usuário, nome real, diretório pessoal,
	senha criptografada e outras informações específicas de
	cada usuário. O formato está documentado na página
	de manual do comando \man{passwd} ou no
	Apêndice~\ref{chap:comandos}.


	\item[\fn{/etc/fdprm}]
	A tabela de parâmetros de disquetes. Descreve os
	diferentes formatos disponíveis. É utilizada pelo
	programa \cmd{setfdprm}. Para maiores informações veja 
	página de manual.

	\item[\fn{/etc/fstab}]
	Lista os sistemas de arquivos montados
	automaticamente, durante a inicialização do
	sistema, pelo comando \texttt{mount -a} (no script de inicialização
	\fn{/etc/rc.d/rc.sysinit} ou similar). No \linux,
	contém ainda informações sobre as áreas de troca
	(swap) usadas automaticamente pelo comando \texttt{swapon -a}. 
	Veja a a seção \ref{subsec:mount} e a página de manual do \man{mount}
	para maiores informações.


	\item[\fn{/etc/group}]
	Similar ao \fn{/etc/passwd}, porém descreve grupos ao
	invés de usuários. Veja a página de manual do \man{group}
	para maiores informações.

	\item[\fn{/etc/inittab}]
	Arquivo de configuração do \cmd{init}.

	\item[\fn{/etc/issue}]
	Saída do programa \cmd{getty} antes do prompt de acesso
	ao sistema. Normalmente contém uma breve descrição
	ou mensagens de boas-vindas. O conteúdo fica a
	critério do administrador do sistema\footnote{No Conectiva \linux,
	o \fn{/etc/issue} é inicializado no arquivo \fn{/etc/rc.d/rc.local}}.

	\item[\fn{/etc/motd}]
	A \defin{mensagem do dia}, automaticamente apresentada após
	um acesso bem sucedido. Conteúdos são a critério do
	administrador do sistema. Normalmente são usadas
	para enviar informações para os usuários, como por
	exemplo avisos de desligamentos planejados.

	\item[\fn{/etc/mtab}]
	Lista dos sistemas de arquivos montados.  Inicialmente configurado
	por scripts e posteriormente atualizado pelo comando \cmd{mount}. Usado
	quando uma listagem dos sistemas de arquivos é necessária, como por 
	exemplo, pelo comando \cmd{df}.


	\item[\fn{/etc/shadow}]
	Arquivo de senhas em sistemas onde o \fn{shadow} esteja instalado. Esta
	opção move as senhas criptografadas do \fn{/etc/passwd} para o
	arquivo \fn{/etc/shadow} o qual somente pode ser lido
	pelo superusuário. O \fn{shadow} dá uma maior segurança às senhas 
	dos usuários.


	\item[\fn{/etc/login.defs}]
	Arquivo de configuração do programa \cmd{login}.

	\item[\fn{/etc/termcap}]
	O arquivo de configuração de terminal. Descreve as
	``seqüências de escape'' para os diversos tipos de terminais.
	Os programas ao invés de escreverem diretamente uma seqüência
	que funcione em determinado tipo de terminal, devem buscar a
	seqüência correta no \fn{/etc/termcap}. Desta maneira os programas
	funcionam na maioria dos terminais. Veja as páginas
%	de manual do \man{termcap} e \man{terminfo} para maiores informações.
	de manual do \man{termcap}, \man{curs\_termcap} e \man{terminfo} para
%% o curs_termcap está dando erro na compilação...
%% ter set 22 17:25 1998 - - <rodrigo@conectiva.com.br>

	\item[\fn{/etc/printcap}]
	Similar ao \fn{/etc/termcap}, mas direcionado à
	impressoras e com sintaxe diferente.

	\item[\fn{/etc/profile}, \fn{/etc/bashrc}]
	Arquivos executados pelo Bourne Shell e Bash, no momento do login
	do usuário. Estes arquivos permitem ao administrador
	manipular o ambiente de trabalho de todos os usuários do sistema.
	Veja as páginas de manual dos interpretadores de comandos para
	detalhes específicos.
\index{bash} 
\index{bourne shell} 


	\item[\fn{/etc/securetty}]
	Identifica terminais seguros, ou seja, aquele nos
	quais é permitido que o \texttt{root} acesse o
	sistema. Normalmente somente as consoles virtuais
	são listadas, tornando muito mais difícil obter os
	privilégios de superusuário do sistema através da
	rede ou de uma conexão via modem.
\index{root}
\index{superusuário}

	\item[\fn{/etc/shells}]
	Lista as shells válidas. O comando \cmd{chsh} permite que os usuários
	mudem sua shell de login, porém,  somente para aquelas listadas neste
	arquivo. O servidor de transferência de arquivos, \cmd{ftpd}, checará 
	se a shell do usuário está listado no \fn{/etc/shells} e não aceitará
	acessos, a menos que ela esteja presente neste arquivo.

	\end{dispitems}

%	\meta HOSTNAME, adjtime, disktab, gettydefs, networking
%	(exports, host.conf, hosts, hosts.equiv, inetd.conf, named.*,
%	networks, ntp.conf, protocols, resolv.conf, rpc, services,
%	syslog.conf), mtools, and so forth.

\subsection{O diretório \fn{/dev}}

	O diretório \fn{/dev} contém arquivos especiais
	(drivers) de controle de todos os dispositivos.
	Estes arquivos utilizam uma denominação especial
	descrita na lista de devices (veja~\cite{device-list}). Os 
	controladores são criados durante a instalação, e posteriormente
	através do script \cmd{/dev/MAKEDEV}. O
	\cmd{/dev/MAKEDEV.local} é um script escrito
	pelo administrador para criar somente os
	devices locais que não façam parte do padrão do \cmd{MAKEDEV}.


\section{O sistema de arquivos  \fn{/usr}}

	O sistema de arquivos \fn{/usr} é grande, uma vez que a maioria
	dos programas estão ali instalados. 
	Os arquivos do \fn{/usr} são normalmente instalados
	pela sua distribuição do \linux. Programas locais
	são instalados no \fn{/usr/local}\footnote{pacotes adicionais são 
	instalados atualmente no \fn{/opt}}. Isso torna a 
	atualização do sistema possível para uma nova versão da distribuição ou
	mesmo para uma distribuição completamente nova, sem
	que seja necessário instalar todos os programas
	novamente. Alguns dos subdiretórios do \fn{/usr} estão
	listados a seguir (outros menos importantes podem
	ser encontrados no FSSTND para maiores
	informações).

		%
	\begin{dispitems}
	\item[\fn{/usr/X11R6}]
		Arquivos do X Window. Para simplificar o
		desenvolvimento e a instalação do X, seus arquivos
		não foram integrados ao restante do sistema. 
		Há uma árvore de diretórios sob \fn{/usr/X11R6} similar ao \fn{/usr}.



	\item[\fn{/usr/X386}]
		Similar ao \fn{/usr/X11R6}, mas para o X11 Release 5.
	\item[\fn{/usr/bin}]
		Praticamente todos os comandos de usuários. Alguns
		outros podem ser encontrados em \fn{/bin} ou
		\fn{/usr/local/bin}.

	\item[\fn{/usr/sbin}]
		Comandos de administração do sistema que não
		necessitem estar no sistema de arquivos raiz, como
		servidores.

	\item[\fn{/usr/man}, \fn{/usr/info}, \fn{/usr/doc}]
		Páginas de manual, documentos do GNU/Info e diversos
		outros documentos, respectivamente.
		
	\item[\fn{/usr/include}]
		Arquivos header para a linguagem de programação C.
		Este diretório deveria estar sob o \fn{/usr/lib}, porém
		por tradição tem sido mantido neste local.

	\item[\fn{/usr/lib}]
		Arquivos estáticos de dados para programas e
		subsistemas, incluindo alguns arquivos de
		configuração globais. O nome \texttt{lib} vem de
		library (biblioteca); originalmente as
		bibliotecas de programação eram armazenadas neste
		subdiretório.

	\item[\fn{/usr/local}]
		O local para programas instalados localmente e outros arquivos.

	\item[\fn{/usr/share/magic}]
		O arquivo de  configuração para o comando \cmd{file}.
		Contém as descrições de vários formatos de arquivos nas quais o 
		\cmd{file} pode descobrir o tipo do arquivo . Veja as páginas de 
		manual do \man{magic} e do \man{file} para maiores informações.

	\end{dispitems}

\section{O sistema de arquivos \fn{/var}}

	O sistema de arquivos \fn{/var} contém dados que são alterados quando 
	o sistema está sendo executado. É específico de cada sistema, ou seja, não
	compartilhado através da rede com outros equipamentos.

		%
	\begin{dispitems}
	\item[\fn{/var/catman}]
		Um cache para páginas de manual que são formatadas
		quando solicitadas. Os fontes para as páginas são
		armazenados em \fn{/usr/man/man*}, sendo que algumas
		páginas podem vir pré-formatadas, estando
		armazenadas em \fn{/usr/man/cat*}.  Outras páginas
		necessitam ser formatadas quando acessadas pela primeira vez.
		A versão formatada fica armazenada em \fn{/var/catman},
		fazendo com que outro usuário que acesse a página,
		tenha esta pronta e disponível. O
		diretório \fn{/var/catman} é freqüentemente esvaziado,
		da mesma forma que os arquivos temporários.
%%
%% ??? fazer uma revisão dos arquivos acima
%% ter set 22 18:15 1998 - - <rodrigo@conectiva.com.br>
%%


	\item[\fn{/var/lib}]
		Arquivos que mudam enquanto o sistema está ativo.

	\item[\fn{/var/local}]
		Dados variáveis para programas que estejam
		instalados no \fn{/usr/local}.
		Note que mesmo quando instalado localmente estes
		programas podem usar outros subdiretórios do \fn{/var},
		como por exemplo o \fn{/var/lock}.


	\item[\fn{/var/lock}]
		Arquivos de bloqueio. Muitos programas seguem uma
		convenção de se criar arquivos no \fn{/var/lock} para
		indicar que eles estão utilizando um dispositivo em
		particular ou um determinado arquivo. Outros
		programas perceberão a existência do arquivo de
		bloqueio e não tentarão utilizar o mesmo
		dispositivo ou arquivo.



	\item[\fn{/var/log}]
		Arquivos de históricos de vários programas,
		especialmente o \fn{login} (\fn{/var/log/wtmp}, o qual
		registra todas as entradas e saídas do sistema) e o 
		\cmd{syslog} (\fn{/var/log/messages}, o qual contém as
		mensagens do kernel e programas do sistema).
		Os arquivos no \fn{/var/log} podem crescer indefinidamente
		com freqüência e podem requerer limpezas
		periódicas\footnote{neste caso é conveniente instalar o pacote
		\fn{logrotate}}.



	\item[\fn{/var/run}]
		Arquivos que contém informações sobre o sistema e
		que são válidas até a próxima inicialização. Por
		exemplo, o \fn{/var/run/utmp} contém informações sobre os
		usuários atualmente conectados.

	\item[\fn{/var/spool}]
		Diretórios para mails, news, filas de impressão e outros
		trabalhos em fila. Cada fila tem o seu próprio subdiretório
		sob o \fn{/var/spool}, p. ex.,  as mensagens de
		correio eletrônico estão armazenadas em
		\fn{/var/spool/mail}.

%% ter set 22 18:37 1998 - - <rodrigo@conectiva.com.br>
%% ??? verificar a validade da expressão p. ex

	\item[\fn{/var/tmp}]
		Arquivos temporários que sejam muito grandes ou que
		necessitem existir por um período maior que o
		definido para o \fn{/tmp}. Note que o administrador do
		sistema poder não permitir arquivos muitos antigos
		também no \fn{/var/tmp}.

	\end{dispitems}


\section{O sistema de arquivos  \fn{/proc}}

	O \fn{/proc} é um sistema de arquivos ilusório.
	Na verdade ele não existe em um disco rígido. 
	É criado em memória pelo kernel, sendo usado para disponibilizar
	informações sobre o sistema (originalmente sobre os processos, daí a
	origem de seu nome). Alguns dos arquivos mais importantes e diretórios
	são detalhados abaixo.  O \fn{/proc} é descrito mais
	detalhadamente na página de manual \man{proc}.

		%
	\begin{dispitems}
	\item[\fn{/proc/1}]
		Um diretório com as informações do processo número
		1 \texttt{(init)}. Cada processo tem um diretório embaixo do
		/proc, cujo nome equivale ao seu número de
		identificação.                                                                 
%% ??? verificar o uso do \texttt em comandos

	\item[\fn{/proc/cpuinfo}]
		Informações sobre o processador, tais como tipo,
		fabricante, modelo, e performance.

	\item[\fn{/proc/devices}]
		Lista dos  controladores de dispositivo
		configurados no kernel atualmente em execução.

	\item[\fn{/proc/dma}]
		Mostra quais canais DMA\footnote{Direct Memory Access: acesso 
		direto à memória por dispositivo periférico inteligente, de 
		entrada e saída} estão sendo utilizados no momento.                                                                      
	\item[\fn{/proc/filesystems}]
		Sistemas de arquivos configurados no kernel.                      
	\item[\fn{/proc/interrupts}]
		Mostra quais interrupções estão em uso e quantas vezes foram
		chamadas.

	\item[\fn{/proc/ioports}]
		Quais portas de entrada e saída estão em uso no momento.   
	\item[\fn{/proc/kcore}]
		Imagem da memória física do sistema. Tem exatamente
		o mesmo tamanho da memória física, mas não ocupa
		toda aquela área. Ela é gerada em tempo de execução, através
		do acesso dos programas.(Lembre-se: a menos que você copie
		esta imagem para outro lugar, nada abaixo do \fn{/proc} ocupa espaço
		em disco.

	\item[\fn{/proc/kmsg}]
		Mensagens de saída do kernel. São direcionadas
		também para o \fn{syslog}.

	\item[\fn{/proc/ksyms}]
		Tabela de símbolos para o kernel.

	\item[\fn{/proc/loadavg}]
		A `carga média' do sistema, contendo três indicadores
		de quanto trabalho o sistema está executando no
		momento.

	\item[\fn{/proc/meminfo}]
		Informações sobre o uso de memória, tanto física
		como de swap.
\index{memória}
\index{swap}

	\item[\fn{/proc/modules}]
		Descreve quais módulos estão carregados no momento.    

	\item[\fn{/proc/net}]
		Informações sobre a situação dos protocolos de rede.                                                                      
	\item[\fn{/proc/self}]
		Um link simbólico para o diretório de processos
		do programa que está olhando para o \fn{/proc} no momento. 
		Quando dois processos acessam o \fn{/proc}, estes recebem
		diferentes links. Isto é feito para facilitar a vida dos
		programas quando estes olham o seu diretório de processos.

	\item[\fn{/proc/stat}]
%%  ??? of page faults since the system was booted.

		Diversas estatísticas sobre o sistema, como o
		número de páginações desde seu início, E/S,
		processos executados, etc...

	\item[\fn{/proc/uptime}]
		O tempo que o sistema está ativo.   
	\item[\fn{/proc/version}]
		Versão do kernel do sistema.       
	\end{dispitems}
		%
	Note que enquanto os arquivos acima são de fácil
	leitura, por estarem em formato texto, não quer dizer que eles
	sejam facilmente lidos. Há muitos comandos que fazem mais que somente
	ler os arquivos acima e formatar o seu conteúdo para um
	melhor entendimento. Por exemplo o programa \cmd{free} lê
	o conteúdo do \fn{/proc/meminfo} e converte as
	informações dadas em bytes para kilobytes, com
	algumas pequenas informações adicionais.
