Sistemas Operacionais

Tamanho: px
Começar a partir da página:

Download "Sistemas Operacionais"

Transcrição

1 Introdução Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Gerência do processador Aula Objetivos de sistema operacional são eficiência, conveniência e não interferência Eficiênciaiê i é medida como a relação entre o uso efetivo de um recurso e a quantidade desse recurso disponível no sistema para o uso Um aspecto da conveniência é a qualidade de serviço prestado ao usuário É comum o compromisso entre eficiência e conveniência Há duas visões: uma do usuário (conveniência), outra do sistema (eficiência) Deve ser eficaz: implica cuidar da eficiência sem esquecer da conveniência Noção de escalonamento de recursos Processador, memória e dispositivos de E/S Escalonamento vale tanto para processos como para threads Sistemas Operacionais 2 Escalonamento Níveis de escalonamento Conceito genérico: Ação de selecionar a próxima requisição a ser atendida por um serviço Cinco eventos: chegada, admissão, seleção, preempção e conclusão Criação Erro! Controle de multiprogramação Longo prazo Escalonador preempção chegada admissão seleção término Existem diferentes níveis de escalonamento de processos Curto prazo: gerência do processador Médio prazo : gerência de memória Longo prazo : controle de admissão (grau de multiprogramação) apto suspenso Bloqueado suspenso Médio prazo Gerência do memória dispatcher apto execução término Evento E/S ou sincronização bloqueado Curto prazo Gerência do processador Sistemas Operacionais 3 Sistemas Operacionais 4

2 Gerência do processador: escalonador de curto prazo Escalonador de curto prazo Ações no sistema operacional são vistas em dois níveis Política: diretrizes para tomar uma decisão (o QUE deve ser feito para...) Mecanismo: ações necessárias para implantar a política (COMO é feito para...) Escalonador é o mecanismo que define QUEM, entre os processos aptos, receberá o direito de usar a CPU Aplica um algoritmo (política) que pode levar em contra uma combinação de prioridades e regras de desempate (tie break) entre processos Escalonador é executado QUANDO é realizada uma chamada de sistema (fazem o trânsito entre os estados apto, executando e bloqueado) interrupção de software Na ocorrência de interrupções de hardware Escalonamento dispatcher Processo de seleção de qual processo (thread) no estado apto usará a CPU apto execução término Algoritmo de escalonamento: COMO a escolha é feita Evento E/S ou sincronização Despachante (dispatcher): responsável bloqueado pela troca de contexto P 1 Salva contexto de P 1 P 2 P 1 Modo usuário Modo núcleo Escalonador Salva contexto de P 2 Despachante (política) Despachante recupera contexto de P 1 recupera contexto de P 2 Sistemas Operacionais 5 Sistemas Operacionais 6 Despachante Quando escalonar Chaveamento do contexto de execução Criação de processo/thread implica na criação de um contexto (PCB ou TCB) Composto pelo estado dos recursos e pelo ponto de execução Ex.: estado do processo/thread; PC, SP, GPRs; mapa de memória, etc Processo A Salva estado no PCB executando... 0 Restaura estado do PCB 1 apto executando... Salva estado no PCB 1 Restaura estado do PCB 0 Processo B apto executando Apto ou bloqueado Despachante Sistemas Operacionais 7 Eventos que causam o escalonamento Criação de processos Término de processos (voluntário ou involuntário) i Bloqueio por operações de E/S, por exclusão mútua ou sincronização Conclusão de E/S Periodicamente Regra básica: Quando a CPU ficar livre OU houver processo mais prioritário em apto Depende do tipo do escalonador (não preemptivo ou preemptivo) Preempção Poder do escalonador retirar o processador de um processo para dar a outro Sistemas Operacionais 8

3 Tipos de escalonadores Ambientes de escalonamento Escalonadores não preemptivos Escalona com base em interrupção de software (chamadas de sistema) Um processo fica executando até que Complete sua execução (término exit ou kill) Os objetivos do escalonamento depende do tipo de sistema Não interativos (lote): executam tarefas sem contato direto com usuários Interativos: ti há um contato t (interação) com usuários finaisi Sistemas de tempo real: possuem prazos para tratamento de eventos Liberação voluntária do processador (chamada yield) Realize uma operação bloqueante (E/S, exclusão mútua ou sincronização) Escalonadores preemptivos p Escalona com base em interrupções de hardware e de software Um processo fica executando até que: Mesmas situações de um escalonador não preemptivo Processo esgotou um tempo máximo de ciclo de processador (tempo) Processo de mais alta prioridade ficou pronto para executar (prioridade) Metas comuns a todos tipos de sistema Garantir o cumprimento da política de escalonamento Dar a cada processo uma porção justa (cf. política) do tempo de processador Processos semelhantes devem ser tratados de mesma forma Evitar que processos sofram de postergação indefinida (starvation) Sistemas Operacionais 9 Sistemas Operacionais 10 Objetivos de escalonamento Processos CPU bound e I/O bound Sistemas não interativos Maximizar o número de tarefas por hora (vazão ou throughput) Minimizar i i o tempo entre submissão e término (tempo de retorno ou turnaround) Inclui minizar o tempo de espera no estado apto Manter a CPU ocupada a maior parte do tempo possível Sistemas interativos Responder rapidamente as requisições (tempo de resposta) Satisfazer as expectativas dos usuários (proporcionalidade, ou seja, tempo esperado para executar uma tarefa) Sistemas de tempo real Cumprir prazos no atendimento de eventos Previsibilidade ou determinismo Como atender os objetivos gerais do escalonamento? Analisando o comportamento dos processos Um processo é dito: Limitados por CPU (CPU bound): ciclos longos de CPU e uso esporádico de E/S Limitados por E/S (I/O bound): ciclos curtos de CPU e espera de E/S frequentes Sem quantificação exata Situação ideal: misturar processos CPU bound com I/O bound Executar os CPU bounds quando os processos I/O bound estão bloqueados a espera de E/S sobreposição de tarefas de processamento e de E/S Sistemas Operacionais 11 Sistemas Operacionais 12

4 Execução em ambientes com multiprogramação Técnicas básicas para misturar CPU bound e I/O bound Processo 1 CPU E/S Processo 2 CPU E/S CPU E/S Ocioso (não ocupado) tempo Processo 1: limitado por E/S (I/O bound) Processo 2: limitado por CPU (cpu bound) Reordenamento Escalonar os processos em ordem diferente das suas chegadas/criação Variação de fatia de tempo Fornecer mais tempo de CPU para os processo que assim necessitam Baseado em prioridades id d Processo em execução deve ser aquele com a maior prioridade Processos I/O bound recebem maior prioridade Duas opções: Quando a CPU ficar livre, selecionar o de mais alta prioridade Retirar o processo (preempção) que está na CPU para executar um de mais alta prioridade que acaba de entrar no estado apto Sistemas Operacionais 13 Sistemas Operacionais 14 Algoritmos de escalonamento FIFO - First In First Out Implementam uma política de seleção de processos Algoritmos não preemptivos (cooperativos) First-In First-Out (FIFO) ou First-Come First-Served (FCFS) Shortest Job First (SJF) Shortest Process Next (SPN) ou Shortest Request Next (SRN) High Response Ratio Next (HRRN) Algoritmos preemptivos Round robin (circular) Baseado em prioridades Há outros algoritmos de escalonamento (tempo real) fora de nosso contexto - Rate Monotonic (RM) Earliest Deadline First (EDF) etc... First-Come, First-Served (FCFS) Adequado para sistemas em lote (batch) Simples de implementar (é um fila tradicional!!) Funcionamento: Processos são organizados por ordem de chegada no estado apto Processos que se tornam aptos são inseridos no final da fila Processo que está na frente da fila é o próximo a executar Sistemas Operacionais 15 Sistemas Operacionais 16

