Sistemas Operacionais 1 -   resolução - P1
8 pág.

Sistemas Operacionais 1 - resolução - P1


DisciplinaSistemas Operacionais I7.693 materiais168.622 seguidores
Pré-visualização2 páginas
SISTEMAS OPERACIONAIS 1 
 
Aula Dica SEXTA (Livro Base SO com Java, edição 6) 
 
CAPÍTULO 01 
 
1.1 ­ Quais são os 3 propósitos de um Sistema Operacional? 
 
­ Máquina virtual que fornece uma interface entre o usuário e o hardware. 
­ Alocador de recursos: gerencia e aloca recursos. 
­ Programa de controle: controla a execução dos programas do usuário e as 
operações dos dispositivos de E/S. 
 
1.3 ­ Qual é a principal vantagem da multiprogramação? 
 
Uso eficiente dos recursos (como a CPU). 
 
1.5 ­ Em um ambiente de multiprogramação e tempo compartilhado, vários usuários 
compartilham o sistema simultaneamente. Essa situação pode resultar em diversos 
problemas de segurança. 
a ­ Cite dois desses problemas 
 
­ Roubo ou cópia de dados\u37e 
­ Uso de recursos do sistema sem a contabilidade devida (Usuário que tenta usar a 
CPU por mais tempo do que outros, por exemplo). 
 
b ­ Podemos garantir o mesmo grau de segurança em uma máquina de tempo 
compartilhado que temos em uma máquina dedicada? Explique sua resposta. 
 
Teoricamente não, pois qualquer esquema de proteção idealizado por humanos pode                     
inevitavelmente ser quebrado por um humano. Além disso, um sistema com vários usuários é                           
mais frágil do que apenas um computador pessoal. 
 
1.6 ­ Defina as propriedades essenciais dos seguintes tipos de sistemas operacionais: 
 
a ­ batch 
programas com características semelhantes, processamento em lotes 
b ­ interativo 
um computador varre todos os terminais 
c ­ tempo compartilhado 
divisão do tempo entre todos os usuários 
d ­ tempo real 
atendimento dos requisitos temporais 
 
1.8 ­ Sob quais circunstâncias seria melhor para um usuário usar um sistema de tempo 
compartilhado em vez de um PC ou estação de trabalho monousuário? 
 
Sistema de tempo compartilhado é melhor utilizado quando há muitos usuários necessitando 
de recursos ao mesmo tempo\u200b \u200b(Eu acho que esta parte não está certa porque quando há 
muitos usuários usando o sistema ao mesmo tempo sobram menos recursos para 
cada um usar, então aí seria melhor usar um PC, desde que o hardware do mesmo seja 
suficiente para fazer o que ele deseja).\u200b Quando houver poucos usuários, a tarefa for 
grande e o hardware por rápido, usar um sistema de tempo compartilhado faz sentido. 
Um PC é melhor utilizado quando a tarefa é pequena o suficiente para ser executada sem 
prejudicar o desempenho. 
 
1.10 ­ Qual é a principal dificuldade que um programador precisa contornar na escrita 
de um sistema operacional para um ambiente de tempo real? 
 
Atender os requisitos temporais. 
 
 
CAPÍTULO 02 
 
2.2 ­ Como a distinção entre modo monitor e modo usuário funciona como uma forma 
rudimentar de sistema de proteção (segurança)? 
 
Modo usuário executa apenas as instruções que não são protegidas. 
Modo monitor executa ações que têm acesso privilegiado. (Acesso a recursos de hardware) 
 
2.3 ­ Quais são as diferenças entre um trap e uma interrupção? Para que é usada cada 
função? 
 
Trap é uma interrupção de software (erro, overflow). 
Interrupção é no hardware, quando precisa atender a algum dispositivo (impressora). 
 
2.4 ­ Para que tipos de operações o DMA (Direct Memory Acess) é útil? Explique sua 
resposta. 
 
Transferência de dados entre a memória (buffer) e a memória de dispositivos, eliminando a 
necessidade de envolver a CPU na transferência. Isto permite então que durante a entrada e 
saída a CPU esteja livre para realizar outras operações. Só é eficiente quando o disposito de 
E/S é veloz. (por causa do barramento) 
 
2.5 ­ Quais das seguintes instruções devem ser privilegiadas? 
a ­ definir o valor do temporizador:\u200b Sim 
b ­ ler o relógio: \u200bNão 
c ­ apagar a memória: \u200bSim 
d ­ desativar interrupções: \u200bSim 
e ­ passar do modo usuário para o modo monitor:\u200b Sim 
 
2.9 ­ Indique dois motivos pelos quais os caches são úteis. Que problemas eles 
resolvem? Que problemas eles causam? Se um cache puder ser tão grande quanto o 
dispositivo para o qual está dando suporte (por exemplo, um cache tão grande quanto 
um disco), por que não mantê­lo com esse tamanho e eliminar o dispositivo? 
 
Os caches são úteis quando dois ou mais componentes precisam trocar dados mas realizam 
transferências em velocidades diferentes. Se o dispositivo rápido encontrar os dados de que 
precisa no cache, ele não precisa esperar o dispositivo mais lento, e com isso há um ganho 
de desempenho, pois o tempo de acesso a dados diminui nestes casos. 
 
Problemas: 
Consistência de dados. 
Armazenamento temporário: volátil. 
 
Se fosse possível fazer um cache do tamanho do HD, já teriam feito. 
 
CAPÍTULO 03 
 
3.5 ­ Qual é a finalidade do interpretador de comandos? Por que ele normalmente é 
separado do kernel? 
 
Dispara a execução de comandos. 
Separado do kernel, pois pode sofrer modificação (shell). 
 
3.7 ­ Qual é a finalidade das chamadas de sistema? 
 
Segurança, já que os programas do usuário têm que requisitar uma operação, o sistema 
entra no modo monitor, realiza operações privilegiadas e depois volta para o modo de 
usuário. Com isto, o usuário não consegue por si só executar operações privilegiadas que 
poderiam comprometer o sistema. 
 
3.11 ­  Qual é a principal vantagem da técnica em camadas para o projeto do sistema? 
 
Isolamento (alterações apenas na mesma camada). 
 
3.12 ­ Qual é a principal vantagem da técnica de microkernel para o projeto do 
sistema? 
 
Maior flexibilidade (adaptação) 
 
3.13 ­ Qual é a principal vantagem para um projetista de sistema operacional em usar 
uma arquitetura de máquina virtual? Qual é a principal vantagem para um usuário? 
 
O desenvolvimento de um sistema operacional pode ser feito na máquina virtual e não em 
uma máquina física, e não interrompe a operação normal do sistema. 
Desvantagem: velocidade. 
 
3.15 ­ Por que a separação do mecanismo e da política é desejável? 
 
Os mecanismos determinam como fazer algo, as políticas decidem o que será feito. A 
separação entre mecanismo e política permite máxima flexibilidade se as decisões da política 
precisarem ser modificadas no futuro. 
 
CAPÍTULO 04 
 
4.2 ­ Descreva as diferenças entre o escalonamento de curto prazo, médio prazo e 
longo prazo. 
 
Curto:(Escalonador de  CPU): seleciona os processos que devem ser executados em 
seguida e os aloca à CPU. 
Médio: swap dos processos pesados\u37e (calibrar) 
Longo: seleciona os processos que devem ser trazidos para a fila de prontos. 
 
4.4 ­ Descreva as ações tomadas por um kernel para a troca de contexto entre os 
processos. 
 
Salva o estado do processo e restaura o estado do processo escalonado em seguida. 
 
CAPÍTULO 05 
 
5.1 ­ Forneça dois exemplos de programação em que o uso de multithreads oferece 
melhor desempenho do que uma solução com única thread. 
 
Interface gráfica e browser. 
 
5.2 ­ Forneça dois exemplos de programação em que o uso de multithreads não 
oferece melhor desempenho do que uma solução com uma única thread. 
 
Qualquer tipo de programa sequencial não é um bom candidato para usar threads. 
Exemplos: Imposto de renda e Inicialização do sistema. 
 
5.3 ­ Cite duas diferenças entre as threads no nível do usuário e threads no nível do 
kernel. Sob que circunstâncias um tipo é melhor que o outro? 
 
­ As threads do usuário são escalonadas pela biblioteca de threads e o kernel 
escalona as threads do kernel. 
­ As threads do kernel não precisam estar associadas a um processo, enquanto cada 
thread do usuário pertence a um processo. 
 
CAPÍTULO 06 
 
6.2 ­ Defina a diferença entre escalonamento preemptivo e não­preemptivo. Indique por 
que o escalonamento não­preemptivo estrito provavelmente não será usado em um 
centro de computação. 
 
Preeptivo: comutar, mudança de contexto no meio de uma execução. 
Não­preeptivo: quando escalona, executa até