Gestor de Processos. Gestor de Processos

Documentos relacionados
Gestor de Processos. Gestor de Processos

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2011 / Gestor de Processos

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2012 / Gestor de Processos

Gestor de Processos Núcleo do Sistema Operativo

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

Função Fundamental do SO

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA

Sumário. Sistemas Operativos 1

Sistemas Operativos. IST - LEIC - 1º Semestre. Autoria. estes transparentes: Page 1

Sistemas Operativos. Objetivo. Entrega do Questionário. Exercício 1. Exercício 2. Exercício 3. Exercício 4. Grupo 1 Introdução

Sistemas Operativos: Implementação de Processos

Sistemas Operativos: Implementação de Processos

Infra-Estrutura de Software. Escalonamento

Arquitetura de Sistemas Operativos

Trincos Lógicos: Implementações. Trincos lógicos: Propriedades

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

Sistemas Operacionais. Processos IC - UFF

Sistemas de Tempo-Real

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C SISTEMAS OPERATIVOS

LEIC/LERC 2008/09 Primeiro Teste de Sistemas Operativos

Sistemas Operacionais

Sistemas Operacionais

Processos. Escalonamento de Processos

Grupo I [7 Val] 1. Considere os seguintes 3 algoritmos de escalonamento num sistema operativo de tempo virtual:

Escalonamento de Processos Uniprocessador

Escalonamento do CPU

Questões de Provas de Períodos Anteriores

Processos. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos,

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

2 - Organização do Sistema Operativo. Prof. Ricardo Silva

Processos. Escalonamento de Processos

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

LEIC/LERC 2008/09. Repescagem do Primeiro Teste de Sistemas Operativos

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

Eventos. Rotinas Assíncronas

Processos. Escalonamento de Processos

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

O Núcleo do Sistema de Operação (1) José C. Cunha, DI/FCT/UNL

SOP - TADS Escalonamento de Processos

Introdução aos Sistemas Operacionais

Sistemas Operacionais. Escalonamento de processos

Execução Concorrente

LEIC/LERC 2009/10 1º Teste de Sistemas Operativos

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA

( ) Sistemas de Computação - Unifacs Professor : Marco Antônio C. Câmara - Lista de Exercícios II - Dia 18/10/2009

Informática Básica. Licenciatura em Ciência da Informação. Tito Carlos S. Vieira. Tito Carlos S. Vieira

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

Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios

Escalonamento no Unix. Sistemas Operacionais

Breve Introdução aos Sistemas Operativos. Disciplina de Informática PEUS, U.Porto

Sistemas Operativos. Escalonamento e sincronização. Rui Maranhão

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

LEIC/LERC 2009/10 Repescagem do 1º Teste de Sistemas Operativos

Execução Concorrente

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

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

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo

Introdução aos Sistemas de Tempo Real

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Sistemas de Computação. Processos e escalonamento

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

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

Sistemas Operacionais

LEIC/LERC 2010/11 1º Teste de Sistemas Operativos

Sistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca

Algoritmos de escalonamento

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

Processos. Um SO executa uma multiplicidade de programas, em batch ou time-sharing, que se designam por: ÈÖÓ Ó é um programa em execução.

Sistemas de Entrada e Saída

Teste de Sistemas de Operação 30 de Maio de 2009

Sistemas Operativos: Escalonamento de Processos

Sistemas de Informação. Sistemas Operacionais

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

PROCESSOS. Sistemas Operacionais. Vinícius Pádua

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

Sistemas de Tempo-Real

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

Processos. Conceitos Básicos

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

Sistemas Operacionais. Capítulo 5 Processos

LEIC/LERC 2008/09. Primeiro Exame de Sistemas Operativos. 20 de Janeiro de Duração: 2h30m. Grupo I [3 valores]

Sistemas Operacionais Aula 3

Temporização (Scheduling) de Processos

Sistemas Operativos. Um conjunto de rotinas de software que. virtualizando-o. diversos como o sistema de ficheiros e.

Acetatos de apoio às aulas teóricas

Fundamentos de Sistemas Operacionais

TAREFAS IMPLEMENTAÇÃO DE TAREFAS AULA 06 Sistemas Operacionais Gil Eduardo de Andrade

Sistemas Operacionais I

Escalonamento da CPU

