Gabarito da Segunda Lista de Exercícios - SO I

Propaganda
Gabarito da Segunda Lista de Exercícios - SO I - 99/2
Stallings
2.2)
Esse algoritmo favorece programas I/O bound pois esses programas (em
geral) ao tomar posse do processador logo ficarão bloqueados para uma
nova operação de I/O. Depois de um certo tempo, num passado recente não
terá sido dado nenhum tempo de CPU para programas processor-bound e
chegará a vez desses processos (processor-bound) terem oportunidade.
2.5) A idéia das chamadas ao sistema (system calls) é fornecer aos
processos que rodam em modo usuário sub-rotinas genéricas prontas. Tais
sub-rotinas são complexas (manipulam diretamente o hardware) e são
frequentemente necessarias (escrever/ler em um drive de disco, bloquear
um processo etc.).
O chaveamento entre modos de operação (kernel/usuário e usuário/kernel)
pode ser feito a partir de chamadas ao sistema.
Silberchatz
2.3) Um processo que tenha sido criado como processo usuário só será
executado com a CPU funcionando em modo usuário. Assim, se tal
processo tentar executar uma instrução do modo supervisor ele não
conseguirá (ocorrerá um erro).
2.4) Ambas levam o Sistema Operacional a ganhar novamente o controle
do processador. A função TRAP tem sua causa associada com a instrução
que está sendo executada no momento e serve para que seja dado um
tratamento a um erro ou exceção ocorrida. Já uma interrupção é ocasionada
pela ocorrência de um evento assíncrono externo à instrução que está sendo
executada no momento e serve para dar uma resposta a esse evento.
2.5) O DMA é útil quando desejamos transferir um longo bloco de dados
para a memória, pois para transferência de poucas palavras não há
vantagem considerável sobre a técnica de I/O por interrupção (com DMA
temos o "roubo de ciclos de barramento") e à medida em que aumenta o
número de palavras a serem transferidas a vantagem comparativa do DMA
com relação a técnica de I/O por interrupção aumenta (no caso de I/O por
interrupção a CPU tem de tratar uma interrupção a cada palavra
transferida).
2.9) b), d) e g)
Tanembaum
1.3) Spooling (Simultaneous Peripheral Operations on line) é o nome dado
a uma técnica utilizada para permitir que um programa possa realizar
entrada e saída com um dispositivo bastante lento sem sofrer problemas de
compatibilidade de velocidade. Por exemplo, ao invés de um programa
mandar escrever seus dados diretamente para a uma impressora (dispositivo
bastante lento) ele envia seus dados para um disco (dispositivo mais rápido
que a impressora). Posteriormente (tendo esse programa que realizou I/O
terminado ou não), outro processo se encarregará de pegar os dados do
disco e ir transferindo para a impressora, à medida que esta puder tratá-los.
Certamente será uma técnica ainda bastante utilizada no futuro, uma vez
que a diferença de velocidade entre dispositivos tende a se manter e até a
aumentar.
1.7) As diferenças são ocasionadas pelos requisitos mais importantes para
cada um desses tipos de Sistemas Operacionais. No caso dos mainframes,
throughput é muito importante (são máquinas caras) e possivelmente,
tempo de resposta (se houver grande número de usuários acessando via
terminais). Já no caso dos computadores pessoais, o mais importante é
permitir o uso de múltiplas aplicações e fornecer um ambiente de trabalho
de fácil uso (interface amigável).
Tais diferenças causam outras: por exemplo, no que diz respeito aos
periféricos que devem ser suportados. Os mainframes necessitam de
dispositivos com alta capacidade de armazenamento (discos e fitas) e os
computadores pessoais precisam dar suporte a periféricos como: mouse,
scanner, monitor de vídeo etc..
1.11) Sim. O modelo cliente-servidor funciona, não importando onde
estejam os processos clientes e servidores.
Deitel
3.17) O kernel ou nucleus é parte do Sistema Operacional responsável
pelas funções fundamentais. Ele é armazenado na memória principal por
conter rotinas básicas do sistema que, por serem frequentemente
necessárias, devem ser executadas com a maoir rapidez possível. Essas
funções fundamentais são, por exemplo: tratamento de interrupções, troca
de contexto entre processos, acesso a disco, gerência de memória e
processos etc.
Download