Descreva com detalhes como um processo sai do estado bloqueado e vai para o estado pronto

Os estados de um processo são os seguintes:

Descreva com detalhes como um processo sai do estado bloqueado e vai para o estado pronto

  • Novo (Criar) - Nesta etapa, o processo está prestes a ser criado, mas ainda não foi criado, é o programa que está presente na memória secundária que será selecionado pelo SO para criar o processo.
  • Pronto - Novo -> Pronto para executar. Após a criação de um processo, o processo entra no estado pronto, ou seja, o processo é carregado na memória principal. O processo aqui está pronto para ser executado e aguardando o tempo da CPU para sua execução. Os processos que estão prontos para execução pela CPU são mantidos em uma fila para processos prontos.
  • Executar - O processo é escolhido pela CPU para execução e as instruções dentro do processo são executadas por qualquer um dos núcleos da CPU disponíveis.
  • Bloqueado ou espera - Sempre que o processo solicita acesso a E / S ou precisa de entrada do usuário ou precisa de acesso a uma região crítica (o bloqueio para o qual já foi adquirido), ele entra no estado de bloqueado ou de espera. O processo continua esperando na memória principal e não requer CPU. Assim que a operação de E / S for concluída, o processo vai para o estado pronto.
  • Encerrado ou concluído - o processo é eliminado e o PCB é excluído.
  • Suspender pronto - Processos que estavam inicialmente no estado pronto, mas foram trocados da memória principal (consulte o tópico Memória Virtual) e colocados no armazenamento externo pelo planejador são considerados no estado de pronto para suspender. O processo fará a transição de volta ao estado pronto sempre que o processo for novamente trazido para a memória principal.
  • Suspend esperar ou suspender bloqueado - Semelhante a suspender pronto, mas usa o processo que estava executando a operação de E / S e a falta de memória principal fez com que eles fossem movidos para a memória secundária.
    Quando o trabalho for concluído, ele pode ir para o modo suspenso pronto.

Processos vinculados à CPU e IO:
se o processo for intensivo em termos de operações da CPU, ele será chamado de processo vinculado à CPU. Da mesma forma, se o processo for intensivo em termos de operações de E / S, ele é chamado de processo vinculado a E / S.

Tipos de agendadores:

  1. Long term - performance - toma uma decisão sobre quantos processos devem ser feitos para permanecer no estado pronto, isso decide o grau de multiprogramação. Uma vez que uma decisão é tomada, ela dura muito tempo, portanto, é chamada de agendador de longo prazo.
  2. Curto prazo - Tempo de comutação de contexto - O escalonador de curto prazo decidirá qual processo será executado a seguir e, em seguida, chamará o despachante. Um despachante é um software que move o processo de pronto para execução e vice-versa. Em outras palavras, é a troca de contexto.
  3. Médio prazo - Tempo de troca - A decisão de suspensão é tomada pelo agendador de médio prazo. O agendador de médio prazo é usado para troca que está movendo o processo da memória principal para a secundária e vice-versa.

Multiprogramação - Temos muitos processos prontos para serem executados. Existem dois tipos de multiprogramação:

  1. Preempção - O processo é removido à força da CPU. A preempção também é chamada de compartilhamento de tempo ou multitarefa.
  2. Não preempção - Os processos não são removidos até que concluam a execução.

Grau de multiprogramação -
O número de processos que podem residir no estado pronto no máximo decide o grau de multiprogramação, por exemplo, se o grau de programação = 100, isso significa que 100 processos podem residir no estado pronto no máximo.

Aprenda todos os conceitos do GATE CS com aulas gratuitas ao vivo em nosso canal do youtube.

Grátis

8 pág.

Descreva com detalhes como um processo sai do estado bloqueado e vai para o estado pronto

  • Denunciar


Pré-visualização | Página 1 de 3

Universidade Federal do Piauí – UFPI 
Centro de Educação Aberta e a Distância – CEAD 
Curso de Licenciatura em Computação 
Disciplina: Sistemas Operacionais 
Professor: Alan Rafael Ferreira dos Santos 
 
 
 
