Arquitetura de Sistemas Operacionais
Por: Smith Junior • 18/1/2017 • Trabalho acadêmico • 2.871 Palavras (12 Páginas) • 476 Visualizações
Graduação em TI
Instituto Federal de Alagoas
Prof. Esp. César Felipe G. Silva
SOPE – Arquitetura de Sistemas operacionais
Assunto: Gerência do processador > Escalonador
Com o surgimento de plataformas multiprogramáveis, onde vários processos poderiam estar residentes na memória RAM em estado de pronto, ou seja, à espera da utilização do processador, a escolha de qual deste processos seria o próximo a ser atendido tornou-se algo de extrema importância.
Para se resolver este problema, uma política de escalonamento de processos bem elaborada teve de ser desenvolvida.
O escalonador de processo tem por função:
Deixar o processador ocupado o maior tempo possível
Definir o tempo de uso da CPU para cada processo
Distinguir entre os processos, aqueles que tem preferência de uso da CPU sobre os
demais processos.
Maximizar o throughput do Sistema
Otimizar os tempos de resposta dos processos
No entanto o escalonador de processos funciona de forma diferente, a depender do tipo de sistema operacional, que pode ser:
1. De tempo real: Neste as aplicações podem utilizar a CPU pelo tempo que precisarem, até que outra aplicação mais crítica solicite acesso à CPU.
1. De tempo compartilhado: O tempo de utilização é dividido em pequenas porções de tempo (time slices), ocorrendo o chaveamento entre processos após o exaurimento do tempo de uso do processo.
Enquanto o escalonador (Scheduler) é responsável por definir a ordem de atendimento dos processos, o dispatcher é responsável por executar a mudança de contexto.
O tempo de mudança de contexto é conhecida como tempo de latência do dispatcher.
Vale lembrar que a troca de contexto implica em gravar o estado de processamento do processo atual e carregar no processador os dados de processamento do processo da vez, incluindo seus recursos, estados e
endereçamentos de memória para carga destas informações.
Assunto: Gerência do processador > critérios de escalonamento
Nos sistemas operacionais baseados em processos, o escalonamento é realizado com base nos processos.
Nos sistemas operacionais baseados em threads, o escalonamento é utiliza as threads para definir quais tem preferência de utilização, independente do processo, o qual, neste caso, serve apenas como volume de armazenamento das informações referentes aos recursos que serão utilizados.
Então, de forma básica, podemos falar que o processo é a unidade de instruções, enquanto a thread é a unidade de escalonamento.
Os critérios nos quais o sistema de escalonamento se baseia para definir qual conjunto de informações deve ter preferência na utilização da CPU vai depender
do próprio sistema operacional, da seguinte forma:
1) Utilização do processador
2) Throughput
3) Tempo de processador
4) tempo de espera
5) Tempo de turnaround
6) Tempo de resposta
1) Utilização do processador: Para o S.O. é importante manter o processador a maior parte do tempo
ocupado. Desta forma, a taxa de 30% de utilização indica baixo processamento, enquanto 90% sugere
forte utilização da CPU.
2) Throughput: Indica a carga máxima de processamento que a CPU consegue atingir em um determinado
intervalo de tempo. Um Throughput alto indica capacidade maior do processador.
3) Tempo de processador: Tempo que o processo demora durante seu estado de execução. O escalonador
não influencia no tempo de uso da CPU pelo processo.
4) tempo de espera: É o tempo que o processo demora na fila durante o estado de PRONTO.
5) Tempo de turnaround: É o somatório do tempo no estado de ESPERA + tempo no estado de PRONTO +
tempo de processador, ou seja, é o tempo referente ao ciclo completo entre o fim de um processamento
e o inicio do próximo.
6) Tempo de resposta: Tempo decorrido entre a entrada de uma instrução, seu processamento e a saída
do resultado.
É importante salientar que, no tocante ao tempo de resposta, este pode variar representativamente,
uma vez que algumas requisições (entradas) dependem de um trabalho em série de diversos outros
dispositivos e cenários, que muitas vezes são externos ao sistema computacional.
É o caso do acesso a um recurso externo, que passa por placas de redes, cabos, switches, roteadores,
etc.
Também podemos citar execução de um mesmo programa em HD`s com velocidades de rotações
diferentes, apesar de ser o mesmo programa, na mesma porta USB, observaremos tempos de respostas
diferentes.
Pelo exposto, devemos observar que estes valores não são diretamente proporcionais, pois a finalidade
do escalonador é aumentar o valor de alguns e diminuir e de outros. Assim, enquanto o tempo de uso da
CPU e o Throughput devem sempre ser altos, o tempo de resposta, o tempo de turnaround e o tempo de
espera devem ser baixos.
Com base neste ponto, vale lembrar que o cenário de processamento é composto por diversos itens que
trabalham
...