Você está na página 1de 12

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL

INSTITUTO DE INFORMÁTICA
DEPARTAMENTO DE INFORMÁTICA APLICADA
SISTEMAS OPERACIONAIS I N - INF01142

LISTA DE EXERCICIOS 3
Sub-sistema de E/S e Sistemas de Arquivos
– Não há gabarito, nem respostas aos exercícios abaixo.
– Os exercícios são uma coletânea de questões de prova de INF01142 de 2000/01 a 2007/01. Como a disciplina
evoluiu durante esse tempo, e teve inclusive mudança de enfoque em seus conteúdos programáticos, podem
haver exercícios sobre assuntos não abordados atualmente na disciplina.
– Alguns exercícios foram retirados dos livros clássicos de sistemas operacionais de A. Tanenbaum e de A. Sil-
berchartz. Há exercícios que foram adaptados desses livros.
– O principal objetivo é orientar o estudo para as provas de INF01142. Façam os exercícios em grupo, troquem
idéias e resultados. O professor da disciplina não resolverá os exercícios para vocês, só discutirá dúvidas pen-
sadas e não aquelas na forma "não sei fazer (...e nem tentei)". Pensem antes de discutir a possível solução com
os professores da disciplina.

1. O que são operações de E/S síncronas e assíncronas ? Qual o interesse de realizar operações assíncronas ?
2. Uma das funções do sistema de E/S é fornecer E/S independente do periférico. O que isto significa ? Qual a
finalidade desta característica ? Comente este aspecto sob o ponto de vista interação do usuário com diferentes
dispositivos do sistema.
3. Durante a leitura de um arquivo em disco o driver de disco recebe requisições para acessar os cilindros 19, 22,
20, 2, 40, 6 e 38 nesta ordem. Determine, em cilindros, o número de movimentos que o cabeçote de leitura
necessita realizar se o algoritmo utilizado para o seek é :
(a) First-Come, First-Served
(b) Shortest Seek Time First
(c) Algoritmo do elevador (supor que o cabeçote se desloca inicialmente no sentido dos cilindros de número
mais altos)
Para todos os casos, considerar que o cabeçote está inicialmente sobre o cilindro 20.
4. Qual a finalidade de um sistema de arquivos oferecer suporte a múltiplos sistemas de arquivos ?
5. Explique com o auxílio de um esquema (desenhar tabelas) como um sistema, como por exemplo o Linux,
consegue suportar a leitura/escrita de arquivos Linux e de arquivos MS-DOS. Basear sua resposta indicando
como é feito a localização de um arquivo nos diferentes sistemas de arquivos, como o sistema «sabe» ler e
escrever em estruturas diferentes utilizando a mesma interface (chamada de sistema).
6. Um esquema de alocação contigua de arquivos em disco leva a uma fragmentação do disco. Que tipo de frag-
mentação é esta (interna ou externa) ? Qual a vantagem de utilizar este esquema de alocação ?
7. Um esquema de alocação encadeada é apropriada para arquivos que são acessados randomicamente ? Sim ?
Não ? Justifique sua resposta.
8. Qual o principal problema na utilização de caches de disco ? Explique a situação e o porquê deste problema ?
9. Considere um sistema de arquivos que suporta as estratégias alocação contígua, alocação encadeada e alocação
indexada. Qual critério deve ser usado para decidir qual estratégia é a melhor para um determinado arquivo ?
10. O sistema XU-A trabalha com um único diretório linear. O sistema XU-B trabalha com uma estrutura de di-
retórios organizada na forma de árvore com três níveis. Nos dois sistemas um descritor de arquivo ocupa exata-
mente 1 setor. No sistema XU-B, um descritor de diretório (entrada de diretório que aponta para um subdiretório,
e não para um arquivo) também ocupa um setor.
Atualmente o sistema XU-A contém 1000 arquivos. O sistema XU-B também contém 1000 arquivos, sendo que
o diretório do primeiro nível contém 10 descritores de diretórios do segundo nível. Os diretórios do segundo
nível contêm, cada um, 10 descritores de diretórios do terceiro nível. Os diretórios de terceiro nível contêm,
cada um, 10 descritores de arquivo.

