A Lista de Exercícios SO
Por: EMANOEL DE SOUZA ALEIXO • 28/8/2021 • Trabalho acadêmico • 960 Palavras (4 Páginas) • 155 Visualizações
TAREFA 04
1 - O Gerenciador de Processos é um dos mais importantes gerenciadores em um Sistema Operacional. Descreva: (a) as funções desse gerenciador; (b) a conceituação de processos versus a conceituação de threads; (c) as condições que levam ao término de um processo; (d) os possíveis estados de um processo; (e) os principais algoritmos de escalonamento de processos; (f) uma discussão que relacione exclusão mútua, região crítica, sincronização e comunicação entre processos.
(a) O gerenciador de processos faz a gerência dos processos do sistema e é o responsável pelo compartilhamento da CPU. (b) Um processo é a instância de um programa de computador que está sendo executado, o SO deve alocar recursos aos processos , permitir que os processos compartilhem e troquem informações, proteger os recursos de cada processo de outros processos e permitir a sincronização entre os processos. Uma thread é o fluxo de execução de um processo ou a forma de um processo dividir-se a si mesmo em duas ou mais tarefas, podendo ser executadas em simultâneo. (c) Um processo pode ser terminado involuntariamente (por erro na execução do processo - arquivo não encontrado, por exemplo; erro fatal - ao tentar fazer uma divisão por zero; cancelamento por outro processo) ou voluntariamente (a tarefa solicitada já terminou sua execução). (d) Um processo pode ter vários estados desde sua criação até o seu término: 1 - Não submetido - quando o processo ainda não está na CPU, pois ainda está na mão do usuário, depende do usuário executá-lo (um arquivo executável no HD); 2 - Criando - este é o estado de quando o processo está sendo criado: o SO já criou um Process Control Blocks (PCB) porém ainda não pode colocá-lo na lista de processos com estado “pronto”; 3 - Pronto - ponto de partida de um processo, ou seja, o processo está pronto para ser processado; 4 - Executando - estado que pertence a um processo que está em execução; 5 - Aguardando evento externo - quando o processo depende de alguma ocorrência de um evento; 6 - Esperando - processos em estado de espera - 7 - Encerrando - último estado de um processo. (e) Os principais algoritmos de escalonamento são: Escalonamento FCFC (First-Come, First Served); Escalonamento Round-Robin; Escalonamento SJF e o Escalonamento por Prioridades. (f) Os processos podem ser executados em paralelos e comunicam-se entre si. Por esse motivo é necessário que os processos de uma aplicação concorrente sejam sincronizados pelo sistema operacional com o objetivo de garantir o processamento correto dos programas.Uma região crítica é a área de um processo que acessa um recurso compartilhado. Vários processos podem tentar acessar essa área, o que pode gerar uma “disputa”, “race condition” por um recurso. A exclusão mútua é a forma de garantir que um processo não terá acesso a uma região crítica quando outro processo está utilizando esta região.
2 – Responda às perguntas a seguir.
a) Qual a relação entre timesharing e multiprogramação?
Em um sistema timesharing, vários usuários podem acessar e fazer alguma tarefa computacional utilizando seus próprios terminais em um sistema de computador simultâneo. Sistema de multiprogramação permite que usuários rodem vários programas simultaneamente; Todos os timesharing são sistemas de multiprogramação; como um sistema de multiprogramação pode rodar em um computador com apenas um usuário, nem todo sistema de multiprogramação é timesharing.
b) Qual é a diferença entre o modo núcleo (também chamado supervisor, protegido ou privilegiado) e o modo usuário? Por que essa diferença é importante para um sistema operacional?
Quando executado em modo núcleo, a CPU pode executar cada instrução na sua lista de instruções e usar todo o poder do hardware. Porém, só pode utilizar um conjunto de instrução e uma capacidade limitada (geralmente pequena) quando executa no modo usuário. Essa diferença é importante pois limita o usuário a ter acesso a partes vitais da CPU.
...