Você está na página 1de 7

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO

Bacharelado em Tecnologia da Informação e

Bacharelado em Ciência e Tecnologia

Professor: Helder Fernando de Araujo Oliveira

Disciplina: Sistemas Operacionais Período: 2018.2

Alunos (as): Paulo Henrique de Souza Rêgo

Francisco Vinícius Lopes Costa.

Lista de exercícios – Unidade 3

1) Descreva duas diferenças básicas entre o sistema de arquivos Fat32 e Ext4.

Resposta: Fat32 usado nos Windows a partir do 98, utiliza clusters de 4KB, suporta
arquivos de até 4GB. Já o Ext4 suporta tamanhos de arquivos de até 16 TB, e faz o uso
do inodes.

2) Defina cluster. Como a escolha do tamanho do cluster pode influenciar no


armazenamento dos arquivos no disco rígido? E com relação ao desempenho na
leitura dos arquivos?

Resposta: Cluster é a menor parcela do HD que pode ser acessada pelo SO. Quanto
menor o tamanho do cluster, menor será o desperdício de espaço no HD. Porém
aumenta o tempo na gravação e leitura de arquivos maiores que devem ser divididos
em vários pequenos clusters.

3) Diferencie arquivos especiais de caracteres e arquivos especiais de bloco.

Resposta: Arquivos especiais de caracteres fornecem acesso direto ao dispositivo de


hardware. São dispositivos brutos, exigem que todas as leituras e gravações no HD
sejam alinhadas ao limite de um bloco e não permite a leitura de somente um byte.
Arquivos especiais de blocos utiliza-se de um buffer, ou seja, uma memória
temporária. Oferecendo assim, uma abstração de suas especificidades. Permitindo ler
e gravar em um bloco de qualquer tamanho e qualquer alinhamento.

4) Defina o que é um descritor de arquivo e como ele pode ser utilizado no contexto
de sistemas de arquivos.

Resposta: Descritor de arquivos é um indicador abstrato para acessar um arquivo. Em


sistemas de arquivos o descritor de arquivo é um índice para um registro de uma
estrutura de dados do núcleo que contém detalhes de todos os arquivos abertos.

5) Suponha que um usuário cria um determinado arquivo, chamado “arq1”, no seu


linux (sistema de arquivos Ext4) e deseja dar apenas permissão de leitura e execução
para um determinado grupo. Qual comando ele iria utilizar? Explique por quê.

a) chmod 400 arq1

b) chmod 140 arq1

c) chmod 050 arq1 ------------ Resposta correta

d) chmod 320 arq1

e) chmod 033 arq1

Resposta: O comando que ele irá dar é o “chmod 050 arq1 “, pois como ele irá dar
permissão apenas para um determinado grupo, ele deve manter em 000 a parte de
usuários e a de outros. E para dar a permissão apenas de leitura e execução ele deve
dar a permissão 101 que é 5 em decimal.
6) Dado o código a seguir:

a) Descreva o funcionamento das chamadas: open, read e lseek.

Resposta: A chamada open irá abrir o arquivo chamado “testfile.txt”. A


chamada read faz a leitura do arquivo. A chamada lseek posiciona o cursor em
determinado ponto do arquivo. E a chamada read faz a leitura do arquivo novamente.

b) Por que “file” foi definido como um número inteiro?

Resposta: Possivelmente porque o conteúdo do arquivo é um número.

c) O que a linha que contém a chamada lseek está executando?

Resposta: Está posicionando o cursor em um determinado ponto do arquivo,


neste caso o número 10.

d) O que será impresso para o usuário no primeiro e no segundo “printf”,


considerando o texto:

Resposta: O conteúdo do arquivo.


“Este é um teste para o código apresentado. Nele estamos demonstrando o uso da
chamada lseek”

7) Um determinado usuário criou um arquivo em um sistema de arquivos Ext4. Ele


chamou esse arquivo de “meuarquivo”. Suponha que este usuário criou um link
físico para este arquivo, denominado link_fisico_arquivo1. Sem querer este usuário
excluiu o arquivo “meuarquivo” do seu diretório. O que acontecerá com o link físico?
Continuará a funcionar? Explique por quê.

Resposta: Ao excluir o arquivo original nada afetará ao link físico, pois o mesmo tem o
mesmo número de inode que o original. Sendo assim ainda continuará a funcionar,
pois agirá como arquivo original.

