Curso: Análise e Desenvolvimento de Sistemas · Disciplina: Sistemas Operacionais Parte ......

Post on 20-Nov-2018

213 views 0 download

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 Jesuswsantoscj@gmail.com

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