1
(A) Quantos setores são gastos pelo sistema de arquivos, além do espaço necessário para armazenar o próprio
contéudo dos arquivos ?
(B) Quantos setores devem ser lidos do disco, em média, na abertura de um arquivo, sendo que cada pesquisa
em diretório acessa, em média, metade das entradas do diretório em questão ?
11. Um disco magnético organizado em 200 trilhas (0-199), possui em um determinado instante de tempo o cabeçote
posicionado na trilha 53. Supondo que nesse mesmo intervalo de tempo a fila de requisição de acesso ao disco
apresenta as seguintes trilhas (nesta ordem) : 98, 183, 37, 122, 14, 124, 65 e 67. Determine a seqüência de trilhas
acessadas se o algoritmo de escalonamento de disco for :
(A) FCFS.
(B) SSTF.
(C) SCAN. Considerar que o cabeçote se desloca no sentido trilha alta (199) para trilha baixa(0).
(D) C-SCAN. Considerar que o cabeçote se desloca no sentido trilha baixa (0) para trilha alta(199).
12. Projetar utilizando discos de 10 Gbytes um sistema RAID 0, RAID 1, RAID 3 e RAID 5 que permita o ar-
mazenamento de 40 Gbytes de dados (úteis). Para cada configuração de RAID determine quantos discos físicos
de 10 Gbytes são necessários para armazenar 40 Gbytes de dados.
13. Supondo um sistema de arquivos determine o tempo médio de acesso para um arquivo de 1 Mbytes para os dois
seguintes casos :
(A) Leitura seqüencial (sistema de arquivos com organização seqüencial)
(B) Leitura randômica (pior caso para um sistema de arquivos com organização indexada)
Considerar que o descritor de arquivo (entrada do diretório) já está carregado em memória, isto é, não há neces-
sidade de acessar o disco para ler o descritor de arquivos.
O disco desse sistema possui as seguintes características : tseek_medio = 10 ms ; tempo médio de latência rota-
cional = 3 ms (6 ms tempo de uma rotação) ; 512 bytes por setor ; 256 setores por trilha.
14. Um sistema de arquivos emprega uma estrutura do tipo i-node com 12 ponteiros diretos, 1 ponteiro de indireção
simples, um ponteiro de dupla indireção e 1 ponteiro de tripla indireção. O número total de blocos desse sistema
de arquivos é 232 . Cada bloco tem um tamanho de 8 Kbytes. Determine :
(A) O tamanho máximo (téorico) de arquivo para cada um dos diferentes níveis de indireção (direto, simples,
dupla e tripla indireção). É possível, desde que claro, deixar apenas indicado a operação de cálculo.
(B) Nesse sistema quando um i-node é utilizado para representar um diretório apenas os ponteiros diretos são
empregados. Se cada entrada do diretório ocupa 256 bytes, quantos arquivos por diretório (ao máximo)
este sistema suporta ? (desconsiderar a possibilidade de criar subdiretórios).
15. Explique porque caches de disco melhoram o desempenho de um sistema ? Qual o maior inconveniente do uso
desse tipo de cache ?
16. Quais são os compromissos de desempenho envolvidos em reler páginas de código de um processo a partir do
sistema de arquivos se comparado com a leitura dessas mesmas páginas a partir do espaço de swap ?
17. Considere um sistema de arquivos onde o bloco lógico e o bloco físico possuem um tamanho igual a 512 bytes.
Assumindo que todas as informações relacionadas com o arquivo já estão em memória, para cada estratégia de
alocação (contígüa, encadeada e indexada), responda as seguintes questões :
(A) Como é feito o mapeamento entre bloco lógico e bloco físico em cada uma dessas estratégias ?
(B) Supondo que o último bloco lógico acessado foi o bloco 10, para cada estratégia, quantos acessos a blocos
físicos é necessário fazer para ler do disco o bloco lógico 4 ?
Para a estratégia indexada supor que o sistema de arquivo possui no máximo 512 blocos.
18. Um administrador de sistemas necessita implementar um servidor de arquivos com uma capacidade total de 160
Gbytes para armazenamento de dados. Para realizar essa tarefa ele tem a disposição vários discos de 40 Gbytes.
Quantos discos de 40 Gbytes ele precisará se ele resolver utilizar :
(A) Configuração RAID 0
(B) Configuração RAID 1
(C) Configuração RAID 5

2
(D) Nenhuma configuração RAID
Considerar byte como unidade para o strip e paridade.
19. Um arquivo possui 20 blocos. Deseja-se acessar os dados armazenados no décimo bloco. Calcule o tempo de
acesso, considerando SEMPRE o PIOR caso, se esse arquivo seguir uma alocação :
(A) Contígua
(B) Encadeada simples
(C) Indexada simples
(D) Indexada com método combinado. Supor a existência de uma estrutura similar ao i-node com 8 ponteiros
de endereçamento direto, um ponteiro de endereçamento indireto e um ponteiro de dupla indireção.
Supor que APENAS o bloco de diretório está carregado na memória. Sabe-se ainda que os setores são de 512
bytes, uma trilha possui 320 setores e um bloco é composto por 4096 bytes. O disco possui uma velocidade de
rotação de 7200 rpm e tempo de seek igual a 30 ms.
20. O sistema operacional Panoramix possui um sistema de arquivos com as seguintes características :
– Setor físico de 512 bytes.
– Blocos lógicos de 4096 bytes.
– Capacidade máxima de endereçamento de 232 blocos lógicos.
– Alocação indexada utilizando método indexado combinado, com uma estrutura de dados similar ao i-node
UNIX. Cada i-node Panoramix possui 128 bytes de tamanho, sendo 64 bytes empregados para informações do
arquivo (direitos de acesso, proprietário, grupo, timestamps, etc), 40 bytes para ponteiros de endereçamento
direto, 4 bytes para endereçamento indireto e 4 bytes para endereçamento indireto duplo. Demais bytes estão
reservados para futuras expansões.
– Emprega a técnica de bitmap para gerenciar blocos livres e ocupados.
– Emprega a técnica de bitmap para gerenciar i-nodes livres e ocupados.
Determine :
(A) Quantidade de blocos necessários para armazenar os bitmaps de bloco livres/ocupados e i-nodes livres/ocupados.
(B) Tamanho máximo de arquivo Panoramix quanto empregado até (inclusive) a capacidade de ponteiro indi-
reto.
(C) Supondo que um arquivo de diretório Panoramix utiliza apenas a capacidade de endereçamento direto e
que cada entrada do diretório consuma 256 bytes, determine a quantidade máxima de arquivos regulares
mantidos em um diretório.
(D) Qual seria o impacto, isto é, o que modificaria nas suas respostas acima, se o disco fosse formatado com
setores físicos de 1024 bytes ao invés de 512 bytes ?
21. Suponha que um disco possui 5000 cilindros, numerados de 0 a 4999. A requisição finalizada neste momento
corresponde a um acesso ao cilindro 143. A requisição precedente foi no cilindro 125. A lista de requisições
pendentes é :
86, 1470, 913, 1774, 948, 1590, 1022, 1750, 130
Iniciando na posição atual, determine a seqüência de cilindros em que essas requisições serão atendidas con-
siderando os seguinte algoritmos de escalonamento do disco :
(A) FCFS
(B) SSTF
(C) SCAN
(D) C-SCAN
22. Um administrador de sistemas necessita implementar um servidor de arquivos com uma capacidade total de 200
Gbytes para armazenamento de dados. Para realizar essa tarefa ele tem a disposição vários discos de 50 Gbytes.
Quantos discos de 50 Gbytes ele precisará se ele resolver utilizar :
(A) Configuração RAID 0
(B) Configuração RAID 4
(C) Configuração RAID 5

