Sistemas Operacionais

Documentos relacionados
Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais. Escalonamento de processos

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

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 08. Conceitos sobre processos. Modelos de processos, BCP, contextos, estados de processos.

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

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

Sistemas de Informação. Sistemas Operacionais

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

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

Sistemas Operacionais. Conceito de Processos

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

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

Sistemas Operacionais Aula 7

SISTEMAS OPERACIONAIS

Prof. Kleber R. Rovai

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

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

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

Algoritmos de escalonamento

Sistemas Operacionais

Capítulo 2 Processos e Threads

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

Sistemas Operacionais Gerenciamento 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,

Escalonamento de Processos Uniprocessador

SOP - TADS Escalonamento de Processos

Sistemas Operacionais

Escalonamento de processos

Fundamentos de Sistemas Operacionais

Sistemas Operacionais. Capítulo 5 Processos

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

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Processos. Escalonamento de Processos

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

Escalonamento de Processos Estratégias de Escalonamento de Processos

Estratégias de Escalonamento de Processos

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

Processos. Conceitos Básicos

Sistemas Operacionais

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

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

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

Processos. Escalonamento de Processos

Escalonamento de Processos

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

Processos. Escalonamento de Processos

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

Escalonamento de Processos

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU?

Figura 01 Programa e Processo

Sistemas Operacionais. Gerência de Processador

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

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend

Aula 2: Tipos de Sistemas Operacionais. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

Notas da Aula 2 - Fundamentos de Sistemas Operacionais

Questões de Provas de Períodos Anteriores

Transcrição:

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 fornecidas no site de compra do livro Sistemas Operacionais Modernos

Aula de Hoje (conteúdo detalhado) 1. Conceitos Básicos - Chamadas de Sistemas 2. Processos 3. Criando Processos 4. Finalizando Processos 5. Estados do Processo 6. Implementação de Processos 7. Escalonamento de Processo 2

Processos Multiprogramação: Pseudoparalelismo: coleção de processos sendo executados alternadamente na CPU; Um processo é caracterizado por um programa em execução, mas existe uma diferença sutil entre processo e programa: Um processo pode ser composto por vários programas, dados de entrada, dados de saída e um estado (executando, bloqueado, pronto) 3

Aula de Hoje (conteúdo detalhado) 1. Conceitos Básicos - Chamadas de Sistemas 2. Processos 3. Criando Processos 4. Finalizando Processos 5. Estados do Processo 6. Implementação de Processos 7. Escalonamento de Processo 4

Criando Processos Processos precisam ser criados e finalizados a todo o momento: Inicialização do sistema; Execução de uma chamada de sistema para criação de processo realizada por algum processo em execução; Requisição de usuário para criar um novo processo; Inicialização de um processo em batch mainframes com sistemas em batch; 5

Criando Processos Processos criados pelos usuários: Iniciar um programa (linha de comando ou um duplo clique no mouse); Processos com funções específicas que independem de usuários chamados de daemons (ou BG que não há interação direta com usuários): Recepção e envio de emails; Serviços de Impressão; Usando o & no Linux 6

Criando Processos UNIX: Fork; Cria processo Pai e processo Filho com mesmo endereçamento; Depois o processo Filho tem endereçamento separado; Windows: CreateProcess Cria processo Pai e processo Filho. 7

Criando Processos Exemplo UNIX: Processo init: gera vários processos filhos para atender os vários terminais que existem no sistema; Outros processos são gerados nos terminais 8

Aula de Hoje (conteúdo detalhado) 1. Conceitos Básicos - Chamadas de Sistemas 2. Processos 3. Criando Processos 4. Finalizando Processos 5. Estados do Processo 6. Implementação de Processos 7. Escalonamento de Processo 9

Finalizando Processos Condições: Término normal (voluntário): A tarefa a ser executada é finalizada; Chamadas: exit (UNIX) e ExitProcess (Windows) Término com erro (voluntário): O processo sendo executado não pode ser finalizado: gcc filename.c, o arquivo filename.c não existe; 10

Finalizando Processos Término com erro fatal (involuntário); Erro causado por algum erro no programa (bug): Divisão por 0 (zero); Referência à memória inexistente ou não pertencente ao processo; Execução de uma instrução ilegal; Término causado por algum outro processo (involuntário): Kill (UNIX) e TerminateProcess (Windows); 11

Aula de Hoje (conteúdo detalhado) 1. Conceitos Básicos - Chamadas de Sistemas 2. Processos 3. Criando Processos 4. Finalizando Processos 5. Estados do Processo 6. Implementação de Processos 7. Escalonamento de Processo 12

Estados de Processos U m p r o c e s s o s e n d o e x e c u t a d o n ã o p o d e continuar sua execução, pois precisa de algum evento (E/S ou semáforo) para continuar; Três estado básicos: Executando 1 2 3 Bloqueado 4 Pronto 13

Estados de Processos Um processo é bloqueado de duas maneiras: chamada ao sistema: block ou pause; se não há entradas disponíveis para que o processo continue sua execução; Executando 1 2 3 Bloqueado 4 Pronto 14

Estados de Processos As transições 2 e 3 ocorrem durante o escalonamento de processos: o tempo destinado àquele processo acabou e o u t r o p r o c e s s o é colocado no processador; Executando 1 2 3 Bloqueado 4 Pronto 15

A transição 4 ocorre quando o evento esperado pelo processo Estados de Processos bloqueado ocorre: se o processador está p a r a d o, o p r o c e s s o é executado imediatamente (2); se o processador está ocupado, o processo deve esperar sua vez; Executando 1 2 3 Bloqueado 4 Pronto 16

