Gerência de processos Requisitos fundamentais



Documentos relacionados
Gerência do Processador

Gerência do Processador

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

Gerência de Processador

Sistemas Operacionais

Sistemas Operacionais

Escalonamento no Linux e no Windows NT/2000/XP

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

Gerência de processos Estudos de caso - BSD Unix

Gerência de Processador

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

Capítulo 4 Gerência de Processador

Sistemas Operacionais Processos e Threads

03 GERÊNCIA DO PROCESSADOR

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

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

GERENCIAMENTO DO PROCESSADOR. Prof. Maicon A. Sartin

Programação Concorrente Processos e Threads

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. Escalonamento de Processo. Prof. Dr. Márcio Andrey Teixeira

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

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

Gerenciamento de Processos

Organização de Computadores 1

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

Sistemas Operacionais

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

Processos e Threads (partes I e II)

Sistemas Operacionais

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

Sistemas Operacionais

Sistema Operacional. Prof. Leonardo Barreto Campos 1

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

Introdução aos Sistemas

Escalonamento de CPU 2 Quadrimestre

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

Capítulo 5: Escalonamento da CPU

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

Gerenciamento de Processos

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

Gerenciamento de Memória

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Processos. Adão de Melo Neto

Infra-Estrutura de Software. Introdução. (cont.)

Algoritmos de Escalonamento

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

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

Everson Scherrer Borges João Paulo de Brito Gonçalves

Sistemas Operacionais

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

Recursos. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou Solicitar o recurso: esperar pelo recurso, até obtê-lo.

Sistemas Operacionais

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

1.2 Tipos de Sistemas Operacionais

Sistemas de Lotes (2) Sistemas de Lotes (3) Layout da MP em Sistemas de Lotes. Minimizar o tempo de resposta

SISTEMAS OPERACIONAIS

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

Escalonamento de processos

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

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Tipos de sistemas operacionais

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

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

AULA 5 Sistemas Operacionais

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

Programação de Sistemas

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

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

PROCESSOS. Prof. Maicon A. Sartin

SISTEMAS OPERACIONAIS

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

Sistemas Operacionais Livres. Hélder Nunes

Processamento de Dados

Sistemas Operativos I

Sistemas Operacionais

Introdução aos Sistemas Operativos

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

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

Sistemas Operacionais Introdução. Professora: Michelle Nery

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

ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC. Prof. Almeida Jr

Sistemas Operacionais

Sincronização e Comunicação entre Processos. Adão de Melo Neto

7 Processos. 7.1 Introdução

Arquitetura e Organização de Computadores

Transcrição:

Requisitos fundamentais Implementar um modelo de processo. Implementar facilidades para criação e destruição de processos por usuários Alocar recursos a processos Intercalar a execução de um número de processos para maximizar a utilização do processador, mantendo um tempo de resposta razoável

Processo:programa em execução Formado por: Instruções Recursos (ex: memória, arquivos abertos) Informação de controle interna ao sistema operacional O arquivo de programa contém informações necessárias para sua execução

Processo não é o mesmo que programa! Programa é como uma receita, com instruções para se resolver um problema Processo é como alguém seguindo a receita Processo precisa de recursos computacionais para trabalhar: memória, arquivos, tempo de processador,... Programa não trabalha: fica passivamente guardado em um arquivo

Exemplo de execução a partir de um arquivo de programa

SO pode ser monoprogramado: apenas um processo executa por vez (começo ao fim):

... ou multiprogramado (mais de um processo pode executar ao mesmo tempo):

Por que existe multiprogramação? Processos alternam entre uso do processador ou espera por E/S:

Por que existe multiprogramação? Processos podem ser classificados quanto ao uso do processador: Processos I/O bound Passam mais tempo em estado de espera que usando de fato o processador Processos CPU bound Passam a maior parte do tempo usando de fato o processador

Por que existe multiprogramação? Um histograma dos tempos de execução

Por que existe multiprogramação? Um processo típico passa mais tempo em espera que processando Pode-se aproveitar os tempos de espera para executar outros processos Assim se aproveita melhor o tempo de processador disponível!

Multiprogramação Capacidade do sistema operacional de manter vários processos ativos ao mesmo tempo Timesharing: ilusão de que os processos executam ao mesmo tempo

Multiprogramação no Linux Listagem dos processos que mais usam processador

Processos usam recursos do computador