3
(D) Nenhuma configuração RAID
Considerar byte como unidade para o strip e paridade.
23. Um arquivo possui 20 blocos. Deseja-se acessar os dados armazenados nos dez primeiros blocos. Calcule o
tempo de acesso, considerando sempre o PIOR caso quanto a localização dos blocos no disco, se esse arquivo
seguir uma alocação :
(A) Contígua
(B) Encadeada simples
(C) Indexada simples
(D) Indexada com método combinado. Supor a existência de uma estrutura similar ao i-node UNIX mas, com
apenas 8 ponteiros de endereçamento direto, um ponteiro de endereçamento indireto e um ponteiro de
dupla indireção.
Supor que APENAS o bloco de diretório está carregado na memória. Sabe-se ainda que os setores são de 512
bytes, uma trilha possui 320 setores e um bloco é composto por 4096 bytes. O disco possui uma velocidade de
rotação de 7200 rpm e tempo médio de seek igual a 30 ms. A quantidade total de blocos no sistema é 232 .
24. Um método para oferecer caminhos (path) alternativos para acessar um mesmo arquivo é através do conceito
de aliases. O sistema operacional UNIX prevê dois tipos de aliases para arquivos : hard link e simbolic link.
Explique DETALHADAMENTE o funcionamento de cada um deles e comente, explicando o porquê, o seu
comportamento quanto a desempenho e limitação (ou não) de seu uso entre partições.
25. O sistema operacional Obelix possui um sistema de arquivos com as seguintes características :
– Setor físico de 1024 bytes.
– Blocos lógicos de 8192 bytes.
– Capacidade máxima de endereçamento de 232 blocos lógicos.
– Alocação indexada utilizando método indexado combinado, com uma estrutura de dados similar ao i-node
UNIX. Cada i-node Obelix possui 128 bytes de tamanho, sendo 64 bytes empregados para informações do
arquivo (direitos de acesso, proprietário, grupo, timestamps, etc), 48 bytes para ponteiros de endereçamento
direto, 4 bytes para endereçamento indireto e 4 bytes para endereçamento indireto duplo. Demais bytes estão
reservados para futuras expansões.
– Emprega a técnica de bitmap para gerenciar blocos livres e ocupados.
– Emprega a técnica de bitmap para gerenciar i-nodes livres e ocupados.
Determine :
(A) Quantidade de blocos necessários para armazenar o bitmap de i-nodes livres/ocupados e para armazenar a
tabela de i-nodes.
(B) Tamanho máximo de um arquivo no sistema Obelix.
(C) Supondo que um arquivo de diretório Obelix utiliza apenas a capacidade de endereçamento direto e que
cada entrada do diretório consuma 256 bytes, determine a quantidade máxima de arquivos regulares man-
tidos em um diretório.
(D) Considerando que no sistema Obelix um diretório é um arquivo, responda : essa decisão inviabiliza ou não
o emprego de uma estrutura de diretório em árvore ? JUSTIFIQUE sua resposta.
26. Em sistemas operacionais que utilizam cache para melhorar o desempenho do sistema de arquivos há o risco
de, em caso de panes, do sistema de arquivos ficar em um estado inconsistente. Utilitários tipo fsck (UNIX) ou
chkdisk (Windows) são empregados para verificar e tentar recuperar a integridade e a consistência do sistema de
arquivos no reboot após uma pane.
Explique, CLARA e DETALHAMENTE, o que é esse “estado inconsistente” ? Que tipos de problemas ele pode
ocasionar em um sistema de arquivos ? O que pode acontecer com arquivos, diretóiros e estruturas de dados de
gerência do sistema de arquivos nessa situação. Baseie sua resposta em sistemas operacionais UNIX-like.
27. Considere o seguinte sistema :
Características do disco : tempo médio de seek 10ms, 10000 rpm, 512 bytes por setor, 320 setores por trilha.
Características do sistema de arquivos : blocos de 1Kbyte, método de alocação contígua.
Responda :
(A) Calcule o tempo necessário para ler completamente um arquivo de 1 Mbytes armazendo no disco desse
sistema se o acesso for feito :

4
– Leitura sequencial
– Leitura randômica
(B) Se o esquema de alocação fosse indexado simples, que impacto haveria na sua resposta do item “a” ?
28. O que distingue os diferentes níveis de RAID entre si ? Comente aspectos relacionados com redundância, de-
sempenho, custo (espaço em disco), e restrições físicas (sincronizados ou não) no conjunto de discos. Considerar
para a resposta os níveis RAID 0, RAID 1, RAID 3, RAID 4, RAID 5.
29. Considerando o uso de cache em memória na implementação de sistemas de arquivos. Responda :
(A) Qual a diferença conceitual entre cache e buffer ? Para que serve um e para que serve outro ?
(B) Se a cache favorece o funcionamento de um sistema operacional no acesso ao sistema de arquivos porque
não se utiliza caches maiores possíveis para melhorar ainda mais o sistema ?
30. Em um sistema de arquivos que possui uma partição de 16 Gbytes (1 G=230 ), com blocos de 4Kbytes, determine
o percentual de espaço em disco (em blocos) ocupado pelas estruturas de controle de bloco livre e ocupado se
for utilizado a técnica de :
(A) Bitmap
(B) Lista de blocos livres
IMPORTANTE : Para simplicar o cálculo desconsidere no item b a necessidade de bytes nos blocos de livres
para armazenar a informação de encadeamento, isto é, o tamanho da entrada de encadeamento a ser considerado
é zero.
31. Em um disco rígido está armazenado um arquivo de 1 Megabytes (220 ). Qual é o tempo de acesso para se realizar
uma leitura sequencial de todo o arquivo, se a partição onde ele se encontra utilizar o método de alocação :
(A) Contígua (desconsiderar o tempo de seek entre duas trilhas vizinhas [APENAS])
(B) Encadeada usando uma estrutura do tipo FAT
(C) Indexada usando uma estrutura combinada (estilo i-node UNIX)
Considerar os seguintes dados :
– Capacidade do disco rígido de 20 Gbytes (230 ), tseek = 10ms, 10000 rmp, setores de 512 bytes, 320 setores
por trilha, blocos de 4Kbytes.
– Cada i-node desse sistema de arquivos possui 128 bytes de tamanho, sendo 64 bytes empregados para in-
formações do arquivo (direitos de acesso, proprietário, grupo, timestamps, etc), 40 bytes para ponteiros de
endereçamento direto, 4 bytes para endereçamento indireto e 4 bytes para endereçamento indireto duplo.
Demais bytes estão reservados para futuras expansões.
– As estruturas de dados vinculadas a diretórios, a FAT, e o i-node do arquivo estão em memória, isto é, não há
tempo de acesso a disco para recuperar as informações contidas APENAS nessas estruturas.
32. Qual o impacto na solução do exercício anterior, para cada um dos tipos de alocação, se o tamanho do bloco
for modificado para 8 Kbytes ? Comente como o tempo de acesso é afetado (seek, rotação, transferência e tempo
total de acesso) ; qual a conseqüência no espaço gasto para armazenar o arquivo e as estruturas de controle FAT,
i-node, diretório ; como tal mudança afeta outras estruturas de dados do sistema de arquivo como bitmaps ou
lista de blocos livres.
33. Com relação a chamadas de sistemas para a realização de operações de entrada e saída. Qual a diferença con-
ceitual, se houver, entre uma chamada de sistema não bloqueante e uma chamada de sistema assíncrona ?
34. Em um arquivo de 80 Kbytes, deseja-se acessar o dado armazenado na posição 65546 (216 + 10) contida no
décimo sétimo bloco. Calcule o tempo de acesso, considerando SEMPRE o PIOR caso, se esse arquivo seguir
uma alocação :
(A) Contígua
(B) Encadeada simples (desconsiderar para efeito de cálculos os bytes usados no bloco para armazenar a infor-
mação de encadeamento)
(C) Encadeada com FAT
(D) Indexada com método combinado. Supor a existência de uma estrutura similar ao i-node com 8 ponteiros
de endereçamento direto, um ponteiro de endereçamento indireto e um ponteiro de dupla indireção.
Supor que APENAS o bloco de diretório e, para a letra "D", o i-node, estão carregados na memória. Sabe-se
ainda que os setores são de 512 bytes, uma trilha possui 320 setores e um bloco é composto por 4096 bytes. O
disco possui uma velocidade de rotação de 10000 rpm e tempo de seek igual a 20 ms.

