Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

Prévia do material em texto

71
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Unidade IV
7 SISTEMAS DE ARQUIVOS
7.1 Introdução a sistemas de arquivos
Em linhas gerais, no ambiente computacional, espera‑se que dados inseridos na entrada saiam 
como produto final, informação processada. Essas informações podem ser compreendidas como textos, 
planilhas, figuras, filmes etc. As informações que podem ocupar de alguns bytes a milhares de milhões 
de bytes devem ser armazenadas em dispositivos não voláteis, ou seja, não podem ser perdidas com o 
desligamento do computador e podem ser acessadas por múltiplos processos de forma concorrente. 
As informações são armazenadas tipicamente em disco e o armazenamento resume‑se em sequências 
lineares de blocos de tamanho fixo que suportam duas operações: busca do bloco k e escrita no bloco k, 
surgindo, portanto, o conceito de arquivo.
7.1.1 Arquivos
Podemos definir um arquivo como sendo um conjunto de dados armazenados 
em um dispositivo físico não volátil, com um nome e/ou referência que 
permita sua localização futura.1
Arquivos podem ter diversos formatos, desde um simples arquivo texto ASCII com alguns poucos 
bytes, até mesmo vídeos com vários megabytes ou gibabytes em diversos formatos.
Um sistema de armazenamento de arquivos pode conter milhões de 
arquivos que são organizados em estruturas hierárquicas denominadas 
diretórios. A estrutura e a organização física e lógica dos arquivos e 
diretórios dentro de um dispositivo de armazenamento são denominadas 
de sistema de arquivos.2
7.1.2 Atributos
Cada arquivo é diferenciado por um conjunto de atributos. Tipicamente, temos alguns atributos mais usados:
• Nome: uma sequência de caracteres para identificar de tal forma que um ser humano, ao vê‑lo 
na tela, consiga identificá‑lo. Exemplo: relatorio.doc.
1 Disponível em: <http://www.scribd.com/doc/12385571/Sistemas‑Operacionais‑Gerencia‑de‑Arquivos>. Acesso 
em: 8 jun. 2011.
2 Idem.
Fabi
Realce
Fabi
Realce
Fabi
Realce
Fabi
Realce
Fabi
Realce
Fabi
Realce
Fabi
Realce
72
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
• Data: é muito útil no que tange ao gerenciamento do ambiente. Além de ajudar o usuário a saber 
quando um arquivo foi criado, pode também controlar a data e a hora do último acesso, da última 
modificação do conteúdo e até mesmo da última alteração de outro atributo, como o nome do 
arquivo, por exemplo.
• Tipo: indica se o formato do arquivo é áudio, vídeo, imagem, texto ou outro. O sistema de 
arquivos do Windows e outros usam a extensão, que é parte do nome, para indicar o tipo do 
arquivo. Exemplo: “.doc” no arquivo com o nome “relatorio.doc” refere‑se a um arquivo de texto 
(abreviação de document).
• Tamanho: esse atributo determina quanto de espaço em bytes (1 byte = 8 bits) ou registros. 
Exemplo: relatorio.doc 906.085 bytes.
• Proprietário: atualmente, com os sistemas em rede e multiusuários, cada arquivo tem 
um proprietário, que deve estar corretamente identificado – em alguns casos o próprio 
sistema é o proprietário do arquivo e por isso nenhum usuário deveria alterá‑lo.
• Permissões de acesso: determina qual usuário têm acesso ao arquivo e quais permissões são 
atribuídas a cada usuário (leitura, escrita, remoção etc.).
— Um usuário de sistema Unix chamado root, na teoria, deveria ter acesso total ao arquivo, 
enquanto um usuário ou um processo que só deve consultar um arquivo de registros de log 
deveria ter acesso só de leitura.
• Localização: esse atributo indica o dispositivo físico onde o arquivo se encontra e da posição do 
arquivo dentro do mesmo. Para o usuário do sistema a localização do arquivo é demonstrada como 
uma estrutura hierárquica que parte da raiz que é o pai de todos os demais repositórios filhos.
7.1.3 Estrutura de arquivo
Os arquivos podem ser estruturados de várias formas. A Figura 40 demonstra três possibilidades 
comuns, sendo a Figura 40a uma sequência de estrutura de bytes. Para os sistemas operacionais Windows 
e Unix, a estrutura de um arquivo nada mais é que uma sequência desestruturada de bytes.
Isso oferece a máxima flexibilidade, tendo em vista que os programas dos 
usuários podem pôr qualquer coisa que seja necessária em seus arquivos e 
ter os nomes que mais forem convenientes.3
Na Figura 40b, é demonstrada uma forma estruturada.
Nessa estrutura, o arquivo é uma sequência de registros de tamanho fixo, 
cada um com alguma estrutura interna. A principal característica dessa 
3 Disponível em: <http://www.ufpi.br/subsiteFiles/eml/arquivos/files/SO/SO_Livro.pdf>. Acesso em: 8 jun. 2011.
Fabi
Realce
Fabi
Realce
Fabi
Realce
Fabi
Realce
Fabi
Realce
73
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
estrutura é que a operação de leitura retorna um registro e a operação de 
escrita sobrepõe ou anexa um registro, entretanto, esse modelo não é mais 
aplicado nos sistemas atuais.4
Na organização demonstrada na Figura 40c, um arquivo é constituído de uma árvore de registros, 
cada uma contendo um campo‑chave em uma posição fixa no registro. Para que uma chave específica 
seja buscada de forma mais rápida, a árvore é ordenada pelo campo‑chave. O sistema operacional 
decide onde colocar novos registros no arquivo. Esse tipo de arquivo é bem diferente dos fluxos de 
bytes desestruturados que são usados pelo Windows e Unix, porém são ainda muito usados para alguns 
processamentos de dados comerciais.
1 byte 1 registro
a. b. c.
Elefante Jacaré Gato
Lagarto Cobra Leão Coelho
Cavalo Tartaruga
Figura 40 – Estrutura de arquivos
7.1.4 Operações
Os aplicativos e o sistema operacional armazenam e recuperam dados dos arquivos e por meio de 
um conjunto de operações fazem uso deles.
As operações básicas envolvendo arquivos são:
• Criar: a criação de um novo arquivo demanda a alocação de espaço no 
dispositivo de armazenamento e a definição de seus atributos (nome, 
localização, proprietário, permissões de acesso etc.).
• Ler: permite transferir dados presentes no arquivo para uma área de 
memória da aplicação e, se necessário, enviar para um dispositivo de 
saída como monitor, impressora e outros.
• Abrir: antes que um aplicativo possa ler ou escrever dados em um 
arquivo, este deve solicitar ao sistema operacional que o arquivo seja 
aberto. O sistema irá, primeiro, verificar se o arquivo existe, segundo, se as 
4 Idem.
Fabi
Realce
74
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
permissões associadas permitem acesso ao arquivo, terceiro, localizar seu 
conteúdo no dispositivo de armazenamento, então criar uma referência 
para ele na memória.
• Escrever: essa operação permite transferir dados da memória do 
aplicativo para o arquivo armazenado no dispositivo físico; os novos 
dados podem ser adicionados no final do arquivo ou sobrescrever dados 
já existentes.
• Fechar: ao concluir o uso do arquivo, a aplicação deve informar ao 
sistema operacional que esse arquivo não é mais necessário, a fim de 
liberar as estruturas de gerência do arquivo na memória do núcleo.
• Mudar atributos: usado para modificar outras características do arquivo, 
como nome, proprietário, localização, permissões etc.
• Remover: elimina o arquivo do dispositivo, descartando seus dados e 
liberando o espaço ocupado por ele.
Além dessas operações básicas, outras operações podem ser definidas, como 
copiar, mover ou renomear arquivos. Entretanto, essas operações geralmente 
podem ser construídas usando as operações básicas.5
7.2 Uso de arquivos
Os processos podem ler e escrever dados em arquivos de forma não volátil. Uma interface 
de acesso tipicamente composta por uma representação lógica de cada arquivo contido no 
dispositivo de armazenamento é necessária para que um processo use um arquivo. Por meio dessa 
interface, os processos podem, entre outrasopções, localizar arquivos no disco, ler e modificar 
seu conteúdo.
7.2.1 Abertura de arquivo
Conforme demonstrado na sequência a seguir, é necessário que o núcleo do sistema operacional 
execute algumas operações para que seja possível abrir um arquivo, escrever novos dados ou modificar 
os existentes:
1. Usando o nome do arquivo e o caminho de acesso, localizar o arquivo no 
dispositivo físico.
2. Verificar se a aplicação tem permissão para usar o arquivo da forma 
desejada (leitura e/ou escrita).
5 Disponível em: <http://www.scribd.com/doc/12385571/Sistemas‑Operacionais‑Gerencia‑de‑Arquivos>.
Fabi
Realce
Fabi
Realce
75
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
3. Criar uma estrutura na memória do núcleo para representar o 
arquivo aberto.
4. Para fins de gerência, inserir uma referência a essa estrutura na lista de 
arquivos abertos mantida pelo sistema.
5. Devolver à aplicação uma referência a essa estrutura para ser usada nos 
acessos subsequentes ao arquivo recém‑aberto.
Assim que estiver concluída a abertura do arquivo, o processo solicitante recebe 
do núcleo do sistema operacional uma referência para o arquivo recém‑aberto. 
Assim que o processo tiver terminado de usar um arquivo, ele deve solicitar 
ao núcleo o seu fechamento, que implica em concluir as operações de escrita 
eventualmente pendentes e remover da memória do núcleo as estruturas de 
gerência criadas durante sua abertura. As referências a arquivos abertos usadas 
pelas aplicações dependem da linguagem de programação utilizada para 
construí‑las. (...) Cada sistema operacional tem sua própria convenção para 
a representação de arquivos abertos. Por exemplo, em sistemas Windows, os 
arquivos abertos por um processo são representados pelo núcleo por referências 
de arquivos (file handles), que são estruturas de dados criadas pelo núcleo para 
representar cada arquivo aberto. Por outro lado, em sistemas Unix, os arquivos 
abertos por um processo são representados por descritores de arquivos (file 
descriptors). Um descritor de arquivo aberto é um número inteiro não negativo, 
usado como índice em uma tabela que relaciona os arquivos abertos pelo 
processo, mantida pelo núcleo. Dessa forma, cabe às bibliotecas e ao suporte 
de execução de cada linguagem de programação mapear a representação de 
arquivo aberto fornecida pelo núcleo do sistema operacional subjacente na 
referência de arquivo aberto usada por aquela linguagem. Esse mapeamento 
é necessário para garantir que as aplicações que usam arquivos (ou seja, quase 
todas elas) sejam portáveis entre sistemas operacionais distintos.6
7.2.2 Formas de acesso
Assim que o arquivo encontra‑se aberto, a aplicação pode ler os dados contidos nele, modificando 
ou escrevendo novas linhas.
Existem várias formas de se ler ou escrever dados em um arquivo, que 
dependem da estrutura interna de cada arquivo. Considerando arquivos 
como uma sequência de bytes, três formas de acesso são usuais:
1. Acesso sequencial.
6 Disponível em: <http://www.scribd.com/doc/12385571/Sistemas‑Operacionais‑Gerencia‑de‑Arquivos>. Acesso 
em: 8 jun. 2011.
Fabi
Realce
Fabi
Realce
Fabi
Realce
76
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
2. Acesso direto (ou acesso aleatório).
3. Acesso indexado.
Acesso sequencial: os dados são lidos e/ou escritos em sequência, do início 
ao final do arquivo. É definido um ponteiro de acesso para cada arquivo 
aberto por uma aplicação que inicialmente aponta para a primeira posição 
do arquivo. A cada leitura ou escrita, esse ponteiro é incrementado e passa 
a indicar a posição da próxima leitura ou escrita. Quando esse ponteiro 
atinge o final do arquivo, as leituras não são mais possíveis, entretanto, 
as novas escritas são. A chegada do ponteiro ao final do arquivo é 
normalmente sinalizada ao processo por meio de um flag de fim de arquivo 
(EoF – End‑of‑File). Arquivos sequenciais eram eficientes quando o meio de 
armazenamento era a fita magnética.
Acesso direto (ou aleatório): é possível indicar a posição no arquivo onde 
cada leitura ou escrita deve acontecer sem a necessidade de um ponteiro. 
Por isso, caso se conheça previamente a posição de um determinado dado no 
arquivo, não é preciso percorrê‑lo sequencialmente até encontrá‑lo. Esse tipo 
de acesso é importante para gerenciadores de bancos de dados e aplicações 
com a mesma característica, que precisam acessar rapidamente as posições do 
arquivo correspondentes aos registros desejados em uma operação. “Na prática, 
a maioria dos sistemas operacionais usa o acesso sequencial como modo básico 
de operação, mas oferece operações para mudar a posição do ponteiro do 
arquivo caso necessário, o que permite então o acesso direto a qualquer registro 
do arquivo.” No Windows e Unix é usada uma operação especial chamada seek 
que é fornecida para estabelecer a posição atual. Após a operação seek, o arquivo 
pode ser lido sequencialmente a partir de sua posição atual.
Acesso indexado: é um método de acesso mais sofisticado, que tem como 
princípio o acesso direto, também conhecido como acesso indexado ou 
acesso por chave. A estrutura interna do arquivo pode ser vista como um 
conjunto de pares chave/valor que deve possuir uma área de índice onde 
existam ponteiros para os diversos registros, permitindo que sempre que uma 
aplicação desejar acessar um registro, então deverá ser especificado uma 
chave por meio da qual o sistema pesquisará o ponteiro correspondente na 
área de índice e, portanto, é realizado um acesso direto ao registro desejado. 
O núcleo do sistema operacional implanta os mecanismos de acesso e 
indexação do arquivo, o armazenamento e a busca de dados nesse tipo de 
arquivo é tipicamente muito rápido e em aplicações mais simples dispensa 
o uso de bancos de dados.7
7 Disponível em: <http://www.scribd.com/doc/12385571/Sistemas‑Operacionais‑Gerencia‑de‑Arquivos>. Acesso 
em: 8 jun. 2011.
Fabi
Realce
Fabi
Realce
Fabi
Realce
77
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
7.3 Compartilhamentos
Em um sistema multitarefas e em redes, frequentemente se tem arquivos 
sendo acessados por mais de um processo ou por mais de um usuário. 
O acesso simultâneo a recursos compartilhados pode gerar condições 
de disputa (race conditions), levando à inconsistência de dados e outros 
problemas. A possibilidade de escritas e leituras simultâneas tem de ser 
prevista e tratada com muito planejamento e controle de acesso desses 
elementos compartilhados.8
7.3.1 Travas em arquivos
Por meio de uma ou mais travas (locks) aplicadas aos arquivos abertos, 
tipicamente os sistemas operacionais oferecem algum mecanismo de 
sincronização para acesso a arquivos. A sincronização pode ser feita 
aplicando‑se a trava no arquivo inteiro ou somente em um trecho 
específico. Isso permitirá que dois ou mais processos possam trabalhar em 
partes distintas de um arquivo sem necessidade de sincronização entre 
eles. “As travas oferecidas pelo sistema operacional podem ser obrigatórias 
(mandatory locks) ou recomendadas (advisory locks)”.
• Travas obrigatórias: são impostas pelo núcleo do sistema operacional 
de forma compulsória, de modo que se um processo obtiver a trava do 
arquivo, então outros processos que solicitarem acesso ao arquivo serão 
suspensos até que a respectiva trava seja liberada.
• Travas recomendadas: não são impostas pelo núcleo do sistema 
operacional. Portanto, um processo pode acessar um arquivo mesmo 
sem ter sua trava e caso sejam usadas travas recomendadas, fica a cargo 
de o programador implantar em suas aplicações os controles de trava 
necessários para impedir acessos conflitantes aos arquivos.
As travas sobre arquivos também podem ser exclusivas ou compartilhadas.
• Trava exclusiva: também chamada trava de escrita, garante acesso 
exclusivo ao arquivo, portanto,enquanto uma trava exclusiva estiver ativa, 
nenhum outro processo poderá obter uma trava sobre aquele arquivo.
• Trava compartilhada (ou trava de leitura): impede outros processos 
de criar travas exclusivas sobre o arquivo, mas permite a existência de 
outras travas compartilhadas.
8 Disponível em: <http://www.scribd.com/doc/12385571/Sistemas‑Operacionais‑Gerencia‑de‑Arquivos>. Acesso 
em: 8 jun. 2011.
Fabi
Realce
Fabi
Realce
Fabi
Realce
Fabi
Realce
78
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Em conjunto, as travas exclusivas e compartilhadas implementam um 
modelo de sincronização leitores/escritores, no qual os leitores acessam 
arquivos, usando travas compartilhadas e os escritores o fazem, usando 
travas exclusivas.
Geralmente, as travas de arquivos são atribuídas a processos. Dessa forma, 
um processo só pode possuir um tipo de trava sobre um mesmo arquivo e 
todas as travas são liberadas quando o processo fecha o arquivo ou finaliza 
sua execução. No sistema operacional Unix, a manipulação de travas em 
arquivos é feita por meio das chamadas de sistema flock e fcntl.
Esse sistema oferece por default travas recomendadas exclusivas ou 
compartilhadas sobre arquivos ou trechos de arquivos. Os sistemas Windows 
oferecem por default travas obrigatórias sobre arquivos, que podem ser exclusivas 
ou compartilhadas, ou travas recomendadas sobre trechos de arquivos.9
7.3.2 Semântica de trava de acesso
Quando um arquivo é usado por um único processo, o funcionamento das 
operações de leitura e escrita é simples e claro. Dessa forma, quando um 
dado é escrito no arquivo, ele está prontamente disponível para leitura. No 
entanto, arquivos podem ser abertos por vários processos simultaneamente 
e os dados escritos por um processo podem não estar prontamente 
disponíveis aos demais processos que estão lendo aquele arquivo. Isso 
ocorre porque as memórias secundárias em disco rígido são lentas em 
comparação com a memória principal, levando os sistemas operacionais a 
usar buffers intermediários para acumular os dados que deverão ser escritos/
manipulados, otimizando o acesso aos discos. A forma como os dados escritos 
por um processo é notada pelos demais processos que também abriram um 
determinado arquivo é chamada de semântica de compartilhamento.
Entre outras semânticas possíveis, as mais usuais são:
Semântica Unix: toda modificação em um arquivo é imediatamente visível a 
todos os processos que mantêm o arquivo aberto, existindo também a possibilidade 
de vários processos compartilharem o mesmo ponteiro de posicionamento do 
arquivo. Esse tipo de semântica é comumente aplicada em sistemas de arquivos 
locais, ou seja, para acesso a arquivos nos dispositivos locais.
Semântica de sessão: considera que cada processo usa um arquivo em 
uma sessão, iniciando com a abertura do arquivo e terminando com o seu 
9 Disponível em: <http://www.scribd.com/doc/12385571/Sistemas‑Operacionais‑Gerencia‑de‑Arquivos>. Acesso 
em: 8 jun. 2011.
Fabi
Realce
Fabi
Realce
Fabi
Realce
Fabi
Realce
79
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
fechamento. Modificações em um arquivo feitas em uma sessão somente são 
visíveis na mesma sessão e pelas sessões que iniciarem depois do encerramento 
da mesma, ou seja, depois que o processo fechar o arquivo. Sessões concorrentes 
de acesso a um arquivo compartilhado podem ver conteúdos distintos para o 
mesmo arquivo. Essa semântica é normalmente aplicada a sistemas de arquivos 
de rede, usados para acesso a arquivos em outros computadores.
Semântica imutável: se um arquivo pode ser compartilhado por vários 
processos, ele é marcado como imutável. Dessa forma, seu conteúdo não 
pode ser modificado. É a forma mais trivial que garante a consistência do 
conteúdo do arquivo entre os processos que compartilham seu acesso, 
portanto, usada em alguns sistemas de arquivos distribuídos.10
7.4 Introdução a diretórios
Os diretórios ajudam a controlar e organizar os arquivos. Geralmente, os 
sistemas de arquivos possuem diretórios ou pastas, que em muitos sistemas 
também são arquivos.11
Nesta seção, discutiremos os diretórios, suas propriedades, organizações e operações.
7.4.1 Organização de volumes
Diversos dispositivos de armazenamento estão disponíveis no mercado, que podem ser discos rígidos, 
discos óticos, memória flash etc.
Um disco rígido pode ser visto basicamente como um grande vetor de 
blocos de bytes. Esses blocos de dados, também denominados setores, 
têm tamanho fixo geralmente entre 512 e 4.096 bytes (4 K a 32 K) e são 
numerados sequencialmente. As operações de leitura e escrita de dados nos 
discos rígidos são feitas bloco a bloco, por essa razão esses dispositivos são 
chamados de dispositivos de blocos (block devices).
Em um computador no padrão PC, o espaço de armazenamento de cada 
dispositivo é dividido em uma pequena área inicial de configuração e uma ou 
mais partições, que podem ser vistas como espaços independentes. A área de 
configuração é denominada MBR – Master Boot Record, e contém uma tabela 
de partições com informações sobre o particionamento do dispositivo. Além 
disso, contém também um pequeno código executável, usado no processo de 
inicialização do sistema operacional. No início de cada partição geralmente há 
um bloco reservado, utilizado para a descrição do conteúdo daquela partição 
10 Disponível em: <http://www.scribd.com/doc/12385571/Sistemas‑Operacionais‑Gerencia‑de‑Arquivos>. Acesso 
em: 8 jun. 2011.
11 Disponível em: <http://www.ufpi.br/subsiteFiles/eml/arquivos/files/SO/SO_Livro.pdf>. Acesso em: 8 jun. 2011.
Fabi
Realce
Fabi
Realce
80
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
e para armazenar o código de lançamento do sistema operacional, se for uma 
partição inicializável (bootable partition). Esse bloco reservado é denominado 
bloco de inicialização ou VBR – Volume Boot Record. O restante dos blocos da 
partição está disponível para o armazenamento de arquivos.
Disco total
Tabela de partição Partições do disco
MBR
Bloco de 
inicialização Superbloco
Gerenciamento 
de espaço livre I‑Nodes
Diretório 
raiz Arquivos e diretórios
Figura 41 – Exemplo de organização para um sistema de arquivos
A Figura 41 ilustra a organização básica do espaço de armazenamento em 
um dispositivo de blocos típico: um disco rígido. Cada partição deve ser 
formatada, ou seja, estruturada para conter um sistema de arquivos, que 
pode conter arquivos, diretório, atalhos e outras entradas. Cada dispositivo 
ou partição devidamente preparada e formatada para receber um sistema 
de arquivos é designado como um volume.12
7.4.2 Diretórios
O sistema organiza logicamente os diversos arquivos contidos em um disco 
numa estrutura denominada diretórios. O diretório é uma estrutura de 
dados que contém entradas associadas aos arquivos, na qual cada entrada 
armazena informações como localização física, nome e demais atributos.13
Embora o sistema operacional possa tratar com facilidade da enorme quantia 
de arquivos existentes em um sistema de arquivos, essa tarefa está bem 
distante de ser trivial para os usuários. Identificar e localizar um arquivo 
específico em meio a milhões de outros arquivos de forma rápida e direta 
pode ser o mesmo que procurar uma “agulha num palheiro”.
Para permitir a organização de arquivos dentro de uma partição, são usados 
diretórios. Um diretório, também chamado de pasta (folder), representa 
12 Disponível em: <http://www.scribd.com/doc/12385571/Sistemas‑Operacionais‑Gerencia‑de‑Arquivos>. Acesso 
em: 8 jun. 2011.
13 Disponível em: <http://www.scribd.com/doc/5566097/10GERENCIA‑DO‑SISTEMA‑DE‑ARQUIVOS>. Acesso em: 
8 jun. 2011.
81
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
um contêiner de informações, que pode conterarquivos ou mesmo outros 
diretórios. Da mesma forma que os arquivos, diretórios têm nome e atributos, 
que são usados na localização e acesso aos arquivos neles contidos.
Cada espaço de armazenamento possui ao menos um diretório principal, 
denominado diretório raiz (root directory). Em sistemas de arquivos mais 
antigos e simples, o diretório raiz de um volume estava definido em seus 
blocos de inicialização, normalmente reservados para informações de 
gerência. Todavia, como o número de blocos reservados era pequeno e fixo, 
o número de entradas no diretório raiz era limitado. Nos sistemas mais 
recentes, um registro específico dentro dos blocos de inicialização aponta 
para a posição do diretório raiz dentro do sistema de arquivos, permitindo 
que este tenha um número muito maior de entradas.
O uso de diretórios permite construir uma estrutura hierárquica (em 
árvore) de armazenamento dentro de um volume, sobre a qual os 
arquivos são distribuídos. A Figura 42 representa uma parte da árvore 
de diretórios típica de um sistema Linux, cuja estrutura é definida nas 
normas Filesystem Hierarchy.14
bin
etc
home
lib
proc
root
tmp
usr
var
opt
sgml
skel
X11
/ — X11R6
bin
include
lib
local
man
share
src
tmp
adm
cache
cron
lib
local
log
mail
run
spoll
at
cron
lpd
mail
news
smail
bin
lib
include
X11
X11
asm
linux
g++
X11
gcc‑lib
groff
uucp
bin
doc
etc
include
lib
man
share
doc
games
info
locale
man
zoneinfo
Figura 42 – Estrutura de diretórios típica de um sistema Linux
14 Disponível em: <http://www.scribd.com/doc/12385571/Sistemas‑Operacionais‑Gerencia‑de‑Arquivos>. 
Acesso em: 8 jun. 2011.
82
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
7.4.3 Sistema de diretórios em nível único
O nível mais simples de uma estrutura de diretórios é chamado de nível único 
(single‑level directory). Nessa estrutura, existe somente um único diretório 
contendo todos os arquivos do disco. Esse modelo é bastante limitado, já 
que não permite que usuários criem arquivos com o mesmo nome, o que 
ocasionaria um conflito no acesso aos arquivos.15
O primeiro supercomputador da história foi um CDC 6600 e usava um sistema de diretório único. A 
Figura 43 ilustra esse sistema.
Diretório raiz
Arquivo 1
Arquivo 2
Arquivo 3
Arquivo 4
Arquivo 5
Figura 43 – Sistema de diretório em nível único contendo cinco arquivos
As vantagens desse esquema de diretório em nível único são a simplicidade e a capacidade de 
localizar os arquivos rapidamente – tendo em vista que todos os arquivos estão no mesmo local e não 
podemos ter nomes repetidos.
7.4.4 Sistema de diretórios hierárquico
O sistema de nível único é bastante limitado demandando uma evolução 
do modelo, então foi implantada uma estrutura na qual para cada usuário 
existiria um diretório particular denominado Diretório de Arquivo do 
Usuário (UDF – User File Directory) conhecido como sistema de diretório 
em dois níveis.
Pela perspectiva do usuário, a organização dos seus arquivos em um 
único diretório não permite uma organização adequada. A extensão 
do modelo de dois níveis para um de múltiplos níveis permitiu que os 
arquivos fossem logicamente melhor organizados. Esse novo modelo, 
chamado estrutura de diretórios em árvore (tree‑structured directory), é 
adotado pela maioria dos sistemas.16
Com essa estratégia, os usuários do sistema com permissão adequada podem criar tantos diretórios 
quanto necessário para agrupar os arquivos de uma maneira natural. Nos servidores em redes, cada 
usuário geralmente tem o seu diretório raiz para criar a sua própria hierarquia.
15 Disponível em: <http://www.scribd.com/doc/5566097/10GERENCIA‑DO‑SISTEMA‑DE‑ARQUIVOS>.
16 Idem.
83
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
propostaV1
propostaV2
propostaV3
propostaV4
propostas
relatorios
usuario1
usuario2
usuario3
Diretório raiz
Figura 44 – Sistema hierárquico de diretórios
A estratégia é mostrada na Figura 44, em que cada diretório, com nomes de usuario1, usuario2 e 
usuario3 contidos na raiz, pertence a um usuário diferente. O “usuário um” criou um subdiretório para 
propostas e quatro arquivos de propostas com versões diferentes; o “usuário dois” não criou nada até o 
momento e o “usuário três” criou um diretório para relatórios, porém não criou nenhum arquivo.
A possibilidade de cada usuário criar um número arbitrário de subdiretórios proporciona uma 
ferramenta poderosa de estruturação dos trabalhos de cada usuário. A grande maioria dos sistemas de 
arquivos modernos é organizada dessa forma.
7.5 Gerenciamento e otimização de sistemas de arquivos
Da mesma forma que qualquer outro componente do sistema, existe um abismo entre colocar 
um sistema de arquivos para funcionar e fazê‑los funcionar da forma eficaz ou pelo menos 
mais eficiente possível. Nas seções a seguir, serão detalhadas algumas questões relacionadas ao 
gerenciamento de discos.
7.5.1 Gerenciamento do espaço em disco
Geralmente, os arquivos são armazenados em discos rígidos, fazendo com que os projetistas de 
sistemas despendam boa parte de suas energias no gerenciamento de espaço em disco. Existem duas 
estratégias gerais para armazenar um arquivo e n bytes:
1. Alocação de n bytes consecutivos de espaço em disco.
2. Divisão em vários blocos não necessariamente juntos.
Na primeira opção, temos um problema que ocorre quando o arquivo cresce, portanto, na maioria 
dos casos, ele deverá ser movido para outra parte do disco. Com isso, quase a totalidade dos sistemas de 
arquivos dividem os arquivos em blocos de tamanho fixo e que não necessitam ser adjacentes.
84
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Tamanho do bloco
Nessa segunda estratégia, temos uma questão fundamental que é saber qual deverá ser o tamanho 
de cada bloco. Pelo fato de os discos serem organizados por setores, trilhas e cilindros, temos que ter em 
mente que a decisão errada pode comprometer muito a capacidade do ambiente. Uma grande unidade 
de alocação, como um cilindro inteiro, quer dizer que mesmo um arquivo de 1 byte ocupará um cilindro 
todo, desperdiçando um espaço significativo do disco. Por outro lado, um tamanho muito pequeno de 
bloco quer dizer que os arquivos ocuparão mais de um bloco e, com isso, demandarão múltiplas buscas 
e atrasos de rotação para serem lidos, reduzindo significativamente o desempenho do sistema.
Monitoração dos blocos livres
Após definido o tamanho do bloco, o próximo requerimento é monitorar os blocos livres. São usados 
três métodos para monitoração dos blocos livres:
1. Lista de blocos livres – representada na Figura 45a – usa‑se uma lista encadeada de blocos com 
cada bloco contendo tantos blocos livres quanto couberem nele.
A abordagem de lista de blocos livres pode ser implantada de várias formas. 
Na forma mais simples, cada bloco livre contém um ponteiro para o próximo 
bloco livre do disco. Apesar de simples, essa abordagem é pouco eficiente 
por exigir um acesso a disco para cada bloco livre requisitado.17
É importante destacar que blocos livres são blocos que não estão em branco. Ficam contidas, nesses 
blocos livres, informações que o sistema operacional armazena para mapear o espaço livre. Se pegarmos 
como base que cada bloco possui um tamanho de 1 KB e um ponteiro tem tamanho de 32 bits, então 
em um bloco livre temos 255 ponteiros para os próximos blocos livres do disco, sendo que uma entrada 
é reservada ao ponteiro para o bloco seguinte.
Essa solução leva em consideração que blocos contíguos são, geralmente, 
alocados ou liberados simultaneamente. Dessa forma, o disco é determinado 
como um conjunto de segmentos de blocos livres. Esse conceito define que 
é possível manter uma tabela com o endereço do primeiro bloco de cada 
segmento e o número de blocos livres contíguos que se seguem. Essa técnica 
de gerência de espaço livre é conhecida como tabela deblocos livres.
2. Mapa de bits – representado na Figura 45b – Cada entrada na tabela é 
associada a um bloco do disco representado por um bit, podendo assumir 
valor igual a 0 (indicando bloco livre) ou 1 (indicando bloco alocado). O 
principal problema é o excessivo gasto de memória, já que para cada 
bloco do disco deve existir uma entrada na tabela.18
17 Disponível em: <http://www.scribd.com/doc/12385571/Sistemas‑Operacionais‑Gerencia‑de‑Arquivos>. Acesso 
em: 8 jun. 2011.
18 Disponível em: <http://www.scribd.com/doc/5566097/10GERENCIA‑DO‑SISTEMA‑DE‑ARQUIVOS>. Acesso em: 8 jun. 2011.
85
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
42
136
210
97
41
63
21
48
262
310
516
230
162
612
342
214
160
664
216
320
180
482
86
234
897
422
140
223
223
160
126
142
141
1001101101101100
0110110111110111
1010110110110110
0110110110111011
1110111011101111
1101101010001111
0000111011010111
1011101101101111
1100100011101111
0111011101110111
1101111101110111
Blocos de disco livres: 16, 17, 18
Mapa de bit4 KB de blocos de disco pode 
suportar 256 números de 
blocos de disco a. b.
Figura 45a – Lista de blocos livres; Figura 45b – Mapa de bits
7.5.2 Cotas de utilização de disco
No intuito de conter o uso exacerbado do espaço dos discos rígidos, os sistemas operacionais 
multiusuários oferecem um mecanismo para impor cotas de utilização de disco.
Essa importante ferramenta permite que os administradores de redes não sejam surpreendidos por 
falta de disco de forma abrupta. O sistema de cota pode ser implantado para avisar ao administrador 
quando um threshold19 é atingido abruptamente. Geralmente, quando não há uma política bem definida 
no que diz respeito ao uso dos recursos computacionais, os usuários podem gravar vários tipos de arquivos 
que não são necessariamente pertinentes ao trabalho corporativo que deveria estar desenvolvendo.
O serviço de cota pode ser configurado para somente avisar o administrador de que um determinado 
usuário, ou múltiplos, está atingindo ou já ultrapassou a cota estabelecida, entretanto, nesse caso, 
nenhuma ação automática negando novos consumos será tomada. A outra forma é definindo não 
somente o aviso, mas também a ação automática de proibição do consumo de espaço em disco superior 
à cota determinada previamente. Na Figura 46, é demonstrada a tela de configuração de cota no 
Windows Vista.
 Observação
