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



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