Agendamento de processos


A multiprogramação
é uma
técnica
utilizada
em
sistemas
operacionais para maximizar o uso da
CPU. Nessa técnica, a memória é
dividida em várias partes que contem
um job cada. Enquanto um job está
fazendo uma operação de entrada e
saída, a CPU passa a executar outro job
que esteja em outra parte da memória,
evitando a ociosidade da CPU.


Todos os computadores modernos podem
fazer várias coisas ao mesmo tempo.



Em um sistema de multiprogramação , a
CPU também alterna de um para o outro,
executando cada um por dezenas ou
centenas de milissegundos.



Essa alternância entre programas da CPU
pode
ser
chamada
de
PSEUDOPARALELISMO.


Ser justo: Todos os processos devem ser tratados
igualmente, tendo possibilidades idênticas de uso
do processador, devendo ser evitado o
adiamento indefinido.



Maximizar a produtividade (troughput): Procurar
maximizar o número de tarefas processadas por
unidade de tempo.



Ser previsível: Uma tarefa deveria ser sempre
executada com aproximadamente o mesmo
tempo e custo computacional.
Minimizar o tempo de resposta para usuários
interativos.




O monitoramento de vários processos é
uma atividade complexa e por esta
razão foram sendo criados alguns
modelos que tornam essa alternância
entre processos, mais fácil de ser tratado.
Trataremos em nosso trabalho do modelo
de quatro modelos de agendamento: O
agendamento garantido, agendamento
por sorteio, agendamento de tempo real
e agendamento de dois níveis.
Busca cumprir promessas de alocação de CPU o mais preciso
possível.


O SO faz promessas e deve mantê-las.



O agendador sabe exatamente o tempo
necessário para realizar cada operação do
sistema operacional.



Cada operação deve ter um tempo máximo
de execução garantido.



O agendador garantido altera a prioridade
dinamicamente, garantindo o mesmo tempo
de execução.



A Fórmula que a CPU usa para determinar o
tempo de cada programa é: ( 1/n CPU).


Supondo que se tenha x usuários conectados
quando você estiver trabalhando, você receberá
apenas 1/x do desempenho da CPU.



Para o cumprimento dessa promessa, o sistema
deve monitorar quanto da CPU cada processo teve.



Ele garante aos processos sua execução, dando a
todos eles a mesma quantidade de tempo de
execução utilizando a CPU .



O sistema calcula quanto da CPU é atribuído a cada
processo, ou seja, o tempo desde sua criação dividido
por x.



A proporção entre o tempo real da CPU e o tempo da
CPU atribuído é simples, levando-se em conta que a
quantidade de tempo da CPU é conhecida.


Exemplo:

Se 3 processos querem executar, o
agendador fornece a cada um deles 3
segundos de execução para utilizar CPU. O 1º
processo executa 3 segundos e pára, então
entra o 2º executa 3 segundos e pára, o 3º
executa em 3 segundos pára e o 1º executa
novamente 3 segundos e assim por diante
até eles terminarem sua execução.
O Sistema Operacional distribui tokens (fichas),
numerados entre os processos, para o escalonamento é
sorteado um numero aleatório para que o processo ganhe a
vez na CPU, processos com mais tokens têm mais chance de
receber antes a CPU.






O agendamento por sorteio, tem como base a
distribuição de bilhetes de loteria de processos,
há um sorteio 50 vezes por segundo assim o
ganhador deste sorteio recebe uma pequena
porcentagem do tempo da CPU, ou seja, recebe
20ms da mesma.
Processos mais importantes recebem bilhetes
extra para que haja uma maior chance dos
mesmo serem ganhadores.
Uma grande desvantagem desse agendamento é
que ele pode demorar para executar um
processo que merece prioridade, mesmo que
esse tenha bilhetes extras.


Quando se tem a necessidade de tomar
uma decisão, o agendador faz um
sorteio aleatório dessa forma a tarefa
que estiver com esse bilhete irá receber
o recurso.
Nesse sistema, o tempo realiza
uma função essencial, o computador
deve
interagir
dentro
de
uma
quantidade fixa de tempo.


Um sistema de tempo real é um sistema
em que o tempo desempenha um papel
essencial. Em geral, um ou mais
dispositivos físicos externos para o
computador geram estímulos, e o
computador
deve
interagir
apropriadamente a eles dentro de uma
quantidade fixa de tempo.
Hard real time: significa que há prazos
finais a serem cumpridos.
 Soft real time: É a toleração de perda de
prazo final .
 O agendador tem como função fazer
com que em ambos os casos o prazo
seja cumprido.
 Os algoritmos de agendamento de
tempo real podem ser dinâmicos ou
estáticos.

No caso de a memória principal for insuficiente, alguns
processos temporários terão que permanecer em disco, inteiros
ou em partes. Isso implica em comutações entre disco e
Memória e uma maneira prática para lidar com essa comutação de
processos é utilizar um agendador de dois níveis;
Um “agendador” de dois níveis deve
mover processos entre disco e memória
e também eleger processos para
executar na memória.
 Critérios para execução de processos:
1. Tempo em que o processo ficou no
disco e memória.
2. Tempo de CPU no processo.
3. Tamanho do processo.
4. Prioridade do processo.

Andria Martins;
 Ana Beatriz;
 Isabel Vitória;
 Haifa Franco;
 Thaís Souza;
 Thalia Gonçalves;


