Curso: Análise e Desenvolvimento de Sistemas · Disciplina: Sistemas Operacionais Parte ......
Transcript of Curso: Análise e Desenvolvimento de Sistemas · Disciplina: Sistemas Operacionais Parte ......
Disciplina: Sistemas Operacionais
Parte – 3:Escalonamento de CPU, Conceitos básicos cr itérios de escalonamento, escalonamento em múltiplos
processadores e Alocação de Memória.
Prof. Wagner Santos C. de [email protected]
Curso: Análise e Desenvolvimento de Sistemas
Escalonamento de CPU
2
Conceito Escalonamento de CPU
O escalonamento de CPU é a base dos sistemasoperacionais multiprogramados. Alternando CPUentre os processos, o sistema operacional podetornar o computador mais produtivo (Gagne, 2016).
3
Memória Principal
4
Unidade Logica e
Aritmética
Unidade Central de Processamento - CPU
Controle
Memória
EntradaSaída
Mundo Externo
Para Mundo Externo
Ciclo de burst CPU-E/S
O sucesso do escalonamento da CPU depende dapropriedade observada nos processos: A execução de umprocesso começa com um burst (surto ) de CPU, que éseguido por um burst de E/S .
5
burst de CPU
burst de E/S
burst de CPU
:
Burst CPU
Burst final termina comuma requisição dosistema para terminar aexecução.
Alternando a sequencia de bursts CPU-E/S
6
load storeadd storeRead do arquivo
espera pela E/S burst de E/S
burst de CPU
store IncrementIndexwrite para arquivo
burst de CPU
espera pela E/S burst de E/S
load storeadd storeRead do arquivo
burst de CPU
espera pela E/S burst de E/S
Histograma dos temposde burst da CPU
7
Fre
quên
cia
Duração do burst (milissegundos)
Escalonamento Preemptivo
8
Conceito de Preemptivo
Preempção é o ato de interromper temporariamente umatarefa sendo resolvida por um sistema computacional,sem precisar de sua cooperação, e com a intenção deretomar a tarefa depois.
9
As decisões de escalonamento de CPU podem ocorrer sob quatro circunstâncias:
10
1 – Atividade ProcessoEspera
11
Executando(Running)
Esperando(Waiting)
E/SQuando um processo passa do estadoexecutando para o estado esperando.Exemplo Resultado de uma requisiçãode entrada de saída. Ou pelo término deum dos processos filho.
2 – Atividade ProcessoPronto
12
Pronto(Ready)
Executando(Running)
Interrupção
Quando um processo passa do estado executando para oestado pronto. Ex. Quando ocorre uma interrupção.
3 – Atividade ProcessoEsperando
13
término E/S
Pronto(Ready)
Esperando(Waiting)
Quando um processo passa doestado esperando para o estadopronto. Ex. Termino de uma E/S.
4 – Atividade Processo Termino
14
Executando(Running)
Terminado(Terminated)
Quando um processo termina.
Definição de Preempção
Quando o escalonamento ocorre somente sob ascircunstancias 1 e 4, denomina-se não preemptivo.
15
Executando(Running)
Esperando(Waiting)
E/S
Terminado(Terminated)
Modulo despachante
Consiste em ser um módulo que dá o controle da CPU aoprocesso selecionado pelo escalonador de curto prazo.Essa função envolve o seguinte:
• Trocar de contexto.• Trocar para o modo usuário.• Desviar para o local apropriado no programa do usuário
para reiniciar esse programa.
16
Critérios de Escalonamento
17
Critérios de Escalonagem
A escolha das caraterísticas que serão usadas para acomparação pode fazer diferença substancial na escolha doalgoritmo considerado melhor. Os critérios incluem osseguintes:
• Utilização da CPU• Throughput (vazão) – taxa de transferência• Turnaround time (tempo de retorno)• Tempo de espera• Tempo de resposta
18
Utilização da CPU
Utilização da CPU pode variar de 0% a 100%.
40% - Sistema pouco carregado.até 90% - Para um sistema muito carregado.
19
Throughput (vazão)
Se a CPU estiver ocupada:
Para processos longos, essa taxa pode ser um processo porhora;Para transações curtas poderá ser 10 processos por segundo.
20
Turnaround time
Vem a ser o intervalo desde a submissão até otérmino do processo.
• Esperando para entrar na memória,• Esperando na fila de pronto,• Executando na CPU e realizando E/S.
21
Tempo de espera
O algoritmo de escalonamento de CPU não afeta aquantidade de tempo durante a qual o processo éexecutado ou realiza E/S.
Afetando apenas a quantidade de tempo em que umprocesso gasta esperando na fila de pronto.
O tempo de espera é a soma dos períodos gastosaguardando na fila de espera.
22
Tempo de resposta
Essa medida vem a ser o tempo gasto para começar aresponder, e não o tempo gasto para saída da resposta. Otempo de resposta é limitado pela velocidade dodispositivo de saída.
23
Algoritmos de Escalonamento
24
Escalonamento
O escalonamento de CPU trata do problema de decidirqual dos processos na fila de prontos (ready queue) deveser entregue à CPU.
25
P1 P2 P3
Representado por um Diagrama de GANTT
Escolanamento First Come, First Served
FCFS(Primeiro que chega será Servido)
26
FCFS
É o algoritmo de escalonamento de CPU que sefuncionamento consiste em primeiro a chegar, primeiroa ser atendido. Utiliza o conceito de fila FIFO (First Inpute Fist Output).
Entretanto, o tempo de espera médio sob a políticaFCFS normalmente é muito longo.
27
FCFSConsidere o seguinte conjunto de processos que chegamno instante 0, com quantidade de tempo de burst de CPUindicada em milissegundos:
28
Processo Tempo de burst
P1 24
P2 3
P3 3
P1 P2 P3
0 24 27 30
O tempo médio espera do é de (0+24+27)/3 = 17 milissegundos.
Escolanamento Shortest-job-First - SJF(Menor Tarefa Primeiro)
29
Escalonamento SJF
Esse algoritmo associa a cada processo o tamanho dopróximo burst de CPU do processo. Quando a CPU estiverdisponível ele será alocado ao processo que possui omenor próximo burst de CPU. Se próximo burt de CPU dedois processos forem iguais, o escalonamento FCFS seráusado no desempate.
30
SJF
31
Processo Tempo de burst
P1 6
P2 8
P3 7
P4 3
P4 P1 P3 P2
0 3 9 16 24
Tempo de espera médio (3+16+9+0)/4 = 7 Milissegundos
Shortest Remaining Time(Tempo restante
mais curto)32
Escalonamento SRTF
Na entrada de um novo processo, o algoritmo deescalonamento avalia seu tempo de execução incluindo ojob em execução, caso a estimativa de seu tempo deexecução seja menor que o do processo concorrentementeem execução, ocorre a substituição do processo emexecução pelo recém chegado, de duração mais curta, ouseja, ocorre a preempção do processo em execução.
33
SRTF
34
Processo Tempo de chegada Tempo de burst
P1 0 8
P2 1 4
P3 2 9
P4 3 5
P1 P2 P4 P1 P3
0 1 5 10 18 27
Simulação de Fila de Processos - SJF
35
Comunicação em Sistemas Cliente
Servidor
36
Comunicação entre Processos
• IPC (Inter-Process Communication) – Usado para troca de dados entre processos locais.
• RPC (Remote Procedure Calls) – Usado para trocade dados entre processos remotos.
37
RPC (Remote Procedure Calls)
Foi projetado como meio de separar o mecanismo dechamada de procedimento para uso entre sistemas comconexões de rede. Em vários aspectos, ela ésemelhante ao mecanismo de IPC (Inter-ProcessCommunication), é o grupo de mecanismos quepermite aos processos transferirem informação entre si.
38
A tecnologia cliente /servidor é uma arquitetura na qual oprocessamento da informação é dividido em módulos ouprocessos distintos. Um processo é responsável pelamanutenção da informação (servidores) e outrosresponsáveis pela obtenção dos dados (os clientes).
39
ProcessoServiço
ProcessoRequisição
Chamadas de procedimentosLocal
40
Cliente Servidor
Porta de comunicação com cliente
Porta de conexão
Porta de comunicação com servidor
Objeto de seção compartilhado(<= 256 bytes)
Requisição de conexão Descritor
Descritor
Descritor
Atividade de ProcessoCliente Servidor
41
Aplicação Servidor Aplicação ClienteInicia antes Inicia depois
Não precisa saber qual cliente irá se conectar Precisa saber a qual servidor se conectar
Espera passivamente um tempo indeterminadopelo contato do cliente
Inicia o contato quando a comunicação énecessária
Comunica-se com o cliente enviando e recebendodados
Comunica-se com o servidor enviando erecebendo dados
Continua executando após atender um cliente,esperando pelo próximo
Pode encerrar após interagir com o servidor
Alocação de Memória
42
Swapping
Um processo precisa estar na memória para ser executado.Contudo, um processo pode ter de ser swapping(troca)temporariamente entre a memória e um backing store(armazenamento de apoio), para depois ser trazido de voltapara a memória, para continuar a execução.
43
SistemaOperacional
Espaçodo usuário
ProcessoP1
ProcessoP2
Armazenamento de apoio (backing store)
2
1Swap out
(retira)
Swap in(insere)
Disco
Alocação de memória contígua
A memória é dividida em duas partições:
• Uma para o Sistema Operacional Residente.• Uma outra para o Processos de Usuário.
44Contigua – Próximas (Adjacente)
Proteção e mapeamentode memória
45
CPU <
Registrador de limite
Registrador de relocação
memória
Interceptação: Erro de endereçamento
Endereçológico sim
não
Endereçofísico
+
Alocação de memoria
Podemos alocar os Sistema Operacional:
• Memoria Baixa (Vetor de Interrupção) - RAM Ondese coloca o Sistema Operacional
• Memoria Alta (Dados enviados pelos processos).Registradores (CPU)
46
47
Diagrama de classificação daMemória RAM
Fragmentação de Memória
48
Fragmentação externa
À medida que os processos são carregados eremovidos da memória, o espaço de memória livre érepartido em pequenas partes. A fragmentação externaexiste quando há espaço de memória total suficiente parasatisfazer uma requisição, mas os espaços disponíveis nãosão contíguos.
49
Ocupado-1 Ocupado-2
Problemas da Fragmentação
Considere um esquema de alocação de múltiplaspartições, com buraco de 18.464 bytes. Com o próximoprocesso requisitando 18.462 bytes
50
Processo-1 Processo-2
18.464 bytes 18.462 bytes2 bytes
Solução da Fragmentação
Uma solução para o problema da fragmentação externa éa compactação. Consiste em redistribuir o conteúdo damemória de modo a colocar toda a memória livre junta, emum grande bloco.
51
Contra Ponto Compactação
Contudo a compactação nem sempre é possível nemsempre é possível. Se a realocação for estática e for feitaem tempo de montagem ou carga, a compactação nãopoderá ser feita; a compactação somente poderá serefetuada se a realocação for dinâmica e feita em tempode execução.
52
Conceito de Paginação
53
Paginação
Vem a ser um esquema de gerencia de memoriaque permite que espaço de endereços físicos de umprocesso seja não contíguo. A paginação evita afragmentação externa e a necessidade de compactação.Resolvendo também o ajuste de trecho de memoria detamanho variado.
54
Métodos de Paginação
55
O método para implementação da paginação envolvedividir a memória física em blocos de tamanho fixo,chamados quadros, e dividir a memória lógica em blocosdo mesmo tamanho, chamados páginas.
QuadroPágina
Memoria FísicaMemoria lógica
CPU RAM
Definição de página
• Tamanho da página e do quadro é definido pelo hardware.
• O tamanho de uma página é uma potência de 2, variando de 512 bytes e 16 MB por página.
• Onde 2m é o tamanho do endereço lógico.• 2n Tamanho da página (bytes).
56
p dNúmero de página Deslocamento de página
m n
bits de alta ordem bits de baixa ordem
Suporte do Hardware para paginação
Cada endereço gerado pela CPU é divido em duaspartes:
• Um número de página (p)• Deslocamento de página (d)
57
O número de página é usado como um índice para atabela de página
Hardware de Paginação
58
CPU p d f d
Endereçológico
Endereçofísico
___
___
f
____
____
p
Tabela de página
f
Memória física
f000....0000
f1111....1111