Sistema de Arquivos e E/S
Questões para 4º prova de Sistemas Operacionais.
0
0
0
1
O que é um arquivo?
É uma unidade lógica de informações persistentes, criados por seres humanos
É uma unidade lógica de informações persistentes, criados por processos.
2
Sistemas de arquivos tem requisitos que podem ser resumidos da seguinte forma: (i) Agregar uma grande quantidade de informação que deve persistir depois que o processo que a gerou/usou termina e essas informações em arquivos podem ser acessadas por muitos [[1]] de forma [[2]].
1- processos
2- simultânea
1-seres humanos
2 - dedicada
3
Do ponto de vista dos usuários, marque a alternativa falsa.
Arquivos isolam o usuário de detalhes sobre onde realmente estão os dados no disco.
O usuário só enxerga um tipo de arquivo, os seus arquivos regulares.
Os usuários usam diretórios para manter a organização lógica de seus arquivos no sistema
Usuários precisam conhecer regras para nomear arquivos.
Existem arquivos especiais que representam dispositivos de E/S que muitas vezes nem são conhecidos pelos usuários.
4
Marque atributos comuns de arquivos.
Usuário que tentou acessar o arquivo sem permissão.
Informações para proteção do arquivo (quem pode acessar e de que modo), Data da última modificação, Dono do arquivo e Data da criação
5
Arquivos guardam informações que precisam existir mesmo depois que o processo que as gerou seja finalizado. Os arquivos regulares ASCII podem ser lidos por editores de texto comum e assim entendidos por seres humanos. Já os [[1]] tem a organização lógica esperada pelo programa que vai executar/ler/escrever no arquivo e assim não são lidos/entendidos por seres humanos. [[2]] são arquivos do sistema que contém informações sobre a organização do sistema de arquivos. E finalmente, existem ainda os arquivos [[3]] que representam dispositivos de E/S do sistema
1- de bloco
2- diretórios
3- binários
1- binários
2- diretórios
3- especiais
6
O que são diretórios?
São arquivos do sistema para fins de organização do sistemas de arquivos.
São arquivos do sistema designados para organizar os processos.
7
Quais são os tipos de arquivos?
Arquivos de bloco e de caractere.
Arquivos regulares e arquivos especiais.
8
Os arquivos regulares guardam que tipo de informação?
Guardam informações do usuário.
Guardam informação associadas a E/S.
9
Os arquivos especiais guardam o que?
Guardam a informação que está associada a um dispositivo de hardware particular ou outro recurso.
Guardam os dados especiais gerados pelo o processo que está rodando.
10
Quais são os tipos de arquivos regulares?
De bloco e caractere.
ASCII e binários.
11
O arquivo ASCII funciona para que?
Para ter a organização esperada pelo o arquivo.
Para ser lido por editores de texto comum.
12
O arquivo binário funciona para que?
Para que tenha a organização lógica esperada pelo o programa que vai ler/escrever no arquivo.
Para que tenha a organização esperada pelo o processo.
13
Quais são os tipos de arquivos especiais?
Especiais e regulares.
De bloco e de caractere.
14
Como representa o arquivo especial de bloco?
Representa dispositivos de E/S de bloco.
Representa os processos de blocos
15
O que representa os arquivos especiais de caractere?
Representam dispositivos relacionados aos dados de E/S
Representam dispositivos de E/S de caractere.
16
Quais maneiras os arquivos podem ser acessados?
Sequencialmente e acesso direto aleatório.
Somente no diretório.
17
O que é atributos de arquivos?
São informações que o arquivo deve ter e são obrigatórias.
São informações extras sobre os arquivos.
18
O que é um i-node?
São estruturas responsáveis por conter informações básicas sobre arquivos e pastas.
São estruturas responsáveis por conter informações dos processos e da memória.
19
Como funciona o sistema de arquivos jounaling?
A ideia básica aqui é manter um diário do que o sistema de arquivos vai fazer antes que ele o faça.
Alocação de um mapa.
20
A alocação de blocos usando lista encadeada em memória (FAT) tem alguns problemas. Um destes problemas é que...
O acesso randômico aos blocos do arquivo é muito lento.
Os arquivos passam a ter um limite de tamanho, pois cada arquivo só pode ter um certo número de entradas na tabela FAT.
21
Sistemas de arquivos que registram atividade em diário (journaling) fazem isso com que propósito?
Replay para fins de estudo.
Evitar que o sistema de arquivos fique inconsistente devido a falhas (por exemplo de energia ou do próprio hardware).
22
Alocação contígua de blocos não é útil nos dias atuais para nenhum tipo de sistemas de arquivos.
Verdadeiro
Falso
23
Sobre i-nodes marque as alternativas corretas
O i-node carrega informações sobre o hardware (nó) onde está o sistema computacional, por isso este nome: i-node.
Um i-node é uma estrutura de dados que contém informações sobre todos os blocos do disco, indicando que blocos pertencem a que arquivos e que blocos estão livres.
É uma estrutura de dados associada à coleção de arquivos de um usuário, havendo portanto um i-node por usuário do sistema.
✓
É uma estrutura de dados associada a cada arquivo/diretório do sistema de arquivos e que mantém atributos do arquivo/diretório e ponteiros para os blocos do disco que contém o arquivo/diretório.
24
Sobre links simbólicos e hard marque o que for verdadeiro.
m link simbólico requer um i-node extra, já que a ligação ocorrerá através de um arquivo especial do tipo link que irá identificar o arquivo linkado.
Quando o arquivo original é apagado pelo seu dono o hard link deixa de funcionar.
Nenhum i-node extra é necessário para a criação de um hard link pois tanto o diretório original, quanto o diretório onde o link será realizado vão apontar para o mesmo i-node original do arquivo a ser linkado.
O hard link tem esse nome porque não pode ser desfeito nunca.
25
Sistemas de arquivos que registram atividade em diário (journaling) fazem isso com que propósito?
Replay para fins de estudo.
Evitar que o sistema de arquivos fique inconsistente devido a falhas (por exemplo de energia ou do próprio hardware).
26
A escolha do tamanho do bloco do disco envolve um tradeoff entre tempo de transferência e economia de espaço em disco. Associe abaixo o que fizer sentido. : 1) ..será mais rápido transferir uma certa quantidade de dados do disco para a memória mas haverá bastante fragmentação interna. 2)...o tempo de transferência de uma certa quantidade de dados é maior, mas o desperdício de disco com fragmentação interna é menor
2-Se o tamanho do bloco for muito grande...
1-Se o tamanho do bloco for muito pequeno...
1-Se o tamanho do bloco for muito grande...
2-Se o tamanho do bloco for muito pequeno...
27
O sistema operacional precisa se envolver no estabelecimento de cotas de disco para os usuários pois.
é o sistema operacional que tem acesso à cache de blocos do sistema e portanto é muito mais rápido.
é o sistema operacional que tem o e-mail dos usuários para alertá-los quando as cotas forem descumpridas.
é o sistema operacional que tem acesso às tabelas de arquivos abertos pelos processos para conseguir identificar e registrar mudanças nos tamanhos dos arquivos em uso e assim atualizar nas tabelas de cotas dos usuários a quantidade de disco usada por cada usuário.
28
Usar um mapa de bits para manter informações sobre blocos livres do disco tem vantagens e desvantagens em relação a manter uma lista encadeada de blocos com ponteiros para blocos livres. Uma vantagem é que o mapa de bits geralmente ocupa menos espaço, outra vantagem é que o mapa de bits permite alocações de blocos mais próximos (fisicamente), o que melhora o desempenho de leitura/escrita em se tratando de discos magnéticos. Porém, quando o disco é muito grande e especialmente quando ele já está fragmentado e pouco preenchido, a busca por blocos livres pode ser pouco eficiente.
Verdadeiro
Falso
29
Considere um sistema operacional que usa uma lista encadeada de blocos livres para armazenar a informação sobre que blocos do disco estão livres. Marque o for verdadeiro.
O ideal é que o bloco em memória de ponteiros esteja sempre parcialmente preenchido com ponteiros para blocos livres do disco, assim será mais eficiente para lidar tanto com liberação quanto com alocação de blocos
Apenas um bloco com ponteiros para blocos livres precisa estar na memória
Todos os blocos com informações sobre blocos livres precisam estar na memória.
ideal é ter 2 blocos com ponteiros para blocos livres na memória
30
A leitura em disco é algumas ordens de grandeza mais lenta que a leitura em em memória principal. Assim, os sistemas de arquivos são projetados com otimizações para reduzir esse impacto. Uma delas é a [[1]], que mantém na memória alguns dos blocos lidos do disco mais recentemente para permitir que em acessos futuros ao mesmo bloco a leitura em disco não seja mais necessária. Um desafio é usar a [[1]] e manter a [[2]] do sistema de arquivos especialmente quando há modificações nos blocos de disco que estão em [[1]]. Em geral blocos modificados que contenham dados de controle como por exemplo i-nodes devem ser atualizados no disco [[3]]. Para os blocos com dados do usuário, o sistema de arquivos ativa um [[4]] que acorda de tempos em tempos (30 segundos por exemplo) e faz uma cópia para o disco de todos os blocos em cache que foram modificados (operação de sync
1- cache
2- consistência
3- imediatamente
4- daemon
1- hash
2- consistência
3- imediatamente
4- dispositivo
31
Em geral, APIs são definidas por um conjunto de requisitos que gerenciam a forma como uma aplicação pode conversar com outra aplicação. Para utilizar uma API que trabalhe com entrada/saída de arquivos, é necessário entender profundamente as operações suportadas pelos dispositivos de E/S envolvidos
Verdadeiro
Falso
32
A entrada/saída orientada à interrupção trata um byte de dado de cada vez, mas também pode tratar os bytes em pequenos blocos, de acordo com os dispositivos envolvidos.
Verdadeiro
Falso
33
Para controlar os dispositivos de entrada e(ou) saída de um computador, a fim de que seja possível interagir com eles, é correto o uso de
algoritmo de escalonamento de processos.
driver de dispositivo
34
Um sistema operacional tem como função gerenciar vários recursos. Aquele que NÃO se constitui um tipo de gerenciamento é
Gerenciamento de memória
Gerenciamento de registradores
35
O sistema operacional desempenha um papel importante no tratamento da E/S, atuando como interface entre o hardware e o software que solicita a E/S. Neste contexto é correto afirmar que:
não é responsabilidade do sistema operacional fornecer abstrações para acessar dispositivos nem fornecer rotinas que tratam as operações de baixo nível dos dispositivos
Os sistemas de E/S normalmente usam interrupções para comunicar informações sobre operações de E/S. Como essas interrupções causam uma transferência ao modo kernel ou supervisor, elas precisam ser tratadas pelo sistema operacional (SO).
36
Na interação entre o sistema operacional e dispositivos de E/S:
um driver pode ser inserido no núcleo, por meio da execução do programa no espaço de usuário e, na sequência, do reinício do sistema operacional
o software independente de dispositivo vê a interface do driver, que pode ser muito diferente da interface para o dispositivo.
37
Todas as rotinas do sistema operacional que tem como função se comunicar com os dispositivos de Entrada/Saída em nível de hardware, são softwares tradutores que recebem comandos do sistema operacional para um hardware específico. Essa é a definição de
Arquivos
Drivers
38
A camada de E/S acima dos drivers é independente de dispositivo. O software nesta camada não sabe lidar com os dispositivos de E/S diretamente, mas conhece as as funções que podem chamar nos [[1]]. Desta forma, o software desta camada usa o serviço dos [[1]] e indiretamente [[2]] os dispositivos de E/S. A grande função desta camada é fornecer interface [[3]] para o software no nível do usuário, escondendo o fato de que na verdade está conversando com vários drivers diferentes de dispositivos diferentes.
1- drivers
2- programa
3- pradonizada
1- processos
2- atualiza
3- programa
39
Marque o que não é função da camada independente do dispositivo
Modificar os drivers em tempo de execução para permitir que sejam hot swappable.
Programar as controladoras dos dispositivos para realizar as operações desejadas pelos usuários.
Garantir buferização para a comunicação com alguns tipos de dispositivos
Garantir que dispositivos de bloco operam sobre o mesmo tamanho de bloco