5 FIFO - First In First Out (cont.) SJF - Shortest Job First Processo A B C D Tempo A B C D Diagrama de Gantt Seleciona processo apto com menor tempo de execução estimado Introduz uma noção de prioridade (não preemptivo) Algoritmo ótimo (tempo de espera), isto é, fornece o menor tempo médio de espera para um conjunto de processos Tempo médio de espera na fila de execução: Ordem A-B-C-D = ( ) / 4 = u.t. Ordem D-A-B-C = ( ) / 4 = u.t. Tempo médio de retorno (turnaround) na fila de execução: Ordem A-B-C-D = ((0+12)+ (12+8) +(20+15) + (35+5) ) / 4 = u.t. Ordem D-A-B-C = ((0+5) + (5+12) + (17+8) + (25+15) ) / 4 = u.t. Desvantagem: Prejudica processos I/O bound Processo A B C D Tempo A B C D Tempo de espera médio: ( )/4 = 10,75 u.t Tempo de retorno médio: ((0+5)+(5+8)+(13+12)+(25+15))/4 ( ) ( ) ( )) = 20,75 u.t. Sistemas Operacionais 17 Sistemas Operacionais 18 SPN - Shortest Process Next Prevendo o futuro... Também denominado de Shortest Request Next (SRN) Shortest Job First foi concebido para sistemas em lote (batch) Ambientes em lote se tem uma estimativa de tempo de execução dos jobs Conhecimento prévio do comportamento dos processos (jobs) Adaptação para sistemas interativos considerando cada ciclo de CPU como se fosse um job SPN Problema: como determinar (estimar) o tempo de execução futuro? Resposta: prever o futuro com base no comportamento passado Pode ser feito utilizando os tempos de ciclos já passados e realizando uma média exponencial 1. t n tempo do enésimo ciclo de CPU 2. n 1 valor previsto para o próximo ciclo de CPU 3. armazena a informação dos ciclos passados (n - 1) 4., Define - se : 1. n 1 tn n Forma simplificada: Tempo_futuro_estimado estimado = tempo_ultimo_ciclo + tempo_passadopassado Fator fornece importância para o passado recente (último ciclo) ou para a história (ciclos passados) Sistemas Operacionais 19 Sistemas Operacionais 20

6 Exemplo de previsão do futuro Algoritmo Round Robin (RR) Ciclo real Ciclo de cpu: Real: Parâmetros: =0.5 0 =10 Previsto: (valores truncados) Previsto n Previsto n t 2 1 t (1 ) n 2 n 1 n n Real Previsto n n 2 Similar ao algoritmo FIFO, só que: Cada processo recebe um tempo limite máximo (time-slice, quantum) para executar um ciclo de processador Se quantum obtém-se o comportamento de um escalonador FIFO Preempção por tempo (interrupção de relógio) A B C D Tempos de execução A = 12 B = 8 C = 15 D = 5 Sistemas Operacionais 21 Sistemas Operacionais 22 Problemas com Round Robin Problemas com Round Robin (cont.) Problema 1: Dimensionamento do quantum Compromisso entre o sobrecusto e o tempo de resposta em função do número N de usuários Compromisso entre tempos de chaveamento e ciclo de processador (quantum) Traduz a questão da eficiência versus conveniência Eficiência q >> e Conveniência q e (só um exemplo) N *(q + e) q q... q e e e N *(q + e) q q... q q q e Solução: quantum variável e e e Sistemas Operacionais 23 Problema 2: Processos I/O bound são prejudicados Esperam da mesma forma que processos CPU bound, porém quando ganham a CPU, muito provavelmente, não utilizam todo o seu quantum q c Podia executar por q, mas executa só c (c << p) q Modo usuário Modo núcleo e e q: quantum e: escalonamento (inclui salvamento e troca de contexto) Solução: privilegiar os processos I/O bound como forma de compensação Prioridades!!! Sistemas Operacionais 24

7 Noção de prioridades Escalonador preemptivo p por prioridades Critério para selecionar processos/threads Prioridade pode ser definida de forma Estática: no momento da criação (ou alterada via chamada de sistema) Dinâmica: em função da utilização (carga e recursos) do sistema e.g: Processo que detém recurso importante pode ter prioridade aumentada, processo que executa demais pode ter prioridade reduzida etc Pode ser incluído em políticas preemptivas p e não preemptivas: p Preemptiva: poder de retirar processo de menor prioridade da CPU quando um processo de maior prioridade entrar no estado apto. Não-preemptiva: A prioridade é considerada apenas no momento da selecionar um dos processos que está no estado de apto para passar a executando. Múltiplas filas associadas ao estado apto Cada fila tem uma prioridade associada e uma política para selecionar os processos nessa fila (FIFO, SJF, Round-Robin, Robin...) Funcionamento: executando Fila apto 0 Término Dispatch 1. Quando um processo de p CPU maior prioridade que o Prioridade 0 processo em execução entrar Fila apto 1 no estado apto deve ocorrer uma preempção Prioridade 1 2. Varre as filas de prioridades, Fila apto n da mais alta a mais baixa, até encontrar a primeira fila não Prioridade n vazia. Preempção. Idea é dar aos processos I/O Fila de bloqueados bound uma prioridade maior. Evento Espera por evento Sistemas Operacionais 25 Sistemas Operacionais 26 Problemas com escalonamento por prioridades Múltiplas filas com realimentação Um processo de baixa prioridade pode não ser executado Postergação indefinida (starvation) Processo com prioridade estática pode ficar mal classificado e ser penalizado ou favorecido em relação aos demais Típico de processos que durante sua execução trocam de padrão de comportamento (CPU bound a I/O bound e vice-versa) Solução: Múltiplas filas com realimentação Baseado em prioridades dinâmicas Em função do tempo de uso da CPU a prioridade do processo aumenta e diminui Sistema de envelhecimento (agging) evita postergação indefinida id Possibilidade de trocar de fila (migração) Prioridade 0 executando Fila apto 0 Término Dispatch CPU Fila apto 1 Prioridade 1 Fila apto n Prioridade n Evento Preempção Fila de bloqueados Espera por evento Sistemas Operacionais 27 Sistemas Operacionais 28

