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

Documentos relacionados
Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais

Davidson Rodrigo Boccardo

Aula 04. Capítulo 3 Gerência de Processos. 3.1 Conceito de Processo. 3.2 Escalonamento de Processos. 3.3 Opera ões sobre Processos

Sistemas Operacionais. Conceito de Processos

Infra-Estrutura de Software. Escalonamento

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

Sistemas Operacionais

Escalonamento de processos

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

Gerência de Recursos. Gerência do Processador

6 ESCALONAMENTO DE CPU

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

Sistemas de Computação. Processos e escalonamento

Processos e Threads. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos

Sistemas Operacionais. Gerência de Processador

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

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

ARQUITETURA DE COMPUTADORES

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Sistemas Operacionais Gerenciamento de Processos

Sistemas Operacionais I

Programação de Sistemas em Tempo Real

Sistemas Operacionais I

Aula 10: Escalonamento da CPU

Processos. Escalonamento de Processos

Processos. Estruturas de Controle

Sistemas de Informação. Sistemas Operacionais

SSC0640 Sistemas Operacionais I

Processos. Escalonamento de Processos

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

Processos. Escalonamento de Processos

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

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

Fundamentos de Sistemas Operacionais

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

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. Processos e Recursos (1) Tabelas de Controle do S.O. Processos e Recursos (2)

Escalonamento de Processos Uniprocessador

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas de Informação. Sistemas Operacionais

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

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

Processos. Conceitos Básicos

Sistemas Operacionais. Prof. André Y. Kusumoto

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

Sistemas Operacionais. Processos e Threads

Disciplina: Sistemas Operacionais

Sistemas Operacionais

Notas da Aula 2 - Fundamentos de Sistemas Operacionais

Sistemas Operacionais

Prof. Kleber R. Rovai

Sistemas Operacionais. Capítulo 5 Processos

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

Fundamentos de Sistemas Operacionais

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

Sistemas Operacionais. Processos IC - UFF

Notas da Aula 7 - Fundamentos de Sistemas Operacionais

PROCESSOS. Sistemas Operacionais. Vinícius Pádua

Processos e Threads. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Conceito de Processo. Estados de Processos. Diagrama de Estados de Processos

Escalonamento de Processos Estratégias de Escalonamento de Processos

Estratégias de Escalonamento de Processos

Estados dos processos. Infra Estruturas Computacionais. A troca de contexto. Escalonamento de Processos. Escalonamento de Processos

Questões de Múltipla escolha

Arquitetura de Sistemas Operativos

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

Sistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto

Sistemas Operacionais

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Sistemas Operacionais

Processos. Conceitos Básicos

Escalonamento de Processos

Sistemas Operacionais

Sistemas Operacionais: Escalonamento de processos

SOP - TADS Processos. Revisão Ultima aula

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

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

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

Processos. Conceitos Básicos

Sistemas Operacionais

Sistemas Operacionais. Escalonamento de processos

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

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO PROCESSOS PROFESSOR CARLOS MUNIZ

Sistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca

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

Sistemas Operacionais

Sistemas Operacionais

Gerência de Processos. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

Notas da Aula 8 - Fundamentos de Sistemas Operacionais

Resumo: Sistemas Operacionais Abertos

Questões de Provas de Períodos Anteriores

Processos. Prof. Gustavo Leitão

Escalonamento no Unix. Sistemas Operacionais

Técnicas Avançadas de Programação

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

SISTEMAS OPERACIONAIS

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

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

Transcrição:

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 por uma CPU Um processo precisa de determinados recursos incluindo tempo de CPU, memória, arquivos e dispositivos de I/O para realizar sua tarefa. Esses recursos são dados ao processo quando ele é criado ou alocados a ele durante sua execução. Um programa por si só não é um processo. Um programa é uma entidade passiva, como o conteúdo de um arquivo armazenado em disco, enquanto um processo é uma entidade ativa, com um contador de programa especificando a próxima instrução a ser executada. Um processo é a unidade de trabalho em um sistema. Um sistema desse tipo consiste em uma coleção de processos, alguns dos quais são processos de sistema operacional e o resto são processos de usuário. 2/13

Processos Os primeiros sistemas de computação só permitiam que um programa fosse executado de cada vez. Conceito de Processo Um sistema em batch executa jobs, enquanto um sistema de tempo compartilhado executa programas de usuários ou tarefas. Os termos job e processo são usados indistintamente, apesar do termo processo ser o mais preferido. O processo Informalmente, um processo é um programa em execução. Um programa por si só não é um processo; um programa é uma 3/12

Novo: o processo está sendo criado Em execução: as instruções estão sendo executadas. Em espera: o processo está esperando a ocorrência de algum evento (como conclusão de operação de I/O). Pronto: o processo está esperando para ser atribuído a um processador. Encerrado: o processo terminou sua execução. 4/12 Processos Estado do processo À medida que o processo executa, ele muda de estado. O estado de um processo é definido em parte pela atividade atual desse processo. Cada processo pode estar em um dos seguintes estados:

Processos Estado do processo 5/12

Processos Bloco de controle de processo Cada processo é representado no sistema operacional por um bloco de controle de processo (PCB process control block), também chamado de bloco de controle de ponteiro tarefa. O PCB serve simplesmente como repositório número do processo contador do programa de informações que podem variar de processo a processo. registradores estado do processo limites de memória lista de arquivos abertos 6/12

Processos Threads O modelo de processo discutido até agora considerava implicitamente que um processo é um programa que realiza um único fluxo de execução. Muitos sistemas operacionais modernos estenderam o conceito de processo para permitir que um processo tenha múltiplos fluxos de execução, ou threads. 7/12

Filas de escalonamento À medida que os processos entram no sistema, são colocadas em uma fila de jobs. Essa fila consiste em todos os processos do sistema. Escalonadores Um processo migra entre várias filas de escalonamento ao 8/12 Escalonamento de processos O objetivo da multiprogramação é ter processos em execução o tempo todo, para maximizar a utilização de CPU. O objetivo do tempo compartilhado é alternar a CPU entre processos de forma tão frequente que os usuários possam interagir com cada programa durante sua execução.

Escalonadores A principal distinção entre esses dois escalonadores é a frequência de sua execução. O escalonador de curto prazo deve selecionar um novo processo para a CPU com frequência O escalonador de longo prazo, por outro lado, executa com muito menos frequência Pode haver um intervalo de minutos entre a criação de novos processos no sistema. É importante que o escalonador de longo prazo faça uma seleção cuidadosa. Em geral, os processos podem ser descritos como limitados por I/O ou limitador pela CPU. Um processo limitado por I/O passa mais tempo realizando operações de I/O do que efetuando cálculos. Um processo limitado pela CPU, por outro lado, gera pedidos de I/O com pouca freqüência, usando mais o 9/12 Escalonamento de processos

Escalonamento de processos Troca de Contexto Alternar a CPU para outro processo requer salvar o estado do processo antigo e carregar o estado salvo do novo processo. Essa tarefa é chamada de troca de contexto. O contexto de um processo é representado no PCB de um processo Quando ocorre uma troca de contexto, o kernel salva o contexto do processo antigo em seu PCB e carrega o contexto salvo do novo processo escolhido para execução. O tempo de troca de contexto é puro overhead, já que o sistema não efetua trabalho útil durante o processo de troca. 10/12

Conceitos Básicos Escalonamento de CPU O objetivo da multiprogramação é ter sempre algum processo em execução para maximizar a utilização de CPU. Para um sistema uniprocessador, ou monoprocessado, nunca haverá mais de um processo em execução. A idéia da multiprogramação é relativamente simples. Um processo é executado até ter de esperar, geralmente pela operação de I/O. Em um sistema de computação simples, a CPU ficaria ociosa. Todo esse tempo de espera é perdido; nenhum trabalho útil é realizado. Com a multiprogramação, esse tempo é usado de forma produtiva. Vários processos são mantidos na memória ao mesmo tempo. Quando um processo precisa esperar, o sistema operacional tira a CPU do processo e passa para outro processo. 11/7

Ciclo de surtos de CPU e I/O A execução de um processo consiste em um ciclo de execução de CPU e espera de I/O. Os processos alternam entre esses dois estados. A execução de um processo começa com um surto de CPU. A isso se segue um surto de I/O que por sua vez, é seguido por outro surto de CPU, depois outro surto de I/O e assim por diante. Um programa limitado por I/O geralmente terá muitos surtos de CPU curtos. Um programa limitado pela CPU, poderá ter alguns surtos de CPU longos. 12/7

Escalonador de CPU Sempre que a CPU fica ociosa, o sistema operacional deverá escolher um dos processos para execução da fila de processos prontos. O processo de seleção é executado pelo escalonador de curto prazo. O escalonador seleciona dentre os processos na memória aqueles que estão prontos para executar e aloca a CPU a um deles. 13/7

Critérios de Escalonamento Muitos critérios foram sugeridos para comparar os algoritmos de escalonamento de CPU Utilização de CPU: A CPU deverá ficar o mais ocupado possível. A utilização da CPU pode variar de 0 a 100%. Em um sistema real, deverá variar de 40% (para um sistema não muito carregado) a 90% (para sistemas muito utilizados). Maximizar Produtividade (Throughput): Uma medida de trabalho é o número de processos completados por unidade de tempo. Maximizar Tempo de Processamento (Turnaround): quantidade de tempo necessária para executar um determinado processo. Minimizar Tempo de espera: O tempo de espera é a soma dos períodos gastos esperando na fila de processos prontos. Minimizar Tempo de resposta: Tempo de submissão de um pedido até a primeira resposta a ser produzida. Minimizar 14/7

Sistemas de tempo real crítico Escalonamento de Tempo Real São necessários para completar uma tarefa crítica dentro de um período garantido. Neste caso, o escalonador admite o processo, garantindo que ele concluirá no prazo, ou rejeita o pedido como sendo impossível. Essa garantia, feita mediante reserva de recurso, exige que o escalonador saiba exatamente quanto tempo leva para realizar cada tipo de função do sistema operacional. Sistemas de tempo real não-crítico São menos restritivos. Requer que os processos críticos recebam prioridade em relação a outros menos favorecidos. Embora isso possa causar alocação injusta de recursos e resultar em atrasos, ou mesmo starvation, para alguns processos, é pelo menos possível de alcançar. 15/7