Sistemas Operacionais
|
|
- Geraldo Lagos de Santarém
- 5 Há anos
- Visualizações:
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
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 maisSistemas 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 maisSistemas 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 maisSistemas 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 maisSistemas 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 maisSistemas 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 maisProcessos. 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 maisDefiniçã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 maisProcessos. 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 maisProcessos. 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 maisEscalonamento 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 maisSistemas 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 maisProcessos. 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 maisProcessos. 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 maisRedes 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 maisEscalonamento 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 maisSistemas 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 maisGerê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 maisInfra-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 maisSistemas 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 maisSOP - 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 maisInfra-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 maisEscalonamento. 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 maisSistemas 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 maisSistemas 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 maisSistemas 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 maisUFRJ 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 maisAlgoritmos 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 maisGerê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 maisSistemas 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 maisNa 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 maisDavidson 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 maisSistemas 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 maisEscalonamento 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 maisGerê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 maisEstraté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 maisSistemas 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 maisTemporizaçã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 maisSistemas 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 maisEscalonamento 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 maisSistemas 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 maisCapí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 maisSistemas 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 maisEscalonamento 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 maisSistemas 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 maisSO: 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 maisSSC0640 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 maisSistemas 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 maisSistemas 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 maisSistemas 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 maisSistemas 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 maisNotas 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 maisEscalonamento. 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 maisBacharelado 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 maisQuestõ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 maisBC1518-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 maisSistemas 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 maisFundamentos 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 maisNotas 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 maisINTRODUÇÃ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 maisEscalonamento 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 maisSistemas 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 maisEscalonamento 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 maisEscalonamento 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 maisEscalonamento 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 maisEscalonamento 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 maisAr 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 mais1 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 maisLista 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 mais6 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 maisSOP 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 maisSEM 544 Desenvolvimento de Produtos Mecatrônicos
SEM 544 Desenvolvimento de Produtos Mecatrônicos >>>> Sistemas de Tempo Real
Leia maisSistemas 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 maisFundamentos 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 maisLICENCIATURA 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 maisFundamentos 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 maisFundamentos 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 maisMultiprocessamento. 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 maisSISTEMAS 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 maisSistemas 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 maisSISTEMAS 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 maisResumo: 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 maisTé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 maisLabSO 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 maisSistemas 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 maisTemporizaçã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 maisSistemas 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 maisDavidson 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 maisEscalonamento 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 maisSistemas 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 maisSistemas 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 maisAgendador. 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 maisNotas 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 maisEscalonamento 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 maisEscalonamento 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 maisSistemas 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 maisAula 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 maisINTRODUÇÃ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 maisGerê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