Esboço de Respostas da Unidade II 
1. O que seria o modelo de processos? 
O modelo de processo pode ser entendido como uma descrição de uma capsula, que contém as 
informações necessárias para executar um programa. 
2. Defina processos e descreva os estados que um processo pode ocupar em 
um sistema baseado no modelo de processos. 
Os programas de computador são executados através de um conjunto de processos. Logo, um processo 
é considerado a abstração de um programa, ou seja, um programa em execução, incluindo os valores do 
contador de programa atual, registradores e variáveis. Os possíveis estados de um processo são: 
 Executando: um processo está no estado executando quando ele, de fato, está sendo 
processado pela CPU. Em sistemas monoprocessados (único processador), somente um 
processo por vez pode estar de posse da CPU em um dado instante. Os processos se 
alternam na utilização do processador. 
 Pronto: um processo está no estado de pronto quando ele possui todas as condições 
necessárias para a sua execução, porém, não está de posse do processador. Em geral, 
existem vários processos no sistema prontos para serem executados e o Sistema 
Operacional é responsável por selecionar qual utilizar o processador em um determinado 
instante de tempo. 
 Bloqueado: um processo está no estado de bloqueado quando ele aguarda por algum 
evento externo ou por algum recurso do sistema indisponível no momento. 
3. Comente as possíveis transições que podem ocorrer entre os estados de um processo. 
Na execução de processos, são possíveis quatro transições. A transição 1 (Executando - Bloqueado) 
ocorre quando um processo que estava utilizando o processador precisou de algum evento externo 
(operação de Entrada/Saída, por exemplo), não podendo continuar executando, passando, assim, para o 
estado de bloqueado. A transição 2 (Bloqueado - Pronto) ocorre quando o evento externo, no qual o 
processo bloqueado aguardava, acontece. Nesse caso, o processo passa para o estado de pronto e volta 
para a fla para poder concorrer novamente ao processador. Se não existir nenhum processo na fla de 
prontos, naturalmente, o processo desbloqueado utilizar a CPU. Já as transições 3 (Pronto - Executando) 
e 4 (Executando - Pronto) são realizadas pelo escalonador de processos. Comumente, existem vários 
processos prontos e esperando para serem executados. Cabe então ao Sistema Operacional (escalonador) 
escolher, entre os processos prontos, qual utilizará o processador e poderá executar suas atividades. O 
Si tema Operacional (dependendo da política do escalonador) pode, também, retirar o processador de 
um determinado processo e disponibiliza-lo para outro processo. 
 
4. Qual a função da tabela de processos? 
Quando um processo é interrompido, ele deve ser reiniciado posteriormente, devendo voltar a 
execução do ponto em que parou. Para auxiliar nessa tarefa, a tabela de processos tem a função 
de armazenar todas as informações relevantes dos processos, como seu contador de programa, 
ponteiro da pilha, alocação de memória, status de arquivos abertos, dentre outros. Essas 
informações são extrema importância para proporcionar o reinício dos processos, em caso de 
mudança de estados, fazendo com que eles voltem de onde pararam. 
5. O que são Threads? Caracterize os sistemas multithreads. 
As Thread são consideradas fluxos de execução que trabalham em um subsistema, sendo a forma de um 
processo se dividir em mais de uma tarefa. Essas tarefas podem ser alternadas pelo processador, 
proporcionando uma execução mais rápida do programa. A maioria dos sistemas operacionais oferecem 
suporte a múltiplas threads, que é a criação e execução de múltiplos fluxos de execução. Um exemplo 
disso é um navegador web, no qual pode ter uma thread para exibir imagens ou texto, enquanto outra 
thread recupera dados de uma rede. 
6. O que são condições de corrida? 
Uma condição de corrida é definida quando dois ou mais processos podem compartilhar algum 
espaço de memória compartilhado, no qual o resultado da informação deste espaço de 
armazenamento depende de quem executa e precisamente quando. Um exemplo típico de 
condição de corrida é o spool de impressão. 
7. O que é uma região crítica e exclusão mútua? 
Para se evitar uma condição de corrida, é preciso definir métodos que proíba que mais de um processo 
acesse uma determinada área de memória compartilhada ao mesmo tempo. Esses métodos são 
conhecidos como exclusão mútua, que uma classe de princípios que evitam que dois ou mais processos 
acessem ao mesmo tempo um recurso compartilhado. A parte do programa no qual o processo acessa 
memória compartilhada é chamada “seção crítica” ou “região crítica”. Dessa forma, a solução para se 
evitar uma condição de corrida seria organizar os problemas de tal forma que nenhum de dois ou mais 
processos estivessem em suas regiões críticas ao mesmo tempo. 
8. Aponte as condições para se ter uma boa solução que evite condições de corrida. 
As principais situações que devem ser evitadas uma solução que evite a condição de corrida 
são: 
 Nenhum processo que esteja fora de sua região crítica pode bloquear a execução de 
