Prévia do material em texto
⇒ EXERCÍCIO: faça os exercícios nº 6.1, 6.2, 6.3, 6.10, 6.11 do livro-texto do autor SILBERSCHATZ (9ª ed., pág. 306-309 do cap. 5). 6.1 Um algoritmo de scheduling da CPU determina uma ordem para a execução dos processos incluídos no schedule. Dados n processos a serem designados para execução em um processador, quantos schedules diferentes são possíveis? Forneça uma fórmula em função de n. R: N! (n x n-1 x n- 2) 6.2 Explique a diferença entre scheduling com preempção e sem preempção. R: O scheduling sem preempção é um tipo de escalonamento que espera o processoterminar seu ciclo (se não sofrer interrupções). Quando temos preempção, osprocessos podem ser realocados da CPU sem ter finalizado o uso da mesma. 6.3 Suponha que os processos a seguir cheguem para execução nos tempos indicados. Cada processo será executado durante o montante de tempo listado. Ao responder as perguntas, use o scheduling sem preempção e baseie todas as decisões nas informações disponíveis no momento em que a decisão deve ser tomada. a. Qual é o tempo médio de turnaround desses processos com o algoritmo de scheduling FCFS? R: ( 8 + 12 + 13 - 0.4 - 1 )/3= 31.6 /3 = 10.53 b. Qual é o tempo médio de turnaround desses processos com o algoritmo de scheduling SJF? R: (8 + 9 – 1 + 13 – 0.4 ) /3 = 28.6/3 = 9.53 c. O algoritmo SJF deveria melhorar o desempenho, mas observe que optamos por executar o processo P1 no tempo 0 porque não sabíamos que dois processos mais curtos estavam para chegar. Calcule qual será o tempo médio de turnaround se a CPU for deixada ociosa durante a primeira unidade de tempo 1 para então o scheduling SJF ser usado. Lembre-se de que os processos P1 e P2 estão esperando durante esse tempo ocioso e, portanto, seu tempo de espera pode aumentar. Esse algoritmo poderia ser chamado scheduling do conhecimento futuro. R: (2 + 6 + 14 - 0.4 - 1) / 3 = 6,86 6.10 Por que é importante que o scheduler diferencie programas limitados por I/O de programas limitados por CPU? R: É importante está diferenciação para quando o for escalona o processo ideal para a execução e melhor aproveitamento da cpu, pois os processos de I/O são interrompíveis já os outros não. 6.11 Discuta como os pares de critérios de scheduling a seguir entram em conflito em certas configurações. a. Utilização da CPU e tempo de resposta R: Dependendo da ordem de chegada dos processos na cpu a diferença no tempo de resposta, porá que a cpu não fique ociosa nem o processo. b. Tempo médio de turnaround e tempo máximo de espera. R: turnaround que é o tempo transcorrido desde o momento em que o software entra e o instante em que termina sua execução, logo o tempo máximo de espera é o que o ultimo processo espera para ser executado, logo se for escalonados processos menores no inicio o tempo fica menor. c. Utilização de dispositivos de I/O e utilização da CPU. R: Os dispositivos de I/O são ocasionados por interrupção de hardware logo a utilização da cpu fica picada em picos menores e reutilização de processos.