Introdução aos Processos

  • 1.
  • 2.
     A multiprogramação é uma técnica utilizada em sistemas operacionaispara maximizar o uso da CPU. Nessa técnica, a memória é dividida em várias partes que contem um job cada. Enquanto um job está fazendo uma operação de entrada e saída, a CPU passa a executar outro job que esteja em outra parte da memória, evitando a ociosidade da CPU.
  • 3.
     Todos os computadoresmodernos podem fazer várias coisas ao mesmo tempo.  Em um sistema de multiprogramação , a CPU também alterna de um para o outro, executando cada um por dezenas ou centenas de milissegundos.  Essa alternância entre programas da CPU pode ser chamada de PSEUDOPARALELISMO.
  • 4.
     Ser justo: Todosos processos devem ser tratados igualmente, tendo possibilidades idênticas de uso do processador, devendo ser evitado o adiamento indefinido.  Maximizar a produtividade (troughput): Procurar maximizar o número de tarefas processadas por unidade de tempo.  Ser previsível: Uma tarefa deveria ser sempre executada com aproximadamente o mesmo tempo e custo computacional. Minimizar o tempo de resposta para usuários interativos. 
  • 5.
     O monitoramento devários processos é uma atividade complexa e por esta razão foram sendo criados alguns modelos que tornam essa alternância entre processos, mais fácil de ser tratado. Trataremos em nosso trabalho do modelo de quatro modelos de agendamento: O agendamento garantido, agendamento por sorteio, agendamento de tempo real e agendamento de dois níveis.
  • 6.
    Busca cumprir promessasde alocação de CPU o mais preciso possível.
  • 7.
     O SO fazpromessas e deve mantê-las.  O agendador sabe exatamente o tempo necessário para realizar cada operação do sistema operacional.  Cada operação deve ter um tempo máximo de execução garantido.  O agendador garantido altera a prioridade dinamicamente, garantindo o mesmo tempo de execução.  A Fórmula que a CPU usa para determinar o tempo de cada programa é: ( 1/n CPU).
  • 8.
     Supondo que setenha x usuários conectados quando você estiver trabalhando, você receberá apenas 1/x do desempenho da CPU.  Para o cumprimento dessa promessa, o sistema deve monitorar quanto da CPU cada processo teve.  Ele garante aos processos sua execução, dando a todos eles a mesma quantidade de tempo de execução utilizando a CPU .  O sistema calcula quanto da CPU é atribuído a cada processo, ou seja, o tempo desde sua criação dividido por x.  A proporção entre o tempo real da CPU e o tempo da CPU atribuído é simples, levando-se em conta que a quantidade de tempo da CPU é conhecida.
  • 9.
     Exemplo: Se 3 processosquerem executar, o agendador fornece a cada um deles 3 segundos de execução para utilizar CPU. O 1º processo executa 3 segundos e pára, então entra o 2º executa 3 segundos e pára, o 3º executa em 3 segundos pára e o 1º executa novamente 3 segundos e assim por diante até eles terminarem sua execução.
  • 10.
    O Sistema Operacionaldistribui tokens (fichas), numerados entre os processos, para o escalonamento é sorteado um numero aleatório para que o processo ganhe a vez na CPU, processos com mais tokens têm mais chance de receber antes a CPU.
  • 11.
       O agendamento porsorteio, tem como base a distribuição de bilhetes de loteria de processos, há um sorteio 50 vezes por segundo assim o ganhador deste sorteio recebe uma pequena porcentagem do tempo da CPU, ou seja, recebe 20ms da mesma. Processos mais importantes recebem bilhetes extra para que haja uma maior chance dos mesmo serem ganhadores. Uma grande desvantagem desse agendamento é que ele pode demorar para executar um processo que merece prioridade, mesmo que esse tenha bilhetes extras.
  • 12.
     Quando se tema necessidade de tomar uma decisão, o agendador faz um sorteio aleatório dessa forma a tarefa que estiver com esse bilhete irá receber o recurso.
  • 13.
    Nesse sistema, otempo realiza uma função essencial, o computador deve interagir dentro de uma quantidade fixa de tempo.
  • 14.
     Um sistema detempo real é um sistema em que o tempo desempenha um papel essencial. Em geral, um ou mais dispositivos físicos externos para o computador geram estímulos, e o computador deve interagir apropriadamente a eles dentro de uma quantidade fixa de tempo.
  • 15.
    Hard real time:significa que há prazos finais a serem cumpridos.  Soft real time: É a toleração de perda de prazo final .  O agendador tem como função fazer com que em ambos os casos o prazo seja cumprido.  Os algoritmos de agendamento de tempo real podem ser dinâmicos ou estáticos. 
  • 16.
    No caso dea memória principal for insuficiente, alguns processos temporários terão que permanecer em disco, inteiros ou em partes. Isso implica em comutações entre disco e Memória e uma maneira prática para lidar com essa comutação de processos é utilizar um agendador de dois níveis;
  • 17.
    Um “agendador” dedois níveis deve mover processos entre disco e memória e também eleger processos para executar na memória.  Critérios para execução de processos: 1. Tempo em que o processo ficou no disco e memória. 2. Tempo de CPU no processo. 3. Tamanho do processo. 4. Prioridade do processo. 
  • 19.
    Andria Martins;  AnaBeatriz;  Isabel Vitória;  Haifa Franco;  Thaís Souza;  Thalia Gonçalves; 