Buscar

Gerenciamento de Arquivo – Parte 1

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 5 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

Prévia do material em texto

Caio Silva - 101629150
Fernando Souza - 101629419
Larry Júnior - 101629397
Questões referente a Gerenciamento de Arquivo – Parte 1
1. Quais são os três requisitos fundamentais quando falamos do problema do
armazenamento de informações a longo prazo. Explique cada um deles.
Deve ser possível o armazenamento de grande quantidade de informação. A capacidade de memória de um processo está restrita ao tamanho do espaço de endereçamento virtual. Para algumas aplicações esse espaço não é o suficiente.
A informação deve sobreviver ao término do processo que a estiver usando. É inaceitável que a informação em uso pelo processo desapareça quando ele é encerrado. Caso ocorra uma falha no computador e o processo seja eliminado a informação não deve desaparecer.
Vários processos devem ser capazes de manipular a informação ao mesmo tempo. Informações dentro do espaço de um processo só podem ser acessadas por ele, sendo assim a informação deve se tornar independente de qualquer processo.
2. Explique quais são as Estruturas internas de Arquivos e quais são as formas de Acesso Interno a Arquivos, comentando as vantagens e desvantagens de cada uma.
	Há 3 tipos de estruturas internas de arquivos, que são:
Sequência de Bytes: A aplicação fica responsável, não há nenhum tipo de estrutura lógica. Sendo assim há uma maior flexibilidade para colocar qualquer coisa no arquivo sem a interferência do SO. Isso é implementado tanto pelo Windows quando pelo Unix.
Sequência de Registros de Tamanho Fixo: Cada arquivo com alguma estrutura interna, assim a leitura e gravação é de registros ao invés de bytes.
Árvore de Registros: Esta é ordenada por um campo chave, nem todos os registros têm o mesmo tamanho e é amplamente utilizada em computadores de grande porte para o processamento de dados comerciais, por exemplo.
	