Escalonamento da CPU

Registradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores.

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:

Entrada e Saída. Walter Fetter Lages.

Sistemas Operacionais I

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios. Aula 06.

Processos. Processo (1) Processo (2) Processo (3) Conceitos Básicos

Processos. Conceitos Básicos

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

Transcrição:

Gestor de Processos Núcleo do Sistema Operativo Gestor de Processos Entidade do núcleo responsável por suportar a execução dos processos Gestão das Interrupções Multiplexagem do Processador Despacho efectua a transferência de controlo entre dois processos Escalonamento optimiza i a gestão dos recursos Sincronização no núcleo Implementação das funções sistema relacionadas com os processos e sincronização Page 1 1

Estrutura Monolítica Aplicações Bibliotecas do sistema Barreira de protecção Núcleo do Sistema Operativo Device drivers O núcleo executa-se num modo de protecção diferente dos processos utilizadores A mudança automática entre os dois modos é efectuada pelas interrupções (e excepções) e pela instrução de Return from Interrupt 8/28/2003 José Alves Marques Chamada a Funções Sistema Modo Utilizador (não privilegiado) Programa do Utilizador Rotina de biblioteca de chamada à função sistema X trap RTI Executável Modo Núcleo(privilegiado) Agulhagem Função sistema A Função sistema Z Sistema operativo Page 2 2

Para relembrar Intel 80x86 INT - Interrupt Usage: INT num Modifies flags: TF IF Initiates a software interrupt by pushing the flags, clearing the Trap and Interrupt Flags, pushing CS followed by IP and loading CS:IP with the value found in the interrupt vector table. Execution then begins at the location addressed by the new CS:IP Representação dos Processos e Tarefas Page 3 3

Contexto: Representação de um processo no núcleo Contexto de hardware Registos do processador (acumulador, uso geral, contador de programa, stack pointer, flags de estado do CPU) Registos da unidade de gestão de memória Contexto de software Identificação (processo, utilizador, grupo) Prioridade Estado do processo Outras informações (periféricos em uso, ficheiros abertos, directório por omissão, programa em execução, contabilização de recursos, signals pendentes, etc.) Lista dos Processos Executáveis Tabela no sistema operativo Lista dos processos executáveis Contexto do processo i Processo em execução Contexto do Contexto do processo i+1 processo i+2 Processos executáveis Page 4 4

Comutação de Processos Diagrama de Estado dos Processos Em Execução execução Seleccionado para execução Gestor de processos decide atribuir processador a outro processo Espera por conclusão de um acontecimento Execut ável Bloqueado Ocorrência do acontecimento que bloqueava o processo 2007 Sistemas Operativos Page 5 5

Invocação do Sistema Operativo Todas as actividades do sistema operativo podem ser consideradas como desencadeadas por interrupções As interrupções podem ser provocadas por: Hardware, em particular pelo relógio, mas também pelos diferentes periféricos. Interrupções de software (traps, software interrupts) usadas nas chamada às funções do sistema pelos programas utilizador. Excepções provocadas pelo programa em execução como divisão por zero ou acesso a memória indevido. Sistema Operativo como o gestor global de todas as interrupções Invocação do Sistema Operativo Interrupção Gestor das Interrupções Rotina de Serviço da Interrupção Despacho salvaguarda contexto (na pilha actual) identificação da interrupção (vector de int.) serve a interrupção possivelmente alterando o estado de algum processo Retorno da Interrupção Page 6 6

Rotina de Serviço da Interrupção Copia registos da pilha actual para o contexto do processo (tabela dos processos) Corre o código específico à interrupção, possivelmente alterando o estado dos processos Invoca o despacho para eventualmente escolher outro processo Despacho Processo X Interrupção Despacho Comuta o processo RTI Processo Y Processo X RTI Despacho Comuta o processo Interrupção Page 7 7

Despacho A função do despacho é comutar o processador sempre que lhe seja indicado d para o fazer. Funcionalidade copia o contexto hardware do processo em execução para o respectivo descritor (entrada na tabela de processos) escolhe o processo mais prioritário entre os executáveis carrega o seu contexto hardware no processador transfere o controlo para o novo processo coloca program counter guardado no contexto do novo processo na pilha núcleo return from interrupt (RTI) é enganado Escalonamento (Scheduling) Page 8 8

