Buscar

FUNDAMENTOS DE SISTEMAS OPERACIONAIS IV

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 70 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 70 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 70 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Prof. Marcelo Santos 
UNIDADE IV
Fundamentos de Sistemas 
Operacionais
 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.
Introdução a Sistemas de 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.
 Arquivos podem ter diversos formatos, desde um simples arquivo de 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.
Arquivos
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.
 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.
Atributos
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: determinam quais usuários têm 
acesso ao arquivo e quais permissões são atribuídas a 
cada usuário (leitura, escrita, remoção etc.).
Atributos
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 a posição do arquivo dentro dele. 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.
Atributos
 Os arquivos podem ser estruturados de várias formas. 
 A figura mostra 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.
Estrutura de arquivo
Fonte: Livro-texto.
 Na figura b, é 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 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.
Estrutura de arquivo
Fonte: Livro-texto.
Estrutura de arquivo
 Na organização demonstrada na Figura c, 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.
Fonte: Livro-texto.
 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.
Operações
O sistema irá, primeiro, verificar se o arquivo existe, segundo, se as 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.
Operações
 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.
Operações
 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.
Compartilhamentos
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. Cada arquivo é diferenciado por um conjunto de atributos.
Tipicamente, podemos definir os seguintes atributos: 
I. Nome: uma sequência de caracteres para identificar de tal forma que um ser 
humano, ao vê-lo na tela, consiga identificá-lo.
II. 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çãodo conteúdo e até mesmo da 
última alteração de outro atributo, como o nome do 
arquivo, por exemplo.
I. Tipo: indica se o formato do arquivo é áudio, vídeo, 
imagem, texto ou outro.
Interatividade
De acordo com o material estudado na unidade, selecione a afirmativa que 
contém os atributos com os quais podemos diferenciar os arquivos.
a) Apenas a afirmação I.
b) Apenas a afirmação II.
c) Apenas a afirmação III.
d) Todas as afirmações.
e) Nenhuma das afirmações.
Interatividade
I. Nome: uma sequência de caracteres para identificar de tal forma que um ser 
humano, ao vê-lo na tela, consiga identificá-lo.
II. 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.
III. Tipo: indica se o formato do arquivo é áudio, vídeo, imagem, texto ou outro. 
De acordo com o material estudado na unidade, selecione a afirmativa que contém 
os atributos com os quais podemos diferenciar os arquivos.
a) Apenas a afirmação I. b) Apenas a afirmação II.
c) Apenas a afirmação III. d) Todas as afirmações.
e) Nenhuma das afirmações.
Resposta
 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 
ou recomendadas”.
 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 em arquivos
 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 do 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.
Travas em arquivos
 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. 
 Os sistemas Windows oferecem por default travas 
obrigatórias sobre arquivos, que podem ser exclusivas ou 
compartilhadas, ou travas recomendadas sobre trechos 
de arquivos.
Travas em arquivos
 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.
Semântica de trava de acesso
 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.
Semântica de trava de acesso
 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.
Semântica de trava de acesso
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 
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 desta, ou 
seja, depois que o processo fechar o arquivo.
Semântica de trava de acesso
 O sistema organiza logicamente os diversos arquivos contidos em um disco numa 
estrutura denominada diretório. 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.
 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 um contêiner de 
informações, que pode conter arquivos ou mesmo 
outros diretórios.
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. 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.
Diretórios
 A figura ao lado 
representa uma 
parte da 
árvore de diretórios 
típica de um sistema 
Linux, cuja estrutura 
é definida nas normas 
Filesystem HierarchyDiretórios
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
doc
games
info
locale
man
zoneinfo
bin
doc
etc
include
lib
man
share
X11
gcc-lib
groff
uucp
X11
bin
lib
include
Fonte: Livro-texto (adaptado).
I -
X11
asm
linux
g++
 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.
 O primeiro supercomputador da 
história foi um CDC 6600 e usava um 
sistema de diretório único. A próxima
figura ilustra esse sistema.
Sistema de diretórios em nível único
Fonte: Livro-texto.
Sistema de diretórios hierárquicos
Diretório raiz
usuario 1
propostas
PropostaV1
PropostaV2
PropostaV3
PropostaV4
usuario 2
usuario 3
relatorios
 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, 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, é adotado pela 
maioria dos sistemas.
Fonte: Livro-texto (adaptado)
 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.
Tipos de sistemas de arquivos
 O sistema de arquivos ISO 9660 é um padrão internacional e mais usado em 
tecnologia de CD-ROMs.
 A quase totalidade dos CD-ROMs 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.
Sistema de arquivos ISO 9660
 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 esse sistema, porém, ele não é mais 
padrão nos equipamentos 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.
Sistema de arquivo do FAT
 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.
 O Multics 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.
Sistema de arquivos do ambiente Unix
 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áximo 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 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.