Já o acesso interno a arquivos pode ser feito de 2 formas:
Acesso Sequencial: A leitura é feita em bytes/registros a partir do início e não é possível salta-los. Normalmente é usada em fitas magnéticas. Essa forma foi utilizada pelos primeiros SOs.
Acesso Aleatório: A leitura é feita em bytes/registros lidos em qualquer ordem, ou seja, o marcador do arquivo pode ser movido e então é feita a leitura. Essa forma é usada em disco, feita pelos SOs atuais e essencial para sistemas de base de dados. 
3. Enumere os principais atributos de um arquivo.
Protection: Quem pode acessar o arquivo e de que forma.
Password: Senha necessária para acessar o arquivo.
Creator: ID da pessoa que criou o arquivo.
Owner: Proprietário atual. 
Read-only flag: 0 para leitura e gravação; 1 para somente leitura.
Hidden flag: 0 normal; 1 para não exibir listagem.
System flag: 0 para arquivos normais; 1 para arquivo do sistema.
Archive flag: 0 foi recuperado; 1 para ter cópia de segurança.
ASCII/binary flag: 0 para arquivo texto; 1 para arquivo binário.
Random access flag: 0 para acesso sequencial; 1 para acesso aleatório.
Temporary flag: 0 normal: 1 para excluir arquivo na saída do processo
Look flags: 0 para desbloqueado; diferente de 0 para bloqueado.
Record length: Numero de bytes em um registro.
Key position: Deslocamento da chave dentro de cada registro.
Key length: Número de bytes no campo chave.
Creation time: Data e hora que o arquivo foi criado.
Time of last access: Data e hora do último acesso ao arquivo.
Time of last change: Data e hora da última alteração do arquivo.
Current size: Número de bytes no arquivo.
Maximum size: Número de bytes que o arquivo pode ter.
4. Enumere as principais operações sobre arquivos.
Create: Cria arquivo sem dados, anuncia existem do arquivo e define seus atributos.
Delete: Libera espaço em memória, faz chamada ao sistema para esse fim.
Open: Permite que o SO busque o arquivo e coloque-o na memória principal os seus atributos e lista de endereços do disco para tornar os próximos acessos mais rápidos.
Close: Libera espaço na tabela interna. Se os disco é escrito em blocos o fechamento força a escrita do último bloco do arquivo, mesmo que ele não esteja completo.
Read: Ler dados do arquivo. Para isso quem faz a leitura deve, especificar a posição de onde será feita a leitura, a quantidade de dados a serem lidos e o buffer onde serão colocados os dados.
Write: Escrita na posição determinada. Se a posição seja no fim do arquivo o seu tamanho é aumentado, senão os dados serão sobrescritos.
Append: Adiciona dados ao final do arquivo, aumentado o seu tamanho.
Seek: Reposiciona o ponteiro do arquivo para local específico.
Get Attributes: Retorna atributos do arquivo.
Set Attributes: Permite ao usuário a alteração dos atributos do arquivo.
Rename: Renomeia o arquivo.
5. O que é um descritor de arquivo? Para que ele serve?
O descritor de arquivos é um valor inteiro criado pelo SO no momento da criação ou abertura de um arquivo. As operações de E/S sobre o arquivo são realizadas por meio deste número.
6. Explique os 3 tipos de níveis de diretórios existentes.
Diretório de nível simples: Existe apenas o diretório raiz e todos os arquivos ficam dentro dele, independente da quantidade de usuários. Essa forma simples faz com que a localização dos arquivos seja feita rapidamente pelo SO, entretanto a nomeação de arquivos acaba se tornando um problema.
Diretório de dois níveis: Dentro do diretório raiz existe mais um diretório para cada usuário, dentro do diretório de cada usuário ficam todos os seus arquivos. Com essa mudança a uma melhoria em relação a nomeação de arquivos.
Diretório de nível hierárquico: Dentro do diretório raiz há um diretório para cada usuário, dentro do diretório de cada usuário existem arquivos e subdiretórios. Com o nível hierárquico o usuário pode organizar de uma forma melhor seus arquivos, podendo criar vários diretórios um dentro do outro juntamente com arquivos, o que facilita muito a vida do usuário. No entanto o desempenho na localização dos arquivos por parte do SO diminui a cada diretório que é criado devido aos vários carregamentos e descarregamentos de diretórios que são feitos.
7. Explique as diferenças entre caminho absoluto e caminho relativo.
Caminho Absoluto começa sempre a partir da raiz, é único para cada arquivo. Já no caminho relativo à relação com o diretório atual, já que é possível ter arquivos com nomes iguais em diretórios diferentes.
8. O que é fragmentação interna e externa referente a arquivos? Por que elas ocorrem?
	Os SOs tem definidos o tamanho de um bloco no disco, no Linux esse tamanho é de 4KB e no Windows é de 8KB. Devido a isso, o mínimo que um arquivo pode ocupar em disco é esse tamanho de um bloco, mesmo que o arquivo tenha apenas 1KB. Isso gera a fragmentação interna no disco.
Fragmenta interna é a sobra de espaço dentro dos blocos de arquivos, ela ocorre porque o tamanho do arquivo não é o suficiente para ocupar todo o bloco, são raras as vezes que um arquivo tem exatamente o tamanho de um bloco ou o tamanho dos blocos alocados para ele.
Já a fragmentação externa é a sobra de espaços entre os blocos de arquivos. Exemplo:
Suponhamos um disco de 50 blocos que tem 4 arquivos de 12 blocos cada, sendo eles A, B, C e D, gravados nessa ordem, sobrando assim 2 blocos no disco. Caso o usuário exclua o arquivo B, tendo então no total 14 blocos livre, e tente gravar um arquivo que ocupe 14 blocos ele não conseguirá, pois não há 14 blocos livres em sequência, ocorreu então a fragmentação externa.
	Para a fragmentação externa há várias soluções, uma delas é a desfragmentação (remanejar os blocos dos arquivos), já para a fragmentação interna não há uma solução.