Como o SO controla os processos existentes? SO precisa decidir que processo deve usar o processador Somente processos aptos a executar podem usar o processador Processo apto: que não está esperando por E/S

Modelo de cinco estados Dispatch Termina Entra Novo Apto Rodando Terminado Time-out Evento Ocorre Espera por evento Esperando

Diagrama de fila Admissão Despacha Processor Libera Fila de aptos Tempo excedido (timeout) Fila de espera Espera um evento Evento ocorre

Escalonamento Determinação da ordem em que processos alocam o processador SO usa algum critério para escolher um processo apto para rodar SO pode também tirar o processador de um processo que estiver rodando

Escalonamento Escalonamento não-preemptivo Processo só perde o processador se terminar ou entrar em estado de espera Escalonamento preemptivo Sistema operacional pode retomar o processador mesmo contra a vontade do processo

Critérios para um bom escalonamento Eficiência: ocupação do processador Justiça: todos os processos têm chance de executar em um ciclo de escalonamento Tempo de resposta: tempo entre a ocorrência de um evento e a reativação do processo que o aguarda (IMPORTANTE!) Throughput: número de processos concluídos por unidade de tempo

Escalonamentos não-preemptivos FIFO (First In First Out) ou FCFS (First Come First Served) Primeiro que entra é o primeiro que sai da fila Ex: Processos P1, P2 e P3 têm tempo de CPU de 24, 3 e 3 unidades de tempo respectivamente, e chegam nesta ordem.

Escalonamentos não-preemptivos FIFO (cont.) Tempo de execução médio: N T = 1 N N i 1 T i i=1 Minimização desse tempo: T i < T i+1 FIFO é muito simples, mas não atende os requisitos de bom escalonamento (por que?)

Escalonamentos preemptivos RR (Round Robin) Cada processo usa a CPU por até 1 quantum de tempo por ciclo Fila de aptos segue FIFO

Escalonamentos preemptivos RR (cont.) quantum deve ser maior ou igual ao tempo de interação médio (tempo de CPU médio)

Escalonamentos preemptivos RR (cont.) Se quantum for muito curto, aumenta-se o tempo de execução total:

Escalonamentos preemptivos RR (cont.) Casos limites: q -> 0 : Cada um dos N processos enxerga um processador com 1/N de sua capacidade Na verdade, overhead do chaveamento de contexto domina o processamento q -> oo : Escalonamento degenera para FIFO

Escalonamentos preemptivos Com prioridades Cada processo possui uma prioridade (um número inteiro) A fila de aptos é ordenada de acordo com as prioridades

Escalonamentos preemptivos Com prioridades (cont.) Considerado o mais genérico Qualquer outro algoritmo pode ser implementado usando prioridades RR e FIFO : todos processos com igual prioridade Prioridades podemvariar com o tempo Podem se adaptar ao comportamento dos processos

Escalonamentos preemptivos Com prioridades (cont.) Prioridades dinâmicas: o que aconteceria se o histórico de uso do processador fosse usado como prioridade? Ex: prioridade = tempo de uso / tempo total Que tipo de processo seria priorizado com prioridades assim? Que critérios de bom escalonamento seriam respeitados com isto? E quais não seriam?

Escalonamentos preemptivos Com prioridades (cont.) Muitos SO usam prioridades dinâmicas, dando maior prioridade para processos I/O bound Ex: Linux, Windows Xp/Vista, Sun Solaris, MacOS X,... Com isto, priorizam processos interativos Porém, o que dizer de processos que processam streams multimedia? Ex: MP3 player, Video player,...

Operações sobre processos (Linux) Descrição de processos Processos possuem um ID único (PID) Possuem um usuário dono (UID) e um usuário efetivo (EUID), assim como grupo dono (GID) e grupo efetivo (EGID) Prioridade base (nice) pode ser alterada Toda a memória e objetos de sua posse estão protegidos de outros processos

Operações sobre processos (Linux) Proceso Linux na memória

Operações sobre processos (Linux) Listagem de processos com comando ps

Operações sobre processos (Linux) Criação de processos: Um novo processo é idêntico ao processo que o criou Processo filho compartilha código executável com o processo pai Filho possui mesmos atributos que processo pai (ex: UID, GID, prioridade,...) Toda a memória do pai é copiada para o filho Processo filho começa a executar do ponto exato dentro da chamada fork em que houve a duplicação

Operações sobre processos (Linux) Processos no Linux foram uma hierarquia: