Sistemas operacionais
Módulo 1 – Revisão Geral:
Gerência de Processos. Um processo é basicamente um programa em execução, sendo este constituído do código executável, dos dados referentes ao código, da pilha de execução, do valor do contador de programa (registrador PC), do valor do apontador de pilha (registrador SP), dos valores dos demais registradores do hardware, além de um conjunto de outras informações necessárias à execução do programa. Tabela de processo. Em muitos sistemas operacionais, todas as informações sobre processos que não pertençam aos espaços de endereçamento de cada um são armazenadas numa tabela do sistema operacional denominada tabela de processo, que vem a ser uma matriz ou uma lista ligada de estruturas, uma para cada processo existente. Multiprogramação. Multiprogramação nada mais é que vários programas em execução, incluindo os valores correntes de todos os registradores do hardware, e das variáveis, manipuladas por ele no curso de sua execução, executando seqüencialmente em um único processador, dando a ilusão de paralelismo de execução. Estados do processo. Existem três estados que um processo pode estar: 1. 2. 3. Rodando, usando o processador. Pronto, em condições de rodar. Bloqueado, impedido de rodar.
São possíveis quatro transições entre os três estados dos processos. 1. 2. RODANDO – BLOQUEADO. O processo não tem mais condições lógicas de prosseguir em seu processamento, por falta de entradas disponíveis, ele é automaticamente bloqueado. RODANDO – PRONTO. O escalonador decide que o processo corrente já ocupou o processador por tempo suficiente, sendo portanto o momento de deixar que outro processo execute. PRONTO – RODANDO. Todos os processos já tiveram oportunidade de rodar, então o escalonador decide qual processo vai rodar e por quanto tempo. BLOQUEADO – PRONTO. Acontece um evento externo pelo qual o processo bloqueado estava aguardando, ele vai para o estado de pronto até que o processador fique disponível e o