Informática, perguntado por isaacfoda, 1 ano atrás

O trabalho consiste em simular um escalonador de 5 estados (como o visto no slide) que recebe na entrada padrão o seguinte formato que descreve os processos e a ordem em que são invocados:


([0-9]+ cpu|[0-9]+ io)+(,[0-9]+ cpu|,[0-9]+ io)* #isso é uma expressão regular

([0-9]+ cpu|[0-9]+ io)+(,[0-9]+ cpu|,[0-9]+ io)*

.

.

.

([0-9]+ cpu|[0-9]+ io)+(,[0-9]+ cpu|,[0-9]+ io)*

Exemplo:

10 cpu, 4 io, 5 cpu

7 cpu, 10 io, 3 cpu, 4 io, 3 cpu

2 cpu, 9 io, 3 cpu, 2 io, 1 cpu


Nesse exemplo, o primeiro processo a ser invocado deseja utilizar a cpu por 10 unidades de tempo, em seguida fazer uma chamada de I/O que demora 4 unidades de tempo e, por fim, utilizar a cpu por mais 5 unidades de tempo.

O escalonador funciona com sistema de interrupções e alguma política de escalonamento (decidir qual processo mover de Pronto para Em Execução) deve ser implementada. A implementação de time slices é um bônus.

A saída deverá ser quantas unidades de tempo o seu escalonador leva para executar todos os processos. Um desempenho do escalonador muito abaixo do esperado será penalizado.​

Soluções para a tarefa

Respondido por vanessafonntoura
0

O escalador de processoes é um método ou atividade que é usada como sistema de distribuição que possibilita a execução de processoes que podem priorizar alguns tipos contra outras como  I/O Bound e os CPU Bound.

Quando se fala em  escalonador de processos de 2 níveis, o conceito é a escolha do processo que possui uma prioridade de tempo e que, se coloca, mais na memória principal. O escalonador deverá escolher quao o processo será executado por CPU,

Espero ter ajudado.  

Perguntas interessantes