Anda di halaman 1dari 3

Lista de Exercícios 2 – corresponde aos exercícios do capítulo 1 (p.

49) do livro
Sistemas Operacionais Modernos (4ª edição) do Andrew S. Tanembaum e Herbert
Bos.
Respostas:
1- a) Sistemas operacionais de computadores de grande porte: Os sistemas
operacionais para computadores de grande porte são intensamente orientados para
o processamento de muitas tarefas ao mesmo tempo, a maioria delas exigindo
quantidades prodigiosas de E/S. Eles em geral oferecem três tipos de serviços: em
lote (batch), processamento de transações e tempo compartilhado (timesharing). Um
sistema em lote processa tarefas rotineiras sem qualquer usuário interativo presente.
b) Sistemas operacionais de servidores: Eles são executados em servidores que são
computadores pessoais muito grandes, em estações de trabalho ou mesmo
computadores de grande porte. Eles servem a múltiplos usuários ao mesmo tempo
por meio de uma rede e permitem que os usuários compartilhem recursos de
hardware e software.
c) Sistemas operacionais de multiprocessadores: Uma maneira cada vez mais
comum de se obter potência computacional para valer é conectar múltiplas CPUs a
um único sistema. Dependendo de como precisamente eles são conectados e o que
é compartilhado, esses sistemas são chamados de computadores paralelos,
multicomputadores ou multiprocessadores.
d) Sistemas operacionais de computadores pessoais: Seu trabalho é proporcionar
um bom apoio para um único usuário. Eles são amplamente usados para o
processamento de texto, planilhas e acesso à internet. Exemplos comuns são o
Linux, o FreeBSD, o Windows 7, o Windows 8 e o OS X da Apple. S.
e) Sistemas operacionais de computadores portáteis: A maioria deles conta com
CPUs multinúcleo, GPS, câmeras e outros sensores, quantidades enormes de
memória e sistemas operacionais sofisticados. Além disso, todos eles têm mais
aplicativos (“apps”) de terceiros que você possa imaginar.
f) Sistemas operacionais embarcados: Sistemas embarcados são executados em
computadores que controlam dispositivos que não costumam ser vistos como
computadores e que não aceitam softwares instalados pelo usuário. Exemplos
típicos são os fornos de micro-ondas, os aparelhos de televisão, os carros, os
aparelhos de DVD, os telefones tradicionais e os MP3 players.
g) Sistemas operacionais de nós sensores: Esses nós são computadores
minúsculos que se comunicam entre si e com uma estação-base usando
comunicação sem fio. Redes de sensores são usadas para proteger os perímetros
de prédios, guardar fronteiras nacionais, detectar incêndios em florestas, medir a
temperatura e a precipitação para a previsão de tempo, colher informações sobre a
movimentação de inimigos nos campos de batalha e muito mais.
h) Sistemas operacionais de tempo real: Esses sistemas são caracterizados por ter o
tempo como um parâmetro-chave. Por exemplo, em sistemas de controle de
processo industrial, computadores em tempo real têm de coletar dados a respeito do
processo de produção e usá-los para controlar máquinas na fábrica. Muitas vezes há
prazos rígidos a serem cumpridos.
i) Sistemas operacionais de cartões inteligentes: Os menores sistemas operacionais
são executados em cartões inteligentes, que são dispositivos do tamanho de cartões
de crédito contendo um chip de CPU. Possuem severas restrições de memória e
processamento de energia. Alguns obtêm energia por contatos no leitor no qual
estão inseridos, mas cartões inteligentes sem contato obtêm energia por indução, o
que limita muito o que eles podem fazer. Alguns deles conseguem realizar somente
uma função, como pagamentos eletrônicos, mas outros podem realizar múltiplas
funções. Muitas vezes são sistemas proprietários.

2- Isto pode trazer perda de desempenho muito grande ao sistema. Já que com a
multiprogramação você tem vários processos sendo executados sequencialmente
com alternância rápida e constante, se todas operações de dados envolverem E/S,
sempre que pelo menos um dos processos estiver executando E/S todos os outros
tem de esperar pelo término da operação.
3- 39 cabeças e 105 pratos.
4- A (x) e D (x) devido estes serem execuções muito importantes para a memória do
núcleo.
5- Considerando a eficácia do hyperthreading em 15% ficaria P0 0,75ms + P1 1,5ms
+ P3 3ms = 1,75ms / 2 CPUs = 0,875ms.
6- Não necessariamente. A não ser que se queira garantir que a escrita foi feita
antes de continuar a execução do processo, quem chama não precisa ser
bloqueado.
7- É uma chamada ao sistema operacional gerada pelo programa em execução.
8- Pois a cada vez que um processo for suspenso para que a execução de outro
ocorra, o seu contexto, conjunto de registradores que inclui o contador de programa,
o ponteiro para pilha, outros registradores de hardware e todas as demais
informações necessárias para executar aquele programa, tem que ser salvo em
algum lugar, tabela de processos. Em sistemas com apenas um processo em
execução, esta tabela pode ser usada pelo mecanismo de interrupções para poder
salvar o contexto do processo e trata-las.
9- Sim, impossibilitar o uso dos arquivos que estavam no diretório antes do novo
sistema ser montado.
10- Fork - falta de memória para criação do processo filho na memória; Xec - número
de parâmetros inválidos, e, Unlink - i- número de arquivo inexistente.
11- Sim, essa chamada pode retornar algum valor diferente de nbytes.
Principalmente por dois motivos, um final de arquivo foi encontrado antes, ou o
arquivo não pôde ser lido.
12- Não conseguir achar a resposta.
13- Não é necessário que ambos tenham o mesmo nome. O nome do procedimento
não é importante de forma alguma, funcionalmente falando. A chamada ao sistema é
mais importante que a chamada da biblioteca. Já que sem a chamada do sistema,
nenhuma biblioteca pode fazer tal chamada, o que não é verdade para o contrário. O
programa pode sim fazer uma chamada direta ao sistema.
14- É muito importante sobre a questão do desempenho. Chamadas ao sistema
requerem desvio de fluxo e tratamento das chamadas que trazem consigo
armazenamento e resgate de contexto, coisas que tomam tempo.
15- Não achei uma resposta convincente.
16- As virtual machines não estão aptas para trabalhar com aplicações pesadas,
como softwares 3D, de edição de áudio ou vídeo, ou jogos eletrônicos. Isso porque
elas funcionam rodando por cima do seu sistema operacional principal, que, por sua
vez, já está consumindo recursos do seu computador.
17- a) 31.536
b) 9 - 6 = 3. 1 quilômetro
c) 1.099.511.627.776 bytes
d) 24 - 3 = 1.000.000.000.000.000.000.000 quilogramas.

Anda mungkin juga menyukai