Gerência de Processador



Documentos relacionados
Gerência do Processador

Gerência do Processador

4. GERÊNCIA DE PROCESSADOR (Escalonamento de processos)

Gerência de processos Requisitos fundamentais

Sistemas Operacionais

Sistemas Operacionais

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

Sistemas Operacionais

Capítulo 4 Gerência de Processador

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador

Gerência de Processador

Máquina de estados UNIX O

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de

Escalonamento no Linux e no Windows NT/2000/XP

Sistemas Operacionais Processos e Threads

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton

Algoritmos de Escalonamento

Sistemas Operacionais. Roteiro. Tipos de Tarefas (temporal) Marcos Laureano

GERENCIAMENTO DO PROCESSADOR. Prof. Maicon A. Sartin

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

03 GERÊNCIA DO PROCESSADOR

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Sistemas Operacionais. Escalonamento de Processo. Prof. Dr. Márcio Andrey Teixeira

Introdução aos Sistemas

Sistemas Operacionais

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Sistemas Operacionais

Sistemas Operacionais

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Processos e Threads (partes I e II)

Gerência de processos Estudos de caso - BSD Unix

Processos Prof. João Paulo de Brito Gonçalves

Sistemas Operacionais

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura Exemplo

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Processos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

7 Processos. 7.1 Introdução

Escalonamento de CPU 2 Quadrimestre

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Sistemas Operacionais 3º bimestre. Dierone C.Foltran Jr.

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Sistema Operacional. Prof. Leonardo Barreto Campos 1

Ciclo de Vida de um Processo

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani

Introdução a Computação 07 Sistemas operacionais. Márcio Daniel Puntel marcio.puntel@ulbra.edu.br

Programação Concorrente Processos e Threads

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Arquitetura de Sistemas Operacionais

1.2 Tipos de Sistemas Operacionais

Tipos de sistemas operacionais

Sistemas Operacionais

Gerenciamento de Memória

Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul

Escalonamento de processos

Organização de Computadores 1

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Processos. Estruturas de Controle

Gerenciamento de Processos

SISTEMAS OPERACIONAIS

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

SISTEMAS OPERACIONAIS

AULA 5 Sistemas Operacionais

Programação de Sistemas

Sistemas Operacionais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Sistemas Operacionais

Processos. Adão de Melo Neto

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais Gerência de Processos

Sistemas Operacionais

Sistemas Operacionais

Introdução aos Sistemas Operativos

SISTEMAS OPERACIONAIS GERÊNCIA DE TAREFAS

Introdução aos Sistemas Operacionais

TI Básico. Sistemas Operacionais. Professor: Ricardo Quintão Site:

Gerenciamento de memória

Gestor de Processos. Gestor de Processos

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.

Arquitetura e Organização de Computadores

E.E.E.P. Dr. Solon Tavares Sistemas Operacionais Prof. Henrique Cordeiro. Programação Concorrente em Linux

SISTEMAS OPERACIONAIS

Arquitetura de Computadores. Sistemas Operacionais IV

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS OPERACIONAIS: GERENCIAMENTO DE PROCESSOS E DE MEMÓRIA

Mecanismo de Interrupção

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Transcrição:

Gerência de Processador mbientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Multiprogramação Torna mais eficiente o aproveitamento dos recursos computacionais Mais de um programa sendo executado ao mesmo tempo iversos programas são mantidos na memória (um executando e vários esperando para executar) O próprio SO é composto de vários programas Gerenciamento de recursos para estes processos: Tempo de processador Espaço de memória Espaço em disco Periféricos 1 2 Programa e Processo Processo Programa: é o código a ser executado (estático, passivo) Processo: é o código em execução (dinâmico, ativo) ltera seu estado no decorrer de sua execução lém do código, também possui os dados da execução Um programa pode ter várias instâncias em execução (isto é, vários processos podem estar executando o mesmo programa ao mesmo tempo) Ex. mais de um browser aberto ao mesmo tempo ada um tem seus dados, por exemplo: página que está sendo visitada. 3 4 iclo de vida de um Processo riação de processos Em geral: riação Execução Término Tem SOs que trabalham com um número fixo de processos, todos eles criados na inicialização do sistema criação pode ser feita através de chamadas de sistemas e.g. fork, spawn, etc. Podem ser associados a terminais Podem ser associados a uma sessão de trabalho e.g. login de usuários: login + senha shell Em geral, pode se formar uma hierarquia de processos 5 6

