next up previous
Next: Gerência de Entrada & Up: Sistemas Operacionais Previous: Gerência de Memória

Gerência de Arquivos

1.
Como você simularia um sistema de arquivos hierárquico em um sistema operacional que só possuísse um diretório, mas que pudesse ter um número arbitrário de arquivos com nomes tão longos quanto necessário?

2.
Assuma que para endereçar um bloco em um disco sejam necessários D bits e que haja B blocos no total, dos quais F blocos estão livres. Qual é a condição necessária para que uma lista de blocos livres gaste menos espaço que um mapa de bits? Se D for igual a 16 bits, qual é a porcentagem do disco que deve estar livre para que a lista seja menor que o mapa de bits?

3.
Um programa verificador do sistema de arquivos encontrou o seguinte mapa de bits (1=sim; 0=não).
Blocos usados: 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0
Blocos livres: 0 0 0 1 1 1 0 0 0 1 0 1 1 0 1
Descreva todos os problemas existentes neste sistema de arquivos e as maneiras de resolvê-los. Quais destes problemas podem causar danos ao sistema de arquivos se não forem corrigidos? Justifique.

4.
Discuta a idéia de armazenar o início do conteúdo de um arquivo no bloco que guarda o i-node do mesmo?

5.
A performance de um sistema de arquivos depende bastante da razão de acerto em cache, isto é, da fração de requisições de blocos que são satisfeitas com aqueles presentes no cache. Supondo que para ler um bloco do cache seja necessário 1 ms e que para ler um bloco do disco sejam necessários 40 ms, crie uma fórmula que forneça o tempo médio para satisfazer requisições quando a razão de acerto é h. Faça um gráfico deste tempo médio em função de h, quando este último varia de 0 a 1 em intervalos de 0,2. Discuta o gráfico obtido.

6.
Quais são os tempos envolvidos em uma leitura de dados de um disco? Qual deles é o mais significativo?

7.
Como fica a distribuição dos blocos de um arquivo pela superfície de um disco que já está sendo usado há muito tempo? Quais as implicações desta distribuição no desempenho do sistema de arquivos? Como o desempenho pode ser melhorado neste caso?

8.
Existe alguma vantagem em se agrupar periodicamente os espaços livres que possam estar espalhados pelo disco? Qual (quais)?

9.
Em um certo sistema operacional, o sistema de arquivos mantém informações sobre os blocos do disco na forma de listas ligadas com índice (similar a uma FAT do MS-DOS). O sistema encontra-se atualmente em um estado inconsistente e é descrito pelas tabelas abaixo. Indique quais são as inconsistências existentes e como elas devem ser eliminadas, justificando suas respostas. O símbolo X indica que não há próximo bloco.
Arquivo teste.c carta.txt a.out
Bloco inicial 1 12 2
Tabela Índice
Bloco 1 2 3 4 5 6 7 8 9 10 11 12
Próximo bloco 6 X 5 9 2 11 4 3 X X 9 7
Lista de blocos livres
Bloco inicial: 8

10.
Explique por que é necessário intercalar 1 ou mais setores físicos entre 2 setores lógicos em um disco. Em que situações é possível termos discos sem este intercalamento?

11.
Existem pelo menos 4 questões que precisam ser bem cuidadas na realização de backups lógicos em Unix. Discuta pelo menos 3 deles.

12.
Explique de que maneira devem ser reparados os sistemas de arquivos para cada uma das inconsistências mostradas na Fig. 6-26.

13.
Alguns sistemas operacionais possuem uma chamada de sistema para trocar nomes de arquivos (rename). Apresente e discuta as vantagens e desvantagens de se mudar o nome do arquivo original em relação a simplesmente copiar o arquivo com um novo nome, apagando em seguida o arquivo original.

14.
Considerando que um sistema linux usa os i-nodes mostrados na Fig. 6.38 do livro-texto, que os blocos são localizados por endereços de 4 bytes e que cada bloco comporta 1024 Kbytes, determine o tamanho máximo que um arquivo pode ter em bytes.

15.
Compare links simbólicos (soft) com links puros (hard) e apresente as vantagens que um tem sobre o outro.

16.
Suponha que a lista de blocos livres (ou o mapa de bits de blocos livres) tenha sido totalmente perdida em uma pane de um disco rígido. Há alguma maneira de se recuperar deste evento? Como? Dê suas respostas para duas situações distintas: Unix e MS-DOS (FAT-16).

17.
Em Windows (MS-DOS), todo arquivo tem entre seus atributos um bit especial chamado archive. que indica se o arquivo deve ser ou não incluído em um backup incremental. Como o unix determina se um arquivo deve ou não ser incluído no backup se ele não possui este bit especial?

18.
Um disquete tem 40 cilindros (40 trilhas de cada lado). A cabeça de leitura-gravação se move a cerca de 6ms por cilindro. Se não for adotada nenhuma otimização, blocos logicamente consecutivos em um arquivo estarão separados por 13 cilindros em média. Entretanto, se o sistema operacional adotou alguma estratégia de otimizaçção é possível que a distância média entre dois blocos logicamente consecutivos seja de apenas 2 cilindros em média. Determine, para cada um destes dois casos, quanto tempo levaria a leitura de um arquivo de 100 blocos, supondo que o atraso rotacional (tempo até um bloco ficar situado abaixo da cabeça de leitura-gravação) é de 100 ms em média e que a velocidade de transferência de dados é de 25 ms por bloco.

19.
A tabela FAT-16 do MS-DOS possui 64K entradas. Suponha que um dos 16 bits precisou ser usado para outra finalidade e que a tabela passou a conter exatos 32768 entradas. Supondo que não há outras alteraçõs, determine qual seria o tamanho do maior arquivo MS-DOS que poderia ser armazenado com uso desta tabela.

20.
Para se obter no Unix os primeiros dados do arquivo /home/estudantes/EE00/ra123456/teste.txt, quantas operações no disco seriam necessárias? Suponha que já esteja em memória apenas o i-node do diretório raiz e que cada diretório caiba em um único bloco do disco.


next up previous
Next: Gerência de Entrada & Up: Sistemas Operacionais Previous: Gerência de Memória
Marco A. Amaral Henriques
2007-02-14