9. Explique o que é alocação contígua de arquivos, apresentando suas vantagens e desvantagens.
Alocação contígua é a gravação e leitura sequencial dos arquivos.
Vantagens:
É simples de ser implementada, pois é preciso apenas guardar 2 valores, o endereço do primeiro bloco no disco e a quantidade de blocos a serem lidos.
A leitura tem um desempenho excelente, pois todo o arquivo pode ser lido em apenas uma operação, bastafazer o seek inicial e realizar a leitura.
Desvantagens:
Fragmentação do disco, pois todos o conteúdo dos arquivos devem ser gravados sequencialmente. Quando um arquivo é deletado mas não deixa espaço suficiente para outros arquivos serem gravados naquela região ela fica inutilizável até que seja gerado um arquivo pequeno o suficiente para ser gravado nela.
O custo para se fazer a realocação dos blocos do arquivo.
10. Explique a alocação de arquivos em listas ligadas no bloco, apresentando suas principais vantagens e desvantagens.
	A alocação de arquivos em listas ligadas no bloco é feita de forma que em cada bloco do arquivo a um ponteiro para o próximo.
Vantagens:
Não há fragmentação externa do disco;
Mantém apenas uma entrada de diretório para o endereço do primeiro bloco.
	
Desvantagens:
Acesso aleatório extremamente lento, pois para chegar ao bloco n devem ser lidos n-1 blocos;
A quantia de dados não é mais potência de 2, devido ao ponteiro para o próximo e os programas lêem em potência de 2. Devido a isso é necessário obter e concatenar dois blocos, gerando a sobrecarga extra. 
11. Explique a estrutura do sistema de arquivos conhecido como FAT, comentando sobre suas qualidades e deficiências.
	O sistema de arquivos FAT é uma melhoria gerada para o caso da alocação de arquivos em listas ligadas no bloco, pois nele os ponteiros não ficam mais no bloco e sim na tabela FAT, fazendo com que a quantia de dados seja potência de 2. O acesso então é mais rápido se for utilizado um algoritmo para aproveitar a vantagem de conhecer todos os endereços dos blocos, o que também é uma desvantagem pois a tabela toda fica em memória e ocupa muito espaço.
12. Explique a estrutura do sistema de arquivos conhecido como I-Node, comentando sobre suas qualidades e deficiências.
	O I-Node é uma tabela de índices para arquivo, que tem cabeçalhos e ponteiros para os blocos do arquivo, mas a sua principal vantagem é que ele não precisa ficar totalmente em memória como a tabela FAT, ele fica apenas quando o arquivo está aberto, ele ocupa n bytes e no máximo k arquivos = kn bytes e leva em consideração o número máximo de arquivos abertos em um determinado tempo. Mas e se a estrutura do i-node tiver espaço para um número fixo de endereços de disco, o que acontece se o arquivo crescer? A solução para esse caso é reservar o último endereço para o endereço de um bloco contendo mais endereços de blocos de disco (outro I-Node).
13. Analise o impacto das fragmentações interna e externa nos sistemas de alocação contígua, lista encadeada e por lista encadeada na RAM.
	O impacto da fragmentação interna é o mesmo em todos os sistemas, pois não há uma solução para isso. Já o impacto da alocação externa é extremamente pior no sistema de alocação contígua, pois a única solução para esse tipo de sistema é a desfragmentação que tem um custo muito grande. No sistema de lista encadeada o problema é a sobrecarga extra e a quantidade de blocos a mais que são lidos para chegar ao bloco desejado. O menor impacto então é no sistema de lista encadeada na RAM, pois não há a sobrecarga e a leitura de blocos inutilizados pode ser minimizada utilizando um algoritmo para melhorar a leitura em disco.

Continue navegando