8 Escalonamento por fração justa (fair share) ) Escalonamento em múltiplos processadores Um escalonador deve ser justo com os usuários do sistema Tomar decisões baseados só em processos leva a injustiças Ex: usuário 1 com 9 processos e usuário 2 com 1 processo. O usuário 1 potencialmente usaria 90% do processador. Solução: Considerar o proprietário do processo como parte do procedimento da política de escalonamento Dois usuários devem receber 50% do processador independente do número de processos que cada um deles detém Duas categorias Assimétricos: uma CPU executa o sistema operacional, as demais executam aplicações de usuários Simétricos: todas CPUs executam o sistema operacional e aplicações usuário Estratégias: Fila de aptos única para todas CPUs ou uma fila por CPU Noção de afinidade Tentativa de manter o processo/thread executando na mesma CPU Pode ser afinidade rígida ou flexível Objetivo é reaproveitar informação já presente nos níveis de cache Balanceamento de carga O objetivo é manter todas as CPUs ocupadas Migração entre filas de aptos se opõe a noção de afinidade Sistemas Operacionais 29 Sistemas Operacionais 30 Processadores multicore e com hyperthreading Estudo de casos São vistos pelo sistema operacional como multiprocessadores Hyperthreading define processadores lógicos em processadores físicos O sistema operacional enxerga os processadores lógicos para efeitos de escalonamento Ex.: Intel i3 (dual core com HT): cada core tem dois lógicos (HT), então, para o SO, há como quatro processadores (lógicos) disponíveis Com HT Sistema operacional Sem HT Sistema operacional UFRGS rmática - U Escalonamento Windows Escalonamento Linux Core lógico Core físico Core lógico Core físico Sistemas Operacionais 31 Sistemas Operacionais 32

9 Estudo de caso: Escalonamento windows Escalonamento windows (classe variável) Unidade de escalonamento é a thread Modelo de threads é 1:1 Real time Preempção por tempo e por prioridade Define duas classes: Tempo real: prioridade estática (níveis 16-31) user Variável: prioridade dinâmica (níveis 0-15) Cada classe possui 16 níveis de prioridades Cada nível é implementado por uma fila em uma política round-robin Mais prio 0 Menos prio Múltiplas filas: classe de tempo real Múltiplas filas com realimentação: classe de tempo variável Threads da classe tempo real tem precedência sobre as da classe variável Dois parâmetros definem a prioridade de uma thread: Valor de prioridade de base do processo Prioridade id d inicial i i que indica sua prioridade id d relativa dentro do processo Prioridade da thread varia de acordo com uso do processador Preempção por esgotar o quantum: prioridade reduzida Preempção por operação de E/S: prioridade aumentada Nunca assume valor inferior a sua prioridade de base, nem superior a 15 Fator adicional em máquina multiprocessadoras: afinidade! Tentativa de escalonar uma thread no processador que ela executou mais recentemente Sistemas Operacionais 33 Sistemas Operacionais 34 Estudo de caso: escalonamento Linux até Escalonamento Linux (classe tempo real) ) Unidade de escalonamento é thread Modelo de threads 1:1 0 Define duas classes Real time User: Processos interativos e batch (regular) 99 RT: Processos de tempo real níveis diferentes de prioridade user Escalona sempre o processo (thread) de maior prioridade Cada nível possui um valor de quantum associado 139 Maior a prioridade, maior o quantum Quantum é o número de ciclos que um processo pode continuar em execução Unidade de ciclo é 1ms (denominado jiffy) Mais prio Menos prio Prioridades entre 0 e 99 Esquema de prioridade fixa Definida por usuário com privilégios especiais Seleciona o processo de maior prioridade para executar Múltiplas filas sem realimentação Políticas de escalonamento (padrão POSIX) SCHED_FIFO: escalonador FIFO com prioridade id d estática SCHED_RR: escalonador Round-robin com prioridade estática Na verdade NÃO são escalonadores de tempo real Não garantem prazo!! São simplesmente mais prioritários que a classe USER Sistemas Operacionais 35 Sistemas Operacionais 36

10 Escalonamento Linux (classe usuário) Fila de execução (Runqueue) q Prioridades de 100 a 139 Associa tempos de quantum a cada nível Fator nice Valor a ser somado na prioridade da thread (-20 a +19) Default é zero Chamada de sistema nice(), mas que só pode ser usada para baixar a prioridade Estrutura t de dadosd Fila de execução (runqueue) = corresponde ao estado de apto Fila de espera (waitqueue) = corresponde ao estado bloqueado Threads que esperam por evento de E/S ou sincronização Uma fila para cada evento que uma thread pode esperar Uma por processador/core Possui ponteiros para dois vetores e uma função (migração) Vetores Ativo e Expirado (140 elementos cada) Cada elemento do vetor é o cabeça de uma lista encadeada Processos de prioridade i estão encadeados a partir do elemento i Princípio de funcionamento Seleciona o processo de mais alta prioridade do vetor de ativos Se quantum do processo esgotar, é movido para o vetor de expirados Se FIFO não há quantum Evita a inanição Classe usuário pode ser colocado em um nível de prioridade diferente Quando não houver mais processos na lista de ativos, inverte o valor dos ponteiros ativo e expirados Sistemas Operacionais 37 Sistemas Operacionais 38 Esquema da estrutura runqueue Prioridades 16 ssimi -17-août-1 A. Caris Runqueue Ponteiro ativo Ponteiro 139 expirado Migração Serve garantir balanceamento entre as runqueues dos diferentes processadores/cores (verificação periódica) 139 Listas duplamente encadeadas Quanto mais prioritário, maior o quantum Nível 100 (800ms) a Nível 139 (5 ms) Prioridade dinâmica Baseada em quanto tempo usou a CPU e quanto tempo ficou bloqueado Recompensa padrão I/O bound com até -5 Pune padrão CPU/bound com até +5 Recalculada ao mover de ativo para expirado Sistemas Operacionais 39 Sistemas Operacionais 40

11 Detalhes gerais sobre escalonador Linux Leituras complementares Evoluiu bastante nos últimos anos Considera a presença de vários processadores/cores Afinidade id d e balanceamento Redução do tempo de execução Justiça A partir da versão o escalonador é baseado em uma política Completely Fair Scheduling Complexidade O(n log n) Baseado em árvores rubro-negras com o tempo de processamento usado como chave de pesquisa A. Tanenbaum. Sistemas Operacionais Modernos (3 a edição), Pearson Brasil, Capítulo 2: seções a A. Silberchatz, P. Galvin; Sistemas Operacionais. (7 a edição). Campus, Capítulo 5 (seções 5.1, 5.2 e 5.3) R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. Editora Bookman 4 a edição, 2010 Capítulo 4 (seções 4.4 e 4.5) Sistemas Operacionais 41 Sistemas Operacionais 42 Leituras complementares A. Tanenbaum. Sistemas Operacionais Modernos (3 a edição), Pearson Brasil, Capítulo 2: seções a A. Silberchatz, P. Galvin; Sistemas Operacionais. (7 a edição). Campus, Capítulo 5 (seções 5.1, 5.2 e 5.3) R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. Editora Bookman 4 a edição, 2010 Capítulo 4 (seções 4.4 e 4.5) criação A espera para usar a CPU apto Término de E/S ou ocorrência de evento de sincronização Trocas de contexto execução término Solicitação de E/S ou sincronização bloqueado A espera de: Conclusão de E/S Sincronização Sistemas Operacionais 43 Sistemas Operacionais 44

12 Previsão por Média Exponencial Introdução Previsão futura 0 1 Medida atual n 1 t n (1 ) n Fator de ponderação Considera apenas o histórico Considera apenas o último ciclo Histórico de previsões n1 n n1 t n 2 3 n 1 n 1 t n ( 1 ) t n 1 (1 ) t n 2 (1 ) t n 3 (1 ) É o valor mais comumente usado O escalonador é a entidade do sistema operacional responsável por selecionar um processo** apto para executar no processador O objetivo é maximizar o uso do processador Típico de sistemas multiprogramados: batch, interativos ou tempo real Requisitos e restrições diferentes em relação a utilização da CPU Duas partes: Escalonador: implementa um mecanismo e uma política de seleção Dispatcher: efetua a troca de contexto **ou thread Sistemas Operacionais 46 Diagrama de escalonamento Políticas preemptivas p Processos (criação) Interrupção de tempo Escalonador de longo prazo Fila de aptos Término CPU Escalonador de médio prazo Evento Fila de suspensos (apto) Filas de suspensos (bloqueado) Fila de bloqueados E/S ou sincronização Obs.: Fila não implica necessariamente em uma política FIFO Escalonador curto prazo Um processo fica executando até que ocorra Término de sua execução (conclusão) Liberação voluntária do processador Realize uma operação bloqueante (E/S ou sincronização bloqueantes) Interrupção de relógio (preempção por tempo) Processo de mais alta prioridade fique pronto para executar (preempção por prioridade) Sistemas Operacionais 47 Sistemas Operacionais 48

13 Chamadas de sistema Linux para tratamento de contexto FUNDAMENTAL para o trabalho prático da disciplina Escalonador 6 simi -17-aoû A. Caris Conjunto de funções *context( ) makecontext( ), setcontext(), getcontext() e swapcontext() USO I: USO II: makecontext( ) Realiza a criação de um contexto, isso é, cria uma estrutura de controle (estilo TCB), uma pilha e um ponto de execução (função) getcontext( ) Foto instantânea do executor de getcontext( ) USO III: swapcontext() Troca contexto entre duas estruturas de controle setcontext( ) Posiciona fluxo de controle no local indicado por makecontext() setcontext( ) Continua fluxo de execução para o local onde getcontext() foi feito, na verdade, para próxima instrução. swapcontext() É um mecanismo que define: QUEM, entre os processos aptos, receberá o direito de usar a CPU Existência i de uma política que pode levar em conta prioridades, id d regras de desempate (tie break) entre processos QUANDO deve ser executado Modos não preemptivo e preemptivo (tempo ou prioridade) CONSULTEM & ESTUDEM: Sistemas Operacionais 49 Sistemas Operacionais 50 Níveis de escalonamento Categorias de sistemas operacionais Na verdade, existem diferentes níveis de escalonamento Curto prazo Médio prazo Longo prazo O escalonador de curto prazo é o mais importante Ambientes diferentes, têm objetivos e requisitos diferentes Três grandes categorias Em lote (batch) Vazão, tempo de retorno e utilização da cpu Interativos Tempo de resposta proporcionalidade p Tempo real Cumprimento de prazos Previsibilidade Sistemas Operacionais 51 Sistemas Operacionais 52

14 Escalonadores não preemptivos p e preemptivosp Introdução Uma vez selecionado, um processo utiliza o processador até que: Não preemptivo: Término de execução do processo Execução de uma requisição de E/S ou sincronização bloqueante Liberação voluntária do processador a outro processo (yield) Preemptivo: Término de execução do processo Execução de uma requisição de entrada/saída ou sincronização Liberação voluntária do processador a outro processo (yield) Interrupção de relógio (preempção por tempo) Processo de mais alta prioridade esteja pronto para executar (preempção por prioridade) Objetivos de sistema operacional são eficiência, conveniência e não interferência Eficiênciaiê i é medida como a relação entre o uso efetivo de um recurso e a quantidade desse recurso disponível no sistema para o uso Um aspecto da conveniência é a qualidade de serviço prestado ao usuário É comum o compromisso entre eficiência e conveniência Ex.: tempo de resposta a um usuário versus uso eficiente do processador Gerência do processador busca usar eficazmente o processador Eficaz implica cuidar da eficiência sem esquecer da conveniência Há duas visões: uma do usuário (conveniência), outra do sistema (eficiência) Sistemas Operacionais 53 Sistemas Operacionais 54 Escalonador médio prazo Escalonador de médio prazo Determina quais processos têm permissão para competir pelo uso do processador Responsável por suspender/resumir processos Associado a gerência de memória (participa do mecanismo de swapping) Suporte adicional i a multiprogramação Grau de multiprogramação efetiva (diferencia aptos dos aptos-suspensos) Trata apenas processos! apto suspenso Bloqueado suspenso Médio prazo Gerência de memória dispatcher apto execução término Evento E/S ou sincronização bloqueado Curto prazo Gerência do processador Sistemas Operacionais 55 Sistemas Operacionais 56

15 Escalonador longo prazo Escalonador de longo prazo Determina a quantidade de processos que podem disputar recursos do sistema (memória e processador) Controle de admissão Controla o grau de multiprogramação do sistema Quantidade de processos existentes no sistema em um determinado instante de tempo Quanto maior a quantidade de processos, maior a chance do processador estar ocupado, mas Menos tempo por processo influenciando a eficiência devido ao tempo de troca de processos (sobrecusto do sistema operacional) Maior o tempo de resposta dos processos Trata apenas processos! apto suspenso Bloqueado suspenso Médio prazo Criação Gerência do memória Evento Erro! dispatcher Controle de multiprogramação Longo prazo apto execução término bloqueado Gerência do processador E/S ou sincronização Curto prazo Sistemas Operacionais 57 Sistemas Operacionais 58 Despachante (dispatcher) p Escalonador de curto prazo Ações a serem executadas: Recuperar o contexto do processo selecionado (PCB) Trocar o estado do processo selecionado para executando Carregar o contexto do processo selecionado (PCB) para a CPU Chavear para modo usuário Iniciar o execução da instrução apontada pelo PC (program counter) P 1 P 2 P 1 Chaveamento de contexto Modo usuário Modo núcleo Salva contexto Salva contexto de P 1 Escalonador de P 2 Despachante (política) Despachante recupera contexto de P 1 recupera contexto de P 2 Sistemas Operacionais 59 Determina qual processo em estado apto usará o processador Executado mais frequentemente que os escalonadores de médio e longo prazo Executado sempre que ocorre eventos importantes: Quando a CPU se torna livre (ociosa) Quando processo de maior prioridade se torna apto (escalonador preemptivo) Chamadas de sistema (E/S, sincronização, término, passagem voluntária) Sinais (interrupção software) Interrupções de hardware (tempo, conclusão de E/S, falta de páginas, proteção) Interrupções de exceções (overflow, underflow) Aborto de processos Trata processos e threads! Processo = 1 thread Sistemas Operacionais 60