5
35. Assumindo que um sistema de arquivos (File System) organiza a alocação do espaço em disco segundo o método
indexado. O projetista deste sistema sabendo que esta política apresenta o problema de ocupar muito espaço
em disco para armazenar a tabela de indices resolve, para não limitar o tamanho de arquivos, implementar este
método utilizando a combinação entre as técnicas encadeada e multinível. Esta combinação é feita empregando-
se apontadores diretos e indiretos através de uma estrutura estilo i-node. Sabendo-se que :
– Cada i-node tem 13 entradas destinadas a endereçamento de blocos. As dez primeiras entradas do i-node
são utilizadas para endereçamento direto, os três seguintes são utilizados, respectivamente, para indireção
simples, dupla, e tripla ;
– um bloco lógico possui 1 Kbyte ;
– os blocos lógicos são numerados utilizando-se 32 bits.
Esquematize, com o auxílio de um desenho, esta estrutura. Responda qual é o tamanho máximo de um arquivo
para este sistema. Determine também o tamanho máximo dos arquivos quando eles utilizam apenas os aponta-
dores diretos, o primeiro nível de indireção, o segundo nível de indireção. Qual é o tamanho máximo da área
destinada a dados ?
36. Qual a diferença entre um soft link e um hard link ? Comente como um e outro são normalmente implementados
nos diversos sistemas operacionais. Que tipo de proteção (cuidado) cada um desses mecanismos oferece para a
remoção de um arquivo que possui alias ? Quais as vantagens/limitações de um em relação ao outro ? (sugestão :
organize sua resposta pensando na implementação UNIX).
37. Deseja-se ler sequencialmente, completamente, um arquivo de 96 Kbytes (96 x 210 ). Calcule o tempo de acesso
total se esse arquivo seguir uma alocação :

(A) Contígua (supor que não há troca de trilha).


(B) Encadeada simples (supor que não há troca de trilha).
(C) Indexada simples (supor que o bloco de índices é do mesmo tamanho que um bloco de dados ; desconsidere
os bytes gastos para o encadeamento).
(D) Indexada com método combinado (supor a existência de uma estrutura similar ao i-node com 8 ponteiros
de endereçamento direto, um ponteiro de endereçamento indireto e um ponteiro de dupla indireção).

Considere que APENAS o bloco de diretório e o i-node estão carregados na memória. Sabe-se ainda que os
setores são de 512 bytes, uma trilha possui 320 setores e um bloco é composto por 4096 bytes. O disco possui
uma velocidade de rotação de 10000 rpm (6ms a rotação)e tempo de seek igual a 30 ms. Cada bloco é endereçado
por 32 bits.
38. Uma das funções do subsistema de entrada e saída é o escalonamento de requisições provenientes de oper-
ações de entrada e saída realizadas pelos processos em execução. O que isso representa ? Qual o objetivo desse
escalonamento ? Forneça um exemplo. Baseie sua resposta nesse exemplo.
39. Uma ferramenta de formatação de partições de um sistema operacional hipotético recebe dois parâmetros : o
tamanho (P ), em bytes, de uma partição e o tamanho (B), também em bytes, do bloco . Sabe-se que esse sistema
operacional emprega as técnicas de bitmap para gerenciar o espaço livre e vetor de descritores de arquivos para
implementar o diretório. Sabe-se ainda que cada bloco lógico é identificado por um número em 32 bits e que
um descritor de arquivos possui um tamanho equivalente a 16 bytes.
Determine, de forma analítica, em função de P e de B, o tamanho da área em disco ocupada pelo bitmap, o
tamanho da área ocupada pelo vetor de descritores de arquivo e o tamanho da área destinada ao bloco de dados.
40. Um sistema de arquivos implementa o diretório como um vetor de descritores de arquivos. Determine o número
de acessos realizados ao disco na abertura do arquivo f, utilizando o caminho completo /usr/local/home/asc/f,
nesse sistema de arquivos. Descreva também o que está sendo consultado a cada acesso.
41. Deseja-se ler sequencialmente, completamente, um arquivo de 80 Kbytes (80 x 210 ). Calcule o tempo de acesso
total se esse arquivo seguir uma alocação :

(A) Contígua (supor que não há troca de trilha).


(B) Encadeada simples (supor que não há troca de trilha).
(C) Indexada simples (supor que o bloco de índices é do mesmo tamanho que um bloco de dados ; desconsidere
os bytes gastos para o encadeamento).
(D) Indexada com método combinado (supor a existência de uma estrutura similar ao i-node com 8 ponteiros
de endereçamento direto, um ponteiro de endereçamento indireto e um ponteiro de dupla indireção).

