Gestor de Processos. Gestor de Processos



Documentos relacionados
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

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Introdução aos Sistemas Operativos

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

Processos. Estados principais de um Processo: Contexto de um Processo. Nível de um Processo.

Mecanismo de Interrupção

Máquinas virtuais. Máquina virtual de um processo. Máquinas virtuais (3) Máquina virtual de sistema. Máquinas virtuais (1) VMware para Windows e Linux

Sistemas Operacionais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Máquina de estados UNIX O

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

Sistemas Operacionais

Arquitetura de um Computador

Componentes de um Sistema de Operação

Sistemas Operacionais. Prof. André Y. Kusumoto

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

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

Processos e Threads (partes I e II)

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

ENTRADA E SAÍDA DE DADOS

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

Entradas/Saídas. Programação por interrupções Conceitos gerais Programação da porta série Transmissão

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

Sistemas Operacionais

Sistemas Operativos I

Aula 2 Modelos computacionais

Ciclo de Vida de um Processo

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

Capítulo 8. Software de Sistema

Processamento com SPOOL. Utilização do CPU e periféricos. Perfis dos programas. Exemplo IBM 1460 (1963) Problemas no escalonamento.

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Introdução aos Sistemas

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

Aula 5 Escalonamento usando prioridades fixas

Sistemas Operativos I

Sistemas Operacionais

Arquitetura de Computadores - Revisão -

Sistemas Operacionais

Arquiteturas de Software

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

Sistemas Operacionais

Sistema Operacional Correção - Exercício de Revisão

Grupo I [4v] executaprograma();

Escalonamento no Linux e no Windows NT/2000/XP

Hardware e Software das TI

Componentes de um Sistema de Operação

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

LABORATÓRIO DE LINGUAGEM DE MONTAGEM INTERRUPÇÕES DO DOS E DA BIOS

Sistemas Operacionais Processos e Threads

Integração de Sistemas Embebidos MECom :: 5º ano

Programação de Sistemas

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

Simulação de Evento Discreto

Sincronização. Cooperação entre Processos

Gerência de Processador

Estruturas do Sistema de Computação

E/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO

Sistemas de Tempo-Real

Organização e Arquitetura de Computadores

Entradas/Saídas. 1. Princípios de hardware/software de E/S 2. Camadas de software de E/S 3. Relógios (Temporizadores) 4. Gestão de consumo de potência

Sistemas Operacionais

GERENCIAMENTO DO PROCESSADOR. Prof. Maicon A. Sartin

Entradas/Saídas. Programação por espera activa Programação por interrupções

Evolução dos Processadores

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão

Dispositivos de Entrada e Saída

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

Gerência do Processador

Gerência de processos Estudos de caso - BSD Unix

Arquitetura de Computadores. Sistemas Operacionais IV

Timer e serviços do Timer

Gerência de processos Requisitos fundamentais

ESTUDO DE CASO WINDOWS VISTA

Processos. Estruturas de Controle

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

BARRAMENTO DO SISTEMA

Sistemas Operacionais

28/9/2010. Unidade de Controle Funcionamento e Implementação

Processos. Adão de Melo Neto

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

Tipos de sistemas operacionais

Visão Geral de Sistemas Operacionais

Sistema Operacional. Prof. Leonardo Barreto Campos 1

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

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

Arquitetura de Sistemas Operacionais

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração:

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 a gestão dos recursos Sincronização no núcleo Implementação das funções sistema relacionadas com os processos e sincronização

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 Representação dos Processos

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 Contexto do processo i+1 Contexto do processo i+2 Processo em execução Processos executáveis

Comutação de Processos Diagrama de Estado dos Processos Em execução Execu 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

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 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

Invocação do Sistema Operativo Interrupção Gestor das Interrupções salvaguarda contexto e muda para modo núcleo (Copia registos da pilha actual para o contexto do processo, na tabela dos processos) identifica a rotina de tramento da interrupção Rotina de Serviço da Interrupção serve a interrupção, possivelmente alterando o estado de algum processo Despacho Pode seleccionar outro processo para execução Retorno da Interrupção repõe o contexto do processo em execução passa para modo utilizador Despacho A função do despacho é comutar o processador sempre que lhe seja indicado 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

Processo A em execução Processo A chama fechar(t) Despacho: exemplo E se o processo em execução não chamar função sistema? Como pode o despacho acontecer? Interrupção Processo B executável Gestor de Interrupções Processo A bloqueado Rotina de Tratamento da Interrupção Despacho Para além do bloqueio num objecto de sincronização, que outras situações podem justificar o despacho? Retorno da Interrupção 2007 Sistemas Operativos Processo B Em execução Escalonamento (Scheduling)

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?

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

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 Desvantagens Pode conduzir a tempos de resposta elevados em situações de muita carga Algoritmo usado pelas sthreads (pacote base do problema I.B) 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).

lista de maior prioridade (menos processador usado) Gestão Multilista utiliza o processador utiliza o processador lista de menor priorida de utiliza o 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)

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). Diagrama de Estado dos Processos Seleccionado pelo Despacho Em Execução Suspender Preempção Executável Bloqueado Suspender Suspenso Acordar Desbloquear Acordar Suspender