iclo de PU e ciclo de E/S Tipos de comportamentos vida de um processo se alterna entre: iclo de processador (ou ciclo de PU) Tempo que ocupa a PU iclo de E/S Tempo que espera conclusão de uma operação de E/S Troca de ciclos: PU E/S: chamada de sistema E/S PU: ocorrência de interrupção Os processos podem ser: PU bound (ciclos de UP grandes) I/O bound (ciclos de E/S freqüentes) Exemplos: PU bound: processo que inverte uma matriz I/O bound: processo que copia um arquivo É conveniente ter uma mistura dos dois tipos de processos na memória, pois isto dá flexibilidade para o escalonamento (escolha de processos a serem executados) 7 8 Término de um processo Relacionamento entre processos Final normal Final por erro e.g. divisão por zero, problema de E/S, limite de tempo, falta de memória, proteção Intervenção de outros processos (kill) Log off de usuários Processos independentes Grupos de processos lgum relacionamento e.g. shell e os processos disparados dentro dele Podem compartilhar recursos efinem algum tipo de hierarquia 9 10 Hierarquia de processos Processo criador é o pai Processo criado é o filho Em geral, vai haver uma árvore de processos, que é alterada de forma dinâmica Questão associada: o que fazer quando um processo com descendentes é destruído? Terminar todos processos de descendência Postergar termino do pai até que todos descendentes acabem escendência ser herdada pelo processo vô escendência ser herdada por um processo do SO Fila de processos aptos pós ser criado o processo entra em ciclo de processador Vários processos podem estar esperando pelo processador (prontos para receber a PU) Os processos à espera da PU ficam em uma fila, denominada fila de processos aptos 11 12

Transição de estado Transição de estado ada processo muda de estado, durante a sua vida, de acordo com o seguinte diagrama de transição: Seleção Término riação pto Executando estruição Ocorrência de evento (interrupçao) loqueado hamada de sistema O sistema operacional escolhe (entre os processos aptos) qual será o próximo a entrar em execução O módulo responsável por esta escolha é o escalonador (scheduler) Os processos são bloqueados apenas quando realizam chamadas do sistema Na maioria dos casos, o SO não permite que um processo monopolize a PU ( ver diagrama de transição a seguir) Só no caso de haver multiprocessamento (i.é, mais de uma UP) pode-se ter mais de um processo no estado executando 13 14 Transição de estado (mais detalhes) Seleção Término riação pto Executando estruição Tempo Ocorrência de evento (interrupçao) loqueado hamada de sistema Retorno imediato Erro Registro descritor de processo (Process ontrol lock) O SO mantém para cada processo um registro descritor: Número único do processo; Prioridade do processo no sistema (usada para definir a ordem na qual os processos recebem o processador); Localização e tamanho da área de memória ocupada pelo processo; Identificação dos arquivos abertos no momento; Informações para contabilidade (tempo de processador gasto, espaço de memória ocupado, etc.); Estado do processo: apto, executando, bloqueado; ontexto de execução (isto é, conteúdos dos registradores da UP correspondentes a esse processo); pontadores para encadeamento do descritor nas filas do SO. 15 16 Processos e filas O registro descritor (R) de um processo sempre está encadeado a alguma fila: Fila de Rs livres. Pode ser Fila de tamanho fixo ou Rs alocados dinâmicamente Fila de aptos Fila de bloqueados Eventos ocasionam transferências entre filas Escalonamento O escalonador é o componente do SO responsável por selecionar um processo apto para executar no processador O objetivo é dividir o tempo do processador de forma justa entre todos processos aptos Outros objetivos: Maximizar a utilização do processador Maximizar a produção do sistema (throughput) Minimizar o tempo de espera 17 18