6
Considere que APENAS o bloco de diretório e o i-node estão carregados na memória. Sabe-se ainda que os
setores são de 512 bytes, uma trilha possui 320 setores e um bloco é composto por 4096 bytes. O disco possui
uma velocidade de rotação de 10000 rpm (6ms a rotação)e tempo de seek igual a 30 ms. Cada bloco é endereçado
por 32 bits.
42. O sistema operacional ICX possui um sistema de arquivos com as seguintes características :
– Setor físico de 512 bytes.
– Blocos lógicos de 4096 bytes, identificados por um número em 15 bits.
– O idenficador de bloco, embora seja um número de 15 bits, é armazenado em 4 bytes.
– Alocação indexada utilizando método indexado combinado, com uma estrutura de dados similar ao i-node
UNIX. Cada i-node ICX possui 128 bytes de tamanho, sendo 64 bytes empregados para informações do
arquivo (direitos de acesso, proprietário, grupo, timestamps, etc), 40 bytes para ponteiros de endereçamento
direto, 4 bytes para endereçamento indireto e 4 bytes para endereçamento indireto duplo. Demais bytes estão
reservados para futuras expansões.
– Emprega a técnica de bitmap para gerenciar blocos livres e ocupados.
Determine :
(A) O tamanho em bytes necessários para armazenar os bitmaps de bloco livres/ocupados.
(B) Tamanho máximo de arquivo ICX quanto empregado até (inclusive) a capacidade de ponteiro indireto.
(C) Supondo que um arquivo de diretório ICX utiliza apenas a capacidade de endereçamento direto e que cada
entrada do diretório consuma 256 bytes, determine a quantidade máxima de arquivos mantidos em um
diretório.
(D) Qual seria o impacto, isto é, em que modificaria as suas respostas acima, se o disco fosse formatado com
setores físicos de 1024 bytes ao invés de 512 bytes ?
43. Explique porquê um driver de dispositivo (device driver) é normalmente organizado em duas partes : top half e
bottom half ?
44. Deseja-se ler sequencialmente, completamente, um arquivo de 60 Kbytes (60 x 210 bytes). Calcule o tempo de
acesso total se esse arquivo seguir uma alocação :
(A) Contígua (supor que não há troca de trilha).
(B) Encadeada simples (supor que não há troca de trilha).
(C) Indexada simples (supor que o bloco de índices é do mesmo tamanho que um bloco de dados ; desconsidere
os bytes gastos para o encadeamento).
(D) Indexada com método combinado (supor a existência de uma estrutura similar ao i-node com 5 ponteiros
de endereçamento direto, um ponteiro de endereçamento indireto e um ponteiro de dupla indireção).
Considere que APENAS o bloco de diretório e o i-node estão carregados na memória, ou seja, não há necessi-
dade de ler essas estruturas a partir do disco. Sabe-se ainda que os setores são de 512 bytes, uma trilha possui
320 setores e um bloco é composto por 4096 bytes. O disco possui uma velocidade de rotação de 10000 rpm (6
ms a rotação)e tempo de seek igual a 30 ms. Cada bloco é endereçado por um número em 32 bits.
45. Considere que um sistema de arquivos utilize alocação contígua. Quantas operações de read e de write são
necessárias para adicionar ou remover um bloco de dados em um arquivo composto por 50 blocos quando :
(A) O bloco é inserido no início do arquivo.
(B) O bloco é inserido após o bloco do meio do arquivo.
(C) O bloco é inserido no final do arquivo.
(D) O bloco removido é o primeiro do arquivo.
(E) O bloco removido é o bloco após o bloco do meio do arquivo.
(F) O bloco removido é o último do arquivo.
Supor as seguintes situações :
– A informação de localização (entrada do diretório) do primeiro bloco do arquivo já está em memória.
– O bloco de dados a ser adicionado está em memória.
– Se a localização do primeiro bloco do arquivo for modificada, não considerar a escrita dessa atualização na
contabilização das operações de escrita. Em outros termos, as informações relativas ao diretório estão sempre
em RAM (cache).

7
– Existe espaço (bloco) para o arquivo crescer no final do final do arquivo, mas não há espaço (bloco) disponível
no início.
– O bloco do meio é o vigésimo-quinto.
– Não incluir operações de entrada e leitura em nenhuma estrutura de de dados relacionados com gerência de
blocos livres e/ou ocupados.

