A maior rede de estudos do Brasil

Grátis
5 pág.
Capítulo 1 - Sistemas Operacionais Modernos

Pré-visualização | Página 1 de 2

Aluno: Matheus Paulo dos Santos Demiro
Livro: Sistemas Operacionais Modernos - 4ª Ed. 2016. Autor: Tanenbaum,
Andrew S.
Resposta dos exercícios do Capítulo 1
1. O sistema operacional é um software ou conjunto de softwares cuja principal função
é fornecer ao usuário uma interface simples e de fácil manuseio com o computador.
Ou seja, o SO introduz uma camada de abstração entre o computador e o usuário,
que permite com que o usuário consiga interagir com o hardware do computador.
Além disso, outra função essencial do SO é lidar com o gerenciamento otimizado de
recursos (como memória, processadores, discos e vários outros componentes de
entrada e saída) do computador, abstraindo essa responsabilidade dos usuários.
2. Sistemas operacionais de computadores de grande porte: servidores web.
Sistemas operacionais de servidores: servidores que fornecem serviços de
impressão. Sistemas operacionais de multiprocessadores: sistemas de Big Data.
Sistemas operacionais de computadores pessoais: notebooks. Sistemas
operacionais de computadores portáteis: smartphones. Sistemas operacionais
embarcados: aparelhos de televisão. Sistemas operacionais de nós sensores
(sensor-node): sistema para controle de computadores minúsculos que se
comunicam entre si e com uma estação-base usando comunicação sem fio.
Sistemas operacionais de tempo real: sistemas de controle de processo industrial.
Sistemas operacionais de cartões inteligentes (smartcard): cartões de crédito.
3. A diferença entre o sistema de compartilhamento de tempo (ou timesharing) e de
multiprogramação está no funcionamento de cada um. Os sistemas de timesharing,
variantes da multiprogramação, permite com que os vários processos sejam
executados através de uma divisão de tempo do processador, ou seja, a CPU
fornece a cada processo uma fatia de tempo para execução, quando termina-se a
execução ou chega-se ao final do tempo concedido, é a vez de outro processo
receber uma fatia de tempo para execução. Isso se repete até o final do
processamento das tarefas solicitadas. Logo, a CPU fica alternando entre os
diferentes processos de forma que o usuário tenha a impressão de que todos os
processos estão sendo executados simultaneamente, permitindo a interação
simultânea com múltiplos processos em execução. Já os sistemas de
multiprogramação possibilitam que enquanto um programa esteja em operação de
leitura outros possam ser executados. Ou seja, se um processo precisa esperar por
liberação de memória ou aguardar a finalização de uma operação de E/S, por
exemplo, a CPU consegue alocar outro processo para ser executado, diminuindo o
tempo de ociosidade.
4. O acesso à memória exibe o princípio da localidade de referência, onde, se um
local é lido, a probabilidade de acessar locais próximos é muito alta, principalmente
os seguintes locais de memória. Portanto, ao armazenar em cache uma linha de
cache inteira, a probabilidade de ocorrência de um cache é aumentada em seguida.
Além disso, o hardware moderno pode fazer uma transferência em bloco de 32
ou 64 bytes para uma linha de cache muito mais rápido do que ler os mesmos
dados que palavras individuais.
5. A técnica de multiprogramação permite que a CPU execute outras tarefas enquanto
aguarda a finalização de uma operação de E/S. Se não houver DMA (Direct Memory
Access) a CPU fica 100% ocupada com operações de E/S, portanto, não há ganho
nenhum ao implementar a multiprogramação.
6. Os dispositivos de E/S (Entrada/Saída) interagem intensamente com os sistemas
operacionais e por isso precisam ser policiados e gerenciados de forma segura a fim
de não comprometer a integridade do sistema. Logo, as instruções de acesso a
esses dispositivos são instruções privilegiadas, ou seja, que só devem ser
executadas pelo sistema operacional ou sob sua supervisão, impedindo, dessa
forma, a ocorrência de problemas de segurança e integridade do sistema.
7. Essa ideia ainda está viva. Atualmente grande parte dos fabricantes de
computadores (Dell, Samsung, etc) lançam suas máquinas atreladas ao conceito de
“família” introduzido pela IBM.
8. Uma tela de texto monocromático de 25 linhas × 80 colunas de caracteres requer
25*80*8(bits por caractere) = 16000 bytes que é equivalente a 16 KB. O bitmap
colorido de 24 bits de 1200 × 900 pixels requer 1200*900*8 = 25920000 bytes que é
equivalente a 25920 KB. Em 1980, essas duas opções teriam custado US$ 80 e
US$ 129.600, respectivamente. Hoje em dia a primeira situação, preço de 0,000026
dólares/KB a primeira solução custa 0,000416 e a segunda 0,673 dólares.
9. Durante a realização dos processos pertinentes ao projeto os recursos humanos,
financeiros e tecnológicos, além do fator tempo devem ser coerentes com a meta a
ser alcançada. Podemos tomar como exemplo, de conflito entre metas, aquelas que
exigem agilidade (tempo/prazo de entrega) e perfeição (qualidade), sem dispor de
recursos financeiros e humanos para atender às demandas.
10. No modo núcleo a CPU pode executar qualquer instrução de sua arquitetura,
já no modo usuário somente um subconjunto das instruções é permitido. Desta
forma, programas criados pelos usuários rodam no modo usuário e não terão
acesso a recursos críticos do sistema diretamente.
11. Dados:
Capacidade do disco = 255GB = 273804165120 bytes
Número de cilindros = 65536
Número de setores = 255 por faixa
Quantidade de bytes por setor = 522 bytes
Tempo de busca = 11ms
Atraso rotacional médio = 7ms
Taxa de leitura = 100 MB/s
A fórmula para calcular o número de cabeças é a seguinte:
Capacidade do disco = (cilindros/disco) * (setores/faixa) * (cabeças/cilindro) *
(bytes/setor)
Número de cabeças =
273804165120 
65536 𝑥 255 𝑥 512
Número de cabeças = 32
Cada prato consiste em duas cabeças, uma para ler de cima e outra para ler de
baixo. Portanto, o número de pratos é igual a 16 (número de cabeças/2).
12. (a), (c) e (d)
13. Pode demorar 20, 25 ou 30 ms para concluir a execução desses programas,
dependendo de como o sistema operacional os agendar. Se P0 e P1 estiverem
agendados na mesma CPU e P2 estiver agendado na outra CPU, serão necessários
20 ms. Se P0 e P2 estiverem agendados na mesma CPU e P1 estiver agendado
na outra CPU, serão necessários 25 ms. Se P1 e P2 estiverem agendados na
mesma CPU e P0 estiver agendado na outra CPU, serão necessários 30 ms. Se
todos os três estiverem na mesma CPU, serão necessários 35 ms.
14. Cada instrução de nanossegundo emerge do pipeline. Isso significa que a
máquina está executando 1 bilhão de instruções por segundo, ou seja, 1 ns por
instrução. Não importa quantos estágios o pipeline possui.
15. Considerando uma média entre a memória cache, memória RAM e disco, a média
da velocidade devido todas essas memórias se interagirem fica em torno de 1 ns.
16. Nesse caso, o programa que fez uma chamada para escrever no disco também
precisa ser bloqueado. Isto porque o programa precisa esperar o fim da escrita para
saber se a escrita foi bem sucedida ou não, e quantos bytes foram escritos com
sucesso.
17. Instrução é uma chamada ao sistema operacional gerada pelo programa em
execução para realizar alguma operação na máquina. O SO faz a leitura da
instrução, verifica se há permissão para executá-la e, caso haja permissão, executa
a tarefa solicitada pela instrução. Basicamente, o SO utiliza a instrução para saber
qual tarefa deve ser realizada pela máquina.
18. Os sistemas de timesharing necessitam gerenciar os processos que estão em
execução para que seja possível fornecer uma fatia de tempo de CPU para cada
processo. Portanto, a tabela de processos é necessária para determinar quais,
quantos e em que estado os processos se encontram , dentre outros atributos.
Logo, ela é fundamental para o funcionamento dos sistemas de timesharing. Em um
computador pessoal (PC) da atualidade que executa UNIX ou Windows também é
necessário o uso da tabela de processos, pois, apesar de um único usuário está
utilizando, o sistema executa multitarefas e precisa de uma gerenciamento dos
processos para saber quais serão alocados para a CPU em

Crie agora seu perfil grátis para visualizar sem restrições.