Introdução aos Processos

19
Introdução aos Processos Agendamento de processos

Transcript of Introdução aos Processos

Page 1: Introdução aos Processos

Introdução aos Processos

Agendamento de processos

Page 2: Introdução aos Processos

Multiprogramação

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.

Page 3: Introdução aos Processos

Introdução aos processos

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.

Page 4: Introdução aos Processos

Objetivos do agendador de Processos

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.

Page 5: Introdução aos Processos

Introdução aos processos

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.

Page 6: Introdução aos Processos

Agendamento Garantido

Busca cumprir promessas de alocação de CPU o mais preciso possível.

Page 7: Introdução aos Processos

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).

Page 8: Introdução aos Processos

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.

Page 9: Introdução aos Processos

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.

Page 10: Introdução aos Processos

Agendamento por sorteio

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.

Page 11: Introdução aos Processos

Agendamento por sorteio

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.

Page 12: Introdução aos Processos

Agendamento por sorteio

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.

Page 13: Introdução aos Processos

Agendamento de tempo real

Nesse sistema, o tempo realiza uma função essencial, o computador deve interagir dentro de uma quantidade fixa de tempo.

Page 14: Introdução aos Processos

Agendamento de tempo real

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.

Page 15: Introdução aos Processos

Agendamento de tempo real

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.

Page 16: Introdução aos Processos

Agendamento de dois níveis

No caso de a memória principal for insuficiente, algunsprocessos temporários terão que permanecer em disco, inteirosou em partes. Isso implica em comutações entre disco eMemória e uma maneira prática para lidar com essa comutação de

processos é utilizar um agendador de dois níveis;

Page 17: Introdução aos Processos

Agendamento 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.

Page 18: Introdução aos Processos
Page 19: Introdução aos Processos

Componentes:

Andria Martins; Ana Beatriz; Isabel Vitória; Haifa Franco; Thaís Souza; Thalia Gonçalves;