Professional Documents
Culture Documents
O Sistema operacional esconde o hardware do usuário, assim fica mais seguro e uniforme.
Controla os recursos da máquina, como processadores, armazenamento, dispositivos de
entrada e saída e dados da máquina e seus periféricos. Ele protege as camadas superiores do
sistema computacional, isolando o hardware delas, ou seja, responsável pela comunicação
entre o hardware e os demais softwares.
2) Defina:
(b) Sistemas monoprogramados: enquanto cuida de um job, a CPU fica ociosa durante
operações de E/S.
3) Por que dizemos que existe uma subutilização de recursos em sistemas monoprogamados?
6) Quais são os estados de um processo e o que pode levar processos a entrar como também
sair de cada estado?
Responsável por decidir o momento em que cada processo obterá a CPU, de forma preemptiva
ou não-preemptiva.
8) Defina contexto e troca de contexto. Quando a troca de contexto é necessária? Por quê?
Para que a troca de programas ocorra sem problemas, é necessário que todas as informações
do programa interrompido sejam armazenadas para que, quando o programa retorne à
execução possa continuar exatamente de onde parou. A troca de um processo por outro,
comandada pelo Sistema Operacional, é denominada troca de contexto. Que consiste em
salvar o conteúdo (que é o contexto) dos registradores do processo que será executado.
Quando dois processos ou mais competem pelo uso da CPU. A utilização concorrente da CPU
deve ser implementada de maneira que, quando um programa perde o uso do processador e
depois retorna para continuar sua execução, seu estado deverá ser idêntico ao do momento
em que foi interrompido. O programa deverá executar a instrução seguinte à última instrução
executada, aparentando ao usuário que nada aconteceu.
Pequeno programa que trabalha como um subsistema, sendo uma forma de um processo se
autodividir em duas ou mais tarefas. Uma das vantagens de usar threads, é no seu
desenvolvimento, visto que torna possível elaborar e criar o programa em módulos.
Principalmente, elas não deixam o processo parado, pois quando um deles está aguardando
uma determinada tarefa, o outro pode estar trabalhando. No entanto, ao dividir demais em
threads, o trabalho fica mais complexo, justamente por causa da interação que ocorre entre
eles. Dependendo de como faz seu algoritmo e a quantidade de threads criadas nele, pode
gerar essa dependência, deixando o processo mais lento.