outro processo; 
 Nenhum processo deve esperar indefinidamente para poder entrar em sua região 
crítica. 
9. Mostre como o acesso a um diretório de impressão pode gerar uma condição de corrida. 
 
O diretório de spool contém um número de entradas numeradas e um processo, quando deseja imprimir 
alguma informação, consulta uma variável (entrada) a fim de saber em qual posição inserir o nome de 
arquivo no diretório. Podemos imaginar agora a seguinte situação: um processo A lê a variável entrada 
e armazena o valor dela (valor 0) em uma variável local. Porém, o tempo de execução do processo A 
termina e o Sistema Operacional o retira do processador, disponibilizando-o a um outro processo B. O 
processo B, por sua vez, também deseja imprimir um arquivo, acessa a área do diretório de impressão, 
verifica o valor da variável entrada (valor 0), armazena este valor em uma variável local e, por fim, 
insere o nome de seu arquivo a ser impresso na posição 0 do diretório de impressão, mudando o valor 
da variável entrada para 1. Por fim, o processo A retoma o processador, iniciando novamente de onde 
parou. Ao examinar em sua variável local o valor da variável entrada (esta informação ele guardou em 
sua tabela, momento em que ele parou a execução), o processo observa o valor 0 e escreve seu nome de 
arquivo nessa posição, apagando o nome de arquivo do processo B. Em seguida, incrementa o valor da 
variável entrada para 1. Internamente, o servidor de impressão continua consistente, porém o arquivo 
do processo B jamais será impresso. Caracterizamos este tipo de situação como uma condição de corrida. 
 
10. Descreva de forma sucinta o método de exclusão mútua ativa desativando interrupções e o 
porquê desse método ser pouco atraente. 
Uma simples solução de exclusão mútua seria desativar todas as interrupções do sistema quando um 
processo fosse acessar sua região crítica, ativando-as imediatamente após sair dela. Com as interrupções 
desativas, nenhuma interrupção de relógio pode ocorrer e, naturalmente, o processador não poderá 
alternar entre processos, garantindo que nenhum outro processo irá executar sua região crítica. Esta 
abordagem é funcional, porém, pouco atraente, pois compromete o nível de segurança do sistema. Caso 
as interrupções, por algum motivo, não sejam novamente ativadas, todo o sistema estará comprometido.

Página123

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 as situações que um processo pode apresentar estado de pronto?

Ativo (ou executando), quando estiver fisicamente ocupando a cpu;.
Pronto, quando estiver apenas esperando por uma chance de ocupar a cpu;.
Em espera (ou bloqueado), quando estiver esperando pela ocorrência de algum evento externo que o permita ficar esperando apenas pela cpu;.

São estados possíveis de um processo pronto execução é bloqueado?

Pronto: o processo terminou sua execução. Em execução: realmente usando a CPU naquele instante. Bloqueado: incapaz de executar enquanto não ocorrer um evento externo. Pronto: executável; temporariamente parado para dar lugar a outro processo.

Quais são os 5 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..