JUSTIFIQUE sua resposta, isto é, explique suscintamente como foram obtidas o número de operações de entrada
e saídas fornecido como resposta a cada um dos itens.
46. Explique DETALHADAMENTE a organização do subsistema de E/S. Apresente as funcionalidades e as in-
terações existentes entre interface do subsistema de E/S, o módulo de independência de dispositivo, a parte
dependente de dispositivo e a interface do software com o hardware. Nessa organização, localize em que partes
as seguintes tarefas são executadas : a) escalonamento de requisições de E/S ; b) cache ; c) controle de compar-
tilhamento ; e d) drivers de dispositivo.
47. Em um arquivo de 100 Kbytes (100 x 210 bytes), deseja-se ler completamente os dados que estão localizados no
décimo e décimo primeiro blocos lógicos desse arquivo. Calcule o tempo de acesso total se esse arquivo seguir
uma alocação :
(A) Contígua (supor que não há troca de trilha).
(B) Encadeada simples (supor que não há troca de trilha ; desconsidere os bytes gastos para o encadeamento).
(C) Indexada simples (supor que o bloco de índices é do mesmo tamanho que um bloco de dados)
(D) Indexada com método combinado (supor a existência de uma estrutura similar ao i-node com 10 ponteiros
de endereçamento direto, um ponteiro de endereçamento indireto e um ponteiro de dupla indireção).
Considere que APENAS o bloco de diretório e o i-node estão carregados na memória, ou seja, não há necessi-
dade de ler essas estruturas a partir do disco. Sabe-se ainda que os setores são de 512 bytes, uma trilha possui
320 setores e um bloco é composto por 4096 bytes. O disco possui uma velocidade de rotação de 10000 rpm (6
ms a rotação)e tempo de seek igual a 30 ms. Cada bloco é endereçado por um número em 32 bits.
48. Responda :
(A) Qual o principal problema (desvantagem) em se utilizar diretórios organizados em árvore ? Quais as con-
seqüências desse problema para o sistema de arquivos de um sistema operacional multiusuário ?
(B) Ao empregar aliases para referenciar um mesmo arquivo de diferentes formas, transforma-se um diretório
em forma de árvore em um grafo acíclico direcionado (DAG - direct acyclic graph). Dois problemas
derivam : a semântica da remoção e a existência de ciclos. O uso de contador de referências é utilizado
para fornecer uma semântica para a remoção de aliases (links) : remove-se efetivamente o arquivo apenas
quando o contador de referência indicar que não há outro alias para o arquivo. Entretanto essa solução não
resolve adequadamente o problema de ciclos. Por quê ?
49. Na implementação dos atuais sistemas operacionais que utilizamos, as operações de escrita em um disco rígido
(HD) são feitas, por questões de desempenho, com o auxílio de cache de disco. Entretanto, se as operações
de escrita são feitas sobre um disquete (floppy) a cache não é utilizada em operações de escrita e a mesma
ocorre diretamente sobre o disquete. Por que essa diferença de abordagem ? (DICA : pense no princípio de
funcionamento de cache disco e na utilização - comportamento - por parte dos usuários desses dispositivos de
armazenamento).
50. Um sistema de arquivos emprega blocos de 256 bytes. Cada arquivo possui uma entrada no diretório que fornece
além do seu nome, a localização do primeiro e do último bloco e o tamanho do arquivo. Assumindo que, para um
determinado o arquivo, APENAS o último bloco lido e o diretório estão armazenados em memória. Determine
quantos blocos (acessos ao disco) são lidos para realizar as seguintes operaçoes :
– Bloco a ser lido : 600 ; último bloco lido : 100 ;
– Bloco a ser lido : 200 ; último bloco lido : 500 ;
– Bloco a ser lido : 21 ; último bloco lido : 20 ;
– Bloco a ser lido : 20 ; último bloco lido : 21 ;
se o esquema de alocação for :
(A) Contígua.
(B) Encadeada.
(C) Indexada. Nesse caso, considerar que o diretório contém o endereço do primeiro bloco de índices (não o
primeiro bloco do arquivo). Cada bloco de índice mantém 127 ponteiros para blocos de dados e o último
ponteiro fornece o endereço do próximo bloco de indíces.

8
EXPLICITE, para cada uma das respostas, como você obteve a quantidade de acessos.
51. Responda :
(A) Qual tipo de inconsistência é mais grave em um sistema de arquivos : ter um bloco alocado duas vezes
para arquivos diferentes ou ter um bloco que não está nem na lista de livres nem alocado a um arquivo ?
JUSTIFIQUE sua resposta.
(B) Se a informação da lista de livres de um sistema de arquivos é perdida ou corrompida, há como reconstruir
essa lista ? JUSTIFIQUE sua resposta através de um exemplo.
52. Um sistema de arquivos emprega blocos de 512 bytes. Cada arquivo possui uma entrada no diretório que fornece
além do seu nome, a localização do primeiro e do último bloco e o tamanho do arquivo. Assumindo que para
um determinado o arquivo APENAS o último bloco de dados lido e o diretório estão armazenados em memória ;
determine quantos blocos (acessos ao disco) são lidos para realizar as seguintes operações :
– Bloco a ser lido : 50 ; último bloco lido : 200 ;
– Bloco a ser lido : 500 ; último bloco lido : 150 ;
– Bloco a ser lido : 128 ; último bloco lido : 127 ;
– Bloco a ser lido : 127 ; último bloco lido : 128 ;
se o esquema de alocação for :
(A) Contígua.
(B) Encadeada.
(C) Indexada. Nesse caso, considerar que o diretório contém o endereço do primeiro bloco de índices (não o
primeiro bloco do arquivo). Cada bloco de índice mantém 255 ponteiros para blocos de dados e o último
ponteiro fornece o endereço do próximo bloco de indíces.
Considere que o primeiro bloco lógico de cada arquivo é o bloco de número zero. EXPLICITE, para cada uma
das respostas, como você obteve a quantidade de acessos.
53. Quais são as principais funcionalidades que a camada de independência de dispositivos provê ? Situe a camada
de independência de dispositivo na estrutura organizacional do software de E/S de um sistema operacional.
Desenhe e apresente cada uma das subcamadas e módulos que compõem a camada de independência de dispos-
itivos.
54. Um sistema de arquivos emprega uma estrutura do tipo i-node com 10 ponteiros diretos, 1 ponteiro de indireção
simples e um ponteiro de dupla indireção. O número total de blocos desse sistema de arquivos é 232 . Cada bloco
tem um tamanho de 4 Kbytes. Determine :
(A) O tamanho máximo (téorico) de arquivo para cada um dos diferentes níveis de indireção (direto, simples e
dupla). É possível, desde que claro, deixar apenas indicado a operação de cálculo.
(B) Nesse sistema quando um i-node é utilizado para representar um diretório apenas os ponteiros diretos são
empregados. Se cada entrada do diretório ocupa 256 bytes, quantos arquivos por diretório (ao máximo)
este sistema suporta ? (desconsiderar a possibilidade de criar subdiretórios).
55. Descreva o princípio básico de um sistema jornalizado abordando aspectos relacionados com as propriedades
ACID e transações. Comente ainda como funciona uma transação (begin-transaction, end-transaction, commit
e abort).
56. Um disco contém B blocos lógicos, sendo que F blocos estão livres. Considerando o uso de bit maps para
manter a informação de blocos livres, qual deve ser o tamanho mínimo do bloco para que o bitmap ocupe menos
que 0.24% do espaço total do disco ?
57. Responda :
(A) Dois arquivos idênticos f1 e f2 de 100 Kbytes são armazenados em dois discos diferentes. Os blocos lógi-
cos desses arquivos estão distribuídos randômicamente. Ambos discos possuem um tempo de seek médio
igual a 10ms e latência rotacional de 5ms (6000 RPM). Os discos diferem entre si pela sua formatação
física : cada trilha do disco 1 é composta por 32 setores de 1 Kbyte, ao passo que cada trilha do disco 2
possui 8 setores de 4 Kbytes. Os blocos lógicos correspondem exatamente a um setor. Quanto tempo é
gasto para se ler sequencialmente cada um desses arquivos ? [Considerar que já está em memória a lista de
todos os blocos a serem lidos.]
(B) Em um sistema operacional que permite a montagem de sistemas de arquivos de dispositivos formando
um único sistema de arquivos, um floppy é montado no ponto de montagem /usr/mount. Se o sistema de
arquivos do floppy contém um arquivo com o caminho absoluto /data/jan, qual o caminho absoluto a ser
empregado em uma primitiva open para abrir o arquivo jan após a montagem ?