haveamento de ontexto haveamento de ontexto É a troca do processo em execução (O contexto do processo que estava em execução deve ser guardado e o contexto do próximo a executar deve ser restaurado) Salvar contexto do processo é a primeira ação do SO ao receber a PU em uma interrupção Restaurar contexto do processo é a última ação do SO antes de passar PU ao processo escolhido pelo escalonador ispatcher é o nome do componente do SO que restaura o contexto do processo escolhido 19 20 Tipos de escalonadores Escalonador de longo prazo Três tipos: urto prazo (existe em qualquer SO) Médio prazo (só existe em certos SOs) Longo prazo (também é raro) ecide quando um processo vai ser criado Normalmente não é utilizado para processos criados através de terminais (estes começam imediatamente) ontrola o grau de multiprogramação 21 22 Escalonador de médio prazo Escalonador de curto prazo Utilizado quando o sistema fica sobrecarregado ecide qual processo vai ser retirado ou restaurado na memória Operação de swap: Swap out: processo retirado da memória e enviado ao disco Swap in: processo volta do disco para a memória Seleciona um entre os processos prontos para execução cionado sempre que a PU fica livre (processo foi bloqueado, terminou ou ocorreu uma interrupção) 23 24

lgoritmo de escalonamento FIFO Processos que se tornam aptos entram no fim da fila Processo que está no inicio da fila é o próximo a ser executado Processo executa até que: Libere explicitamente o processador Realize uma chamada de sistema Termine sua execução FIFO (First-In First-Out) também chamado FFS (First-ome First-Served) Processos,, e uração do próximo ciclo (:12, :8, :15,:5) 0 12 20 35 40 Tempo médio: (0+12+20+35)/4=16.75 25 26 FIFO SJF (Shortest Job First ) Prejudica processos I/O bound Nem sempre propicia bom tempo de resposta Processos com menor tempo (futuro) de utilização de PU entra no inicio da fila, empurra os outros para trás Processos I/O bound são favorecidos (isto maximiza a utilização dos periféricos) 27 28 SJF Menor tempo médio de espera uração do próximo ciclo (:12, :8, :15,:5) SJF omo prever o tempo de execução? Serve como limite teórico 0 5 13 25 40 Tempo médio: (0+5+13+25)/4 =10.75 29 30

Escalonadores Preemptivos e Não-preemptivos Esquema não-preemptivo. Uma vez selecionado, o processo utiliza o processador até: o término da execução do processo uma chamada de sistema ser realizada Esquema preemptivo. Uma vez selecionado, o processo utiliza o processador até: término da execução do processo chamada de sistema é realizada processo de mais alta prioridade fica pronto para executar Round robin (fatia de tempo) cada processo recebe uma fatia de tempo do processador (quantum ou time-slice) Processos entram no fim da fila O primeiro da fila é executado por uma pequena fatia de tempo (ordem de 20 ms) Sempre que a fatia de tempo acaba, a PU é transferida para o próximo da fila O processo que acaba sua fatia de tempo vai para o fim da fila 31 32 Round-robin Round-robin uração do próximo ciclo (:12, :8, :15,:5) Para fatia de 3 unidades de tempo 0 3 6 9 12 15 18 23 28 34 40 Tempo médio: (0+5+13+25)/4 =10.75 Problema omo definir a fatia de tempo O chaveamento entre processos não é instantâneo! Exemplo, supor que: instrução executa em 1µs 200 instruções para chaveamento 200 µs Se fatia de tempo é 1ms então o chaveamento é 20% do tempo para realizar trabalho útil (overhead de 20%) 33 34 Round-robin Prioridade Processos I/O bound são prejudicados Pois eles não executam durante toda sua fatia de tempo Solução: Uso de prioridades Processos I/O bound tem maior prioridade Processos com maior prioridade executam primeiro No caso de mesma prioridade, é preciso escolher uma alternativa para resolver qual executa primeiro: FIFO, SJF, Round-Robin 35 36

Prioridade Prioridade Processo Prioridade uração do próximo ciclo de processados 3 12 4 8 2 15 1 5 omo definir prioridades? Processos com menor prioridade podem ficar esperando indefinidamente Solução: aging (processos tem sua prioridade aumentanda lentamente) 0 5 20 32 40 37 38 Múltiplas filas Multiplas Filas Processos em foreground e em background omo dividir tempo? Pode-se ter fila separada para I/O bound, com maior prioridade para os processos desta fila (isto melhora a utilização dos periféricos) Tem-se realimentação quando os processos podem mudar de uma fila para outra 39 40