Note que a configuração estabelecida foi de 1.000 kbytes, porém, 
dependendo da quantidade total de disco disponível e necessário, 
poderíamos estar configurando múltiplos mbytes, gbytes, pbytes ou até 
mesmo ebytes. Acontece da mesma forma para o controle de quando o 
sistema receberá uma nova entrada de log.
19 Threshold: ponto em que um estímulo é exatamente suficiente para ser percebido ou produzir uma resposta.
86
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Figura 46 – Exemplo da tela de configuração de cota no Windows Vista
Funcionamento de cota
• Em uma tabela alocada na memória principal estão contidos os atributos de todos os arquivos 
que estão abertos no sistema.
• Toda vez que um usuário abre um arquivo, o atributo de determinado proprietário do arquivo 
passa a fazer parte dessa tabela de controle dos arquivos abertos versus proprietário.
• Qualquer acréscimo no tamanho do arquivo será proporcionalmente decrescido à quantidade 
restante de cota disponível para o usuário do sistema.
• Uma segunda tabela registra as informações de cota para cada usuário que tenha algum arquivo aberto.
87
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
• Sempre que um bloco é adicionado a um arquivo, o número total de blocos é incrementado no 
controle de cotas do usuário, e os limites flexíveis e estritos são checados.
• O limite flexível permite que um usuário exceda o treashold previamente estabelecido, entretanto o 
usuário só terá essa facilidade durante uma sessão. Por exemplo, se após editar uma apresentação 
em PowerPoint adicionando várias figuras e textos, o usuário tentar salvá‑la, o limite flexível irá 
deixar que o usuário grave seu arquivo sem risco de perdê‑lo. Porém, se após fechar os arquivos 
abertos, o usuário tentar fazer isso novamente, uma mensagem de erro irá aparecer informando 
que o limite de espaço não permite essa operação.
• Os limites estritos nunca são excedidos, ou seja, se o usuário acabou de abrir o gerenciador de 
arquivos e nota que há 2 mbytes ainda disponíveis e mesmo assim tenta gravar um arquivo de 5 
mbytes, então a operação não será aceita.
7.5.3 Cópia de segurança
No ambiente computacional, o disco rígido é o ponto mais crítico que merece total suporte e pleno 
planejamento para que nada de errado aconteça com ele. Numa escala de prioridades ou de preferências, 
se assim pode‑se dizer, é preferível que todos os componentes de um computador sejam danificados por 
alguma catástrofe contanto que o disco rígido mantenha‑se íntegro.
O fato é que não é o disco o principal protagonista dessa história, e sim os dados contidos nele. 
Diversos casos de problemas com sistemas são reportados diariamente, ora por desastre natural 
(chuva, incêndio, enchente, terremotos etc.), ora por descuido com o sistema de aterramento, que, por 
consequência ocasiona a queima dos equipamentos.
Imagine que os dados contidos em um determinado disco rígido são referentes ao banco de dados que 
servirá de base para bilhetagem dos serviços prestados por uma empresa de telefonia e, abruptamente, algo 
acontece resultando na danificação total do disco rígido. Ou uma instituição financeira que possui todos os 
dados de movimentações, valores em conta, agenda de pagamentos e dezenas de outros dados armazenados 
em um servidor que foi danificado a tal ponto que o disco rígido encontra‑se totalmente inutilizável.
Com base nos hipotéticos cenários apresentados anteriormente, é necessário que alguma tecnologia, 
prática ou até mesmo processo seja implantado, objetivando a guarda dos dados de forma segura em 
algum outro local que não dentro do servidor em questão. Isso será necessário por dois principais 
motivadores ou causas dos possíveis problemas previamente apresentados:
1. Recuperação em caso de um desastre (natural ou não).
2. Recuperação quando é feito algum procedimento errado (entende‑se por “procedimento errado” 
geralmente algo relacionado a erro humano).
No primeiro caso, o objetivo é recuperar o ambiente após um desastre natural como enchente, 
incêndio, terremoto ou outro.
88
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
O segundo caso geralmente acontece devido a erro do usuário, que apaga ou altera o conteúdo de 
um ou mais arquivos. Há também alguns casos nos quais uma aplicação, geralmente desenvolvida in 
house,20 com algum tipo de erro no código, de alguma forma altera os arquivos inadequadamente.
Portanto, para resolver esses casos, é necessário possuir uma boa política de segurança que seja 
baseada em normas como a ISO 27001. Devemos ter a disciplina e o entendimento da importância do 
backup21 no ambiente computacional. O backup é todo e qualquer processo que gere uma cópia de 
segurança que irá possibilitar futuras restaurações de ambiente em caso de acidente ou não. Conforme 
normas do Banco Central brasileiro, todas as instituições financeiras, desde corretoras até grandes 
bancos, devem guardar historicamente os dados de aplicações por anos. Ou seja, se o auditor do Banco 
Central ou de alguma outra empresa de auditoria for realizar uma análise no ambiente – por exemplo: 
os auditores que estão alinhados com as exigências do Bacen –, ele pode pedir que seja restaurada 
uma determinada informação de 12 de agosto de 2005 ou outra data aleatoriamente só para averiguar 
se o sistema de cópia de segurança (backup) e a restauração da cópia desegurança (restore) estão 
funcionando adequadamente.
Tipicamente, o backup é efetivado em fitas magnéticas. Existem no mercado várias tecnologias de 
unidades, fitas e softwares de backup que variam entre capacidade de armazenamento, velocidade de 
transferência dos dados, funcionalidades (como criptografia), entre outros. O mais importante é ter o 
backup em funcionamento e sempre sendo revisado para garantir que tudo está dentro do planejado. 
Para mitigar problemas de backup, é implementado para cada servidor, ou para cada aplicação, um 
processo composto de documentos denominados survey.22 Esse processo coleta informações referentes 
ao tempo de retenção do backup, a quais arquivos devem fazer parte da tarefa que irá executar a 
cópia de segurança, a qual periodicidade – se é diária, semanal, mensal ou anual –, se o backup será 
incremental, full, diferencial, a qual software e parâmetros serão utilizados para fazer o backup, entre 
outros pontos que irão definir para cada ambiente as características necessárias para que, no futuro, 
quando um acidente ocorrer, a restauração da informação seja o mais transparente possível.
Uma estrutura de backup desse maquinário, pessoas e produtos, pode custar alguns milhões, 
principalmente para grandes corporações que possuem diversos servidores e, muitas vezes, são 
descentralizados entre prédios ou até mesmo entre países. Outro ponto crítico é que o backup leva 
muito tempo e ocupa muito espaço; portanto, operacionalizá‑lo de maneira eficaz é muito importante. 
Essas considerações destacam alguns pontos importantes:
1. Devemos fazer cópia de segurança somente dos diretórios específicos e de tudo o que está contido 
neles. Portanto, cópia de binários (programas executáveis que residem em uma parte limitada da 
árvore do sistema de arquivos) e não devem ser copiadas para fita.
20 In house: termo em inglês para “em casa” – aplicado na área de informática para qualquer produto ou serviço 
feito na própria empresa e por profissionais próprios ou contratados.
21 Backup: cópia de um arquivo ou conjunto de dados mantidos por questão de segurança contra erros no original 
ou cópia principal.
22 Survey: estudo de pesquisa do ambiente que formula perguntas a fim de receber informação sobre atitudes, 
motivos e opiniões. Esses estudos podem ser feitos frente a frente, pelo telefone ou pelo correio eletrônico.
89
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
2. Devemos sempre iniciar o primeiro backup com uma cópia full, que compreende a cópia total e 
integral dos diretórios e arquivos que fazem parte da tarefa de cópia de segurança (job de backup), 
porém, posteriormente, devemos intercalar entre full e incremental. Isso porque não faz sentido 
copiarmos diariamente os arquivos que não foram mudados – deixamos o backup completo (full) 
para os finais de semana e os incrementais para os diários. Nesse procedimento, durante a semana 
as janelas para atividades operacionais normalmente são curtas (geralmente menos de 8 horas 
por noite durante os dias da semana) em comparação com o final de semana (que pode ser de 
mais de 24 horas, em alguns casos das 18 h da sexta‑feira até 6 h da segunda‑feira). Embora esse 
processo minimize o tempo de cópia, esse esquema torna a recuperação mais trabalhosa. Isso se 
deve ao fato de que se o problema acontecer – por exemplo, na quarta‑feira –, então deveremos 
restaurar o jogo de fitas do último final de semana, pois é esse que contém todos os arquivos, 
e, posteriormente, restaurar todas as fitas contendo os dados incrementais. Esquemas de cópia 
incremental mais sofisticado ajudam a facilitar a restauração das cópias de segurança.
3. Como o volume de dados copiados é geralmente muito grande, pode ser necessário comprimir os 
dados antes de escrevê‑los na fita. Esse processo, na maioria dos casos, irá economizar tempo e 
dinheiro. Porém, para muitos algoritmos de compressão, se porventura acontecer algum problema, 
mesmo que pequeno, na fita de backup, pode‑se perder o algoritmo de descompressão, tornando‑se 
impossível ler um arquivo por completo, uma parte da fita que contém vários arquivos, ou até 
mesmo a fita por completo.
4. Se durante o processo de backup o sistema de arquivos estiver sendo utilizado para novas cópias, 
adição de arquivos, alteração e remoção, então poderá acarretar numa cópia inconsistente.
5. A cópia que está sendo feita para a fita deve ser criteriosamente bem manipulada e transportada 
para lugares seguros. O fato de um administrador de sistema criar uma cópia e deixar a fita sobre 
sua mesa implica em várias vulnerabilidades com alto índice de ser um incidente de segurança. 
Entre outros, são destacados os três mais críticos:
a) A fita pode ser subtraída por alguém não autorizado e, posteriormente, o dado com alto nível de 
confidencialidade ser indevidamente publicado ou manipulado.
b) A fita fora de caixas de transporte apropriadas para essa finalidade pode sofrer sérios danos causados pela 
intempérie do local que normalmente não é uma estrutura adequada como a de locais de guarda de fitas.
c) A fita pode ser esquecida nesse local, que geralmente é muito próximo fisicamente do servidor onde 
estão os dados originais, e se por alguma catástrofe, o disco rígido for impactado negativamente, 
pela proximidade física dos ambientes, é praticamente zero a probabilidade de termos a cópia 
íntegra para restauração.
Tipos de processo para copiar os dados de um disco para fita
• Existem duas estratégias para copiar os dados do disco rígido para fita magnética, sendo cópia 
física ou cópia lógica.
90
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
• A cópia física, também conhecida como dump físico, copia todos os blocos do disco para 
fita, iniciando no bloco zero e terminando no último bloco. As principais vantagens da 
cópia física são a simplicidade e a alta taxa de transferência. As desvantagens são a falta 
de capacidade de saltar diretórios específicos, permitir cópias incrementais e restaurar 
arquivos individuais.
• A cópia lógica, também conhecida como dump lógico, é realizada baseada num diretório ou 
vários que são especificados. Em uma cópia lógica, a fita contém uma série de diretórios e 
arquivos meticulosamente identificados, possibilitando, assim, a restauração de um arquivo ou 
diretório específico.
7.6 Tipos de sistemas de arquivos
Existem diversos sistemas de arquivos, tais como FAT, FAT32, NTFS, Ext3, Ext4, JFS, JFFS, JFFS2, LogFS, 
Reiser4, ReiserFS e XFS, ISO9660 etc. Os sistemas de arquivos são desenvolvidos, muitas vezes, por motivos 
comerciais, outras, por alinhamento tecnológico com o propósito do hardware ou até mesmo motivados 
por interoperabilidade entre sistemas. Nesta próxima seção, estudaremos alguns mais relevantes por 
serem os mais populares.
7.6.1 Sistema de arquivos ISO 9660
O sistema de arquivos ISO 9660 é um padrão internacional e mais usado em tecnologia de CD‑ROMs. 
A quase totalidade de CD‑ROM no mercado atual é compatível com esse padrão.
O objetivo principal do padrão ISO 9660 era tornar possível que todo CD‑ROM fosse legível por 
todos os computadores, independentemente da ordem em que os bytes são armazenados e qual sistema 
operacional esteja carregado no hardware.
Tecnicamente, uma grande diferença dos discos rígidos para os CD‑ROMs é que estes não 
possuem cilindros concêntricos, mas sim uma única espiral contínua que contém bits em uma 
sequência linear.
 Lembrete