Sistema de arquivos do Linux
O sistema de arquivos ISO 9660 é um padrão internacional e mais usado em 
tecnologia de CD-ROMs. A quase totalidade de CD-ROMs no mercado atual é 
compatível com esse padrão. 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.
A partir dessa definição, é correto afirmar que:
Interatividade
a) Mesmo estruturado em uma espiral contínua, é possível buscar o CD-ROM 
transversalmente às espirais.
b) Mesmo estruturado em uma espiral contínua, é possível buscar o CD-ROM 
ortogonalmente às espirais.
c) Mesmo estruturado em uma espiral contínua, é possível buscar o CD-ROM 
perpendicularmente às espirais.
d) Mesmo estruturado em uma espiral contínua, é possível buscar o CD-ROM 
paralelamente às espirais.
e) Mesmo estruturado em uma espiral contínua, não é 
possível buscar o CD-ROM.
Interatividade
O sistema de arquivos ISO 9660 é um padrão internacional e mais usado em 
tecnologia de CD-ROMs. A quase totalidade de CD-ROMs no mercado atual é 
compatível com esse padrão. 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.
A partir dessa definição, é correto afirmar que:
a) Mesmo estruturado em uma espiral contínua, é possível buscar o CD-ROM 
transversalmente às espirais.
Resposta
 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, a partir desse momento, 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.
Introdução a gerenciamento de entrada e saída
Os 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.
Fonte: Livro-texto.
Dispositivos de entrada e saída
 Dispositivos de caractere: nesse caso há o envio e recebimentode caracteres. 
Diferentemente da categoria anterior, os dispositivos de caractere não são 
endereçáveis e não possuem funcionalidades de posicionamento.
Fonte: Livro-texto.
Dispositivos de entrada e saída
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 próxima figura.
Controladores de dispositivos (driver)
CPU MMU
Controlador
de Vídeo
Controlador
de USB
Controlador
de teclado
Controlador
de disco
Componente Eletrônico
Barramento
Componente Mecânico
Controladores de dispositivos (driver)
Fonte: Livro-texto.
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.
Software de E/S
 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.
 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.
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.
Camadas de software de E/S
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
Fonte: Livro-texto.
 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.
Camadas de software 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).
 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.
Hardware de E/S
 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.
 Os hardwares de E/S têm 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.
Hardware de E/S
 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.
Relógio
 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.
 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.
Relógio
 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 é 
necessária para manter o relógio funcionando até 
quando o computador está desligado ou mesmo 
desconectado da tomada.
Relógio
 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.
Relógio
Figura 71 – Bateria instalada na placa-mãe
Fonte: Livro-texto.
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. Os dispositivos de entrada e saída típicos são classificados em:
a) Dispositivos voláteis e dispositivos não voláteis.
b) Dispositivos locais e dispositivos de armazenamento.
c) Dispositivos mecânicos e dispositivos eletrônicos.
d) Dispositivosdedicados e dispositivos compartilhados.
e) Dispositivos de blocos e dispositivos de caractere.
Interatividade
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. Os dispositivos de entrada e saída típicos são classificados em:
a) Dispositivos voláteis e dispositivos não voláteis.
b) Dispositivos locais e dispositivos de armazenamento.
c) Dispositivos mecânicos e dispositivos eletrônicos.
d) Dispositivos dedicados e dispositivos compartilhados.
e) Dispositivos de blocos e dispositivos de caractere.
Resposta
 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.
Teclado, mouse e monitor – visão geral
 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 ser retraí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.
Teclado, mouse e monitor – visão geral
Fonte: Livro-texto.
 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.
Software do teclado
Fonte: Livro-texto.
 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.
Software do teclado
Fonte: Livro-texto.
Os modelos de mouse mais antigos possuem 
internamente dois dispositivos mecânicos com 
pequenos orifícios. Conforme a 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”.
Software do mouse
Fonte: Livro-texto.
 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.
Teclado, mouse e monitor – visão geral
 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”.
Resumo
 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.
Resumo
 Diversos sistemas de arquivos foram comentados ao longo do material, porém, 
são 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.
O sistema de entrada e saída (E/S) pode ser implantado de três maneiras:
Resumo
1. E/S programada: a CPU escreve ou lê cada palavra 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.
Resumo
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.
Resumo
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.
Resumo
 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.
 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 PCs 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.
Resumo
 Os programas podemcontribuir 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.
Resumo
 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.
O código de varredura compõe uma identificação distinta para cada tecla. 
Por quantos bits ele é composto?
a) Composto por 7 bits.
b) Composto por 14 bits.
c) Composto por 21 bits.
d) Composto por 28 bits.
e) Composto por 35 bits.
Interatividade
 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.
O código de varredura compõe uma identificação distinta para cada tecla. 
Por quantos bits ele é composto?
a) Composto por 7 bits.
b) Composto por 14 bits.
c) Composto por 21 bits.
d) Composto por 28 bits.
e) Composto por 35 bits.
Resposta
ATÉ A PRÓXIMA!

Continue navegando