Buscar

Sistemas Operacionais 1 - resolução - P1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

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; 
­ 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​ ​(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).​ 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:​ Sim 
b ­ ler o relógio: ​Não 
c ­ apagar a memória: ​Sim 
d ­ desativar interrupções: ​Sim 
e ­ passar do modo usuário para o modo monitor:​ 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; (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éacabar. 
 
Fazer os exercícios de algoritmos. 
 
6.6 ­ Que vantagem existe em ter diferentes tamanhos de quantum de tempo em 
diferentes níveis de um sistema de enfileiramento multinível? 
 
Processos que precisam de atendimento frequente, podem estar em uma fila de quantum 
pequena (separada), enquanto os que não necessitam de atendimento frequente, podem 
estar em uma fila de quantum maior 
 
6.10 ­ Explique as diferenças no grau ao qual os algoritmos de escalonamento a seguir 
são discriminados em favor de processos curtos: 
 
a ­ FCFS: ​não, atender a ordem de chegada 
b ­ RR: ​não diretamente. Processos longos e lentos ao mesmo tempo 
c. Multilevel feedback queues: ​sim, favorece diretamente 
 
 
Prova 1­A 
1.​       ​O que é uma operação atômica? 
 
 
2.​       ​Muitos algoritimos de escalonamento tal com SJF e SRTF usam o tamanho do 
próximo surto (burst) de CPU. Na pratica, o próximo surto de CPU normalmente não é 
conhecido antecipadamente. Como podemos resolver esse problema? 
 
 
3.​       ​Em um algoritimo de escalonamento baseado em prioridade pode ocorrer “starvation”. 
Qual é a forma de lidar com esse problema? Explique sua resposta. 
 
 
4.​       ​Liste três elementos que são únicos para cada thread em um sistema multi­thread. 
 
  
5.​       ​Quais dos seguintes algoritimos de escalonamento podem resultar em “starvation”? 
∙​         ​FCFS; 
∙​         ​SJF;   
∙​         ​Round­Robin; 
∙​         ​Prioridade;   
 
 
6.​       ​Qual é a diferença entre os escalonadores FCFS e Round­Robin? 
 
 
7.​       ​No projeto de um Sistema Operacional, o que é política e o que é mecanismo? 
 
 
8.​       ​Liste quatro tipos de armazenamento na hierarquia de armazenamento. 
 
 
9.​       ​O que são chamadas de Sistema? Qual é a sua relação com o conceito de modo dual 
de operação? 
 
 
10.​   ​Qual é a principal vantagem e a principal desvantagem de uma máquina virtual? 
 
 
 
 
 
 
11.​   ​Considere o seguinte conjunto de processo: 
Processos  Disponibilid
ade 
Tempo de 
Processame
nto 
Prioridade 
P1  0  13  2 
P2  3  9  1 
P3  5  4  3 
Faça o diagrama de Gantt ilustrando a execução para os seguintes algoritimos de 
escalonamento: 
a.​       ​Não preemptivo – FCFS; 
                                            ​I.​            ​P1(13) + P2(9) + P3(4) = 26 
b.​      ​Não preemptivo – SJC; 
c.​       ​Preemptivo – SJC; 
d.​      ​Preemptivo – prioridade (menos numero representa maior prioridade; para dois 
processos com a mesma prioridade aplique FCFS); 
e.​      ​Round­Robin com quantum igual a 1. 
 
  
 
 
Prova 1­B 
12.​   ​Qual a principal diferença entre o kernel estruturado em camadas e o modular? 
 
 
13.​   ​a principal vantagem e a principal desvantagem do modelo multi­thread many­to­one 
se comparado com o modelo one­to­one? 
 
 
14.​   ​Liste dois beneficios de usar processo multi­thread. 
 
 
15.​   ​Diga para cada das seguintes situações se o tratamento é por: (I)interrupção ou 
(E)excessão: 
∙​         ​Timer; 
∙​         ​Violação de memória; 
∙​         ​Divisão por Zero; 
∙​         ​I/O; 
 
 
16.​   ​Qual a diferença entre “deadlock” e “starvation”? 
 
 
17.​   ​O mecanismo “DirectMemoryAcess” ou DMA é muito usado em Sistemas 
Operacionais. Qual é seu principal beneficio? 
 
 
18.​   ​Qual é a razão de separarmos politica de mecanismo em um projeto de Sistema 
Operacional? 
 
 
19.​   ​Considerando os três algoritimos de escalonamento: FCSC, SJF, e Round­Robin 
∙​         ​Qual é o algoritimo de escalonamento mais simples? 
∙​         ​Qual é o mais apropriado para um sistema time­shared? 
∙​         ​Qual é o que fornece o menor tempo de espera? 
∙​         ​Qual é o que faz com que processos curtos esperem por processos longos? 
∙​         ​Qual é o mais provável de ser usado em um Sistema Operacional genérico? 
 
 
20.​   ​Selecionar o tempo de quantum apropriado é importante no escalonador 
Round­Robin. O que acontece se o quantum for muito grande? O que acontece se o 
quantum for muito pequeno? 
 
   
21.​   ​O projeto de um escalonador multi­level com feedback é complexo, em razão de ter 
que levar em conta muitos fatores. Liste três destes fatores. 
 
 
22.​   ​Considere o seguinte conjunto de processos: 
Processos  Disponibilid
ade 
Tempo de 
Processame
nto 
Prioridade 
P1  0  10  3 
P2  1  1  1 
P3  2  2  3 
P4  3  1  4 
P5  4  5  2 
  
Faça o diagrama de Gantt ilustrando a execução para os seguintes algoritimos de 
escalonamento: 
f.​        ​Não preemptivo – FCFS; 
g.​       ​Não preemptivo – SJC; 
h.​      ​Preemptivo – SJC; 
i.​         ​Preemptivo – prioridade (menos numero representa maior prioridade; para dois 
processos com a mesma prioridade aplique FCFS); 
Round-Robin com quantum igual a 1.

Outros materiais