8) Diferencie as três formas de estruturação de arquivos: sequência de bytes,


sequência de registros, árvore de registros. Descreva um fator positivo ou negativo
de cada uma delas.

Resposta: Sequência de bytes: O sistema operacional trata os arquivos agora como


uma sequência de bytes. Os programas de usuário dão significados aos arquivos. Neste
o sistema operacional não se importa como conteúdo e nem os nomes dos arquivos.

Sequência de registros: O arquivo é uma sequência de registros de tamanhos


fixos (ponto negativo, como os cartões perfurados), cada registro possui uma estrutura
interna. Uma operação de leitura retorna um registro, e uma de escrita sobrepõe ou
anexa informação ao registro.

Árvore de registros: O arquivo é uma arvore de registros que podem possuir


tamanhos variados. Estes registros possuem um campo chave onde se é possível
ordenar a árvore, permitindo uma busca mais rápida. Porém como ponto negativo a
busca se limita a uma chave específica.

9) Descreva a função do MBR (Master Boot Record)

Resposta: O MBR (registro mestre de inicialização) é o setor 0. No fim da MBR está


localizada a tabela de partições do disco. Uma delas é a partição ativa que contém o
carregamento do SO. A MBR irá localizar a partição ativa e ler o primeiro bloco para
inicializar o sistema.
10) Descreva a função dos i-nodes em sistemas de arquivos que o utilizam.

Resposta: i-nodes é uma estrutura de dados que contem todos os atributos de um


arquivo, permissões, dada de modificação, tamanho do arquivo, etc. O i-nodes só é
carregado na memória quando o arquivo que é correspondido for aberto, o i-nodes
não guarda o nome do arquivo.

11) Defina deadlock (impasse) e mencione e explique as quatro condições


necessárias para que ele ocorra.

Resposta: É uma situação onde dois ou mais processos não executam por precisarem
de recursos de ambos alocados entre si. Existem 4 condições, de exclusão mutua onde
se um recurso está associado a um único processo não estará disponível a outro
processo excluindo o restante, condições de posse e espera onde os processos que
estão com o recurso faz o outro esperar e buscar o próximo, condições de não
preempção, quando um processo está em posse de um recurso esse não pode ser
tomada dele, e condições de espera circular onde há um encadeamento circular entre
dois ou mais processos.

12) Explique a diferença entre recursos preemptíveis e recursos não-preemptíveis.

Resposta: Preemptível pode ser retirado do processo proprietário sem nenhum


prejuízo (exemplo memória).

Não-preemptivel não pode ser retirado do processo proprietário sem que


a computação falhe, exemplo: impressora, unidade de CD-ROM.
13) Dado o código abaixo, é possível acontecer um deadlock na situação “a”? Por
quê? E na situação “b”? Por quê?

Resposta: Na situação a não é possível ocorrer um deadlock, pois os recursos são


solicitados em sequência. Já na situação b pode ocorrer um deadlock por utilizar
semáforos.

14) Uma das formas de verificar se existe uma situação de impasse (deadlock), com
apenas um recurso de cada tipo, é construir um grafo dirigido e verificar se o mesmo
possui ciclos. Dada a situação a seguir, verifique se existe alguma situação de
impasse. Caso positivo, quais os recursos e processos envolvidos?

Situação: Sete processos (de A até G) e cinco recursos (de R a V), onde:

1- O processo A possui o recurso R e requisita o recurso S.

2- O processo B possui o recurso S e requisita o recurso T.

3 - O processo C possui o recurso U, mas requisita o recurso T e o recurso S.

4 - O processo D possui o recurso T, mas requisita o recurso U.

5 - O processo E nada possui, mas requisita o recurso U e o recurso V.


6 - O processo F possui o recurso V.

Resposta: O impasse está entre 2 e 3, pois o recurso B possui o S e precisa do T e o


recurso C precisa do S e do T. Outro impasse se mostra em 3 e 4.

15) Descreva uma possível maneira de um sistema operacional detectar a presença


de um deadlock. Cite uma vantagem ou desvantagem da abordagem descrita.

Resposta: Verificar (aplicar o algoritmo de detecção) toda vez que uma requisição de
recurso for feita; verificar periodicamente a cada K unidades de tempo; verificar se a
utilização da CPU está baixa (abaixo de um determinado limite). Vantagem: garantia de
não ocorrer deadlock. Desvantagem: toma poder de processamento.

Você também pode gostar