16 Objetivos gerais do escalonamento Políticas de escalonamento Maximizar a utilização do processador (eficiência) Maximizar a produção do sistema (throughput ou vazão) Número de processos completados por unidade de tempo Minimizar o tempo de execução ou retorno (turnaround) Intervalo entre a submissão até a conclusão de um determinado processo Minimizar o tempo de espera Tempo que um processo permanece na lista de aptos Minimizar o tempo de resposta Tempo decorrido entre uma requisição e sua realização (sistemas interativos) Em sistemas interativos priorizar a variância à média Justiça: Processos semelhantes devem ser tratados da mesma forma Evitar adiamento indefinido (postergação ou starvation) O objetivo é selecionar quem deverá usar o processador em um determinado instante de tempo Implementadas por algoritmos Existem dois modos: não preemptivos e preemptivos Preempção: capacidade de retirar um processo de execução Devem atender requisitos de acordo com o ambiente Sistemas em lote (batch): vazão, tempo de retorno e utilização da CPU Sistemas interativos: tempo de resposta e proporcionalidade de uso Sistemas de tempo real: cumprimento de prazos e previsibilidade Sistemas Operacionais 61 Sistemas Operacionais 62 Políticas não preemptivas p Prioridades e escalonadores não preemptivos p Políticas preemptivas serão vistas na próxima aula Um processo fica executando até que Complete sua execução (término exit ou kill) Liberação voluntária do processador (chamada yield) Realize uma operação bloqueante (E/S ou sincronização bloqueantes) O que cutuca o escalonador são: Interrupções de exceção Interrupções de software, isso é, chamadas de sistema (e.g. exit(), yield(); read(); write(); send(); recv(); lock(), unlock(), wait()...) Interrupções de hardware, i.é., conclusão de E/S Para melhorar o desempenho é possível reordenar os processos que estão na lista de apto Pode considerar prioridades (mas não executa preempção) Prioridades Pode ser estática ou dinâmica Um processo no estado executando deve ter prioridade id d maior ou igual que qualquer outro processo no estado apto Pressupõe preempção pç (poder de retirar um processo da CPU) POSSÍVEL haver escalonador não preemptivos com prioridades Prioridade é usada como critério de seleção APENAS quando a CPU ficar livre Problema de adiamento indefinido ou inanição (starvation) Processo de baixa prioridade não recebe a CPU por sempre haver um processo de mais alta prioridade para ser executado SOLUÇÃO: envelhecimento (aging) Elevação temporária da prioridade de um processo Sistemas Operacionais 63 Sistemas Operacionais 64

17 High Response Ratio Next (HRRN) Forma de implementar envelhecimento (aging) Tempo _ espera Tempo _ serviço response _ ratio Tempo _ serviço Onde: Tempo de espera = tempo passado no estado apto desde sua entrada nele Tempo de serviço = tempo necessário a execução (ciclo de CPU + ciclo de E/S) Sistemas Operacionais 65

Sistemas Operacionais

Sistemas Operacionais Escalonadores preemptivos p Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Gerência do processador Escalonamento preemptivo Aula 07 O escalonador retira o processador de um processo*

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Gerência do processador (Escalonamento na prática) Aula 06 Sistemas atuais tem uma série de particularidades Multiprocessadores e multicore Existência de memória cache

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Gerência do processador (Escalonamento) Aula 05 Objetivos de um sistema operacional são: Eficiência: relação entre o uso efetivo de um recurso e a quantidade desse recurso

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Gerência do processador (Escalonamento) Aula 05 Objetivos de um sistema operacional são: Eficiência: relação entre o uso efetivo de um recurso e a quantidade desse recurso

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Gerência do processador (Escalonamento na prática) Aula 06 Sistemas atuais tem uma série de particularidades Multiprocessadores e multicore Existência de memória cache

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Prof. André Y. Kusumoto Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Escalonamento CPU Um vez escalonado, o processo utiliza o processador, de modo: Não preemptivo (FIFO, SJF, Cooperativo) Término

Leia mais

Processos. Escalonamento de Processos

Processos. Escalonamento de Processos Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:

