Quais as situações que um processo pode apresentar estado de pronto?

Gerenciamento de Processos

  1. Estados de um processo

  2. Tabela de processos

  3. Mecanismos de escalonamento de processos

Os t�picos a serem examinados podem ser encontrados nos seguintes cap�tulos de livros:

  1. Modern Operating Systems, Tanenbaum, cap. 2

  2. Operating Systems Concepts, Peterson/Silberschatz, cap. 4

  3. Outros bons livros de sistemas operacionais, nos cap�tulos sobre gerenciamento ou escalonamento de processos

1. Estados de um processo

Do cap�tulo anterior � poss�vel perceber que os v�rios processos executando em um sistema est�o sempre disputando o acesso � CPU. Com isso, � preciso definir um conjunto de estados para representar os processos em cada condi��o. De modo geral os processos podem assumir os seguintes estados:

  1. Ativo (ou executando), quando estiver fisicamente ocupando a cpu;

  2. Pronto, quando estiver apenas esperando por uma chance de ocupar a cpu;

  3. Em espera (ou bloqueado), quando estiver esperando pela ocorr�ncia de algum evento externo que o permita ficar esperando apenas pela cpu;

  4. Inativo (ou morto), quando n�o estiver executando.

Al�m desses estados � poss�vel diferenciar outros estados a partir do fato do processo estar ou n�o residindo fisicamente na mem�ria.

A passagem de um processo de um estado para outro ocorre em determinadas circunst�ncias, que s�o:

  1. Pronto para Ativo: quando o dispatcher escalonar o processo;

  2. Ativo para Pronto: quando o dispatcher decidir que outro processo deve ocupar a cpu (por estouro do tempo de cpu, por exemplo);

  3. Ativo para Em espera: quando o processo solicitar uma opera��o de entrada/sa�da ou for bloqueado por algum sem�foro (ou outro mecanismo de bloqueio);

  4. Ativo para Inativo: quando o processo for retirado da mem�ria ou terminar sua execu��o;

  5. Inativo para Pronto: quando o scheduler trazer o processo do disco para a mem�ria;

  6. Em espera para Pronto: quando a opera��o de E/S for completada ou o processo for desbloqueado.

2. Tabela de processos

Para que o sistema tenha condi��es de manipular os processos (e seus estados) � necess�rio que se tenha uma estrutura para armazenar informa��es de cada processo. Isso � feito por uma tabela, normalmente chamada de tabela de processos ou bloco de controle de processos (BCP), que deve conter informa��es tais como o n�mero do processo (PID), identificador de seu estado, instante de cria��o, tempo acumulado de execu��o, conte�do dos registradores da cpu por ele usados, endere�o na mem�ria, pilha, etc.

� atrav�s da manipula��o desta tabela que o sistema operacional pode controlar todos os processos e, tamb�m, fornecer informa��es para os algoritmos de escalonamento na cpu. Uma descri��o mais detalhada dos dados de uma tabela de processos pode ser vista nos livros de SO.

3. Mecanismos de escalonamento de processos

A ocupa��o da cpu pelos processos que estejam no estado de pronto deve ser feita de forma organizada. Para tanto existem algoritmos de escalonamento que atuam de acordo com premissas estabelecidas pelo tipo de processo do sistema, necessidades do usu�rio, disponibilidade de recursos de hardware, etc. Esses algoritmos podem ser classificados em duas categorias principais: algoritmos sem preemp��o (FCFS - primeiro a chegar primeiro a executar, SJF - primeiro o mais curto, etc.), e algoritmos com preemp��o (Round-Robin, Prioridade, SRTF - primeiro quem falta menos tempo, Filas multin�vel, etc.).

Os algoritmos sem preemp��o n�o permitem que um processo seja interrompido ap�s assumir o controle da cpu, o que passa a ser permitido nos algoritmos com preemp��o. A diferen�a entre algoritmos com preemp��o est� centrada exatamente nos motivos que originam a preemp��o de um processo. De forma geral os algoritmos com preemp��o s�o muito mais eficientes do que os sem preemp��o por fazer um melhor uso da cpu.

A efici�ncia de cada um desses algoritmos pode ser medida atrav�s de m�tricas de desempenho, tais como ocupa��o da cpu, throughput (taxa de sa�da ou vaz�o), tempos de espera, tempos de execu��o m�dios (turnaround time), etc. A ado��o de uma dessas m�tricas de desempenho � feita de acordo com a necessidade do usu�rio, sendo que cada algoritmo de escalonamento pode resultar em medidas bastante distintas de desempenho para conjuntos de processos diferentes. Cabe ao usu�rio, portanto, escolher a medida que mais lhe interessa e determinar o algoritmo de escalonamento que melhor se adequa � sua situa��o.

Por fim, � preciso observar que esse cen�rio vem mudando com o surgimento de threads e processadores multicore. Atualmente � poss�vel executar v�rios threads simultaneamente, o que aumenta as possibilidades de escalonamento para o gerenciador. Assim, as vers�es mais recentes dos SO dispon�veis j� fazem uso dessa capacidade, permitindo um aumento no throughput do sistema.

O que é o estado de pronto de um processo?

6.3 – Estado do Processo Pronto (ready) – O processo está pronto e esperando para ser executado pela CPU. Espera (wait) – O processo está esperando algum evento externo ou por algum recurso para poder prosseguir seu processamento.

Quais os 5 possíveis estados de um processo?

Estados de Processos.
Ao executar, processo muda de “estados” New: processo está sendo criado..
Running: instruções do processo estão executando. Waiting: processo está esperando ocorrência de algum..
evento. Terminated: processo terminou a execução..

O que acontece quando um processo está no estado de Pronto Ready )?

Pronto (ready) Estar em estado de pronto significa que o processo aguarda para ser executado. A ordem de execução dos processos em estado de pronto é determinada pelo mecanismo de escalonamento.

Quais são os estados de um processo explique o seu funcionamento?

Um processo passa por diferentes estados desde sua criação até seu término. Enquanto ele é criado, seu estado é considerado "Novo"; em ação, muda para "Executando"; quando depende da ocorrência de algum evento, vira "Esperando"; quando não mais necessário, o processo é "Terminado".