Atividade sistemas operacionais
Lista de exercícios
1) Quais as duas principais funções de um sistema operacional?
R: Gerenciar os recursos do computador e criar uma interface unificada para que outros programas possam acessar os recursos do computador 2) O que é multiprogramação?
R: É a técnica usada para manter vários processos na memória paralelamente, ou seja, na ociosidade do processador, executando um pouco de cada em determinados intervalos de tempo, mantendo a CPU ocupada a maior parte do tempo. 3) Qual a maior dificuldade que um desenvolvedor de Sistemas Operacionais pode encontrar ao desenvolver um S.O. para sistemas de tempo real?
R: A maior dificuldade é o tempo de resposta exigido no processamento das aplicações. Enquanto em sistemas de tempo compartilhado o tempo de resposta pode variar sem comprometer as aplicações em execução, nos sistemas de tempo real os tempos de resposta devem estar dentro de limites rígidos, que devem ser obedecidos, caso contrário poderão ocorrer problemas irreversíveis. 4) Qual a função de uma chamada ao sistema?
R: Atender a solicitação de serviço de um processo. 5) Dê dois exemplos onde uma programação multi-thread pode ter melhor desempenho do que uma mono-thread.
R: Um bom exemplo é a aplicação de um servidor web onde o mesmo consegue atender requisições de diversos hosts com uso de multi-thread, outro exemplo é o carregamento de um jogo onde o carregamento das imagens é feito é um thread e o áudio é carregado em outro, mostrando ao usuário as imagens carregando enquanto o áudio é reproduzido simultaneamente. 6) Quais as diferenças entre threads de usuário e threads de kernel?
R: Threads no nível do usuário são mais leves, pois o overhead se limita ao programa, se o kernel não reconhece, pode ser ineficiente.
Threads de kernel são mais bem integradas ao escalonador do S.O e geram mais overhead. 7) Nos primeiros computadores, todo byte de dados lidos ou escrito era tratados pela CPU (isto é, não