Mesmo estruturado em uma espiral contínua, é possível buscar o 
CD‑ROM transversalmente às espirais.
Em uma espiral do CD‑ROM, os bits são agrupados em blocos lógicos de 2.352 bytes. Tirando a parte 
referente a preâmbulos, correção de erro ou outras finalidades estruturais, a parte que realmente será 
usada para gravação de dados contém 2.048 bytes, ou seja, 16 kbits. Uma das aplicabilidades desse 
tipo de mídia é a gravação de música,o que fica mais fácil usarmos o tempo como unidade de medida. 
Portanto, a posição de um bloco é representada em minutos ou segundos.
91
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
 Lembrete
A conversão direta em um número linear de bloco é de 1 segundo para 
cada 75 blocos.
A estrutura do CD‑ROM segue a sequência descrita abaixo:
• 16 blocos iniciais (não é definido pelo padrão); os fabricantes de CD‑ROM podem oferecer um 
programa de inicialização que permita que o computador seja inicializado pelo CD‑ROM ou outra 
finalidade definida pelo fabricante.
• Em seguida, vem um bloco descritor de volume primário, contendo algumas informações gerais sobre 
o CD‑ROM, como 32 bytes para o identificador do sistema, 32 bytes para o identificador de volume, 
128 bytes para o identificador do editor e 128 bytes para o identificador para o preparador dos dados. 
Além desses, o descritor de volume primário contém o nome de três arquivos que podem ter uma 
notificação de direitos autorais, um resumo e informações bibliográficas. O tamanho de blocos lógicos, 
o número de blocos do CD‑ROM, as datas de criação e de validade do CD‑ROM e a entrada de diretório 
para o diretório raiz (indicação do bloco inicial) também fazem parte do descritor de volume primário.
• O diretório raiz, bem como os demais, é formado por um número variável de entradas, sendo que 
a última contém um bit que irá marcar como entrada final.
• As entradas de diretórios têm tamanho variável e cada uma pode ser formada de dez a doze 
campos – parte em ASCII e outros numéricos binários.
• Os campos binários dos diretórios são codificados duas vezes: uma com os bits menos significativos 
nos primeiros bytes (little‑endian), que estão nos computadores padrão PC, e outra com os bits 
mais significativos nos primeiros bytes (big‑endian), sendo estes usados por SPARCS.
O formato de uma entrada de diretório ISO 9660 é ilustrado na Figura 47, sendo:
• Os dois primeiros bytes para tamanho da entrada de diretório e tamanho do registro de atributos 
estendidos.
• O campo bloco inicial com 8 bytes já é o bloco inicial do arquivo.
• A localização de um arquivo é totalmente especificada pelo bloco inicial e pelo tamanho que são 
os 8 bytes seguintes.
• O campo data e hora é composto pelos próximos 7 bytes.
• O campo flag seguinte de 1 byte é usado para ocultar a entrada nas listagens.
92
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
• O próximo campo de 2 bytes, denominado intervalo, não é usado na versão mais simples do 
ISO 9660.
• O campo CD# com 4 bytes serve para indicar em qual CD‑ROM um arquivo está localizado.
• O campo L de 1 byte mostra o tamanho do arquivo.
• O campo nome do arquivo vem em seguida, com a estrutura com o nome base, um ponto, 
extensão, um ponto e vírgula e um número binário de versão (o nome do arquivo pode ter até oito 
caracteres, a extensão, até três. Isso se deve à necessidade de compatibilidade, como o MS‑DOS 
que segue esse padrão).
• O campo preenchimento será usado para alinhar os campos numéricos das entradas subsequentes 
em limites de 2 bytes.
• O campo uso do sistema é usado por diferentes sistemas de diferentes maneiras.
Tamanho do registro de atributos estendidos flags
Uso do sistemaTamanho da entrada de diretório intervalo
Localização 
do arquivo
Tamanho 
do arquivo
Data e 
hora CD# L
Nome 
do arquivo
Preenchimento
Figura 47 – ISO 9660 – Entrada de diretório
Extensão Rock Ridge
A extensão denominada Rock Ridge foi elaborada pela comunidade Unix, objetivando a representação 
de sistemas de arquivos Unix em CD‑ROMs. O campo uso do sistema é usado pelas extensões para 
viabilizar que qualquer computador leia o Rock Ridge. Se um sistema específico não reconhece a extensão 
Rock Ridge, então esse ignorará a extensão e reconhecerá um CD‑ROM como padrão básico ISO 9660.
As extensões são divididas entre os seguintes campos:
• PX – Atributos POIX: padrão Unix para bits de permissão de rwxrwxrwx (r = read, w = write e x = 
execute – ler, escrever e executar).
• PN – Números de dispositivo principal e secundário: para permitir que dispositivos sejam 
representados em CD‑ROM.
• SL – Ligação simbólica: permitindo que o arquivo de um sistema de arquivos refira‑se ao outro 
arquivo de um sistema de arquivos distinto.
93
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
• NM – Nome alternativo: permite que um segundo nome seja associado ao arquivo.
• CL –Localização do filho.
• Localização do pai.
• Realocação: os dois campos anteriores, em conjunto com este, são usados para evitar o limite de 
oito diretórios que podem ser aninhados conforme ISO 9660.
• TF – Estampa de tempo (timestamp) – contém três estampas: o instante que o arquivo foi criado, 
o instante que o arquivo foi modificado pela última vez e a estampa com o instante que ocorreu 
o último acesso.
Extensão Joliet
Da mesma forma que o sistema Rock Bridge foi projetado para permitir que o sistema de arquivos 
do Unix fosse copiado para o CD‑ROM, a Microsoft desenvolveu o sistema Joliet para suportar o sistema 
de arquivos do Windows. Quase que na totalidade os computadores com sistema operacional Windows 
que possuem CD‑ROM suportam Joliet.
As principais extensões oferecidas pelo Joliet são:
• Nomes de arquivos mais longos com 64 caracteres. O ISO 9660 pode até oito caracteres, a extensão, 
até três.
• Conjunto de caracteres unicode: importante para locais onde não se usa o alfabeto latino. Exemplo: 
Japão, China e outros.
• Estrutura de diretórios mais profunda que oito níveis: as árvores de diretórios podem ser 
estruturadas em quantos níveis de profundidade forem necessários.
• Nomes de diretórios com extensão: mesmo com essa opção disponível, atualmente não vem sendo 
usada.
7.6.2 Sistema de arquivo do FAT
Os primeiros computadores pessoais da IBM já utilizavam o sistema de arquivos MS‑DOS e por anos 
foi o mais usado mundialmente. Até o Windows 98 e o ME, a Microsoft manteve o mesmo sistema de 
arquivos. O Windows 2000, XP e o Vista suportam a esse sistema, porém, ele não é mais padrão nos 
equipamentos Personal Computer atuais.
O sistema de arquivos MS‑DOS possui extensão FAT‑32, que vem sendo usada amplamente em máquinas 
fotográficas, MP3 e outros. Atualmente, o sistema de arquivos MS‑DOS e suas extensões são mais usados do 
que em qualquer outra época. O sistema de arquivo usado pela Microsoft atualmente é o NTFS.
94
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
O processo de leitura de um arquivo no sistema de arquivos MS‑DOS é executado conforme sequência 
descrita a seguir:
• Um programa faz uma chamada de sistema open (abrir).
• A chamada de sistema open determina o path (caminho) até o diretório de trabalho.
• O caminho é procurado, item por item, até que o diretório final seja encontrado e carregado 
na memória.
• O caminho então será buscado para o arquivo a ser aberto.
No formato de uma entrada de diretório MS‑DOS, os campos são de acordo com a sequência a seguir:
• Nome do arquivo: nomes compostos de 32 bytes.
• Atributos: é usado para determinar se um arquivo é somente para leitura, se precisa ser feita cópia 
de segurança, se é oculto ou se é um arquivo de sistema.
• Tempo: é composto por 5 bits para determinar os segundos, 6 bits para os minutos e 5 bits para 
horas. Para os dias existem três outros campos secundários com 5 bits para dia, 4 bits para mês e 
6 bits para ano.
• Tamanho: o de 32 bits é usado para armazenar o tamanho do arquivo. Em teoria, os arquivos 
podem ter até 4 GB, porém, outros fatores limitam o tamanho do arquivo em 2 GB ou menos.
• Entrada de diretórios: com o tamanho de 10 bytes, porém não é usado.
Existem três versões para o sistema de arquivos FAT:
• FAT‑12: usa blocos de 512 bytes, proporcionandoum tamanho máximo de partições de 212 
x 512 bytes. Com isso, o tamanho máximo de partições em disco era cerca de 2 MB e o 
tamanho da tabela FAT na memória era de 4.096 entradas de 2 bytes cada – propício para 
discos flexíveis. Os discos rígidos demandaram algo mais elaborado, portanto a Microsoft 
aprimorou o FAT‑12, preservando a estrutura da tabela, porém, permitindo tamanhos de 
blocos adicionais de 1 KB, 2 KB e 4 KB, permitindo partições de 16 MB. Como o MS‑DOS 
suportava quatro partições por disco, a nova versão do sistema de arquivos FAT‑12 era 
compatível com discos de até 64 MB.
• FAT‑16: possuía ponteiros de disco de 16 bits e permitiu tamanhos de blocos de 8 KB, 16 KB e 32 
KB – a tabela FAT‑16 ocupava constantemente 128 KB da memória principal. A maior partição de 
disco suportada por um sistema de arquivos FAT‑16 é de 2 GB (64 K com entradas de 32 KB cada). 
O maior disco é de 8 GB ocupando quatro partições de 2 GB cada.
95
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
• FAT‑32: introduzido a partir da segunda versão do Windows 95 com endereços de disco 
de 28 bits. Em teoria, esse sistema de arquivos poderia conter 228 x 215 bytes, porém, na 
prática, era limitado em 2 TB (2.028 GB). Isso se deve ao fato de que internamente o 
sistema de arquivos FAT‑32 monitora os tamanhos das partições em setores de 512 bytes, 
com um número de 32 bits, portanto, 29 x 232 é igual a 2 TB. Permite discos de 8 GB com 
uma única partição.
Análise: comparativo entre o FAT‑16 versus o FAT‑32
Demonstraremos, na Figura 48, que para arquivos pequenos o FAT‑16 apresentará um grande 
desperdício do disco. No exemplo, estamos considerando uma partição de 2 GB (Figura 48a) e arquivo 
de 4 KB.
Como foi detalhado anteriormente, um sistema de arquivo FAT‑16 tem de usar blocos de 32 KB 
(Figura 48b) para atender uma partição de 2 GB. Portanto, se gravarmos arquivos de 4 KB, cada bloco 
terá uma taxa de ocupação de somente 13%, ou seja, 87% do bloco será desperdiçado.
Blocos de 32 KB
KB
Arquivo com 4 KB
a. Tamanho da partição
 2 GB
b. Tamanho de cada bloco do FAT‑16
 4 K
c. Endereços de blocos = 68644
 2249326592 / 32768 = 68644
d. Problemas com blocos de 32K ‑ FAT‑16
 porém 64 K = 65536, portanto em blocos de 32 K não é possível mapear todo disco de 2 GB
Figura 48 – Análise de uma partição FAT‑16 de 2 GB e arquivo de 4 KB
Outro ponto importante destacado na Figura 48c e 48d é que a partição de 2 GB que teria 68.644 
endereços possíveis, porém com o máximo de 64 K (65.536) de endereços que o FAT‑16 suporta, será 
parcialmente desperdiçada.
Na Figura 49, teremos o mesmo comparativo, porém, agora com FAT‑32 / blocos de 4 KB e manteremos 
a partição de 2 GB com arquivo de 4 KB.
96
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Blocos de 4 KB
KB
Arquivo com 4 KB
a. Tamanho da partição
 2 GB
b. Tamanho de cada bloco do FAT‑16
 4 K
c. Endereços de blocos = 549152
 2249326592 / 4096 = 549152
Figura 49 – Análise de uma partição FAT‑32 de 2 GB e arquivo de 4 KB
Usando blocos menores, há melhor aproveitamento do disco, conforme demonstrado anteriormente, 
porém eleva o consumo de memória RAM (memória principal). Com bloco de 4 KB e uma partição de 
2 GB, há 512 K blocos, portanto a FAT‑32 deverá ter 512 K entradas na memória que ocupará 2 MB 
de RAM.
A Tabela 1 ilustra as possíveis combinações entre as extensões do MS‑DOS:
Tamanho do 
bloco (KB) FAT‑12 (MB) FAT‑16 (MB) FAT‑32 (TB)
0,5 2
1 4
2 8 128
4 16 256 1
8 512 2
16 1024 2
32 2048 2
Tabela 1 – Tamanho máximo da partição versus diferentes tamanhos de blocos
 Observação
No exemplo apresentado na Figura 48, usamos o tamanho de bloco de 
32 KB e FAT‑16 com 2.048 MB = 2 GB.
7.6.3 Sistema de arquivos do ambiente Unix
Antes de falarmos do sistema de arquivos Unix, é importante conhecermos sua origem para que 
possamos entender como um sistema de arquivos pode ter, logo em sua primeira versão, funcionalidades 
que são primordiais para ambientes multiusuários, por exemplo.
97
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
O Multics (Multics ou Multiplexed Information and Computing Service) foi criado em 1964, 
fomentado pelo projeto liderado pelo MIT (com Fernando Corbató), e a divisão de produtos para grandes 
computadores da companhia General Electric e dos Laboratórios Bell de telefonia. O sistema Multics seria 
implantado na plataforma GE 645 da GE. Uma visão geral da arquitetura desse sistema operacional tinha 
como ambição estar alinhada com quase todos os computadores existentes, suprindo as necessidades 
de computadores de grande porte, mesmo os que estariam à frente do seu tempo.
 Saiba mais
Para obter mais informações sobre o Multics, acesse http://www.
multicians.org/fjcc1.html (site em inglês).
Mesmo não sendo bem‑sucedido, o Multics contribuiu muito para o desenvolvimento da computação, 
devido as suas ideias inovadoras. Ele foi muito criticado na sua época, contudo a história provou que as 
críticas negativas não tinham fundamento.
O sistema de arquivos do Unix, o mesmo da primeira versão dessa plataforma, já nasceu com suporte 
a multiusuários, isso porque esse sistema é derivado do Multics. Diferentemente do sistema de arquivos 
do MS‑DOS, o sistema de arquivos Unix tem os nomes de arquivos de até 14 caracteres. Eles suportam 
qualquer caractere ASCII, com exceção do NUL, que é usado para preencher os espaços que sobram nos 
nomes menores do que 14 caracteres, e da barra (/), devido ao fato de que ela é o objeto separador entre 
os componentes de um caminho. Em outras palavras, a “/” é a demarcação para que o usuário saiba 
que antes dela é um diretório e depois da barra é o próximo diretório filho. Se a / está sem nenhum 
antecessor ou sucessor, então o diretório é chamado de diretório raiz.
A estrutura de uma entrada de diretório no Unix é bem simples, contendo o campo nome do arquivo 
formado por 14 bytes e o número do i‑node23 que é formado por 2 bytes.
O i‑node possui vários atributos que vão desde a informação do tamanho do arquivo, até os 
momentos que determinam a criação, o último acesso e a última alteração, o proprietário, o grupo, a 
informação de proteção e o contador do número de entradas apontando para o i‑node.
O apontador para o i‑node tem um contador que será incrementado quando uma nova ligação 
é feita. Quando a ligação é desfeita, então o contador é decrescido. Ao chegar a zero, o i‑node será 
subtraído por completo e os blocos de disco são colocados novamente na lista de livres.
A localização dos blocos de disco de um arquivo deve ser fornecida pelo sistema quando um arquivo 
é aberto. Para entendermos como um arquivo é localizado, por exemplo, no caminho /home/user/file.
txt, veja as etapas a seguir:
23 I‑node: é uma estrutura de dados no sistema de arquivos em um sistema de arquivos tradicional Unix. Ele 
armazena informações básicas sobre um arquivo regular, diretório, ou outros objetos do sistema de arquivos.
98
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
1. O sistema do Unix localiza o diretório raiz (que será o ponto de partida e referência). O i‑node do 
diretório raiz está localizado em um local fixo do disco rígido, porém o próprio diretório raiz (/) 
pode estar em qualquer endereço de blocos.
2. Assim que o sistema já está posicionado na raiz da estrutura, então busca pelo próximo componente 
do caminho que é o “home” do diretório raiz. Dessa forma, o sistema irá encontrar o número do 
i‑node para o “/home”.
3. Nessa etapa, o sistema localiza o diretório /home, e busca nele o próximo componente que é o user. 
Ao encontrar a entrada user, esse diretório tem o i‑node para /home/user. Uma vez no diretório 
/home/user, então é possível fazer uma busca no próprio diretório e localizar o componentefile.
txt. Assim que a localização for feita até o /home/user/, o i‑node, para esse arquivo ser carregado 
na memória, será mantido até que o arquivo seja fechado.
Todos os diretórios possuem entradas “.” (ponto) e “..” (ponto ponto) que são criadas juntamente no 
momento da criação do diretório. A entrada “.” (ponto) tem o número do i‑node do diretório atual, e a 
entrada “..” (ponto ponto), o número do i‑node do diretório pai (diretório que antecede o diretório atual).
No diretório raiz, o “..” (ponto ponto) aponta para o “.” (ponto) que por consequência é ele mesmo. 
Isso se deve ao fato de que o diretório raiz é o nível mais elevado na estrutura e ele não tem um diretório 
pai antecessor.
7.6.4 Sistema de arquivos do Linux
A primeira versão do sistema de arquivos do Linux foi o Minix, porém, como ele seguia estritamente 
os padrões do Unix, ele também tinha arquivos com limites de nomes de 14 caracteres e seu tamanho 
máquina de arquivo era de 64 MB. Esse padrão atendia quase que na totalidade as necessidades da época, 
porém, com o passar do tempo, 64 MB passou a ser “brincadeira de criança”, demandando sistemas 
de arquivos mais robustos e melhorados. O sistema de arquivos ext (extended file system) apresenta 
melhorias com relação ao tamanho do nome que passou a suportar até 255 caracteres e arquivos com 
tamanho de até 2 GB. Por outro lado, a desvantagem do sistema de arquivos ext, comparado com o 
Minix, era seu desempenho, apresentando lentidão considerável.
Principalmente motivado pela necessidade de melhorar a deficiência de velocidade que o ext 
apresentava, foi desenvolvido o ext2 (second extended file system).
Limites teóricos do sistema de arquivos ext32
Tamanho do bloco 1 KB 2 KB 4 KB 8 KB
Tamanho máximo do 
arquivo 16 GB 256 GB 2 TB 2 TB
Tamanho máximo do 
sistema de arquivos 4 TB 8 TB 16 TB 32 TB
Tabela 2 – Limites teóricos do sistema de arquivos ext2
99
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Além do sistema de arquivos ext2, o Linux suporta novas versões do ext, como ext3 e ext4. O ext3 
(third extended file system) é um sistema de arquivos que suporta o journaling24. Essa funcionalidade 
permite melhorias na confiabilidade e elimina a necessidade de verificar o sistema de arquivo 
quando há uma parada do sistema de forma abrupta (por exemplo, quando acontece interrupção de 
fornecimento elétrico).
O ext4 (fourth extended file system) é um sistema de arquivos que também mantém registro de 
ações (journaling) sendo o sucessor do ext3. Esse sistema de arquivos foi desenvolvido como uma série 
oposta de complexidade a da que o ext3 tinha. Muitas dessas complexidades foram originalmente 
desenvolvidas para sistemas de arquivos em grupo (cluster file system) destinado ao sistema de arquivos 
chamado Lustre.
Além dos apresentados acima, existem vários outros suportados pelo Linux, muitos deles com 
características específicas para determinadas aplicações. Entre uma longa lista, segue abaixo uma breve 
descrição de alguns dos sistemas de arquivos suportados pelo Linux:
• FAT – File Allocation Table (ou Tabela de Alocação de Arquivos).
• JFS – Journaling File System, é um sistema de arquivos desenvolvido pela IBM, disponível em 
licença open source.
• XFS – é um sistema de arquivos inicialmente desenvolvido pela Silicon Graphics, Inc. para o seu 
sistema operacional IRIX.
• HPFS – High Performance File System, Sistema de Arquivos de Alta Performance.
• Minix – foi um dos primeiros sistemas do tipo Unix baseado no projeto de um micronúcleo.
• ReiserFS – criado por Hans Reiser e inicialmente mantido pela empresa The Naming System Venture 
(Namesys), o ReiserFS foi o primeiro sistema de arquivos com suporte ao journaling incluído no 
núcleo Linux 2.4+.
• Reiser4 – usa árvores balanceadas para tornar o processo de busca de arquivos, informações sobre 
segurança e outros metadados mais eficiente.
• ISO 9660 (sistema de arquivos usado em CD‑ROMs), também com as extensões RRIP (IEEE P1282) 
e ZISOFS.
Alguns sistemas de arquivos com características especiais são:
• SWAP – partições SWAP são usadas para suportar a memória principal.
24 Journaling: registros armazenados de toda a comunicação no sistema de arquivos, usados para auxiliar na 
recuperação de arquivos depois de uma quebra ou falha do sistema.
100
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
• UnionFS – permite que arquivos e diretórios de sistemas de arquivos diferentes sejam 
transparentemente sobrepostos, formando um único sistema de arquivos.
• SquashFS – é um sistema de arquivos somente leitura para Linux que implementa compressão.
• Tmpfs – é um sistema de arquivo que não armazena as informações em dispositivos de 
armazenamento como disco duro, memória flash, CD, DVD etc. Ao invés disso, manipula 
informações diretamente na memória RAM, assim como o procfs.
• Aufs – AnotherUnionFS, serviço de arquivos que implementa uma união para montar sistemas de 
arquivos Linux.
• NFS – Network File System, sistema de compartilhamento de arquivos em rede.
8 GERENCIAMENTO DE ENTRADA E SAÍDA
8.1 Introdução a gerenciamento de entrada e saída
Como foi descrito no primeiro capítulo desta série, o gerenciamento de entrada e saída tem como 
princípio básico a abstração, tornando a interação do programador com a máquina algo muito mais fácil 
e permitindo que os programas e os hardwares evoluam de forma independente, porém estruturada.
O gerenciamento de entrada e saída na visão de dentro do sistema operacional é algo complexo 
e que exige dos desenvolvedores de sistemas operacionais boa parte do tempo e dos esforços para 
obter um sistema estável e confiável. E não poderia ser diferente, pois toda a lógica e complexidade de 
controlar os diversos dispositivos demandam muita ação e dinamismo.
Estudaremos, neste capítulo, os fundamentos do hardware de entrada e saída (E/S) e o software de 
E/S. Com esses conceitos poderemos tratar de dispositivos, como discos, relógios, teclados e vídeos.
8.2 Fundamentação – hardware de entrada e saída (E/S)
Diferentemente do ocorrido no início da história da computação, atualmente os elementos de 
um equipamento são segmentados e especialistas focam suas atenções, estudos e desenvolvimentos 
para sua área específica. Os recursos de entrada e saída, não diferentemente, estão seguindo a 
mesma trajetória histórica. Organizações globais, muitas vezes sem fins lucrativos, formadas por 
contribuintes, como engenheiros, pesquisadores, físicos, matemáticos e até mesmo estudantes da 
área, vêm tentando, e conseguindo, padronizar tipo de material, níveis de sinalização elétrica, 
tipo de condutores, mistura de material que irá compor a placa ou o circuito e assim por diante. 
Todo esse esforço acaba gerando uma sinergia em escala global. Se imaginarmos um engenheiro 
na China, ou um aqui no Brasil, trabalhando num projeto de software num sistema operacional 
Linux e um computador padrão PC (personal computer), então a tendência é que, no nível do 
hardware e controladores de E/S, ambos estejam montando produtos 100% compatíveis. Isso só 
é possível devido à abstração, caso contrário o engenheiro do Brasil poderia estar interagindo 
101
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
com o hardware e demandando procedimentos que poderiam ser muito diferentes daqueles que o 
engenheiro chinês estaria usando.
Neste material, não está englobado como é desenvolvido o hardware, porém estudaremos como o 
hardware é programado para que tenhamos os resultados esperados de cada dispositivo específico. Nas 
próximas seções, trataremos, de forma geral, o hardware de computadores típicos. Esse material não 
visa abordar hardware específico nem entrar em profundidade acerca da visão que um engenheiro de 
hardware deverá ter do assunto.
8.3 Dispositivos de entrada e saídaOs dispositivos de entrada e saída típicos e os que estaremos dando ênfase são divididos em duas categorias:
• Dispositivos de blocos: entre outras características, armazenam informações em blocos de 
tamanho fixo e endereço próprio. Todas as transferências estão em unidades consecutivas de um 
ou mais blocos. Para essa categoria, cada bloco pode ser lido ou escrito independentemente de 
todos os outros.
Figura 50 ‑ Dispositivos de blocos
• Dispositivos de caractere: nesse caso, há o envio e recebimento de caracteres. Diferentemente da 
categoria anterior, os dispositivos de caractere não são endereçáveis e não possuem funcionalidades 
de posicionamento.
Figura 51 ‑ Dispositivos de caractere
102
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Alguns dispositivos, como o relógio do computador e o vídeo mapeado em memória, não pertencem 
a nenhuma dessas duas categorias. Considerando que os modelos de blocos e caracteres são os mais 
comuns e este material não visa se aprofundar no hardware, então será reservado ao autor cobrir essas 
duas categorias particularmente.
Existem diversos dispositivos de entrada e saída, bem como para cada taxa de dados que vem 
evoluindo e variando com o passar do tempo. A Tabela 3 mostra o comparativo de alguns dispositivos e 
suas respectivas taxas de dados.
bytes / segundo x tipo
600.000.000
500.000.000
400.000.000
300.000.000
200.000.000
100.000.000
0
Tec
lad
o
Mo
use
Mo
de
m 
56
K
Sc
an
ne
r
Wi
rel
ess
 80
2.1
1g
CD
‑R
OM
 52
x
Fas
t E
the
rne
t (8
02
.3u
)
Ca
rtã
o fl
ash
 co