9
58. Um sistema de arquivos emprega uma estrutura do tipo i-node com 12 ponteiros diretos, 1 ponteiro de indireção
simples, um ponteiro de dupla indireção e 1 ponteiro de tripla indireção. O número total de blocos desse sistema
de arquivos é 232 . Cada bloco tem um tamanho de 4 Kbytes. Determine :

(A) O tamanho máximo (téorico) de arquivo para cada um dos diferentes níveis de indireção (direto, simples,
dupla e tripla indireção). É possível, desde que claro, deixar apenas indicado a operação de cálculo.
(B) Nesse sistema quando um i-node é utilizado para representar um diretório apenas os ponteiros diretos são
empregados. Se cada entrada do diretório ocupa 256 bytes, quantos arquivos por diretório (ao máximo)
este sistema suporta ? (desconsiderar a possibilidade de criar subdiretórios).

59. Um disco contém B blocos lógicos, sendo que F blocos estão livres. Cada um dos blocos lógicos é identificado
por um valor (endereço) de d bits. Considerando o uso de bit maps e de lista encadeada para manter a informação
de blocos livres, responda :

(A) Para d = 16, B = 500000 e F = 200000, quantos bits serão necessários para implementar a lista de
blocos livres através de bit map ? E se for através da lista encadeada ?
(B) Para d = 32, qual a fração do disco deve estar livre para que a lista de blocos livres ocupe, em bits, menos
espaço que a lista de blocos livres implementado via bit map ?
(C) Qual deve ser o tamanho mínimo do bloco para que o bitmap ocupe menos que 0.1% do espaço total do
disco ?

60. Responda :
(A) Explique CLARAMENTE porque os sistemas de arquivos jornalizados normalmente implementam a jor-
nalização apenas sobre os metadados ? Porque não implementar a jornalização sobre os blocos de dados ?
Incluir em sua resposta o que são metadados.
(B) Explique qual a vantagem de um sistema de arquivos jornalizados sobre um não jornalizado em relação ao
que ocorre no procedimento de boot imediatamente após uma falha ?
61. Supondo um sistema de arquivos hipotético que emprega alocação indexada. O bloco lógico é de 4 Kbytes e
cada bloco é identificado através de um número em 4 bytes. Determine o tempo de acesso para um arquivo de 1
Mbytes para os dois seguintes casos :

(A) Leitura seqüencial de todo o arquivo.


(B) Leitura randômica de todo o arquivo.

Considerar que o descritor de arquivo (entrada do diretório) e seu bloco de índices já estão carregados em
memória, isto é, não há necessidade de acessar o disco para ler o descritor de arquivos nem o bloco de indices.
O disco desse sistema possui as seguintes características : tseek_medio = 10 ms ; tempo médio de latência rota-
cional = 3 ms (6 ms tempo de uma rotação) ; 512 bytes por setor ; 256 setores por trilha.
62. Um sistema de arquivos emprega blocos de 512 bytes. Cada arquivo possui uma entrada no diretório que fornece
além do seu nome, a localização do primeiro e do último bloco e o tamanho do arquivo. Assumindo que para
um determinado o arquivo APENAS o último bloco de dados lido e o diretório estão armazenados em memória ;
determine quantos blocos (acessos ao disco) são lidos para realizar as seguintes operações :
– Bloco a ser lido : 600 ; último bloco lido : 100 ;
– Bloco a ser lido : 200 ; último bloco lido : 500 ;
– Bloco a ser lido : 21 ; último bloco lido : 20 ;
– Bloco a ser lido : 20 ; último bloco lido : 21 ;
se o esquema de alocação for :

(A) Contígua.
(B) Encadeada.
(C) Indexada. Nesse caso, considerar que o diretório contém o endereço do primeiro bloco de índices (não o
primeiro bloco do arquivo). Cada bloco de índice mantém 255 ponteiros para blocos de dados e o último
ponteiro fornece o endereço do próximo bloco de indíces.

Considere que o primeiro bloco lógico de cada arquivo é o bloco de número ZERO. EXPLICITE, para cada
uma das respostas, como você obteve a quantidade de acessos. Os blocos pertencentes a um mesmo arquivo são
numerados sequencialmente a partir de zero.