Leia mais

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU Definição? Algoritmo de Escalonamento de CPU 6 Terminado? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU? Executado quando ocorre estouro de Quantum ou interrupção do processo (I/O,

Leia mais

Processos. Escalonamento de Processos

Processos. Escalonamento de Processos Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:

Leia mais

Processos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP.

Processos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP. Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Processos Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround: tempo total para executar

Leia mais

Escalonamento de Processos

Escalonamento de Processos Escalonamento de Processos Escalonamento de processos Multiprogramação visa maximizar uso da CPU Sempre que processos estão prontos disputam CPU Algoritmo de escalonamento: maneira de escolher o processo

Leia mais

Sistemas Operacionais. Escalonamento de processos

Sistemas Operacionais. Escalonamento de processos Sistemas Operacionais Escalonamento de processos 1 Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas

Leia mais

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1) Aula Passada Processos (Aula 6) Escalonamento de Processos O SO gerencia os recursos do sistema de computação em benefício dos processos Para isso, mantem estruturas de controles Tabelas (memória, I/O,

Leia mais

Processos. Escalonamento de Processos

Processos. Escalonamento de Processos Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:

Leia mais

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período Redes de Computadores Fundamentos de Sistemas Operacionais - 2º Período PARTE III: GERÊNCIA DE RECURSOS SUMÁRIO 8. GERÊNCIA DO PROCESSADOR: 8.1 Introdução; 8.2 Funções Básicas; 8.3 Critérios de Escalonamento;

Leia mais

Escalonamento de Processos Uniprocessador

Escalonamento de Processos Uniprocessador Sistemas Operacionais Escalonamento de Processos Uniprocessador Capítulo 9 IC - UFF 1 Objetivos do Escalonamento É a chave de multiprogramação eficiente deve ser transparente ao usuário Esolher processos

Leia mais

Sistemas Operacionais Gerenciamento de Processos

Sistemas Operacionais Gerenciamento de Processos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerenciamento de Processos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução Devido

Leia mais

Gerência do Processador. Adão de Melo Neto

Gerência do Processador. Adão de Melo Neto Gerência do Processador Adão de Melo Neto 1 Introdução Sistemas Multiprogramáveis: Múltiplos processos podem permanecer na memória principal compartilhando o uso da CPU. POLÍTICA DE ESCALONAMENTO São um

Leia mais

Infra-Estrutura de Software. Escalonamento

Infra-Estrutura de Software. Escalonamento Infra-Estrutura de Software Escalonamento Processos Concorrentes O Modelo de Multiprogramação Multiprogramação de quatro programas Modelo conceitual de 4 processos sequenciais, independentes Somente um

Leia mais

Sistemas Operacionais. Gerência de Processador

Sistemas Operacionais. Gerência de Processador Sistemas Operacionais Gerência de Processador Sumário 1. Introdução 2. Funções Básicas do Escalonamento 3. Critérios de Escalonamento 4. Escalonamento 1. Não-Preemptivo 2. Preemptivo 5. Políticas de Escalonamento

Leia mais

SOP - TADS Escalonamento de Processos

SOP - TADS Escalonamento de Processos SOP - TADS Escalonamento de Processos Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Conceito de Escalonamento

Leia mais

Infra-estrutura de Software. Escalonamento. Decidindo qual processo vai executar

Infra-estrutura de Software. Escalonamento. Decidindo qual processo vai executar Escalonamento Decidindo qual processo vai executar Escalonamento de processos Quando um ou mais processos estão prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado

Leia mais

Escalonamento. Decidindo qual processo vai executar. Infra-estrutura de Software

Escalonamento. Decidindo qual processo vai executar. Infra-estrutura de Software Escalonamento Decidindo qual processo vai executar Escalonamento de processos Quando um ou mais processos estão prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado

Leia mais

Sistemas de Computação. Processos e escalonamento

Sistemas de Computação. Processos e escalonamento Processos e escalonamento Sistema operacional Programa que age como intermediário entre o usuário de um computador e o hardware Objetivos: Executar programas do usuário e facilitar a resolução de problemas

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 10 Escalonamento Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: Prof. SO José - Prof. Juan Edilberto Espantoso Silva Sumário Introdução

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais ESCALONAMENTO DE PROCESSOS Processos e Recursos Conceito de Escalonamento O S.O. gerencia recursos computacionais em benefício dos diversos processos que executam no sistema. A questão

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III. Escalonamento de Processos. 24/04/2014 Prof. Valeria M. Bastos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III. Escalonamento de Processos. 24/04/2014 Prof. Valeria M. Bastos UFRJ IM - DCC Sistemas Operacionais I Unidade III Escalonamento de Processos 24/04/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Processador Escalonamento de Processos Conceituação Critérios de

Leia mais

Algoritmos de escalonamento

Algoritmos de escalonamento Algoritmos de escalonamento Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas Filas; Utilizam escalonamento

Leia mais

Gerência do Processador. Adão de Melo Neto

Gerência do Processador. Adão de Melo Neto Gerência do Processador Adão de Melo Neto 1 Introdução Sistemas Multiprogramáveis: Múltiplos processos podem permanecer na memória principal compartilhando o uso da CPU. POLÍTICA DE ESCALONAMENTO Como

Leia mais

Sistemas de Informação. Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE III SUMÁRIO 4. GERÊNCIA DO PROCESSADOR: 4.1 Introdução; 4.2 Funções Básicas; 4.3 Critérios de Escalonamento; 4.4 Escalonamentos Não-Preemptivos

Leia mais

Na Aula Anterior... Escalonamento de Processos. Nesta Aula. Escalonamento. Comportamento de um Processo. Historicamente...

Na Aula Anterior... Escalonamento de Processos. Nesta Aula. Escalonamento. Comportamento de um Processo. Historicamente... GSI018 Sistemas Operacionais 05/09/2016 Escalonamento de Processos Na Aula Anterior... Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Utilização de Processos

Leia mais

Davidson Rodrigo Boccardo

Davidson Rodrigo Boccardo Gerenciamento de processos Davidson Rodrigo Boccardo flitzdavidson@gmail.com Revisão Critérios de alocação: Utilização da CPU Produtividade (Throughput) Número de processos finalizados por unidade de tempo

Leia mais

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento Aula 3 Escalonamento Escalonamento Porque? Quando? Como? Critérios? Políticas de escalonamento Como avaliar? Referências: Capítulo 5: 5.1 a 5.3, 5.6 Porque Escalonar? Escalonamento controla compartilhamento

Leia mais

Escalonamento de processos

Escalonamento de processos de processos Carlos Gustavo A. da Rocha Nos computadores atuais frequentemente temos vários processos (threads) competindo por um pequeno número de CPUs Nestes casos uma escolha deve ser feita de qual

Leia mais

Gerência de Recursos. Gerência do Processador

Gerência de Recursos. Gerência do Processador Gerência de Recursos Gerência do Processador Escalonamento Não-Preemptivos e Preemptivos Preempção - possibilidade de o SO interromper um processo em execução e substituí-lo por um outro. O Escalonamento

Leia mais

Estratégias de Escalonamento de Processos

Estratégias de Escalonamento de Processos Estratégias de Escalonamento de Processos Rossano Pablo Pinto, MSc. FATEC - Americana 15/02/2008 Prof. Ms. Rossano Pablo Pinto - FATEC Ame 1 O que é um sistema multiprogramável? compartilha a CPU entre

Leia mais

Sistemas Operacionais: Escalonamento de processos

Sistemas Operacionais: Escalonamento de processos Sistemas Operacionais: Escalonamento de processos Escalonamento Critérios de escalonamento Algoritmos de escalonamento Escalonamento em multiprocessadores Escalonamento tempo real Características de processos

Leia mais

Temporização (Scheduling) de Processos

Temporização (Scheduling) de Processos Temporização (Scheduling) de Processos Tem por objetivo maximizar o uso da CPU, i.e. ter sempre um processo a executar. Ð ÔÖÓ Ó Ù Ñ ÙÐ Ò Fila de tarefas: processos submetidos para execução, à espera de

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Processos - Parte 3 Prof. Dr. Fábio Rodrigues de la Rocha (Processos - Parte 3) 1 / 19 Algoritmos de Escalonamento Nas aulas anterior vimos o ESCALONADOR, que é uma parte do SO responsável

Leia mais

Escalonamento de Processos Estratégias de Escalonamento de Processos

Escalonamento de Processos Estratégias de Escalonamento de Processos Estratégias de Escalonamento de s Rossano Pablo Pinto, MSc. FATEC - Americana 15/0/008 O que é um sistema multiprogramável? compartilha a CPU entre diversos processos é desejável que os processos obtenham

Leia mais

Sistemas Operacionais Aula 07: Scheduling da CPU. Ezequiel R. Zorzal

Sistemas Operacionais Aula 07: Scheduling da CPU. Ezequiel R. Zorzal Sistemas Operacionais Aula 07: Scheduling da CPU Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o Scheduling da CPU, que é a base dos sistemas operacionais multiprogramados

Leia mais

Capítulo 5: Escalonamento da CPU. Operating System Concepts 8th Edition

Capítulo 5: Escalonamento da CPU. Operating System Concepts 8th Edition Capítulo 5: Escalonamento da CPU Capítulo 5: Escalonamento de CPU Conceitos Básicos Critérios de Escalonamento Algoritmos de Escalonamento Escalonamento de Threads Escalonamento de Multiprocessadores Exemplos

Leia mais

Sistemas Operacionais. Capítulo 8 Gerência do Processador

Sistemas Operacionais. Capítulo 8 Gerência do Processador Sistemas Operacionais Capítulo 8 Gerência do Processador Baseado no Livro e Material de Apoio de Arquitetura de Sistemas Operacionais 3ª edição - LTC - 2004 Francis Berenger Machado Luiz Paulo Maia 1 Sumário

Leia mais

Escalonamento de Processos. Estratégia de atribuição do Processador aos Processos

Escalonamento de Processos. Estratégia de atribuição do Processador aos Processos Escalonamento de Processos Estratégia de atribuição do Processador aos Processos 1. Introdução 2. Políticas de Escalonamento 3. Critérios para um bom escalonador 4. Caracterização dos escalonadores 5.

Leia mais

Sistemas Operacionais Aula 7

Sistemas Operacionais Aula 7 Sistemas Operacionais Aula 7 Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer

Leia mais

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (http://flaviovdf.github.io)

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (http://flaviovdf.github.io) SO: Escalonamento Sistemas Operacionais 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Aonde Estamos Processos Chapt 3 Threads Chapt 4 Vamos pular o Chapt 5 brevemente Sincronização e comunicação

Leia mais

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I SSC0640 Sistemas Operacionais I 4ª Aula Processos Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano baseados no

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Prof. Jó Ueyama Apresentação baseada nos slides da Profa. Dra. Kalinka Castelo Branco, do Prof. Dr. Antônio Carlos Sementille e da Profa. Dra. Luciana A. F. Martimiano e nas transparências

Leia mais

Sistemas Operacionais. Escalonamento de Processos

Sistemas Operacionais. Escalonamento de Processos Escalonamento de Processos arliones.hoeller@ifsc.edu.br de fevereiro de baseado no material do Prof. Fröhlich em http://www.lisha.ufsc.br/~guto Gerenciamento de processos Processo É uma instância de um

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Prof. Jó Ueyama Apresentação baseada nos slides da Profa. Kalinka Castelo Branco, do Prof. Dr. Antônio Carlos Sementille e da Profa. Dra. Luciana A. F. Martimiano e nas transparências

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana, Prof. Dra. Regina Helena Carlucci Santana e Sarita Mazzini Bruschi baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum

Leia mais

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Notas da Aula 10 - Fundamentos de Sistemas Operacionais Notas da Aula 10 - Fundamentos de Sistemas Operacionais 1. Escalonadores preemptivos Escalonadores preemptivos são aqueles que têm a capacidade de interromper a execução de um processo para realizar alterações

Leia mais

Escalonamento. Pedro Cruz. EEL770 Sistemas Operacionais

Escalonamento. Pedro Cruz. EEL770 Sistemas Operacionais Escalonamento Pedro Cruz EEL770 Sistemas Operacionais Avisos Propostas de trabalho já foram revisadas Todos os grupos foram comunicados 2 Jantar dos filósofos - Dijkstra Filósofos estão jantando em uma

Leia mais

Bacharelado em Ciência da Computação Sistemas Operacionais

Bacharelado em Ciência da Computação Sistemas Operacionais Bacharelado em Ciência da Computação Sistemas Operacionais Prof. Diego Mello da Silva Instituto Federal de Minas Gerais - Campus Formiga 13 de fevereiro de 2014 diego.silva@ifmg.edu.br (IFMG) Sistemas

Leia mais

Questões de Provas de Períodos Anteriores

Questões de Provas de Períodos Anteriores Sistemas Operacionais 2010/1 Questões de Provas de Períodos Anteriores 1) Dois importantes conceitos encontrados no sistema operacional Unix são: (i) modo de execução ( execution mode ); e (ii) contexto

Leia mais

BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento

BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento BC1518-Sistemas Operacionais Escalonamento de CPU 3 Quadrimestre de 2010 Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br Roteiro Conceito Despachante Critérios de escalonamento Algoritmos

Leia mais

Sistemas Operacionais

Sistemas Operacionais ANHANGUERA Sistemas Operacionais Prof. Esp. Rafael Gross Processos Sumário Introdução Conceito de processo Estrutura do processo Estados do processo Mudanças de estado do processo Criação e eliminação

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 10: Escalonadores Preemptivos Diego Passos Última Aula Escalonadores Não-Preemptivos Escalonadores não-preemptivos agem: Quando um processo requisita E/S. Quando

Leia mais

Notas da Aula 11 - Fundamentos de Sistemas Operacionais

Notas da Aula 11 - Fundamentos de Sistemas Operacionais Notas da Aula 11 - Fundamentos de Sistemas Operacionais 1. Escalonamento de Tempo Real Em sistemas de tempo real, o objetivo principal do escalonador é garantir que todos os processos sejam executados

Leia mais

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 09. Escalonadores. Conceito, escalonamento, filas de escalonamento e tipos de escalonadores.

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 09. Escalonadores. Conceito, escalonamento, filas de escalonamento e tipos de escalonadores. INTRODUÇÃO AOS SISTEMAS OPERACIONAIS setembro/2013 SEMANA 09 Escalonadores. Conceito, escalonamento, filas de escalonamento e tipos de escalonadores. 1 - Introdução A entidade responsável pelo escalonamento

Leia mais

Escalonamento de Processos

Escalonamento de Processos Escalonamento de Processos Prof. Dr. André Carvalho andre@icomp.ufam.edu.br Agenda n Contextualização Classificação de tarefas n Métricas de Escalonamento n Escalonamento de Processos n Exemplos 2 Contextualização

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Multithreading Aula 04 Necessidade de executar atividades concorrentes, porém cooperantes ou que compartilhem dados endereçamento

Leia mais

Escalonamento do CPU

Escalonamento do CPU Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho Função: escolher qual o processo pronto que corre em seguida Invocado possivelmente aquando: interrupções

Leia mais

Escalonamento da CPU

Escalonamento da CPU Escalonamento da CPU Sistemas Operacionais Charles Tim Batista Garrocho Instituto Federal de Minas Gerais IFMG Campus Ouro Branco https://garrocho.github.io charles.garrocho@ifmg.edu.br Sistemas de Informação

Leia mais

Escalonamento da CPU

Escalonamento da CPU Escalonamento da CPU Sistemas Operacionais Charles Tim Batista Garrocho Instituto Federal de São Paulo IFSP Campus Campos do Jordão garrocho.ifspcjo.edu.br/oso charles.garrocho@ifsp.edu.br Técnico em Informática

Leia mais

Escalonamento de Tarefas

Escalonamento de Tarefas Escalonamento de Tarefas Rômulo Silva de Oliveira ebook Kindle, 2018 www.romulosilvadeoliveira.eng.br/livrotemporeal Outubro/2018 1 Escalonamento de Tarefas Sistemas de tempo real são organizados em torno

Leia mais

Ar qu it e t u r a a de e Sist e m a s Ope r a cion a is Fa bia n o o Ut iy a m a Ca pít u lo o 8 Ge r ê n cia a do o Pr oce ssa dor

Ar qu it e t u r a a de e Sist e m a s Ope r a cion a is Fa bia n o o Ut iy a m a Ca pít u lo o 8 Ge r ê n cia a do o Pr oce ssa dor Arquitetura de Sistem as Operacionais Fabiano Utiyam a Capítulo 8 Gerência do Processador 8/1 I ntrodução Com o surgimento dos sistemas multiprogramáveis, nos quais múltiplos processos poderiam permanecer

Leia mais

1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU?

1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU? 1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU? 2 O que é ambiente de execução? 3 Qual a finalidade da PCB? 4 Quais os componentes básicos da PCB? 5 Quais os 3 grupos de elemento

Leia mais

Lista de Exercícios Escalonamento de CPU. 1. Considere o seguinte conjunto de processos, com o tamanho do tempo de burst de CPU dado em milissegundos:

Lista de Exercícios Escalonamento de CPU. 1. Considere o seguinte conjunto de processos, com o tamanho do tempo de burst de CPU dado em milissegundos: Lista de Exercícios Escalonamento de CPU 1. Considere o seguinte conjunto de processos, com o tamanho do tempo de burst de CPU dado em milissegundos: Tempo de Serviço Prioridade 10 3 1 1 P3 2 3 P4 1 4

Leia mais

6 ESCALONAMENTO DE CPU

6 ESCALONAMENTO DE CPU 6 ESCALONAMENTO DE CPU O escalonamento de CPU é ponto chave da multiprogramação. Ela permite que haja mais de um processo em execução ao mesmo tempo. Em ambientes com um único processador, o escalonador

Leia mais

SOP Sistemas Operacionais Módulo 04: Processo

SOP Sistemas Operacionais Módulo 04: Processo SOP Módulo 04: Processo Prof. Charles Christian Miers e-mail: charles.miers@udesc.br Multiprogramação Tornar mais eficiente o aproveitamento dos recursos do computador Execução simultânea de vários programas

Leia mais

SEM 544 Desenvolvimento de Produtos Mecatrônicos

SEM 544 Desenvolvimento de Produtos Mecatrônicos SEM 544 Desenvolvimento de Produtos Mecatrônicos >>>> Sistemas de Tempo Real

Leia mais

Sistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca Sistemas Operacionais Escalonamento Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Copyright Carlos Ferraz Cin/UFPE Escalonamento Processos Concorrentes O modelo de multiprogramação

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 9: Escalonadores Não- Preemptivos Diego Passos Última Aula Escalonamento O que é escalonamento. Objetivos dos escalonadores. Vazão. Eficiência. Tempo de resposta...

Leia mais

LICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador

LICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador LICENCIATURA EM COMPUTAÇÃO Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador SANTO AMARO 2012 JEANDERVAL SANTOS DO CARMO RESENHA Resenha do quarto capítulo: Gerencia

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 8: Escalonamento Diego Passos Última Aula Implementação de Processos e Threads Bloco descritor de processo. Informações de gerência do processo. Contexto. Informações

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 11: Escalonadores: Estudos de Caso Diego Passos Últimas Aulas Escalonadores Escalonadores não-preemptivos: FIFO. SJF (com e sem previsão). Escalonadores preemptivos:

Leia mais

Multiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. Padrão de Execução dum Processo

Multiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. Padrão de Execução dum Processo Sumário Multiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. 1 Padrão de Execução dum Processo Processos (e threads) alternam: execução de instruções;

Leia mais

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES SISTEMAS OPERACIONAIS TÁSSIO JOSÉ GONÇALVES GOMES www.tassiogoncalves.com.br tassiogoncalvesg@gmail.com CONTEÚDO PROCESSOS Fundamentos O Núcleo do Sistema Operacional Escalonamento de Processos Comunicação

Leia mais

Sistemas Operacionais. Processos IC - UFF

Sistemas Operacionais. Processos IC - UFF Sistemas Operacionais Processos O conceito de processos No capítulo 1, fizemos as seguintes afirmativas quanto aos processos: Mais geral que programa Consiste em um código executável e seus dados associados,

Leia mais

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios SISTEMAS OPERACIONAIS Prof a. Roberta Lima Gomes (soufes@gmail.com) 1ª. Lista de Exercícios Data de Entrega: não há. O objetivo da lista é ajudar no estudo individual dos alunos. Soluções de questões específicas

Leia mais

Resumo: Sistemas Operacionais Abertos

Resumo: Sistemas Operacionais Abertos Resumo: Sistemas Operacionais Abertos Prof. Michael A. Pontes Processos Um processo é um programa em execução. Enquanto um processo é executado, ele muda de estado. O estado de um processo é definido pela

Leia mais

Técnicas Avançadas de Programação

Técnicas Avançadas de Programação Sumário Técnicas Avançadas de Programação Prof. João Marcos M. da Silva Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Agosto de 2011 Prof. João Marcos

Leia mais

LabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada...

LabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada... LabSO Gerência de Processos Retrospectiva da aula passada... AULA 4 Flávia Maristela (flavia@flaviamaristela.com) Romildo Martins (romildo@romildo.net) Na aula passada... Processos Estados do processo

Leia mais

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto Sistemas Operacionais Abertos Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Gerência de Processos Componentes do Sistema Um programa não faz nada a não ser que suas instruções sejam executadas

Leia mais

Temporização(Scheduling) de Processos. TemporobjectivomaximizarousodoCPU,i.e.tersempre um processo a executar.

Temporização(Scheduling) de Processos. TemporobjectivomaximizarousodoCPU,i.e.tersempre um processo a executar. Temporização(Scheduling) de Processos TemporobjectivomaximizarousodoCPU,ietersempre um processo a executar Filas de processos usadas em scheduling: Fila de tarefas: processos submetidos para execução,

Leia mais

Sistemas Operativos: Implementação de Processos

Sistemas Operativos: Implementação de Processos Sistemas Operativos: Implementação de Processos Pedro F. Souto (pfs@fe.up.pt) March 4, 2014 Sumário: Implementação de Processos Contexto (Estado) dum Processo Comutação de Processos Escalonamento de Processos

Leia mais

Davidson Rodrigo Boccardo

Davidson Rodrigo Boccardo Fundamentos em Sistemas de Computação Davidson Rodrigo Boccardo flitzdavidson@gmail.com Componentes de um SO Gerenciamento de Processos Sistema de Arquivos Gerenciamento de Entrada/Saída Gerenciamento

Leia mais

Escalonamento no Unix. Sistemas Operacionais

Escalonamento no Unix. Sistemas Operacionais Escalonamento no Unix Projeto do Escalonador O projeto de um escalonador deve focar em dois aspectos: Política de escalonamento estabelece as regras usadas para decidir para qual processo ceder a CPU e

Leia mais

Sistemas Operacionais

Sistemas Operacionais Brainstormig Sistemas Operacionais Processos e multiprogramação Aula 2 Quais são os componentes de um programa? Como podemos representar um programa em execução? Onde ele inicia a executar? Como se mapeia

Leia mais

Sistemas Operativos. Sumário. Escalonador da CPU. Por Prioridades Round Robin. ! Algoritmos de escalonamento

Sistemas Operativos. Sumário. Escalonador da CPU. Por Prioridades Round Robin. ! Algoritmos de escalonamento Escalonador da CPU Sumário! Algoritmos de escalonamento Por Prioridades Round Robin Por Prioridades! A cada processo é associada uma prioridade Geralmente um número inteiro (vamos considerar que os números

Leia mais

Agendador. Agendador de Processos (Escalonador de Processos) Critérios de Agendamento. Agendador

Agendador. Agendador de Processos (Escalonador de Processos) Critérios de Agendamento. Agendador Agendador Agendador de Processos (Escalonador de Processos) Prof. Alexandre Beletti Ferreira Quando mais de um processo é executável O SO deve decidir a ordem de execução dos mesmos Quem decide isso é

Leia mais

Notas da Aula 8 - Fundamentos de Sistemas Operacionais

Notas da Aula 8 - Fundamentos de Sistemas Operacionais 1. Escalonamento Notas da Aula 8 - Fundamentos de Sistemas Operacionais Uma das funções de um SO é gerenciar o acesso aos recursos da máquina, por parte dos vários processos do sistema. Isto significa

Leia mais

Escalonamento de Processos. Ciclo 3 AT1. Prof. Hermes Senger

Escalonamento de Processos. Ciclo 3 AT1. Prof. Hermes Senger Escalonamento de Processos Ciclo 3 AT1 Prof. Hermes Senger Objetivos No ciclo anterior aprendemos que existe uma fila de processos. Mas afinal, quem decide em que ordem os processos são executados? Todos

Leia mais

Escalonamento de Processos

Escalonamento de Processos Porque é necessário escalonar? Escalonamento de s s precisam ser executados s concorrem a PU Escalonador: omponente (implementação) do sistema operacional etermina a ordem de dos baseado num algoritmo

Leia mais

Sistemas Operativos: Implementação de Processos

Sistemas Operativos: Implementação de Processos Sistemas Operativos: Implementação de Processos Pedro F. Souto (pfs@fe.up.pt) March 8, 2012 Sumário: Implementação de Processos Contexto (Estado) dum Processo Comutação de Processos Escalonamento de Processos

Leia mais

Aula 10: Escalonamento da CPU

Aula 10: Escalonamento da CPU Aula 10: Escalonamento da CPU O escalonamento da CPU é a base dos sistemas operacionais multiprogramados. A partir da redistribuição da CPU entre processos, o sistema operacional pode tornar o computador

Leia mais

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIADO RIO GRANDE DO NORTE IFRN Disciplina: Fundamentos de Sistemas Operacionais e Sistemas Operacionais de Rede Professor: Msc. Rodrigo Ronner T. da Silva

Leia mais

Gerência de Recursos. Gerência do Processador

Gerência de Recursos. Gerência do Processador Gerência de Recursos Gerência do Processador Introdução Com o surgimento dos sistemas multiprogramáveis, onde múltiplos processos poderiam permanecer na memória principal compartilhando o uso da CPU, a

Leia mais