tecnologia
Turma 3002 – Sistemas Operacionais
RESPOSTA DA LISTA DE EXERCICIOS S.O
1) Quais as duas principais funções de um sistema operacional?
Gerenciar os recursos da máquina e prover uma interface simples com o hardware.
2) O que é multiprogramação?
Consiste em manter vários Jobs na memória, executando um pouco de cada em determinados intervalos de tempo. Técnica que visa manter a CPU ocupada o maior tempo possível, visto que em muitas aplicações, como as de processamento de dados comerciais, o desempenho é nivelado pela E/S (I/O Bound), chegando inclusive a ocupar 80~90 por cento do tempo total de execução.
3) Qual a maior dificuldade que um desenvolvedor de Sistemas Operacionais pode encontrar ao desenvolver um S.O. Para sistemas de tempo real?
A principal dificuldade é manter o sistema operacional dentro das restrições de tempo fixas de um sistema de tempo real. Se o sistema não completar uma tarefa em certo período de tempo, ele pode causar uma quebra do sistema inteiro que está executando. Portanto, ao escrever um sistema operacional para um sistema de tempo real, o desenvolvedor precisa estar certo de que esses esquemas de escalonamento não permitem que o tempo de resposta ultrapasse a restrição de tempo.
4) Qual a função de uma chamada ao sistema?
As chamadas de sistema permitem que os processos no nível do usuário solicitem serviços do sistema operacional.
5) Dê dois exemplos onde uma programação multi-thread pode ter melhor desempenho do que uma mono-thread.
(1) Um servidor Web que atende a cada requisição em uma thread separada. (2) Uma aplicação paralelizada, como uma multiplicação de matriz em que diferentes partes da matriz podem ser atuadas em paralelo. (3) Um programa GUI interativo, como um depurador em que uma thread é usada para monitorar a entrada do usuário, outra thread representa a aplicação em execução e uma terceira thread monitora o desempenho.
6) Quais as diferenças entre threads de usuário e threads