Baixe o app para aproveitar ainda mais
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ãopreemptivo. Indique por que o escalonamento nãopreemptivo 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ãopreeptivo: 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 1A 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 multithread. 5. Quais dos seguintes algoritimos de escalonamento podem resultar em “starvation”? ∙ FCFS; ∙ SJF; ∙ RoundRobin; ∙ Prioridade; 6. Qual é a diferença entre os escalonadores FCFS e RoundRobin? 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. RoundRobin com quantum igual a 1. Prova 1B 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 multithread manytoone se comparado com o modelo onetoone? 14. Liste dois beneficios de usar processo multithread. 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 RoundRobin ∙ Qual é o algoritimo de escalonamento mais simples? ∙ Qual é o mais apropriado para um sistema timeshared? ∙ 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 RoundRobin. O que acontece se o quantum for muito grande? O que acontece se o quantum for muito pequeno? 21. O projeto de um escalonador multilevel 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.
Compartilhar