Aula de Hoje (conteúdo detalhado) 1. Características de Processos 2. Implementação de Processos 3. Escalonamento de Processo 4. Escalonamento em Batch 5. Algoritmos de Escalonamento em Sistemas Batch 17

Características - Processos Processos CPU-bound (orientados à CPU): processos que utilizam muito o processador; Tempo de execução é definido pelos ciclos de processador; Processos I/O-bound (orientados à E/S): processos que realizam muito E/S; Tempo de execução é definido pela duração das operações de E/S; IDEAL: existir um balanceamento entre processos CPU-bound e I/O-bound; 18

Escalonador de Processos Processos 0 1... n-1 n Escalonador de Processos Nível mais baixo do SO; Manipulação de i n t e r r u p ç õ e s e processos; 19

Aula de Hoje (conteúdo detalhado) 1. Características de Processos 2. Implementação de Processos 3. Escalonamento de Processo 4. Escalonamento em Batch 5. Algoritmos de Escalonamento em Sistemas Batch 20

Implementação de Processos Tabela de Processos: Cada processo possui uma entrada; Cada entrada possui um ponteiro para o bloco de controle de processo (BCP) ou descritor de processo; BCP possui todas as informações do processo contextos de hardware, software, endereço de memória; BCP e vetor de interrupção. 21

Implementação de Processos Tabela de processos BCP P1... BCP P2... BCP Pn 22

Implementação de Processos Algumas informações do BCP 23

Aula de Hoje (conteúdo detalhado) 1. Características de Processos 2. Implementação de Processos 3. Escalonamento de Processo 4. Escalonamento em Batch 5. Algoritmos de Escalonamento em Sistemas Batch 24

Escalonamento de Processos Escalonador de Processos escolhe o processo que será executado pela CPU; Escalonador deve se preocupar com a eficiência da CPU, pois o chaveamento de processos é complexo e custoso: Afeta desempenho do sistema e satisfação do usuário; Escalonador de processo é um processo que deve ser executado quando da mudança de contexto (troca de processo); Políticas: FIFO, Prioridades, etc. 25

Escalonamento de Processos Mudança de Contexto: Overhead de tempo; Tarefa cara: Salvar as informações do processo que está deixando a CPU em seu BCP conteúdo dos registradores; Carregar as informações do processo que será colocado na CPU copiar do BCP o conteúdo dos registradores; 26

Escalonamento de Processos Antes da Mudança de Contexto PCB-P2 PC = 0BF4h PID = 2 Estado = pronto PCB-P4 PC = 074Fh PID = 4 Estado = executando Próximo processo PC = 074Fh CPU 27

Escalonamento de Processos Depois da Mudança de Contexto PCB-P2 PC = 0BF4h PID = 2 Estado = executando PCB-P4 PC = 074Fh PID = 4 Estado = pronto PC = 0BF4h CPU 28

Escalonamento de Processos Situações nas quais escalonamento é necessário: Um novo processo é criado; Um processo terminou sua execução e um processo pronto deve ser executado; Quando um processo é bloqueado (semáforo, dependência de E/S), outro deve ser executado; Quando uma interrupção de E/S ocorre, o escalonador deve decidir por: i) executar o processo que estava esperando esse evento; ii) continuar executando o processo que já estava sendo executado ou; iii) executar um terceiro processo que esteja pronto para ser executado. 29

Escalonamento de Processos Tempo de execução de um processo é imprevisível: CPU gera interrupções em intervalos entre 50 a 60 hz (ocorrências por segundo); Algoritmos de escalonamento podem ser divididos em duas categorias dependendo de como essas interrupções são tratadas: Preemptivo: estratégia de suspender o processo sendo executado; Não-preemptivo: estratégia de permitir que o processo sendo executado continue sendo executado até ser bloqueado por alguma razão (semáforos, operações de E/S-interrupção); 30

Escalonamento de Processos Categorias de Ambientes: Sistemas em Batch: sistemas que processa um lote de tarefas enfileiradas e só executa o outro após o término do primeiro; algoritmos preemptivos ou não-preemptivos; Sistemas Interativos: interação constante do usuário; algoritmos preemptivos; Processo interativo espera comando e executa comando; Sistemas em Tempo Real: processos são executados dentro do prazo estipulado previamente; tempo é crucial sistemas críticos (o que são?); não-preemptivos, mas podem ser preemptivos também (e.g. desde que dentro do deadline) 31

Escalonamento de Processos Critérios adotados pela maioria dos algoritmos de escalonamento: Qualquer sistema: Justiça (Fairness): cada processo deve receber uma parcela justa de tempo da CPU; Balanceamento: diminuir a ociosidade do sistema; Políticas do sistema prioridade de processos; 32

Escalonamento de Processos Características de algoritmos de escalonamento: Sistemas em Batch: Taxa de execução (throughput): máximo número de jobs executados por unidade de tempo (e.g. hora); Turnaround time (tempo de retorno): tempo no qual o processo espera para ser finalizado; submissão até o fim da chegada de todo output (tipicamente, tempo de espera + tempo de execução). Tempo de espera: tempo gasto na fila de prontos; Eficiência: CPU deve estar 100% do tempo ocupada; Sistemas Interativos: Tempo de resposta: tempo esperando para iniciar execução; Satisfação do usuários; QoE (Quality of Experience). 33

Escalonamento de Processos Características de algoritmos de escalonamento: Sistemas em Tempo Real: Prevenir perda de dados (e.g. aplicações de multimídia) Previsibilidade: prevenir perda da qualidade dos serviços oferecidos (e.g. a consistência na transmissão é melhor do que a rajada) Diferentemente das aplicações elásticas 34

Perguntas?