Análise e Desenvolvimento de Sistemas Disciplina: Sistemas Operacionais Docente: Cesar Alberto Discente: Ricardo Leandro da Silva Prontuário: 1280538 Questionário Capitulo 8, pag. 153 1) O que é política de escalonamento de um sistema operacional? São os critérios ou maneiras de avaliação que o sistema operacional utilizará para definir qual dos processos em estado de pronto terá permissão para utilizar o processador, uma característica importante na multiprogramação dos sistemas atuais. 3) Quais os principais critérios utilizados em uma política de escalonamento? Utilização do processador (define-se que o processador se mantenha o ocupado o maior tempo possível); Throughput (significa o número de processos executados em um certo intervalo de tempo,define-se que esse critério seja maximizado); Tempo de processador/UCP (tempo do processo em execução durante seu processamento,não influenciado pelas políticas de escalonamento); Tempo de espera (tempo em que o processo fica na fila, esperando ser executado,define-se que o tempo de espera seja reduzido nesses casos); Tempo de turnaround (tempo da criação até o fim do processo,considerando todos os processos do escalonamento, define-se que o tempo seja reduzido); Tempo de resposta (tempo de requerimento ao sistema e sua resposta à aplicação, não delimitado pelas políticas de escalonamento). 5) Diferencie os escalonamentos preemptivos e não-preemptivos? Escalonamento não-preemptivo: o processo em execução não vai sofrer alterações ou interrupções externas para perder o uso do processador, ele só sairá da execução quando terminar seu processamento ou entre em estado de espera por eventos do seu próprio código. Escalonamento preemptivo: permite a interrupção ou interferência em processos em execução, passando-os para o estado de "pronto", para que outros processos se aloquem na UCP, permitindo até a priorização na execução dos processos,em alguns casos, quando necessário. 6) Qual a diferença entre os escalonamentos FIFO e o Circular? O FIFO (traduzindo, "O primeiro que entra é o primeiro que sai") determina que o primeiro processo que entra em estado de pronto é o que será escolhido para ser executado, sendo bem simples de analisar, pois é feita uma fila em que todos os processos estão em estado de "pronto", enquanto um processo se executa, quando este termina ou entra em estado de espera, o próximo da fila entra em execução. O escalonamento circular é semelhante ao FIFO, no entanto,o processo em execução passa a ter um tempo limite parar ser executado (fatia de tempo - time slice), sendo do tipo preemptivo. 7) Descreva o escalonamento SJF e o escalonamento por Prioridade? Escalonamento SJF - é selecionado o processo que possui o menor tempo de processador para executar, ou seja, aquele que leva menos tempo para se processar. Escalonamento por prioridade - se baseia na prioridade dos processos, em que aquele com maior prioridade no estado de "pronto" será executado primeiro e os processos de valores iguais são executados de acordo com o FIFO. 8) Qual a diferença entre preempção por tempo e preempção por prioridade? Preempção por tempo - ocorre quando uma fatia de tempo expira, o sistema operacional cessa o processo, salva seu contexto e conduz o processo para o final da fila do estado de "pronto". Preempção por prioridade - ocorre quando o processo de maior prioridade perde o uso do processador, de forma voluntária para o estado de espera ou para o estado de "pronto", onde o sistema operacional interrompe o processo, salva seu contexto e o envia para o fim da fila do estado de "pronto". 10) Que tipo de escalonamento as aplicações de tempo real exigem? Escalonamento do tipo preemptivo, onde o fator de tempo é essencial. 11) O escalonamento por múltiplas filas com realimentação favorece processos CPU-bound ou I/O-bound? Justifique. Enquanto que, nos processos CPU-bound ganham o processador, usam sua fatia de tempo e são levados para uma fila com prioridades menores, o de I/O-bound, que não sofrem preempção de tempo, recebem um tempo de resposta de acordo com a necessidade, pois ficam mais tempo entre as prioridades mais altas, já que ficam nas filas dessas prioridades por mais tempo. Deve-se notar a mudança de um contexto para o outro,porque pode prejudicar o tempo de resposta e também na complexidade do implemento,o que pode causar overhead no sistema.