mp
act
o
Fir
eW
ire
 (IE
EE
 13
94
)
Blu
e‑R
ay
 (1
2x
)
US
B 2
.0
Pa
drã
o S
on
et 
OC
‑1
2 (
62
2.0
8 M
it/s
Dis
co
 SC
SI 
Ult
ra 
2
Gig
ab
it E
the
rne
t (I
EE
E 8
02
.3z
)
LTO
‑5
 (L
ine
ar 
Tap
e‑O
pe
n 5
)
SA
S (
Se
ria
l A
tta
ch
ed
 SC
SI)
Fit
a U
ltr
inu
m
Ba
rra
me
nto
 PC
I
Tabela 3 – Alguns exemplos de dispositivos e suas respectivas taxas de dados
Tipo de dispositivo bytes / segundo
Teclado 10
Mouse 100
Modem 56K 7 K
Scanner 400 K
Wireless 802.11g 6,75 M
CD‑ROM 52x 7,8 M
Fast Ethernet (802.3u) 12,5 M
103
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Cartão flash compacto 40 M
FireWire (IEEE 1394) 50 M
Blue‑Ray (12x) 54 M
USB 2.0 60 M
Padrão Sonet OC‑12 (622.08 Mbit/s) 78 M
Disco SCSI Ultra 2 80 M
Gigabit Ethernet (IEEE 802.3z) 125 M
LTO‑5 (Linear Tape‑Open 5) 120 M
SAS (Serial Attached SCSI) 300 M
Fita Ultrinum 320 M
Barramento PCI 528 M
Tabela 4 – Detalhamento da tabela 3
8.3.1 Controladores de dispositivos (driver)
As unidades de entrada e saída típicas são constituídas por dois componentes:
• Componente mecânico: é o dispositivo mais aparente para o usuário final, ou seja, impressora, 
teclado, mouse e outros.
• Componente eletrônico: conhecido como controlador de dispositivo ou adaptador. 
Esses adaptadores são inseridos em um conector de expansão localizado na placa‑mãe do 
computador.
Os componentes mecânicos e eletrônicos são mostrados em destaque na Figura 52.
Figura 52 – Unidade de E/S – componentes mecânicos e eletrônicos
104
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Geralmente, os fabricantes de controladores de dispositivos criam as interfaces seguindo um 
padrão oficial baseados nas organizações ANSI, IEEE, ISO e outras. Com isso, os tipos de conectores, 
sinalização elétrica, determinações mecânicas e todos os demais itens regidos pelos órgãos 
padronizadores são seguidos pelos fabricantes. Isso permite que, em paralelo, um fabricante de 
dispositivos mecânicos como impressora, mouse, e outros possam usar controladoras sem qualquer 
preocupação de compatibilidade.
 Saiba mais
Para mais informações a respeito dos órgãos responsáveis pelos padrões 
descritos acima consulte:
• ANSI: American National Standards Institute – Instituto Nacional 
Americano de Padronização (http://www.ansi.org/).
• IEEE: Institute of Electrical and Electronics Engineers – Instituto de 
Engenheiros Eletricistas e Eletrônicos (www.ieee.org/).
• ISO: International Organization for Standardization – Organização 
Internacional de Normalização (www.iso.org/).
Os controladores de dispositivos, observados de uma forma mais abstrata e da perspectiva 
do usuário, são sumarizados como sendo uma nova entrada para comando de um dispositivo ou 
programa. Formando, assim, uma unidade periférica, cria uma interface permitindo a conexão com o 
dispositivo desejado.
Ao adicionarmos um novo dispositivo a uma interface do computador, este requer um driver25, 
que, na perspectiva lógica, é um programa que normalmente vem junto com o dispositivo ou como 
parte inerente do sistema operacional e deve ser instalado ou carregado. Sem esse controlador 
de dispositivo o programa do usuário não irá conseguir obter os resultados de entrada e saída 
desejados. Como exemplo, podemos citar o de um usuário que comprou um mouse sem fio e 
quer instalá‑lo no seu computador. Geralmente, o mouse sem fio usa um adaptador USB que 
servirá para mandar e receber os sinais desse novo dispositivo para o computador e vice‑versa. 
Analogicamente, teremos então o mouse como dispositivo mecânico e o adaptador usando 
padrão USB como dispositivo eletrônico, porém, para que esses dois elementos possam ser vistos 
e operados pelos programas do usuário, será necessário um driver (que também chamamos de 
controlador de dispositivo). Esse driver irá estabelecer a conectividade lógica entre o elemento 
USB e o sistema operacional, e ficará a cargo deste último estabelecer uma interface abstrata para 
o programa do usuário.
25 Driver: programa ou rotina usada para interfacear e gerenciar um dispositivo de entrada/saída ou outros 
periféricos.
105
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
8.3.2 E/S mapeada em memória
Os registradores são responsáveis por estabelecer o canal de comunicação entre os controladores 
de dispositivos e a unidade central de processamento. O sistema operacional se comunica com os 
dispositivos por meio da gravação e da leitura dos registradores. Além dos registradores, atualmente é 
comum os dispositivos terem buffers de dados que serão usados pelo sistema operacional para gravar 
e escrever.
A comunicação entre a unidade central de processamento e os registradores e buffers pode ser 
realizada pelas duas formas descritas abaixo:
• E/S mapeada por porta (port‑mapped I/O): associado a um número de porta de entrada e 
saída que pode compreender de 8 a 16 bits. Somente o sistema operacional pode acessar o 
espaço de portas E/S (conjunto de portas de E/S). Dessa forma, o programa do usuário não 
tem permissão para acessar diretamente o espaço de portas. Esse modelo é demonstrado na 
Figura 53a.
• E/S mapeada em memória (memory‑mapped I/O): nesse modelo, todos os registradores são 
mapeados em endereços de memória exclusivos. Esse método usa o mesmo endereço de 
barramento para endereçar memória e dispositivos de entrada e saída, e as instruções de 
CPU para acessar a memória são as mesmas usadas para acessar os dispositivos de E/S. 
Para acomodar os dispositivos de E/S, espaços das áreas endereçáveis da CPU devem ser 
temporariamente reservados para E/S exclusivamente. Cada dispositivo de entrada e saída 
fica escutando o barramento e responderá as suas requisições. Esse modelo é demonstrado 
na Figura 53b.
O funcionamento do exemplo de uma CPU querendo ler uma palavra que pode ser tanto da memória 
ou de uma porta de entrada se dará da seguinte forma:
1. A CPU emite nas linhas de endereço do barramento o endereço de que precisa.
2. Emite um sinal de READ sobre a linha de controle do barramento.
3. Uma nova linha de sinal é usada para informar se o espaço requerido é memória ou entrada e saída.
4. Nessa etapa, a memóriaou o dispositivo de E/S irá responder ao comando de leitura (read).
Além dos dois métodos descritos acima, existe também o E/S por processos dedicados (dedicated I/O 
processors), porém não será debatido neste material por se tratar de um método bem específico para 
um determinado ambiente menos popular.
106
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Dois endereços Um espaço de endereçamento
0xFFFF...
0
Memória
Portas de E/S
Endereço de 
E/S
Espaço de 
endereço de 
memória
a. b.
Figura 53 – a. Espaços de memória e E/S independentes b. E/S mapeado na memória
8.3.3 Acesso direto à memória (DMA)
Com base na premissa de que o hardware possui controlador de DMA, muitas vezes o sistema 
operacional poderá usar o acesso direto à memória (Direct Memory Access – DMA) com o objetivo 
de melhorar a performance do ambiente. Em alguns casos, o controlador de DMA está integrado ao 
controlador do dispositivo, contudo isso demanda um controlador de DMA para cada controlador 
de dispositivo. Geralmente, um único controlador de DMA está contido na placa‑mãe, controlando a 
transferência de vários dispositivos, mesmo que simultaneamente.
O controlador de DMA tem acesso ao barramento e contém vários registradores que podem ser lidos 
e escritos pela CPU, conforme descrito abaixo:
• Registrador de endereçamento de memória.
• Registrador contador de bytes.
• Registrador de controle (diferentemente dos dois anteriores, que são somente um para cada 
tarefa, esse pode ser composto por um ou mais registradores). Esse registrador especifica a 
porta de entrada e saída em uso, se a transferência é uma escrita ou leitura no dispositivo 
de entrada e saída, unidade em byte ou palavras por vez e o número de bytes a ser 
transmitido.
 Saiba mais
Mais detalhes a respeito dos fundamentos do DMA em várias plataformas 
de PC podem ser obtidos em: <http://cires.colorado.edu/jimenez‑group/
QAMSResources/Docs/DMAFundamentals.pdf>.
107
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
A Figura 54 ilustra a operação de transferência utilizando o controlador DMA. Podemos observar 
que nesse modo a CPU irá interagir com a controladora de DMA e esta irá, por meio do barramento, 
comunicar‑se com a controladora de dispositivo.
Controlador DMA
Interrompo quando 
concluído
Barramento
CPU Controlador de Disco
Memória 
principal
2.
4.
1.
3.Buffer
Endereço
Contador
Controle
Figura 54 – Transferência por DMA
Legenda da figura
1. CPU programa o controlador de DMA.
2. DMA solicita transferência para a memória.
3. Dados transferidos.
4. Confirmação.
A complexidade dos controladores de DMA pode variar. Há controladores mais simples que tratam 
uma transferência por vez e os mais sofisticados que podem ser programados para lidar simultaneamente 
com múltiplas transferências. Controladores capazes de tratar múltiplos canais possuem internamente 
vários conjuntos de registradores. Cada transferência usa um controlador de dispositivo distinto. Um 
algoritmo de alternância, com prioridade ou não, é necessário para o controlador de DMA decidir qual 
dispositivo será o próximo a ser atendido.
Os barramentos podem operar no modo palavra e no modo bloco e alguns controladores de DMA 
podem operar em ambos os modos. O controlador de DMA por meio do modelo modo direto (fly by mode) 
pode dizer para o controlador de dispositivo transferir dados diretamente à memória RAM (memória 
principal). O modo direto pode operar pelo roubo de ciclo ou surto.
• Roubo de ciclo (cycle stealing): a operação se dá por meio do controlador que solicita a transferência 
de uma palavra e a transfere em seguida. Nesse modo, a CPU ou o controlador de DMA estará 
usando o barramento a cada ciclo de barramento.
• Surto (burst mode): o controlador de DMA solicita ao dispositivo para obter o barramento, em 
seguida, desfere uma rajada de transferências e, por fim, libera o barramento. A vantagem desse 
modo é que em uma única aquisição ao barramento várias palavras podem ser transferidas. 
108
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Por outro lado, a desvantagem é que o tempo de bloqueio do barramento durante o surto de 
transferência pode ser grande o suficiente para fazer com que a CPU e outros dispositivos fiquem 
esperando por muito tempo.
Como opção ao modelo descrito anteriormente, existe a possibilidade de alguns controladores de 
DMA estabelecerem que o controlador do dispositivo envie a palavra para o controlador de DMA, e uma 
segunda aquisição do barramento escreverá a palavra para o destino necessário. Mesmo usando um 
ciclo de barramento adicional, esse método permite a flexibilidade da cópia entre dispositivos ou de 
memória para memória.
Mesmo antes de a controladora atuar em um dos modelos descritos até agora, é necessário que os 
discos rígidos carreguem dados em seus buffers internos antes que o DMA inicialize. Podemos destacar 
duas razões para isso ocorrer:
1. Conferência da soma de verificação (checksum), também conhecida como código de correção de 
erro (error‑correcting code – ECC), antes de iniciar a transferência. Com essa funcionalidade, se 
algum erro for encontrado, é sinalizado e nenhuma transferência se realiza.
2. Assim que já se tem a confirmação da soma de verificação positiva, é iniciada a transferência e a 
taxa de chegada dos bits do disco à sua controladora é mantida de forma constante, mesmo que 
o controlador do dispositivo esteja pronto para recebimento ou não. No modelo em que não há o 
controlador de DMA, o controlador do dispositivo (nesse caso, do disco rígido) tentaria escrever os 
dados diretamente na memória, acessando o barramento para cada palavra a ser transferida. Se outros 
dispositivos estivessem usando o barramento, isso obrigaria o controlador de disco a esperar.
8.4 Software de E/S
Existem alguns pontos importantes para alinharmos quando estamos tratando de software de 
entrada e saída, os quais estão destacados a seguir:
• O software de entrada e saída deve estar suportado pelo conceito de independência do hardware. 
Isso parte do pressuposto que deveria ser possível que os programas pudessem acessar os 
dispositivos de E/S sem a necessidade específica de conhecer o dispositivo. Então, um programa 
que tem no seu conjunto de funcionalidades a possibilidade de ler um arquivo de entrada deveria, 
de forma transparente e sem ter que mudar o programa, poder ler tanto um disco rígido, CD e 
DVD, quanto um USB.
• Um outro ponto é que os programas de E/S deveriam estar alheios ao tratamento de erros, 
ficando a cargo dos níveis mais próximos ao hardware esse tratamento, ou seja, o controlador 
deveria resolver o problema e, se não conseguisse, então o driver do dispositivo deveria tratar 
disso.
• Ainda primordial é o tipo de transferência síncrona ou assíncrona. Na transferência síncrona o 
modo é de bloqueio e na assíncrona é orientada a interrupção.
109
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
• A utilização de buffers para armazenamento temporário envolve frequentes e elevadas operações 
de cópia, gerando um impacto considerável no desempenho da entrada e saída.
• O último ponto que devemos nos atentar com a mesma importância dos apresentados anteriormente 
é o de dispositivos dedicados versus compartilhados. Pode parecer contraditório, porém, nos dias 
atuais, os dispositivos não compartilhados (dedicados) podem apresentar grandes problemas, bem 
como impasses. Se imaginarmos dois processos necessitando acessar a mesma fita magnética, 
mas com dados em endereços distintos, certamente um dos processos ficará esperando por um 
tempo muito grande.
8.4.1 E/S programada
O método mais simples de entrada e saída é ter a CPU fazendo todo o tratamento. E/S programada 
é o método de transferência dedados entre a unidade central de processamento e os periféricos como 
um NIC (Network Interface Card) ou um dispositivo de armazenamento ATA, por exemplo.
Em geral, entrada e saída programada acontece quando o programa que está rodando na CPU usa 
instruções que acessam o endereço de entrada e saída para realizar transferência de dados de um ou 
para um dispositivo de entrada e saída. Isso vai na contramão das transferências em modo DMA que 
estudamos na seção anterior.
Um exemplo de um dispositivo no computador padrão PC que usa a E/S programada é a interface 
ATA (Advanced Technology Attachment). Entretanto, essa interface pode operar em um dos modos 
DMA. Outros dispositivos também usam a E/S programada, tais como:
1. Portas seriais.
2. Portas paralelas (quando não estão em modo ECP – Extended Capability Port).
3. Portas PS/2 que eram usadas para teclado e mouse.
4. Portas MIDI (Musical Instrument Digital Interface).
5. Portas de joystick.
6. Relógio interno.
7. NICs (Network Interface Card) antigas.
Apesar de ser simples, a entrada e saída programada tem uma desvantagem que é o fato de segurar 
a CPU o tempo todo até que a E/S seja realizada. A espera ociosa é ineficiente em sistemas complexos.
Exemplificando a E/S programada, podemos imaginar um processo que quer imprimir na impressora:
110
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
1. O programa primeiro monta a cadeia de caracteres em um buffer.
2. Um processo que resista à impressora por meio de uma chamada de sistema.
3. Assim que o processo já obteve o acesso à impressora ele então efetuará uma chamada de sistema 
para imprimir a cadeia de caracteres.
4. Tipicamente, o sistema operacional copia o buffer para um vetor “x” no espaço do núcleo.
5. O sistema operacional verifica se a impressora está disponível.
6. Assim que confirmado que a impressora está disponível, o sistema operacional copia o primeiro 
caractere para o registrador de dados da impressora (caso a impressora não esteja disponível, o 
sistema operacional ficará esperando).
7. Dependendo da impressora, nesse exato momento já estará sendo impresso o primeiro 
caractere ou, em outros casos, a impressora irá armazenar linhas ou até mesmo páginas antes 
de iniciar a impressão.
8. Assim que esse primeiro ciclo está pronto, o sistema operacional faz novamente uma nova 
verificação para então enviar outro caractere.
9. O laço será repetido até que a impressão termine, retornando o controle ao processo que originou 
a chamada.
8.4.2 E/S usando interrupção
Nesse caso, a impressora, ao invés de armazenar caracteres, imprime‑os sequencialmente conforme 
ordem de chegada. Se essa impressora pode imprimir 100 caracteres por segundo, então cada caractere 
será impresso em 10 milissegundos (1.000 milissegundos = 1 segundo, ou seja, 1.000/100 = 10). Portanto, 
durante os intervalos de 10 milissegundos necessários para que a impressora emita a permissão para 
a CPU transmitir o próximo caractere, a CPU ficará liberada para executar algum outro processo que 
aperfeiçoará seu desempenho.
O modo que permite à CPU executar outro processo enquanto espera o término do antecessor é 
usando a interrupção.
 Saiba mais
Para mais informações a respeito de E/S usando interrupção consulte: 
<http://www.ibm1130.net/functional/IOInterrupts.html>.
111
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
8.4.3 E/S usando DMA
O acesso direto à memória consegue melhorar a velocidade do sistema. Isso porque no modo de E/S 
visto anteriormente cada caractere está demandando uma interrupção, que, por consequência, demanda 
CPU para controlar essa dinâmica. Usar o controlador de memória para alimentar os caracteres da 
impressora fornece a grande vantagem de, ao invés de ser gerada uma interrupção por caractere, gerar 
uma interrupção por buffer impresso. Porém, como a velocidade do DMA é consideravelmente menor 
que a da CPU, em sistemas com pouco uso de CPU é melhor e mais rápido manter a E/S programada ou 
por interrupção.
8.5 Camadas de software de E/S
Conforme ilustrado na Figura 55, tipicamente os softwares de E/S possuem quatro camadas e estão 
logo acima do hardware. Cada camada do software de entrada e saída tem função específica e interface 
com as camadas vizinhas.
Software de E/S no nível do usuário
Software do sistema operacional 
independente do dispositivo
Drives do dispositivo
Tratadores de interrupção
Hardware
Figura 55 – Camadas do software de E/S
Como cada sistema operacional possui características próprias do software de entrada e saída, é 
uma generalidade para estudos acadêmicos sem entrar nos detalhes específicos de cada plataforma 
física e lógica.
8.5.1 Tradutores de interrupção
As interrupções são desagradáveis, porém, como não podem ser evitadas, o sistema operacional deve 
escondê‑las. Dessa forma, apenas uma pequena parte do sistema operacional saberá da sua existência. A 
melhor maneira de ocultar a maioria das interrupções é usar um driver que inicie a operação de entrada 
e saída e que bloqueie até a tarefa a ser finalizada.
Quando isso acontecer, a rotina de interrupção faz as suas tarefas, depois desbloqueia e liberta o 
driver que iniciou e a chamou.
112
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
A seguir, veja os passos a serem realizados pelo sistema operacional quando ocorre interrupção no 
ambiente genérico padrão PC:
1. Salvar registros que ainda não tenham sido guardados pelo hardware de interrupção.
2. Estabelecer o contexto para a rotina de atendimento de interrupções.
3. Preparar uma pilha (stack) para rotina de tratamento de interrupção.
4. Confirmar (ack) o controlador de interrupção e ativar interrupção.
5. Copiar registros de onde foram salvos para a tabela de processos.
6. Executar rotina de tratamento de interrupção, extraindo informações dos registradores do 
controlador do dispositivo que está interrompido.
7. Escolher qual o novo processo que irá ser executado. O algoritmo de alternância pode ser necessário.
8. Preparar contexto da MMU para executar próximo processo.
9. Carregar registros do novo processo.
10. Iniciar a execução do novo processo.
11. Processamento de interrupção é dispendioso e complexo, por isso a necessidade de ser evitado.
8.5.2 Drivers dos dispositivos
Os drives dos dispositivos diferem entre a pluralidade de componentes disponíveis e a forma de 
tratamento que se deve dar a cada um. Por exemplo, o driver do mouse endereçará informações de 
movimento e acionamento dos botões, a ponto de o driver de um disco rígido ser capaz de tratar 
assuntos relacionados a setores, trilhas, cilindros, cabeçotes, movimento do braço, controladores do 
motor e demais semânticas para o funcionamento adequado desse dispositivo.
• Driver do dispositivo: são os códigos específicos que cada dispositivo necessita e são normalmente 
desenvolvidos pelos fabricantes dos dispositivos. Devido à diversidade de sistemas operacionais, 
pode acontecer do fabricante não ter desenvolvido um driver de dispositivo para a versão do 
sistema operacional que está sendo executado em uma determinada máquina. Por esse motivo, 
normalmente, quando um novo sistema operacional é lançado, pode haver problemas para o 
usuário encontrar um driver para seu dispositivo legado. A Figura 56 ilustra o controlador de 
dispositivos e os drivers.
113
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Barramento
Processo do usuário
Restante do sistema operacional
Espaço 
do 
usuário
Espaço 
do 
núcleo Driver da 
impressora
Driver 
do 
disco
Controlador 
da impressora
Controlador 
do disco rígidoHardware
Dispositivo
Figura 56 – Camadas do software de E/S
Os drivers de dispositivos estão classificados em poucas categorias. Entre elas as mais comuns são:
•Dispositivo de bloco.
• Dispositivos de caractere.
Os sistemas operacionais possuem uma interface padrão para os drivers de bloco e outra para 
driver de caractere. Essas interfaces permitem que os dispositivos sejam manipulados pelo sistema 
operacional.
Em alguns ambientes o sistema operacional pode ser um único programa binário que contém intricados 
os driver necessários. Quando é preciso a instalação de um novo dispositivo, então deve‑se recompilar o 
núcleo do sistema operacional com o novo driver, construindo um novo binário. Esse modelo, no início do 
Linux, causou grande impacto para os leigos usuários desse sistema, exatamente pela obrigatoriedade do 
usuário ter de procurar o driver necessário para seu dispositivo e, posteriormente, compilar o núcleo do 
sistema – ação que para muitos ainda é uma missão impossível.
Com a enorme diversidade de dispositivos de E/S e a demanda por trocas e atualizações constantes, o 
modelo apresentado anteriormente não é mais adequado. Os sistemas operacionais para computadores 
pessoais passaram para um modelo, no qual os drivers podem ser dinamicamente carregados no sistema 
durante a execução.
114
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
8.5.3 Software de E/S independente de dispositivo
O software de dispositivos possui geralmente duas partes, sendo a primeira inerente ao dispositivo e 
outra parte que é independente.
Os softwares independentes de dispositivos executam funções de entrada e 
saída comuns para todos os dispositivos, fornecendo uma interface uniforme 
para o software no nível do usuário.26
As funções descritas a seguir, em geral, são feitas no software independente de dispositivo.
• Interface normalizada com driver de dispositivos.
• Providenciar um tamanho de bloco independente de dispositivo.
• Buffering.
• Processamento e reporte de erros.
• Alocação e liberação de dispositivos dedicados.
A construção de uma interface uniforme permite ao sistema que todos os dispositivos de entrada e 
saída e drivers pareçam similares. Na Figura 57a, é ilustrada uma colocação simbólica, na qual os drivers 
de cada dispositivo apresentam uma interface diferente para o sistema operacional. Tendo em vista que 
as funções do núcleo do sistema operacional, requeridas pelo driver, também diferem de um driver para 
o outro, a resultante é um grande esforço de programação.
Na Figura 57b, são simbolizados os drivers com a mesma interface e, se um novo driver estiver em 
conformidade com essa interface, isso irá tornar muito mais fácil conectar um novo dispositivo. Dessa 
forma, fica muito mais previsível para os programadores de driver saberem quais funções eles devem 
fornecer, bem como quais funções eles poderão chamar do núcleo.
Sistema operacional
Drive do 
disco
Drive do 
teclado
Drive do 
mouse
a.
Sistema operacional
Drive do 
disco
Drive do 
teclado
Drive do 
mouse
b.
Figura 57 – a. Sem interface padrão para o driver. b. Com uma interface padrão para o driver
26 Disponível em: <http://www.ufpi.br/subsiteFiles/eml/arquivos/files/SO/SO_Livro.pdf>. Acesso em: 8 jun. 2011.
115
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
8.5.4 Software de E/S do espaço do usuário
Nesse cenário, em camadas de software de E/S, somente uma pequena parte é constituída de 
bibliotecas atreladas aos programas do usuário e de programas que executam fora do núcleo do sistema 
operacional. Além dos softwares de E/S no nível do usuário constituído de rotinas de biblioteca, outra 
categoria é o sistema de spooling.
Um processo especial, chamado daemon, e um diretório especial no sistema, chamado de diretório 
de spool, são criados para tratar as novas entradas. Em um caso de uma impressora que está sendo 
acessada por um processo durante 20 minutos, mas nenhuma impressão está sendo realizada por ele, 
isso significaria que mais nenhum outro processo poderia ter usado a impressora, tendo em vista que ela 
estava ocupada. Entretanto, com o spooling, o processo gera um arquivo a ser impresso e o coloca no 
diretório de spool, ficando como responsabilidade do processo especial daemon a exclusiva permissão 
para usar o arquivo especial da impressora e imprimir os arquivos no diretório. Com isso, é eliminada a 
possibilidade de outro processo tomar para si o recurso e mantê‑lo ocupado mesmo sem necessidade. 
O spool também é usado em outros casos, tal como a transferência de arquivos pela rede, em que o 
processo de transmissão de arquivo usa um spool de rede e, posteriormente, o daemon respectivo de 
rede irá retirar o arquivo do diretório de spool e transmiti‑lo.
A Figura 58 demonstra, de forma geral, o sistema de E/S, ilustrando todas as camadas e as principais 
funções de cada uma delas.
Funções de E/S
Chama E/S; formata E/S; coloca 
no spool
Nomeação, proteção, bloqueio, 
utilização de buffer e alocação
Ajusta os registradores do 
dispositivo; verifica status
Acorda driver quando a E/S 
está completa
Execura operações de E/S
Camada
Processo do usuário
Software independente de 
dispositivo
Drivers dos dispositivos
Tratadores de interrupção
Hardware
1. Requisição de E/S
2. Resposta de E/S
1. 2.
Figura 58 – Sistema de E/S: camadas e principais funções
8.6 Hardware de E/S
Para todos os tipos de plataformas de computadores, necessitamos de algum tipo de dispositivo para 
informar entradas e receber resultados, constituindo o que chamamos genericamente de dispositivos de 
Entrada e Saída (E/S).
116
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Com base no sentido do fluxo de dados entre o computador e o dispositivo, 
denominamos esses dispositivos como periféricos de entrada, periféricos de 
saída, ou ainda, periféricos de entrada e saída. Um periférico é qualquer 
dispositivo conectado a um computador, possibilitando sua interação com 
o mundo externo.
Um componente de hardware denominado interface permite que os 
periféricos sejam conectados ao computador. Portanto, os periféricos não 
estão conectados diretamente aos barramentos do computador. Dessa 
forma, as interfaces constituem um elemento primordial para que a 
transferência de dados entre periférico e processador, ou entre periférico 
e memória, ocorra.
Outro componente de hardware denominado controlador integra 
as interfaces. Um controlador corresponde a um processador/chip 
projetado para realizar uma função específica, como controlar um 
disco rígido.27
Os hardwares de E/S tem como principais componentes os chips, as ligações elétricas e os 
componentes físicos.
Os dispositivos de E/S estão divididos em três classes:
• Dispositivo de bloco: armazena informação em blocos de tamanho fixo, com endereço 
(exemplo: disco).
• Dispositivo de caractere: envia ou recebe fluxo de caracteres sem considerar qualquer estrutura 
de blocos (exemplo: impressoras, interface de rede, mouse).
• Outros dispositivos: relógio.
8.6.1 Discos rígidos
Os discos rígidos são dispositivos de armazenamento destinados a grandes quantidades de dados. 
Atualmente, qualquer computador pessoal vem com algo em torno de 500 GB, a ponto de a unidade de 
medida dos primeiros computadores ser na casa das dezenas ou centenas de bytes.
Fisicamente, um disco rígido é composto por dois grandes blocos.
27 Disponível em: <http://professor.rodrigoscama.com.br/textos/SO_EntradaeSaida.pdf>. Acesso em: 8 jun. 2011.
117
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Figura 59 – Discos metálicos e estrutura mecânica de um disco rígido
1. Conjunto de discos metálicos: é superposto e disposto em alturas diferentes 
suportado por um eixo central. As duas superfícies de cada disco são recobertas 
por uma cobertura magnética, possibilitando a gravação dos dados.
No momento de acesso ao disco, essa estrutura é mantida em uma rotação 
constanteem torno de 7.200 rpm.
2. Estrutura mecânica: suporta um conjunto de cabeçotes, sendo um para 
cada superfície de disco. É capaz de realizar movimentos de vaivém, 
possibilitando que os cabeçotes possam ser deslocados do centro até a 
borda do disco e vice‑versa.
Do ponto de vista da organização lógica, cada superfície de um disco é 
dividida em circunferências concêntricas denominadas trilhas. Cada trilha é 
subdividida radialmente em unidades chamadas blocos lógicos.
Tipicamente, todos os blocos têm o mesmo tamanho, variando entre 512 e 
4.096 bytes. O bloco constitui‑se na menor unidade de leitura e gravação 
possível em um disco.28
RAID (Redundant Array of Independent Disks)
A RAID é uma estrutura que se propõe a solucionar problemas associados 
com o armazenamento de grandes quantidades de dados. Ela é associada 
sempre à cópia de segurança.
O princípio fundamental de uma estrutura RAID é combinar vários discos 
rígidos físicos em uma estrutura lógica de discos de forma a aumentar a 
confiabilidade e o desempenho do ambiente.
28 Disponível em: <http://professor.rodrigoscama.com.br/textos/SO_EntradaeSaida.pdf>. Acesso em: 8 jun. 2011.
118
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
O conjunto de discos (array) independentes (independent) em RAID armazena 
informações de forma redundante (redundant), viabilizando a recuperação 
de dados em caso de falha física de um dos discos.29
A estrutura de RAID é dividida em níveis, sendo:
• RAID 0: nesse nível, os dados escritos são divididos entre os diferentes 
discos físicos que compõem o disco RAID sem considerar nenhum 
mecanismo para o controle ou correção de erros. Denominamos de 
stripping o método de escrever (e depois acessar) os dados em paralelo 
em diferentes discos.30
A1
A3
A5
A7
A2
A4
A6
A8
RAID 0
Disco 0 Disco 1
Figura 60 – RAID 0
• RAID 1: esse nível é conhecido como espelhamento (mirroring). Aqui, um 
dado é escrito simultaneamente em um disco primário e em um disco 
secundário de cópia.31
A1
A2
A3
A4
A1
A2
A3
A4
RAID 1
Disco 0 Disco 1
Figura 61 – RAID 1
29 Disponível em: <http://professor.rodrigoscama.com.br/textos/SO_EntradaeSaida.pdf>. Acesso em: 8 jun. 2011.
30 Idem.
31 Idem.
119
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
• RAID 2/3/4: os dados são armazenados em diferentes discos, utilizando‑se 
stripping. No RAID 2, são armazenadas informações ECC (Error Correcting 
Code), que são as informações de controle de erros, no lugar da paridade. 
No RAID 3, um único bit de paridade é computado para cada palavra de 
dados e escrito em um drive de paridade. O RAID 4, assim como outros 
RAIDs, cuja característica é utilizarem paridade, usa um processo de 
recuperação de dados mais abrangente que arrays espelhados, como RAID 
1. Esse nível também é útil para criar discos virtuais de grande dimensão, 
pois consegue somar o espaço total oferecido por todos os discos, exceto 
o disco de paridade. O desempenho oferecido é razoável nas operações 
de leitura, pois podem ser utilizados todos os discos simultaneamente.32
Em caso de falha em um dos discos, a informação contida nos demais discos, 
mais a informação da paridade, são suficientes para a reconstrução dos 
dados armazenados no disco que apresentou problemas. A diferença entre 
os níveis 2, 3 e 4 está na forma pela qual a paridade é calculada: paridade a 
bit no RAID 2, paridade a byte no RAID 3 e paridade de bloco no RAID 4.33
Disco 0
A1
B1
C1
D1
A2
B2
C2
D2
A3
B3
C3
D3
A4
B4
C4
D4
Ap1
Bp1
Cp1
Dp1
Ap2
Bp2
Cp2
Dp2
Ap3
Bp3
Cp3
Dp3
Disco 1 Disco 2 Disco 3 Disco 4 Disco 5 Disco 6
RAID 2
Figura 62 – RAID 2
Disco 0
A1
A4
B1
B4
A2
A5
B2
B5
A3
A6
B3
B6
Ap(1‑3)
Ap(4‑6)
Bp(1‑3)
Bp(4‑6)
RAID 3
Disco 1 Disco 2 Disco 3
Figura 63 – RAID 3
32 Disponível em: <http://pt.wikipedia.org/wiki/RAID>. Acesso em: 8 jun. 2011.
33 Disponível em: <http://professor.rodrigoscama.com.br/textos/SO_EntradaeSaida.pdf>. Acesso em: 8 jun. 2011.
120
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
A1
B1
C1
D1
A2
B2
C2
D2
A3
B3
C3
D3
Ap
Bp
Cp
Dp
Disco 0 Disco 1 Disco 2 Disco 3
RAID 4
Figura 64 – RAID 4
• RAID 5: esse nível é similar ao nível de RAID 3, ou seja, os dados são 
divididos entre os diferentes discos e, para cada strip, é calculada a 
paridade. A diferença reside no fato de que essa informação de paridade 
não é mais concentrada em um único disco, mas sim distribuída entre os 
diferentes discos.34
A1
B1
C1
Dp
A2
B2
Cp
D1
A3
Bp
C2
D2
Ap
B3
C3
D3
Disco 0 Disco 1 Disco 2 Disco 3
RAID 5
Figura 65 – RAID 5
• RAID 6: é um padrão relativamente novo, suportado por apenas 
algumas controladoras de disco. É semelhante ao RAID 5, porém usa 
o dobro de bits de paridade, garantindo a integridade dos dados caso 
até dois dos discos rígidos falhem ao mesmo tempo. Ao usar oito 
discos rígidos de 36 GB cada um em RAID 6, teremos 216 GB de dados 
e 72 GB de paridade.35
34 Disponível em: <http://professor.rodrigoscama.com.br/textos/SO_EntradaeSaida.pdf>. Acesso em: 8 jun. 2011.
35 Disponível em: <http://pt.wikipedia.org/wiki/RAID>. Acesso em: 8 jun. 2011.
121
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
A1
B1
C1
Dp
Eq
A2
B2
Cp
Dq
E1
A3
Bp
Cq
D1
E2
Ap
Bq
C2
D2
E3
Aq
B3
C3
D3
Ep
Disco 0 Disco 1 Disco 2 Disco 3 Disco 4
RAID 6
Figura 66 – RAID 6
• RAID 0+1: é uma combinação dos níveis 0 (striping) e 1 (mirroring), na 
qual os dados são divididos entre os discos para melhorar o rendimento 
e também utilizar outros discos para duplicação de dados. Dessa forma, 
é possível utilizar o bom rendimento do nível 0 com a redundância do 
nível 1. No entanto, é necessário, pelo menos, quatro discos para montar 
um RAID 0+1. Sua arquitetura faz do RAID 0+1 o mais rápido e seguro, 
porém o mais caro. No RAID 0+1, se um dos discos apresentar falha, o 
sistema vira um RAID 0. Se os dois discos que possuem a sequência A1, 
A3 e A5 falharem ao mesmo tempo, haverá perda de dados. Se apenas 
uma das controladoras falhar, o sistema continua funcionando, mas 
nessa situação o ambiente estará sem tolerância à falha e sem o ganho 
de velocidade.36
A1
A3
A5
A7
A2
A4
A6
A8
RAID 0
Disco 0 Disco 1
A1
A3
A5
A7
A2
A4
A6
A8
RAID 0
Disco 2 Disco 3
RAID 1
RAID 0 + 1
Figura 67 – RAID 0+1
36 Disponível em: <http://pt.wikipedia.org/wiki/RAID>. Acesso em: 8 jun. 2011.
122
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
• RAID 1+0 ou 10: exige ao menos quatro discos rígidos. Cada par será espelhado 
para garantir redundância e, para melhorar o desempenho, os pares serão 
distribuídos. Nesse cenário, até metade dos discos pode falhar simultaneamente, 
desde que não falhem os dois discos de um espelho qualquer. Isso porque são 
usados discos de lotes diferentes de cada “lado” do espelho. É o nível recomendado 
para bases de dados por ser o mais seguro e com melhor desempenho.37
A1
A3
A5
A7
A1
A3
A5
A7
RAID 0
Disco 0 Disco 1
A2
A4
A6
A8
A2
A4
A6
A8
RAID 1
Disco 2 Disco 3
RAID 0
RAID 10
Figura 68 – RAID 1+0
• RAID 50: É um arranjo híbrido que usa as técnicas de RAID com paridade 
em conjunção com a segmentação de dados. Um arranjo RAID‑50 é 
essencialmente um arranjo com as informações segmentadas por meio 
de dois ou mais arranjos.38
A1
B1
Cp
D1
A2
Bp
C1
D2
Ap
B2
C2
Dp
A3
B3
Cp
D3
A4
Bp
C3
D4
Ap
B4
C4
Dp
A5
B5
Cp
D5
A6
Bp
C5
D6
Ap
B6
C6
Dp
Disk 0
120GB
Disk 1
120GB
Disk 2
120GB
Disk 3
120GB
Disk 4
120GB
Disk 5
120GB
Disk 6
120GB
Disk 7
120GB
Disk 8
120GB
RAID 0
RAID 5 RAID 5 RAID 5
Figura 69 – RAID 50
37 Idem.
38 Disponível em: <http://pt.wikipedia.org/wiki/RAID>. Acesso em: 8 jun. 2011.
123
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
agra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
• RAID 100: é composto do RAID 10+0. Normalmente, ele é implementado utilizando uma 
combinação de software e hardware, ou seja, implanta‑se o RAID 0 via software sobre o RAID 10 
via hardware.39
A1
A5
B1
B5
Disk 0
120GB
Disk 1
120GB
Disk 2
120GB
Disk 3
120GB
Disk 4
120GB
Disk 5
120GB
Disk 6
120GB
Disk 7
120GB
A1
A5
B1
B5
A2
A6
B2
B6
A2
A6
B2
B6
A3
A7
B3
B7
A4
A8
B4
B8
A3
A7
B3
B7
A4
A8
B4
B8
RAID 1 RAID 1 RAID 1 RAID 1
RAID 0RAID 0
RAID 0
Figura 70 – RAID 100
O controle requerido para implantação de uma configuração RAID pode ser 
realizado por software ou hardware. Se a implantação for por hardware, 
a capacidade de stripping, o cálculo de paridade e da escrita simultânea 
em discos são providos pela própria controladora de disco, portanto, não é 
necessária nenhuma intervenção especial do sistema operacional.
Em um RAID implantado por software, as informações devem ser fornecidas 
pelo próprio sistema operacional. Dessa forma, os dados a serem escritos 
são divididos pelo sistema operacional da máquina e as diferentes fatias de 
dados são enviadas aos discos um por um.40
8.7 Relógio
Os temporizadores (timers – relógios) são extremamente necessários por algumas razões, porém, em 
sistemas operacionais, o mais relevante é:
• Manter o funcionamento de segundos, minutos, horas, data e ano, mesmo que o computador 
esteja desligado. Com isso, quando o equipamento estiver ligado e em funcionamento, é o 
relógio que irá fornecer o tempo real e atual para o ambiente. Portanto, o sistema pode calcular 
quanto tempo um processo já está na CPU e, de ciclos em ciclos, quanto irá alternar entre os 
demais processos.
39 Idem.
40 Disponível em: <http://professor.rodrigoscama.com.br/textos/SO_EntradaeSaida.pdf>. Acesso em: 8 jun. 2011.
124
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Apesar do temporizador não ser um dispositivo de bloco nem um dispositivo de caractere, o software 
desse componente pode tomar a forma de um driver de dispositivo.
8.7.1 Hardware do relógio – visão geral
Os computadores típicos e atuais utilizam um relógio interno que não é parecido com os nossos 
relógios de pulso ou de mesa. Os relógios dos computadores são formados por três componentes:
• Oscilador de cristal.
• Controlador.
• Registrador de apoio.
Devido ao processo extremamente preciso da seleção, corte e montagem sob pressão de um 
fragmento de cristal de quartzo, é possível obter um sinal cíclico de alta precisão medido em centenas 
de megahertz. Somando a capacidade da eletrônica, podem ser obtidas frequências de 1.000 MHz ou 
superiores.
O sinal gerado pelo circuito eletrônico descrito anteriormente servirá como referência de sincronização 
para os vários elementos do computador que necessitem desse tipo de interação.
O sinal gerado alimenta um controlador que irá realizar uma contagem regressiva até zero. 
Quando o controlador chega à contagem igual a zero, este, por sua vez, irá gerar uma interrupção 
na CPU.
A bateria que vem juntamente com a placa‑mãe (bother board) é necessária para manter o relógio 
funcionando até quando o computador está desligado ou mesmo desconectado da tomada.
 Observação
Essa bateria é fácil de ser identificada na placa‑mãe. Ela tem o tamanho 
aproximado de uma moeda de R$ 0,05 e próximo a ela há um jumper para 
reset caso necessário.
Se o relógio não estiver presente no sistema, então será solicitado ao usuário informar a data e a 
hora no momento do processo de inicialização da máquina.
Para sistemas em rede, existe outra forma que é o uso de um computador remoto de sincronismo de 
data e hora. Com isso, todos os equipamentos na rede estarão no mesmo tempo ou, em outras palavras, 
estarão sincronizados.
125
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Figura 71 – Bateria instalada na placa‑mãe
8.7.2 Software do relógio – visão geral
O software do relógio usará o dado de saída fornecido pelo hardware do relógio, que é responsável 
por gerar os pulsos em intervalos extremamente precisos e, preferencialmente, em repetições infinitas. 
Então é preciso fornecer as seguintes entregas:
1. Manter o dia e a hora: a cada tique do relógio haverá um incremento do contador.
2. Evitar processo executando por tempo maior que o devido: quando um processo é iniciado, o 
escalonador inicia o contador com o valor do tempo (quantum) do processo em tiques de relógio. 
Em cada interrupção, o driver do relógio decresce um no contador. Assim que o contador atinge 
o valor zero, então é chamado o escalonamento para selecionar outro processo.
3. Contabilizar o uso da CPU. Geralmente é usado um segundo temporizador, diferente do relógio 
principal do sistema, sempre que um processo é inicializado. Quando o processo é interrompido, 
o temporizador pode ser lido para saber por quanto tempo o processo esteve em execução.
4. Tratar a chamada de sistema alarm feita pelos processos do usuário, ou seja, quando um 
determinado processo necessita de que o sistema operacional lhe dê um aviso após certo intervalo.
5. Fornecer temporizadores watch‑dog. Um exemplo prático do uso do watch‑dog é quando uma 
unidade de disco flexível está sendo chamada para uso. No instante zero, o motor da unidade 
encontra‑se parado. Somente após o motor estabelecer a rotação adequada é que a cabeça de 
leitura estará pronta para iniciar a procura, bem como o programa do usuário poderá executar sua 
tarefa. Portanto, é o watch‑dog que dará ao sistema a referência de tempo necessária para que o 
motor já esteja na rotação adequada para não danificar as partes.
126
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
6. Perfil de execução, realizar monitoramentos e coletar estatísticas. Essa função permite que 
o programa do usuário tenha condições de receber do sistema um histograma do contador 
de programa, podendo assim relatar onde está sendo gasto o tempo.
8.7.3 Temporizador por software – visão geral
Geralmente, os computadores possuem um segundo relógio programável, podendo ser ajustado 
para refletir interrupções na taxa que o programa necessitar.
Interrupções e polling são as duas maneiras típicas de gerenciar entrada e saída. As interrupções 
possuem bom tempo de resposta, ou seja, baixa latência, porém, quando em conjunto com as CPUs 
modernas, esse método causa sobrecarga devido à necessidade de chaveamentos de contexto.
O polling é a alternativa para o gerenciamento de E/S por interrupção. Ele permite que a aplicação 
realize o processo diretamente, verificando a ocorrência do evento esperado em intervalos de tempo. 
Porém, se o evento ocorrer imediatamente após a verificação, então haverá atraso por fazer a aplicação 
esperar até o próximo polling.
8.8 Teclado, mouse e monitor – visão geral
Nos computadores pessoais, os dispositivos, como teclado, mouse e monitor, são praticamente 
indispensáveis. Mesmo os equipamentos portáteis, quando não munidos de mouse, possuem a opção 
do touch screen ou algum outro método que faz a função similar à do mouse.
Para os servidores de rede, nem sempre são disponibilizados teclados, mouse e monitor. Isso acontece até 
por uma questão de economia, de espaço ou até mesmo por segurança. Em muitas empresas de outsourcing o 
data center é praticamente uma sala apagada, ou seja, somente máquinas instaladas nos racks. Muitas vezes, 
em outro prédio que pode estar a quilômetros de distância, fica a equipe técnica que suporta ou executa as 
atividades nos servidores. Normalmente, quando acontece um problema mais específico, o operador do data 
center, que fica no próprio local onde estão os servidores, vai até o equipamento danificado com um console 
ou então faz uso do teclado, mouse e monitor. Em alguns casos, é instalado juntamente com os servidores um 
conjunto com teclado, mouse e monitor embutido que pode serretraído e guardado de forma a não ocupar 
um espaço considerável. Esse dispositivo possui cabos e entradas para atender vários servidores, necessitando 
apenas selecionar por chave qual servidor quer obter controle e acesso.
Figura 72 – Kit teclado, mouse e monitor para rack padrão 19” (1U) fechado (esquerda), aberto (direita).
127
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
8.8.1 Software do teclado
Entre os dispositivos disponíveis para os usuários que servirão de entrada temos o teclado 
que possui um circuito impresso e um conjunto de teclas sendo conectado ao computador por 
meio de uma porta serial ou USB. Toda vez que é pressionado ou liberado, uma interrupção é 
imediatamente gerada.
Figura 73 – Circuito do teclado
O código de varredura é o número composto por 7 bits e que irá compor uma identificação distinta 
para cada tecla, sendo necessário para o driver controlador o oitavo bit para definir se a tecla encontra‑se 
pressionada (igual a zero) ou solta (igual a um).
Quando uma tecla é pressionada, o código da tecla é colocado no registrador de E/S. O driver é capaz 
de determinar se a tecla é minúscula, maiúscula, precedida de CRTL, ALT ou CTRL‑ALT.
Figura 74 – Código de varredura – teclado com 106 teclas
Os teclados são definidos conforme norma ISO9995.
 Saiba mais
Para saber mais a respeito, consulte:
<http://www‑01.ibm.com/software/globalization/topics/keyboards/iso.jsp>.
128
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Conforme padrão POSIX, existem dois modos para driver de teclado: não canônico e canônico.
O “não canônico” é baseado em caractere ou sequência de caractere. Isso implica que, se durante 
a digitação o usuário errar e tentar usar a tecla backspace (retrocesso), na realidade, o resultado será a 
palavra ou caractere errado.
O modo “canônico” é com base em linha, ou seja, o driver trata toda a edição interna da linha e 
entrega somente as linhas corrigidas para os programas do usuário.
8.8.2 Software do mouse
Os modelos de mouse mais antigos possuem internamente dois dispositivos mecânicos com pequenos 
orifícios. Conforme Figura 75, é fixado em um dos lados de cada roda um emissor de luz e do outro 
lado, o receptor. Conforme movimentação do mouse, a esfera de borracha irá por consequência girar as 
rodas perfuradas e, com base nos movimentos e passagem de luz por cada orifício, serão determinadas 
as coordenadas para os eixos “X” e “Y”.
eixo “X”
eixo “Y”
Figura 75 – Estrutura interna do mouse
Os mouses ópticos modernos possuem um processador de imagens que, continuamente, tira fotos 
de baixa resolução da superfície e as compara em busca de alteração.
Quando é detectada a movimentação do mouse, com o botão sendo pressionado ou liberado, uma 
informação é enviada para o computador. As informações são compostas por três itens:
1. Deslocamento do eixo “X”.
2. Deslocamento do eixo “Y”.
3. Informação dos botões.
O menor deslocamento de espaço detectado por um mouse é normalmente de 0,1 mm e faz uma 
varredura de 40 vezes por segundo. Alguns programas diferem o comando que é esperado pelo usuário, 
129
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
quando é pressionado o botão duas vezes seguidas e rapidamente. Vale destacar que com base nos 
parâmetros de espaço e tempo informados previamente, a sensibilidade para detectar o “double click” 
fica a cargo do ajuste a ser configurado no programa.
8.8.3 Software de saída
Se comparado com o software de entrada, o software de saída é mais simples, entretanto existem particularidades 
e variâncias que necessitam de nossa atenção. Nesta seção, daremos ênfase ao software de interface gráfica, 
tendo em vista que, para os usuários, o principal dispositivo de saída é o monitor do computador.
Em 1984, o MIT (Massachusetts Institute of Technology) desenvolveu o projeto Athena, resultando 
no sistema X‑Window, também conhecido como “X”. Ele é um protocolo de rede que tem como 
objetivo conectar diversos terminais a um servidor central, provendo base para GUI (Graphical User 
Interface). O “X” é composto por dois componentes principais: o software client e o software host 
que podem funcionar em máquinas distintas, ou, nos casos mais atuais, nas máquinas com o sistema 
operacional Linux, ambos no mesmo equipamento.
 Saiba mais
Para saber mais a respeito do “X” consulte: <http://www.linfo.org/
x.html>.
Na Figura 76 é demonstrado o ambiente Gnome (GNU Network Object Model Environment) e na 
Figura 77 o ambiente KDE (K Desktop Environment) que são dois dos ambientes gráficos disponíveis em 
sistemas Linux e ambos são executados sobre o ambiente X‑Window.
Figura 76 – Ambiente gráfico Gnome
130
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
 Saiba mais
Para saber mais a respeito do Gnome consulte o site: http://www.gnome.org/
Figura 77 – Ambiente gráfico KDE
 Saiba mais
Para saber mais a respeito do KDE consulte o site: http://www.kde.org/
O servidor X é o software responsável por coletar a entrada no teclado e o mouse então escrever 
a saída na tela e controlar a janela ativa. Os clientes X são os programas em funcionamento, podendo 
estar localmente na mesma máquina ou remotamente por meio de uma rede.
Em outras palavras, o servidor X fica localizado na máquina do usuário a qual tem por função 
principal exibir bits na tela do terminal. É demonstrado na Figura 78 o modelo de quando o servidor e o 
cliente X estão em máquinas distintas e conectadas por uma rede.
Cliente X Servidor XRede (LAN / WAN)
Máquina remota Estação do usuário
Figura 78 – Sistema X‑Window cliente e servidor
131
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
 Observação
No caso de uma única máquina com o sistema operacional Linux e com 
o ambiente gráfico Gnome ou KDE, o cliente é simplesmente um programa 
que utiliza a biblioteca X e se comunica com o servidor X que está na mesma 
máquina. Essa comunicação é feita internamente por meio do protocolo TCP/
IP, da mesma forma que na comunição por rede demonstrada na Figura 78.
Em geral, os computadores pessoais possuem uma interface gráfica do usuário (GUI – Graphical 
User Interface) que tem quatro elementos essenciais (WIMP):
1. Windows: janelas, áreas retangulares para executar problemas.
2. Icons: ícones, pequenos símbolos que possuem alguma ação associada assim que executados.
3. Menus: são listas de ações agrupadas.
4. Pointing: apontador pode ser um mouse ou outro dispositivo com a finalidade de mover um 
cursor na tela.
O software de GUI é implementado no Windows como parte inerente do sistema operacional ou por 
meio de códigos no nível do usuário, como é feito nos sistemas Unix.
Geralmente, a entrada de dados para as interfaces gráficas são via teclado e mouse e a saída pelo 
hardware de adaptador gráfico. Os adaptadores gráficos possuem uma memória chamada de RAM de 
vídeo e têm a finalidade de armazenar as imagens exibidas na tela. Tipicamente, os adaptadores gráficos 
de alta resolução possuem processadores de 32 ou 64 bits e até 4 GB de memória RAM de vídeo. A 
memória de vídeo pode ser usada para armazenar outro tipo de dado além das imagens, como é o 
caso do Z‑buffer, que gerencia coordenação em gráficos 3‑D, texturas, vertex buffer e a compilação de 
programas de sombreamento.
Os adaptadores gráficos suportam dimensões distintas de tela. Entre os tamanhos mais comuns 
encontrados, temos 1.024 x 768, 1.280 x 960, 1.600 x 1.200 e 1.920 x 1.200. Exceto o 1.920 x 1.200, os 
demais estão na formatação 4:3, conforme padrão NTSC e PAL, e fornecem pixels quadrados. O tamanho 
1.920 x 1.200 está alinhado com as telas widescreen.
Se usada a melhor resolução, somente para conter a imagem, uma placa devídeo colorida com 24 
bits por pixel necessita de 6,5 MB de memória RAM. Sendo a tela completamente restaurada 75 vezes 
por segundo, a RAM de vídeo deve entregar dados continuamente em uma frequência de 489 MB/s.
Para saber mais a respeito dos softwares de saída para as GUIs é indicado estudo usando livros 
dedicados ao tema, por exemplo: Petzold, 1999.
132
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Um programa para Windows, diferentemente do ambiente Unix, em geral, cria uma ou mais janelas 
com um objeto‑classe para cada janela. Cada programa possui uma fila de mensagens e um conjunto de 
procedimentos tratadores. O comportamento do programa é dirigido pelos eventos que são originados 
por mouse e teclado e são processados pelos procedimentos tratadores.
O GDI (Graphics Device Interface – Dispositivo de Interface Gráfica), é um dos três subsistemas 
principais do Microsoft Windows. É um padrão desse sistema operacional para representar objetos 
gráficos e transmiti‑los para dispositivos de saída. O GDI é responsável por tarefas como desenhar 
linhas, curvas e fontes, providenciando todo um API (Application Programming Interface – Interface de 
Programação de Aplicações) específico para a execução dessas operações.
Uma coleção de chamadas de rotinas GDI pode ser concentrada em um arquivo, denominado 
meta‑arquivo, capaz de descrever um desenho completo. Não são todas as imagens manipuladas que 
podem ser geradas a partir de gráficos vetoriais. As fotografias e os vídeos são exemplos de imagens 
que não usam gráficos vetoriais.
Imagem vetorial é um tipo de imagem gerada a partir de descrições geométricas de formas, diferente 
das imagens chamadas de mapa de bits (bitmaps), que são geradas a partir de pontos minúsculos 
diferenciados por suas cores. Uma imagem vetorial tipicamente é composta por elipses, curvas, polígonos, 
texto, entre outros elementos, ou seja, utilizam‑se vetores matemáticos para sua descrição. Em um 
trecho de desenho sólido, monocromático, um programa vetorial apenas repete o padrão, não tendo 
que armazenar dados para cada pixel.
Nas versões mais antigas dos sistemas operacionais da Microsoft, cada caractere era representado 
por mapas de bits. Uma vez que podem ser necessários todos os caracteres de todos os tipos de fontes 
e em tamanhos variados, seria necessário um enorme número de mapas de bits para termos todas as 
combinações possíveis, o que o tornava um sistema totalmente inadequado para textos.
Os esboços de caracteres ou fontes TrueTypes são definidos por uma sequência de pontos ao redor de 
seu perímetro, portanto todos os pontos são relativos à origem de coordenada (0,0) o que permite escalar os 
caracteres de maneira crescente ou decrescente multiplicando cada coordenada pelo mesmo fator de escala.
8.9 Thin clients – clientes magros
Os clientes magros são máquinas com capacidade limitada, com pouco software instalado localmente 
e se comunicando com um computador central por meio do protocolo de rede.
Os conceitos antagônicos de centralização ou descentralização são assuntos que vêm sendo discutidos 
por décadas. Nos primórdios da computação, o modelo centralizado era muito utilizado. Posteriormente, 
o modelo descentralizado passou a tomar corpo e força e ultimamente há uma tendência expressiva 
para a volta do modelo antigo.
Essa volta, em termos conceituais, é exatamente o modelo idealizado no início da história da 
computação, porém, devido ao fato de termos a internet como a nova variável no cenário atual, esse 
133
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
modelo centralizado é, na prática, uma versão muito mais complexa e com possibilidades muito mais 
amplas que anteriormente.
No início da computação, os servidores, denominados computadores de grande porte, possuíam 
para a época muitos bytes de memória, bytes de disco e IPIs (Instructions per Second – Instruções por 
Segundo), capacidade de processamento e os denominados terminais burros (basicamente dispositivos 
de entrada e saída e uma placa de rede). Com o passar dos anos, vimos as estações de trabalho ficarem 
cada vez mais poderosas, com milhões de bytes de espaço em disco, milhões de bytes em memória e 
processadores que dariam depressão aos primeiros “supercomputadores”.
Atualmente, com a internet, notamos usuários que não estão mais dispostos a perderem tempo, 
adicionarem riscos de perda de arquivos e armazenarem e‑mails no disco duro localmente. Hoje é trivial 
usarmos os provedores desse serviço na hora que desejamos, de forma remota, de onde estivermos e por 
meio de qualquer dispositivo com navegador, acessar a internet. Essa filosofia vem se expandindo e não 
irá demorar para estarmos trabalhando da mesma forma com os nossos arquivos de texto, apresentações, 
planilhas, vídeos, sons e outros.
Com essa nova onda tendencial, apareceu o thinc, desenvolvido pelos pesquisadores da Universidade 
de Columbia.
O thinc tem por princípio tirar todos os programas do equipamento do usuário e usá‑lo somente 
como tela, com toda a computação sendo realizada pelo servidor. O protocolo entre o cliente thinc e o 
servidor simplesmente informa à tela como atualizar a RAM de vídeo.
Sistema operacional instalado Microsoft® Windows® Embedded CE 6.0 R2 
Browser supported
Memória padrão SDRAM DDR2 de 512 MB
Memória flash 128 MB
Gráficos
Placa de vídeo integrado VIAChrome9 
HC3 com suporte para monitores de alta 
resolução até 1920 x 1440 ou até 32 
bits de profundidade de cor (64 MB de 
memória de vídeo)
Figura 79 – Thin clients – Informação geral
8.10 Gerenciamento de energia
Atualmente, a humanidade consome 30% a mais dos recursos naturais do que 
a capacidade de renovação da Terra. Se não houver mudança nos padrões de 
consumo e produção, em menos de 50 anos já serão necessários mais de dois 
planetas Terra para suprir nossas necessidades de água, energia e alimentos.
134
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Todo consumo causa impacto (positivo ou negativo) na economia, nas 
relações sociais, na natureza e em cada indivíduo. Ao ter consciência desses 
impactos, o consumidor pode buscar maximizar os impactos positivos 
e minimizar os negativos para construir um mundo melhor. Consumo 
consciente é um consumo com consciência de seu impacto e voltado à 
sustentabilidade da vida no planeta.
(...)
Segundo o professor Luiz Pinguelli Rosa, da pós‑graduação e pesquisa de 
engenharia da UFRJ (Universidade Federal do Rio de Janeiro), as emissões de 
gases de efeito estufa mundiais (aqueles que contribuem para o aquecimento 
global) cresceram 80%, entre 1970 e 2004, e representavam, em 2004, 77% 
das emissões causadas por atividades humanas. Nesse período, o maior 
crescimento das emissões ficou com o setor de energia, que aumentou 145%. 
Apesar disso, segundo a Agência Internacional de Energia (IEA), levando em 
consideração o ritmo atual, o consumo energético do mundo aumentará em 
50% até 2030.
Por isso, uma das principais preocupações do consumidor consciente deve 
ser a redução no gasto de energia. Além das questões ambientais, também 
existem as questões sociais. Quanto mais energia gastamos, mais energia terá 
de ser produzida. A capacidade do Brasil de fornecer eletricidade já está no seu 
limite, e novas usinas terão de ser construídas para atender à demanda.41
Conforme Eletrobras (www.eletrobras.com), no setor elétrico a capacidade nominal instalada em 
2008 (milhões de kW) era de 103 milhões de kW distribuídos em:
• Térmicas (25%).
• Hidráulicas (73%).
• Outros (0,2%).
• Energia elétrica disponível em 2008: 541 bilhões de kWh.
• Consumo nacional de energia elétrica em 2008: 418 bilhões de kWh.
• Número de consumidores: 63,5 milhões.
É estimado que, em 2030, o Brasil deverá estar com a capacidade nominal instalada de 216,6 milhões 
de kW (156 milhões dekW de hidroelétricas, 39,8 milhões de kW térmicos, destes, 21,0 milhões a gás 
41 Disponível em: <http://www.hp.com/latam/br/consumoconsciente/energia.html>. Acesso em: 8 jun. 2011.
135
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
natural, 6 milhões a carvão, 7,35 milhões a combustível nuclear, e 5,5 milhões de outros, e, ainda, 30,8 
milhões de energia alternativa – PCHs, biomassa e eólica).
Em dezembro de 2010, no Brasil, existiam cerca de 74 milhões de computadores pessoais. 
Agora, imaginando um cenário hipotético, considere que esses computadores consumam algo 
estimado em 500 Watts e fiquem ligados por 5 horas por dia (média).
Para calcular o valor de kWh devemos aplicar a fórmula:
potência real x tempo de uso
1.000
Portanto, cada computador teria o consumo diário de:
500 Watts x 5 horas
1.000
= 2,5 kWh
E cada computador teria o consumo mensal de:
2,5 kWh x 30 = 75 kWh
Usando a tarifa (valor do kWh) de outubro de 2010, aplicada pela AESEletropaulo, teríamos para 
cada computador o equivalente (sem aplicar os tributos – PIS/PASEP e COFINS) a:
75 kWh x 0,29651 = R$ 22,24
Agora, calcule o valor em reais para os 74 milhões de computadores existentes hoje e terá a ordem 
de grandeza em kWh e financeira que representam os computadores ligados. Vale destacar que, na 
realidade, muitos desses computadores ficam mais que 5 horas ligados e possuem consumo maior que 
500 Watts por hora. Isso devido às diversas necessidades dos usuários e placas e dispositivos conectados, 
sem contar que monitores antigos possuem consumo mais elevado que os novos modelos de monitores 
com tecnologia LED.
Para o tema relacionado com consumo de energia, o sistema operacional pode contribuir desligando 
as partes do computador que não estejam em uso. Os aplicativos também podem contribuir usando 
menos energia.
As baterias são divididas em duas categorias, não recarregáveis e carregáveis. Inicialmente, as 
baterias recarregáveis eram feitas de níquel cádmio (NiCd). Em seguida, vieram as baterias híbridas de 
metal níquel (NiMH), sendo mais resistentes e menos poluentes quando descartadas. Atualmente, as 
baterias mais modernas são as de íon lítio, permitindo que sejam recarregadas mesmo antes de sua 
descarga total.
136
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Os fabricantes de computadores portáteis, principalmente notebooks que demandam mais da bateria, 
precisam projetar componentes que possibilitem diversas possibilidades de estado:
• Ligado: quando o dispositivo está em uso.
• Dormindo: quando o dispositivo não estiver em uso por um período curto de tempo.
• Hibernando: quando o dispositivo não estiver em uso por um longo período de tempo.
• Desligado: quando o dispositivo não for mais usado por um período indeterminado – nesse estado 
não há consumo de energia.
O sistema operacional está pronto para gerenciar as transições dos estados quando os equipamentos 
possuem essas funcionalidades: ligado, dormindo, hibernando e desligado.
Se compararmos isoladamente, o monitor é o dispositivo que mais consome energia em um computador. 
Portanto, ajustarmos o sistema operacional para desligar o monitor num intervalo de tempo justo de 
acordo com cada necessidade de cada usuário, ou aplicabilidade, é uma forma de contribuirmos para a 
economia de energia. Ao retornar à atividade, basta o usuário movimentar o mouse ou pressionar qualquer 
tecla. Outra técnica de melhoramento foi proposta por Flinn e Satyanarayanan (2004). Eles sugeriram que 
o monitor consistisse em zonas que pudessem ser ligadas ou desligadas independentemente. Essa proposta 
deixaria a área que não faz parte da janela em uso escura, com isso, dependendo do tamanho da área que 
não estivesse em uso, iria gerar uma economia substancial de energia.
Em segundo lugar na nossa lista de maiores consumidores de energia em um computador padrão 
PC típico, está o disco rígido, devido a sua parte mecânica composta de cilindros e motores, nos quais 
devem manter o disco em uma rotação que pode chegar a 15.000 rpm. Principalmente em notebooks, 
é bastante aplicada para economia de energia a técnica de colocar o disco para hibernar quando ele 
fica sem uso por alguns minutos. Outras técnicas, como a existência de memória cache suficiente para 
retardar o acionamento do disco que está hibernando ou mensagens avisando aos programas que o 
disco está em hibernação, retardando o acesso ao disco para as ações de menor relevância, também são 
mecanismos para economia de energia.
Também existem mecanismos para controle da CPU. O sistema operacional pode controlar a CPU 
para dormir e com isso reduz o consumo de energia desse componente para quase zero. Essa técnica 
pode ser aplicada pelo sistema operacional toda vez que não houver necessidade de uso ou quando a 
CPU estiver aguardando pelo dispositivo de E/S.
Para se aprofundar no assunto, quem tiver interesse pode pesquisar outros itens relacionados a 
controle de energia associado à memória, dispositivos de comunicação sem fio, controle dos ventiladores 
internos que resfriam as CPUs, entre outros.
As aplicações também podem contribuir para diminuir o consumo de energia. Em linhas gerais, 
podemos imaginar que uma figura com a extensão bmp normalmente é bem maior que uma figura 
137
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
no formato jpeg ou gif e, portanto, se na hora que o desenvolvedor estiver preparando sua aplicação, 
ele resolver optar pela figura mais “leve”, isso irá economizar tempo e espaço de uso de recursos e, por 
consequência, reduzirá o consumo de energia. Reduzir a qualidade do vídeo, usar um codec de voz com 
menos amostragens e outras diversas técnicas podem ajudar nesse processo.
 Resumo
O sistema de arquivos é um exemplo claro de abstração no mundo da 
computação. Pela visão do usuário, o sistema de arquivos é um conjunto 
de arquivos de sistema, documentos e figuras, todos dispostos em pastas 
de acordo com a necessidade do sistema e do usuário. Os usuários leigos no 
assunto não imaginam que os sistemas de arquivos possuem características 
intrínsecas de acordo com suas necessidades e plataformas. Há até usuários 
que tentam ler um arquivo que não é compatível entre sistemas de arquivos 
e mesmo assim dizem que existem problemas na máquina ou até mesmo 
que o arquivo está corrompido.
Os arquivos possuem características que permitem que sejam lidos e 
escritos (alterados); os diretórios podem ser criados e excluídos e também 
podem armazenar outros subdiretórios e arquivos “dentro deles”.
Arquivos contíguos, lista encadeada, tabelas de alocação de arquivos 
e i‑nodes são possíveis formas de descobrir como o sistema operacional 
aloca a memória e monitorar qual bloco vai para qual arquivo.
As estruturas de diretórios podem ser diferentes entre os sistemas. Os 
atributos podem ficar nos diretórios ou em outro lugar, como no i‑node. 
O espaço em disco pode ser gerenciado por listas de espaços livres ou 
mapas de bits.
Os sistemas mais modernos possuem mecanismos para melhorar a 
confiabilidade. Isso só é possível com técnicas de cópia incrementais e de 
programa que possa reparar sistemas de arquivos danificados.
Técnicas como a inclusão de cache de bloco, a leitura antecipada e a 
disposição de blocos relacionados próximos uns dos outros melhoram 
a performance do sistema de arquivos.
Diversos sistemas de arquivos foram comentados ao longo do material, 
porém é somente uma pequena parte das opções existentes no mercado. 
Entretanto, são os sistemas de arquivos que estão na quase totalidade dos 
computadores no mundo.
138
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
O sistema de entrada e saída (E/S) pode ser implantado de três maneiras:
1. E/S programada: a CPU escreve ou lê cadapalavra ou byte, então 
espera em um laço estreito até que seja obtido ou haja possibilidade 
de enviar o próximo dado.
2. E/S por interrupção: a CPU escreve ou lê cada palavra ou byte, então 
segue para outra tarefa até que ocorra uma interrupção informando 
a conclusão da E/S.
3. E/S por DMA: um chip separado da CPU gerencia a transferência 
de um bloco de dados. Somente quando o bloco for totalmente 
transferido, então haverá uma interrupção.
Os quatro níveis de uma estrutura de E/S são:
1. Rotinas dos serviços de interrupção.
2. Drivers dos dispositivos.
3. Software de E/S independente de dispositivo.
4. Software de E/S do espaço do usuário.
Existem vários tipo de mídias, incluindo as magnéticas, ópticas e as 
tecnologias de RAID.
Estudamos os relógios com o objetivo do entendimento a respeito do 
controle do tempo real, da definição exata do tempo de execução dos 
processos, do tratamento de temporizadores e para fins de contabilidade.
Os terminais são estruturados com base em caracteres pontos, como 
as questões referentes aos caracteres especiais. Baseado na necessidade de 
controle que cada programa pode exigir são possíveis duas formas de entrada:
1. Entrada em modo natural.
2. Entrada em modo preparado.
Atualmente, quase que a totalidade dos computadores usam 
GUIs como saída. Os programas para as interfaces gráficas do usuário 
são baseados em eventos que são enviados para serem processados 
praticamente de imediato.
139
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
Em muitos sistemas em que é necessário pouco ou praticamente nada de 
“inteligência e capacidade de processamento” nas pontas, os equipamentos 
denominados “clientes magros” possuem vantagens quando comparados 
com os PC tradicionais. Entre outras, o preço por unidade e a simplicidade 
dos dispositivos.
Para os equipamentos portáteis que estão a cada dia conquistando mais o 
mercado de computadores, a bateria ainda é um ponto crucial. Os programas 
podem contribuir para otimizar tarefas, de tal forma que deem preferência 
à longevidade da carga da bateria, porém sacrificando algo. Esse mecanismo 
permite que os usuários que estejam em um local desprovido de fonte de 
energia externa para recarga da bateria, ou sem bateria extra, tenham pelo 
menos mais alguns minutos de carga para continuar sua atividade.
 Saiba mais
<http://www.inf.ufes.br/~zegonc/material/Sistemas%20Operacionais/
Exercicios/Solucoes%20de%20Exercicios_Autores_V%203.2.pdf>
 Exercícios
Questão 1. A técnica RAID (Redundant Arrays of Inexpensive Disk) é usada em gerenciamento de 
discos para otimizar as operações de E/S e implementar redundância e proteção de dados.
(Processo Seletivo Público Edital Petrobras / PSP – RH – 1/2005. <pciconcursos.com.br/provas/Petrobras/2>. 
Analista de Sistemas Júnior – Suporte de Infraestrutura. Acesso em 21 de abril de 2011).
A técnica RAID 5 consiste em:
A) Distribuir os dados entre os discos do array, implementando redundância baseada em paridade.
B) Distribuir o espelhamento ou mirroring de todo o conteúdo do disco principal, em um ou mais 
discos denominados espelhos ou secundários.
C) Distribuir as operações de E/S entre os discos físicos, porém um dos discos é dedicado (parity disk), 
usado para a recuperação dos dados em casos de falha.
D) Implementar disk stripping, que distribui as operações de E/S entre os diversos discos físicos 
contidos no array, sem redundância.
140
Unidade IV
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
E) Armazenar informação ECC (Error Correcting Code), que é a informação de controle de erros, no 
lugar da paridade.
Resposta correta: alternativa A.
Análise das alternativas
A) Alternativa correta.
Justificativa: no modelo RAID 5, os dados são divididos entre os diferentes discos e, para cada strip, 
é calculada a paridade. A informação de paridade não é concentrada em um único disco, mas sim 
distribuída entre os diferentes discos.
B) Alternativa incorreta.
Justificativa: a característica de espelhamento acontece na junção dos modelos RAID 0 e 1.
C) Alternativa incorreta.
Justificativa: o modelo RAID 5 não utiliza um disco dedicado para recuperação.
D) Alternativa incorreta.
Justificativa: no modelo RAID 5 existe redundância baseada em paridade.
E) Alternativa incorreta.
Justificativa: no RAID 2, são armazenadas informações ECC (Error Correcting Code), que são as 
informações de controle de erros, no lugar da paridade.
Questão 2. (Adaptado de ENADE 2005) O método de alocação de espaço de disco utilizado para 
armazenamento de informações em um sistema de arquivos determina o desempenho desse sistema. 
Com relação a esse assunto, julgue os itens seguintes.
I. A alocação contígua é um método adequado para sistemas em que inserções e remoções de 
arquivos são frequentes.
II. Acesso direto (ou aleatório): é possível indicar a posição no arquivo onde cada leitura ou escrita 
deve acontecer sem a necessidade de um ponteiro. Por isso, caso se conheça previamente a 
posição de um determinado dado no arquivo, não é preciso percorrê‑lo sequencialmente até 
encontrá‑lo.
III. Acesso indexado: é um método de acesso mais sofisticado, que tem como princípio o acesso 
direto, também conhecido como acesso indexado ou acesso por chave. A estrutura interna do 
arquivo pode ser vista como um conjunto de pares chave/valor que deve possuir uma área de 
141
FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Re
vi
sã
o:
 S
ilv
an
a 
- 
Di
ag
ra
m
aç
ão
: M
ár
ci
o 
- 
04
/0
5/
20
11
índice onde existam ponteiros para os diversos registros.
Assinale a opção correta.
A) Apenas um item está correto.
B) Apenas os itens I e II estão corretos.
C) Apenas os itens I e III estão corretos.
D) Apenas os itens II e III estão corretos.
E) Os itens I, II e III estão corretos.
Resolução desta questão na Plataforma.
142
FIGURAS E ILUSTRAÇÕES
Figuras
Figura 1
Figura elaborada pelo autor.
Figura 2
Figura elaborada pelo autor.
Figura 3
Figura elaborada pelo autor.
Figura 4
CHARLES BABBAGE. Dimensões: 400×309 pixels. Tamanho: 38,36KB (39.280 bytes). Formato: Imagem JPEG. 
Disponível em: <http://www.ntut.edu.tw/~tjhsieh/cs2007f/CharlesBabbage.jpg>. Acesso em: 18 abr. 2011.
Figura 5
[ABC.jpg]. Dimensões: 363×430 pixels (redimensionada para 140×166 pixels). Tamanho: 72,42KB 
(74.153 bytes). Formato: Imagem JPEG. Disponível em: < http://1.bp.blogspot.com/_j8YnT36f3Y4/
SuW9VdxgTPI/AAAAAAAACyw/BtGKMjxeuE0/s1600/ABC.jpg>. Acesso em: 18 abr. 2011.
Figura 6
COMUNICACIONES: COMPUTADORA Z3: Dimensões: 320×253 pixels (redimensionada para 317×207 
pixels). Tamanho: 28,1KB (28.771 bytes). Formato: Imagem JPEG. Disponível em: <http://3.bp.blogspot.
com/_1T1E0LG2Kvg/S8tCDa9wxhI/AAAAAAAAAA4/B00mJp2dRcw/s320/Z3.jpg>. Acesso em: 18 abr. 2011.
Figura 7
1937‑1949. Dimensões: 389×311 pixels (redimensionada para 253×231 pixels). Tamanho: 12,2KB 
(12.488 bytes). Formato: Imagem JPEG. Disponível em: < http://helmutsy.homestead.com/files/
computacion/Historia/Colossus2.jpg>. Acesso em: 18 abr. 2011.
Figura 8
ARQUITETURA DE COMPUTADORES: MARK I (1944) – AIKEN. Dimensões: 320×214 pixels. Tamanho: 
23,32KB (23.880 bytes). Formato: Imagem JPEG. Disponível em: <http://1.bp.blogspot.com/_
V0D‑4RXAphU/ScAWnZlZGvI/AAAAAAAAADo/bfqfTI44fIo/s320/Mark+I.gif>. Acesso em: 18 abr. 2011.
143
Figura 9
NOTÍCIAS › PRIMEIRO COMPUTADOR DO MUNDO FAZ 65 ANOS › FACULDADE IDEZ. Dimensões: 
1.500×900 pixels. Tamanho: 32,83KB (33.618 bytes). Formato: Imagem JPEG. Disponível em: <http://
www.faculdadeidez.com.br/site/imgs/bg_body.jpg>. Acesso em: 18 abr. 2011.
Figura 10
TANENBAUM, A. S. Operacionais modernos. 3ª Edição. Prentice Hall Brasil, 2010.
Figura 11
IBM1401.JPG. Dimensões: 444×188 pixels (redimensionada para 188×106 pixels). Tamanho: 9,67KB 
(9.906 bytes). Formato: Imagem JPEG. Disponível em: <http://www‑03.ibm.com/systems/resources/
servers_eserver_zseries_zvse_images_history_ibm1401.jpg>.Acesso em: 18 abr. 2011.
Figura 12
LELIO ARQUITETURA DE COMPUTADORES: MARÇO 2009. Dimensões: 320×245 pixels. Tamanho: 23,98KB 
(24.553 bytes). Formato: Imagem JPEG. Disponível em: < http://3.bp.blogspot.com/_9pY6Q1XHkmY/
SbKNhLgSiII/AAAAAAAAABc/bKRkjN9TQzs/s320/7094.jpg>. Acesso em: 18 abr. 2011.
Figura 13
PDP‑1. Dimensões: 300×234 pixels (redimensionada para 170×128 pixels). Tamanho: 7,51KB (7.691 
bytes). Formato: Imagem JPEG. Disponível em: <http://www.gameclassification.com/files/machines/
PDP‑1.jpg>. Acesso em: 18 abr. 2011.
Figura 14
Figura elaborada pelo autor.
Figura 15
Figura elaborada pelo autor.
Figura 16
Figura elaborada pelo autor.
Figura 17
LEI DE MOORE – WIKIPÉDIA, A ENCICLOPÉDIA LIVRE. Dimensões: 350×245 pixels. Tamanho: 35,08KB 
(35.923 bytes). Formato: Imagem PNG. Disponível em: < http://upload.wikimedia.org/wikipedia/
144
commons/thumb/e/e6/Lei_de_moore_2006.svg.png/350px‑Lei_de_moore_2006.svg.png>. Acesso em: 
18 abr. 2011.
Figura 18
DUAL CORE, PROCESSADOR DUAL CORE. Dimensões: 400×300 pixels. Tamanho: 24,06KB (24.637 
bytes). Formato: Imagem JPEG. Disponível em: <http://www.coders4fun.com/wp‑content/
uploads/2007/09/dual‑core.jpg>. Acesso em: 18 abr. 2011.
Figura 19
Figura elaborada pelo autor.
Figura 20
Figura adaptada pelo autor de DUAL CORE, PROCESSADOR DUAL CORE. Dimensões: 400×300 pixels. 
Tamanho: 24,06KB (24.637 bytes). Formato: Imagem JPEG. Disponível em: <http://www.coders4fun.
com/wp‑content/uploads/2007/09/dual‑core.jpg>. Acesso em: 18 abr. 2011.
Figura 21
TIPOS DE MEMÓRIA RAM. Computer Desktop Encyclopedia, 2007.
Figura 22
LINUX: MEMÓRIAS. Dimensões: 329×261 pixels. Tamanho: 13,79KB (14.126 bytes). Formato: Imagem JPEG. 
Disponível em: < http://img.vivaolinux.com.br/imagens/artigos/comunidade/rom.png>. Acesso em: 18 abr. 2011.
Figura 23
CLEAR_CMOS.jpg. Dimensões: 425×319 pixels. Tamanho: 70,6KB (72.295 bytes). Formato: Imagem 
JPEG. Disponível em: <http://www.paules‑pc‑forum.de/infothek/artikel/hardware/bios/CMOS_Clear/
CLEAR_CMOS.jpg>. Acesso em: 18 abr. 2011.
Figura 24
SEAGATE DISCO RÍGIDO BARRACUDA 7XT –2 TB –7200 RPM –64 MB –SATA 6 (ST32000641AS). 
Dimensões: 600×532 pixels (redimensionada para 298×264 pixels). Tamanho: 35,22KB (36.068 bytes). 
Formato: Imagem JPEG. Disponível em: <http://pan.fotovista.com/dev/9/3/04025939/l_04025939.
jpg>. Acesso em: 18 abr. 2011.
Figura 25
Figura adaptada pelo autor.
145
Figura 26
Figura elaborada pelo autor.
Figura 27
IBM
Figura 28
IBM
Figura 29
SÍMBOLO USB. Dimensões: 320x320 pixels. Tamanho: 15,77 KB (16.144 bites). Formato: Imagem PNG. 
Disponível em: <http://culturareino.blogspot.com/2010/11/seita‑evangelica‑declara‑o‑usb.html
Figura 30
Figura elaborada pelo autor.
Figura 31
Figura elaborada pelo autor.
Figura 32
Figura elaborada pelo autor.
Figura 33
Figura elaborada pelo autor.
Figura 34
Figura elaborada pelo autor.
Figura 35
Figura elaborada pelo autor.
Figura 36
Figura elaborada pelo autor.
146
Figura 37
Figura elaborada pelo autor.
Figura 38
Figura elaborada pelo autor.
Figura 39
Figura elaborada pelo autor.
Figura 40
Figura elaborada pelo autor.
Figura 41
Figura elaborada pelo autor.
Figura 42
MAZIERO, C. A. Sistemas operacionais VI –Gerência de arquivos. Disponível em: <http://pt.scribd.com/
doc/12385571/Sistemas‑Operacionais‑Gerencia‑de‑Arquivos>, p. 21. Acesso em: 18 abr. 2011.
Figura 43
Figura elaborada pelo autor.
Figura 44
Figura elaborada pelo autor.
Figura 45a e 45b
Figura adaptada de TANENBAUM, A. S. Operacionais modernos. 3ª Edição. São Paulo: Prentice Hall Brasil, 2010.
Figura 46
Tela de configuração de cota no Windows Vista.
Figura 47
Figura elaborada pelo autor.
147
Figura 48
Figura elaborada pelo autor.
Figura 49
Figura elaborada pelo autor.
Figura 50
Figura elaborada pelo autor.
Figura 51
Figura elaborada pelo autor.
Figura 52
Figura elaborada pelo autor.
Figura 53
Figura elaborada pelo autor.
Figura 54
Figura elaborada pelo autor.
Figura 55
Figura elaborada pelo autor.
Figura 56
Figura elaborada pelo autor.
Figura 57
Figura elaborada pelo autor.
Figura 58
Figura elaborada pelo autor.
148
Figura 59
Figura elaborada pelo autor.
Figura 60
RAID 0. Dimensões: 325×500 pixels (redimensionada para 65×100 pixels). Tamanho: 20,56KB (21.055 
bytes). Formato: Imagem PNG. Disponível em: <http://www.hirensbootcd.org/images/RAID_0.png>. 
Acesso em: 18 abr. 2011.
Figura 61
RAID 1. Dimensões: 325×500 pixels (redimensionada para 65×100 pixels). Tamanho: 18,18KB (18.613 
bytes). Formato: Imagem PNG. Disponível em: <http://www.hirensbootcd.org/images/RAID_1.png>. 
Acesso em: 18 abr. 2011.
Figura 62
RAID 2. Dimensões: 800×400 pixels (redimensionada para 120×60 pixels). Tamanho: 67,68KB (69.309 
bytes). Formato: Imagem PNG. Disponível em: < http://www.hirensbootcd.org/images/RAID_2.png>. 
Acesso em: 18 abr. 2011.
Figura 63
RAID 3. Dimensões: 675×500 pixels (redimensionada para 135×100 pixels). Tamanho: 26,08KB (26.704 
bytes). Formato: Imagem PNG. Disponível em: <http://www.hirensbootcd.org/images/RAID_3.png>. 
Acesso em: 18 abr. 2011.
Figura 64
RAID 4. Dimensões: 675×500 pixels (redimensionada para 95×70 pixels). Tamanho: 29,88KB (30.596 
bytes). Formato: Imagem PNG. Disponível em: < http://www.hirensbootcd.org/images/RAID_4.png>. 
Acesso em: 18 abr. 2011.
Figura 65
RAID 5. Dimensões: 675×500 pixels (redimensionada para 135×100 pixels). Tamanho: 26,21KB (26.837 
bytes). Formato: Imagem PNG. Disponível em: < http://www.hirensbootcd.org/images/RAID_5.png>. 
Acesso em: 18 abr. 2011.
Figura 66
RAID 6. Dimensões: 800×471 pixels (redimensionada para 136×80 pixels). Tamanho: 65,13KB (66.697 
bytes). Formato: Imagem PNG. Disponível em: < http://www.hirensbootcd.org/images/RAID_6.png>. 
Acesso em: 18 abr. 2011.
149
Figura 67
RAID – WIKIPÉDIA, A ENCICLOPÉDIA LIVRE. Dimensões: 200×214 pixels. Tamanho: 20,33KB (20.816 
bytes). Formato: Imagem PNG. Disponível em: <http://upload.wikimedia.org/wikipedia/commons/
thumb/d/d1/RAID_01.png/200px‑RAID_01.png>. Acesso em: 18 abr. 2011.
Figura 68
LINUX RAID 10 IN ACTION. Dimensões: 500×536 pixels. Tamanho: 54,36KB (55.660 bytes). Formato: 
Imagem PNG. Disponível em: <http://files.cyberciti.biz/uploads/tips/2008/10/raid‑10‑diagram.png>. 
Acesso em: 18 abr. 2011.
Figura 69
PARTITIONING A RAID VOLUME. Dimensões: 1.706×579 pixels (redimensionada para 800×272 pixels). 
Tamanho: 236,96KB (242.644 bytes). Formato: Imagem PNG. Disponível em: <http://upload.wikimedia.
org/wikipedia/commons/9/9d/RAID_50.png>. Acesso em: 18 abr. 2011.
Figura 70
RAID_100. Dimensões: 300×136 pixels. Tamanho: 28,8KB (29.494 bytes). Formato: Imagem PNG. 
Disponível em: <http://infodaiworld.files.wordpress.com/2010/04/raid_100.png?w=300&h=136>. 
Acesso em: 18 abr. 2011.
Figura 71
Figura elaborada pelo autor.
Figura 72
KIT TECLADO, MOUSE E MONITOR PARA RACK PADRÃO 19” (1U). Disponível em: http://www.fujitsu.
com/global/.
Figura 73
Figura adaptada pelo autor.
Figura 74
TECLADO COM 106 TECLAS. Disponível em: <http://publib.boulder.ibm.com/infocenter/aix/
v6r1/index.jsp?topic=/com.ibm.aix.keyboardtechref/doc/kybdtech/Key.htm>. Acesso em: 18 
abr. 2011.
150
Figura 75
ESTRUTURA INTERNA DO MOUSE. Dimensões: 351×305 pixels. Tamanho: 41,38KB (42.375 bytes). 
Formato: Imagem PNG. Disponível em: <http://wwwbargalho.blogspot.com/2008/01/placa‑me‑tambm
‑denominada‑mainboard‑ou.html> (com adaptações). Acesso em: 3 mai. 2011.
Figura 76
AMBIENTE GRÁFICO GNOME. Disponível em: <www.gnome.org>.
Figura 77
AMBIENTE GRÁFICO KDE. Disponível em: <www.kde.org>.
Figura 78
Figura elaborada pelo autor.
Figura 79
THIN CLIENTS. Disponível em: <www.hp.com.br> – Thin Clients HP t5540.
Tabelas
Tabela 1
Tabela elaborada pelo autor.
Tabela 2
Tabela elaborada pelo autor.
REFERÊNCIAS
Textuais
ALMEIDA, M. Sistema operacional I. 1. ed. São Paulo: Brasport, 1999.
CARISSIMI, A.; TOSCANI, S.; OLIVEIRA, R. S. de. Sistemas operacionais. 4. ed. Porto Alegre: Bookman 
Companhia Editora, 2010.
DEITEL, H.M. e DEITEL, P. J. Operating systems. 3. ed. New York: Prentice Hall, 2003.
LEVINE, D.; ELMASRI, R.; CARRICK, A. G. Operating systems a spiral approach. 1. ed. Nova Deli: 
McGraw‑Hill Professional, 2009.
151
TANENBAUM, A. S. Operacionais modernos. 3. ed. São Paulo: Prentice Hall Brasil, 2010.
Exercícios 
Unidade I
Questão 2
INSTITUTO NACIONAL DE ESTUDOS E PESQUISAS EDUCACIONAIS ANÍSIO TEIXEIRA (INEP). Exame 
Nacional de Desempenho dos Estudantes (ENADE) 2005: Computação. Questão 11. Disponível em: 
<http://download.inep.gov.br/download/enade/2005/provas/COMPUTACAO.pdf>. Acesso em: 19 mai. 
2011.
Unidade II
Questão 1
INSTITUTO NACIONAL DE ESTUDOS E PESQUISAS EDUCACIONAIS ANÍSIO TEIXEIRA (INEP). Exame 
Nacional de Desempenho dos Estudantes (ENADE) 2008: Computação. Questão 19. Disponível em: 
<http://download.inep.gov.br/download/Enade2008_RNP/COMPUTACAO.pdf>. Acesso em: 19 mai. 
2011.
Questão 2
INSTITUTO NACIONAL DE ESTUDOS E PESQUISAS EDUCACIONAIS ANÍSIO TEIXEIRA (INEP). Exame 
Nacional de Desempenho dos Estudantes (ENADE) 2008: Computação. Questão 11. Disponível em: 
<http://download.inep.gov.br/download/Enade2008_RNP/COMPUTACAO.pdf>. Acesso em: 19 mai. 
2011.
Unidade IV
Questão 1
PROCESSO SELETIVO PÚBLICO EDITAL PETROBRÁS / PSP – RH – 1/2005. Analista de Sistemas 
Júnior – Suporte de Infraestrutura. Questão 67. Disponível em: <http://www.pciconcursos.com.br/
provas/2005/7>. Acesso em: 21 abr. 2011.
Questão 2
INSTITUTO NACIONAL DE ESTUDOS E PESQUISAS EDUCACIONAIS ANÍSIO TEIXEIRA (INEP). Exame 
Nacional de Desempenho dos Estudantes (ENADE) 2005: Computação. Questão 52. Disponível em: 
<http://download.inep.gov.br/download/enade/2005/provas/COMPUTACAO.pdf>. Acesso em: 19 
mai. 2011.
152
Sites
<http://support.amd.com/us/Processor_TechDocs/24592.pdf>. 
<http://developer.amd.com/documentation/guides/pages/default.aspx>. 
<http://developer.intel.com/technology/hyperthread/>. 
<http://developer.intel.com/products/processor/manuals/index.htm>. 
<http://developer.intel.com/technology/multi‑core/index.htm>.
<http://www.kingston.com/Brasil/branded/server_memory.asp>. 
<http://www.museudocomputador.com.br/1940dc_1950dc.php>. 
<http://marketshare.hitslink.com/operating‑system‑market‑share.aspx?qprid=8>.
<http://www.intel.com/support/processors/>.
<http://www.intel.com/pressroom/kits/quickrefyr.htm>.
<http://www3.intel.com/cd/software/products/asmo‑na/eng/index.htm>.
<ftp://ftp.dca.fee.unicamp.br/pub/docs/ea876/so‑caps12.pdf>.
<http://www.training.com.br/lpmaia/multithread.pdf>.
<http://www.di.ufpb.br/raimundo/Hierarquia/Hierarquia>.
<http://www.gta.ufrj.br/grad/01_1/barramento>.
<http://www.las.ic.unicamp.br/edmar/PUC/2006/SO/SO‑Aula2.pdf>.
<http://www.facom.ufu.br/~faina/BCC_Crs/INF09‑1S2009/Prjt_SO1/semaphor.html>.
<http://www.deinf.ufma.br/~fssilva/graduacao/so/aulas/monitores.pdf>.
<http://www.slideshare.net/audineisilva1/gerenciamento‑de‑memoria>.
<homepages.dcc.ufmg.br/~scampos/cursos/so/aulas/aula12_4.ps>.
<http://www.inf.ufes.br/~zegonc/material/Sistemas%20Operacionais/Exercicios/Solucoes%20de%20Ex
ercicios_Autores_V%203.2.pdf>.
153
154
155
156
157
158
159
160
Informações:
www.sepi.unip.br ou 0800 010 9000

Mais conteúdos dessa disciplina