Escalonamento Objectivos Optimizar a utilização do processador (e dos restantes componentes do sistema) Políticas de escalonamento definem objectivos mais específicos: Batch Produtividade - Throughput maximizar o número máximo de jobs por hora. Turn around time tempo entre a submissão do trabalho e a obtenção do resultado. Utilização do processador manter o processador com elevada ocupação Tempo partilhado Tempo de resposta responder rapidamente aos eventos desencadeados pelos utilizadores Tempo real Cumprir metas temporais (deadlines) para tratamento dos acontecimentos Funcionamento com desempenho previsível (e.g., multimedia) Função de Escalonamento Define quem deve ser o próximo processo a executar-se, de acordo com a política de escalonamento Quão frequentemente deve ser invocada? Em teoria, útil sempre que um recurso do sistema (e.g., memória) é atribuído ou libertado. Problema? Page 9 9

Escalonamento em Tempo Partilhado Duas classes de processos: CPU bound uso intensivo do processador I/O bound uso intensivo das E/S - interactivos Quais devem ter maior prioridade no acesso ao CPU? Políticas de Escalonamento em Sistemas de Tempo Partilhado Tempo de Execução Partilhado (time-slices) Prioridades Preempção Modificação dinâmica das prioridades Page 10 10

Tempo de Execução Partilhado: Time-Slices (ou Round-Robin) O que é Tempo de execução de um processo é limitado a um quantum de tempo (time-slice) Objectivo: Permitir que todos os processos executáveis tenham oportunidade de dispor do processador ciclicamente Implementação Lista de processos executáveis é gerida em round-robin robin Desvantagens Pode conduzir a tempos de resposta elevados em situações de muita carga Prioridades As prioridades permitem definir a importância de um processo no processo de escalonamento Um processo mais prioritários tem maior probabilidade de dispor do processador A prioridade pode ser Fixa, usual em processos de tempo real Dinâmica consoante o comportamento do processo usual nos sistemas de tempo virtual e normalmente privilegiando os processo interactivos (I/O intensivos). Page 11 11

lista de maior prioridade (menos processador usado) Gestão Multilista utiliza o processador utiliza o processador lista de menor priorida id utiliza o de processador Em que situações um processo deve ser promovido? E relegado? Gestão Multilista com Quantum Variável Prioridade Máxima t cpu = 0,02 s Prioridade Média t cpu = 0,25 s Despacho Prioridade Mínima t cpu = 2 s Adaptar o valor do quantum ao comportamento dos processos Aumentar o valor do quantum quando o sistema está muito carregado (limitar o custo dos da comutação de contextos e aumentar a probabilidade do processo terminar) Page 12 12

Preempção O que é: acção de retirar o processador a um processo em execução devido à existência de outro mais prioritário Objectivo: permite que os processos mais prioritários reajam rapidamente a um dado acontecimento (reactividade aos acontecimentos externos). Implementação: O despacho deve ser chamado na sequência de todas as acções susceptíveis de modificarem os estado dos processos Desvantagens: Mudança frequente de contexto (ex.: um processo só deve ser retirado de execução depois de ter usado processador durante um tempo mínimo). Chamadas Sistema Page 13 13

Chamadas Sistema relacionadas com os Processos IdProcesso = CriarProc (Código, Prioridade) Sair ([Estado]) EliminarProc ( IdProcesso ) Estado = EsperarTerminacao (Idprocesso) IdTarefa = CriarTarefa(procedimento); EliminarTarefa (IdTarefa) EsperaTarefa (IdTarefa) ComutarTarefa RotinaAssincrona (Evento,Procedimento) s = CriarSemaforo(num_unidades) Esperar(s) Assinalar(s) Suspender (IdProcesso) Acordar (IdProcesso) Adormecer (Período) Identificar que acções devem ser executadas por estas chamadas Semáforos Semaforo s Contador Fila de procs./tarefas bloqueadas Processos ou tarefas Processos ou tarefas bloqueados no Semáforo s Page 14 14

Diagrama de Estado dos Processos Seleccionado pelo Despacho Em Execução Suspender Preempção Executável Bloqueado Suspender Suspenso Acordar Desbloquear Acordar Suspender Page 15 15