Lista de discussão de MAC 2301
[Prévia por Data][Próxima por Data]
[Prévia por Assunto][Próxima por Assunto]
[Índice por Data][Índice por Assunto]
[Envie uma nova mensagem para a lista]
[Responda esta mensagem]
RE: Ep 2
- Subject: RE: Ep 2
- From: Alfredo Goldman <gold@ime.usp.br>
- Date: Fri, 12 Apr 2002 13:02:05 -0300
Fernando Serboncini writes:
> Professor,
>
> dúvidas sobre o novo EP....
Vamos ver se eu consigo responder :)
>
> 1. No item 5.3 vc diz que o scheduler deve decidir qual é o próximo processo
> que deverá ser executado imediatamente após o termino da execução de
> qualquer processor. Nesse caso, o ciclo recomeça ou continua contando daonde
> parou?
>
Duas partes. O processo recém executado, caso ainda não tenha chegado ao fim,
volta a fila de mesma prioridade. O próximo processo a ser escolhido depende
da regra "os últimos quatro processos que entraram na fila da CPU eram de
Classe 1".
> 2. No item 5.4 vc diz que o scheduler gasta 0.25 milisegundos. O que você
> quer dizer com isso? Vc quer dizer que se o scheduler rodar quando um
> processo terminar ele vai "gastar" um tempo do ciclo de intervenção? Esse
> tempo pode portanto ser desprezado no timesharing?
>
Isto é apenas para deixar claro que o scheduler também é um processo como
os outros (que também ocupa a CPU). Logo 0.25ms também devem ser considerados
na simulação e não devem ser desprezados.
> 3. Quanto ao item 5.7 o tempo de CPU ou o número de linhas impressas pode
> ser nulo?
>
Sim, isto não muda nada no esquema de processamento. Um processo com tempo
nulo, apenas passa pela CPU, e um processo sem linhas impressas nem precisa
entrar na fila de impressão. E interessante notar que o tempo de CPU deve ser
armazenado em uma variável real (a janela de timesharing é de 100ms). Uma
alternativa seria trabalhar com tempos em inteiros entre 0 e 5000ms (isto é a
chance de se gerar um processo com tempo zero é 1/5000...)
> 4. Quanto ao item 5.8....eu sou obrigado a fazer dessa forma?? Não poderia
> ao invés disso criar uma lista só e adicionar os processos de forma a
> respeitar as regras?
>
A idéia de se usar listas lineares com cabeça de lista é a forma mais simples,
pois só é necessário um ponteiro. Mas pode-se começar com uma fila em alocação
ligada, a mudança para fila circular com cabeça de lista é bem simples.
> 5. Quanto ao 5.10, entendi a necessidade de um limite de tempo O(log n)
> porém sou obrigado a construir 2 listas como pedido e exatemente dessa form?
> Acredito que, apesar da sugestão ser bastante interessante, vai ficar um
> pouco chato se a gente for obrigado a seguir exatamente as sugestões.
Esta é a parte mais trabalhosa do EP, trabalhar ao mesmo tempo com duas
estruturas. Caso você queira usar uma árvore ao invés do heap o ep apenas
se complica.
> []s
> Fernando : "I get knocked down, but I get up again, you'll never gonna keep
> me down!"
Isto me lembra Rock I, II, III e IV :)
Alfredo
- References:
- Ep 2 e próxima aula
- From: Alfredo Goldman <gold@ime.usp.br>
- Ep 2
- From: "Fernando Serboncini" <fernando.serboncini@terra.com.br>