10
63. Sob o ponto de vista de desempenho : Qual a melhor hipótese (se é que existe) ? Acessar um arquivo via um
hard link, via um soft link ou acessá-lo pelo seu nome (entrada "original"). JUSTIFIQUE sua resposta.
64. Em um disco rígido está armazenado um arquivo de 1 Megabytes (220 bytes). Qual é o tempo de acesso gasto
pelo subsistema de E/S para realizar a requisição de leitura de 512 bytes a partir da posição correspondente ao
45057˚ byte (equivale ao primeiro byte de 45 Kbytes, ou ainda, a 44 x 210 + 1 bytes) do arquivo, se a partição
onde ele se encontra utilizar o método de alocação :
(A) Contígua
(B) Encadeada simples (desconsiderar para efeito de cálculos os bytes usados no bloco para armazenar a
informação de encadeamento)
(C) Encadeada usando uma estrutura do tipo FAT (a FAT não é armazenada na cache em memória)
(D) Indexada usando uma estrutura combinada (estilo i-node UNIX)
Considerar os seguintes dados :
– Capacidade do disco rígido de 20 Gbytes (20 x 230 bytes), tseek = 9ms, 10000 rpm (equivale a 6 ms o
tempo de uma rotação), setores de 512 bytes, 320 setores por trilha, blocos de 4Kbytes. Cada bloco lógico é
identificado por um número em 32 bits.
– Cada i-node desse sistema de arquivos possui 128 bytes de tamanho, sendo 64 bytes empregados para in-
formações do arquivo (direitos de acesso, proprietário, grupo, timestamps, etc), 40 bytes para ponteiros de
endereçamento direto, 4 bytes para endereçamento indireto e 4 bytes para endereçamento indireto duplo.
Demais bytes estão reservados para futuras expansões.
– As estruturas de dados vinculadas aoa diretórios e ao i-node do arquivo estão armazenadas em memória
(cache), isto é, não há tempo de acesso a disco para recuperar as informações contidas EXCLUSIVAMENTE
nessas estruturas. Isso não vale para a FAT no caso da letra c.
ATENÇÃO : lembre-se que o subsistema de E/S sempre trabalha com o bloco lógico, ou seja, a menor unidade
lida ou escrita é o bloco lógico.
65. Diretórios são um tipo especial de arquivo cujo conteúdo (registros) são informações relativas a outros arquivos
(incluindo arquivos do tipo diretório). Sabendo disso, disserte sobre a implementação de diretórios abordando
obrigatoriamente os seguintes pontos :
– Como se pode implementar um sistema de arquivos hierárquico (em árvore) ?
– Que operações são necessárias em um arquivo de diretório para se criar ou remover outros arquivos (incluindo
sudiretório) ?
– Que procedimento é feito por um comando do tipo ls ou dir (listar conteúdo de diretório) ?
– Nessa estrutura, como implementar um comando do tipo cd (trocar diretório) ?
– Nesse último caso, não esqueça que é possível tanto subir um nível da hierárquia (ir ao diretório pai) como
descer (ir a um subdiretório) ?
66. Responda :
(A) Qual a semântica dos bits de proteção srwx do UNIX quando aplicado a diretórios ?
(B) Explique, usando o UNIX como exemplo, o que diferencia um hard link de um soft link. Esquematize o
número de i-nodes e de blocos do disco ocupados por e por outro caso. O que é mais rápido : acessar o
arquivo via seu hard link, via seu soft link, ou isso é indiferente ? JUSTIFIQUE.
67. Um sistema de arquivos pode manter o controle sobre os blocos livres usando ou mapa de bits ou uma lista de
blocos. Um sistema tem t blocos lógicos de tamanho igual a b bytes, dos quais u são usados, e que cada número
de bloco lógico é armazenado em s bits. Considerando isso, em função dessas variáveis, determine :
(A) Qual o tamanho (em bits) da estrutura de mapa de bits ?
(B) Qual o tamanho (em bits) da lista de bloco livres ? Ignore o espaço consumido por ponteiros de encadea-
mento para continuação da lista de blocos livres.
68. O sistema operacional X trabalha com um único diretório linear. O sistema Y trabalha com uma estrutura de
diretórios organizada na forma de uma árvore. Nos dois sistemas, um descritor de arquivo ocupa 128 bytes.
No sistema Y um descritor de diretório (entrada de diretório que aponta para um subdiretório e não para um
arquivo) também ocupa 128 bytes.
Atualmente o sistema X tem 1000 arquivos. O sistema Y também tem 1000 arquivos, sendo que eles estão
organizados em três níveis de diretórios. O diretório de primeiro nível contém apenas 10 descritores de diretórios
do segundo nível. Os diretórios de segundo nível contém, cada um, 10 descritores de diretórios de terceiro nível.
Os diretórios de terceiro nível contém, cada um, 10 descritores de arquivos.
Determine :

11
(A) Quantos bytes, considerando-se esta situação, são gastos pelo sistema de arquivos de cada um dos sistemas
operacionais (X e Y), além do espaço necessário para armazenar o próprio conteúdo dos arquivos.
(B) Supondo que nenhuma informação é armazenada em cache, determine, em média, quantos acessos a discos
devem ser feitos para se abrir um arquivo de dados em cada um dos sistemas operacionais (X e Y) ? A
primitiva open busca os descritores de arquivos de forma linear acessando, em média, metade das entradas
dos diretórios em questão.
PS : Não esqueça de contabilizar o diretório raiz (também denominado de / ou root)
69. Calcule quanto tempo é necessário para carregar para a memória um executável de 64 KB a partir de um disco
que tem um tempo de seek de 10 msec, latência rotacional de 8 msec e cada uma de suas trilhas possui 1 MB,
quando :
A) Páginas e blocos de disco possuem 2 KB
B) Páginas e blocos de disco possuem 4 KB
C) Páginas e blocos de disco possuem 64 KB
D) Que impacto haveria se os blocos do disco fossem sempre de 4KB ? Para os valores fornecidos na questão,
dê vantagens e desvantagens de se ter blocos de 4 KB.
Considere que os blocos lógicos do arquivo estão dispostos aleatóriamente no disco.(DETALHE : todas as
contas acima podem ser feita sem auxílio de calculadora.)
70. Um sistema de arquivos pode monitorar os blocos livres usando ou um mapa de bits de blocos livres ou uma
lista de blocos livres. O sistema tem um total de b blocos de tamanho t, dos quais u blocos são usados e cada
número de bloco lógico é endereçado usando s bits. Expresse o tamanho (em bytes) do mapa de bits de blocos
livres e o tamanho da lista de blocos livres (em bytes) desse dispositivo usando as variáveis dadas. Ignore o
espaço consumido por ponteiros para o bloco de continuação da lista de livres. JUSTIFIQUE sua resposta.
71. Em sistemas de arquivos distribuídos, quais são as vantagens de se ter um servidor stateless em relação a um
servidor statefull ? Qual a desvantagem ? EXPLIQUE.
72. Os sistemas de arquivos jornalizados como, por exemplo, o ext3 e NTFS, normalmente implementam a jor-
nalização apenas sobre os metadados e não sobre os dados dos arquivos. Qual o interesse então de se usar um
sistema de arquivos jornalizado em relação a um não jornalizado ?
73. As máquinas com sistemas operacionais UNIX empregam um utilitário, o fsck, para tentar recuperar a con-
sistência do sistema de arquivos. O que é essa consistência(ou seja, o que o fsck tenta garantir) ? Compare esse
mecanismo com um sistema de arquivos jornalizado.

12

Você também pode gostar