Sistemas Operacionais



Documentos relacionados
Sistemas Operacionais Gerência de Processos

SOP Sistemas Operacionais Módulo 04: Processo

Gerência do Processador

Gerência de Processador

Sistemas Operacionais

Sistemas Operacionais

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

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

Processos. Estruturas de Controle

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Arquitetura e Organização de Computadores

Sistemas Operacionais

Gerência do Processador

Introdução aos Sistemas

Sistemas Operacionais

Sistemas Operacionais

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

Ciclo de Vida de um Processo

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

Capítulo 4 Gerência de Processador

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Prof. André Y. Kusumoto

PROCESSOS. Prof. Maicon A. Sartin

Gerência de processos Requisitos fundamentais

Arquitetura de Sistemas Operacionais

Gerenciamento de memória

Arquitetura dos Sistemas Operacionais

Sistemas Operacionais

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

Fundamentos de Sistemas Operacionais

Sistemas Operacionais Conceitos Básicos

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

Sistemas Operacionais Processos e Threads

Gerenciamento Básico B de Memória Aula 07

Fundamentos de Sistemas Operacionais. Processos. Prof. Edwar Saliba Júnior Março de Unidade Processos

discos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco

GERENCIAMENTO DO PROCESSADOR. Prof. Maicon A. Sartin

Gestor de Processos Núcleo do Sistema Operativo

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

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO I Campus Rio Pomba

Gerenciamento de memória

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

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

8 Threads. 8.1 Introdução

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

SISTEMAS OPERACIONAIS

ENTRADA E SAÍDA DE DADOS

Escalonamento de processos

Permitir a troca de mensagens de texto entre os dois alunos; Permitir que um aluno enviasse para o outro uma cópia de prova;

Sistemas Operacionais Arquivos

Sistemas Operacionais 2014 Sistema de E/S. Alexandre Augusto Giron

CONFIGURAÇÃO DO BIOS E CARACTERÍSTICAS DE SEGURANÇA

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

7 Processos. 7.1 Introdução

2. Introdução aos Sistemas Operacionais

5.1 Sistemas de Arquivos

ITIL v3 - Operação de Serviço - Parte 1

Organização e Arquitetura de Computadores

Estruturas do Sistema de Computação

GABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios

Conceitos Básicos sobre Sistemas Operacionais

Escalonamento no Linux e no Windows NT/2000/XP

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread;

Gerência de Memória. Paginação

Sistemas Operativos I

Capítulo 4 Gerenciamento de Memória

(Aula 15) Threads e Threads em Java

Arquitetura de Computadores. Sistemas Operacionais IV

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Arquitetura de Sistemas Operacionais

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

Fundamentos de Teste de Software

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS. 2º TRIMESTRE Patrícia Lucas

Tipos de sistemas operacionais

Resolução da lista de exercícios de casos de uso

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

Programação Concorrente Processos e Threads

03 GERÊNCIA DO PROCESSADOR

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

Notas da Aula 6 - Fundamentos de Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Gerência do Sistema de Arquivos. Adão de Melo Neto

Sistemas Operacionais I

Casos de Uso. Professor MSc Wylliams Barbosa Santos wylliams.wordpress.com Laboratório de Programação

Gerência de Processador

Sistemas Operacionais

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

Sistemas Operacionais

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

Transcrição:

Multiprogramação 2 a edição Revisão: Fev/2003 Sistemas Operacionais Multiprogramação Capítulo 2 Tornar mais eficiente o aproveitamento dos recursos do computador Execução simultânea* de vários programas Diversos programas são mantidos na memória Conceitos necessários a multiprogramação! Processo! Interrupção! Proteção entre processos Próprio sistema operacional é um programa Sistemas Operacionais 2 O conceito de processo (1) O conceito de processo (2) Diferenciação entre o programa e sua execução Abstração que representa um programa em execução Programa: Entidade estática e permanente! Seqüência de instruções Diferentes instâncias Um programa pode ter várias instâncias em execução, i.e., diferentes processos! Passivo sob o ponto de vista do sistema operacional Processo: Entidade dinâmica e efêmera! Altera seu estado a medida que avança sua execução Composto por programa (código), dados e contexto (valores) Mesmo código (programa) porém dados e momentos de execução (contexto) diferentes Forma pela qual o sistema operacional enxerga um programa e possibilita sua execução Processos executam: Programas de usuários Programas do próprio sistema operacional (daemons) Sistemas Operacionais 3 Sistemas Operacionais 4

Ciclos de vida de um processo Ciclos de vida de um processo: criação Criação Execução Término Momento da execução Chamadas de sistemas e.g.: fork, spawn, etc Podem ser associados a uma sessão de trabalho e.g.: login de usuários: login + senha shell (processo) Identificado por um número único (PID) Sistemas Operacionais 5 Sistemas Operacionais 6 Ciclos de vida de um processo: execução (1) Ciclos de vida de um processo: execução (2) Processos apresentam dois ciclos básicos de operação Ciclo de processador Processos CPU bound! Tempo que ocupa a CPU! Ciclo de processador >> ciclo de E/S Ciclo de entrada e saída I/O bound! Tempo em espera pela conclusão de um evento (e.g. E/S)! Ciclo de E/S >> ciclo de processador Primeiro ciclo é sempre de processador Trocas de ciclos por:! CPU " E/S: chamada de sistema! E/S " CPU: ocorrência de evento (interrupção) Sem quantificação exata Situação ideal: Misturar processos CPU bound com I/O bound! Benefícios a nível de escalonamento Sistemas Operacionais 7 Sistemas Operacionais 8

Ciclos de vida de um processo: término Relacionamento entre processos (1) Final de execução (normal) Por erros e.g: proteção, aritméticos, E/S, tentativa de execução de instruções inválidas, falta de memória, exceder tempo de limite Intervenção de outros processos (kill) Log off de usuários Processos independentes Não apresentam relacionamentos com outros processos Grupo de processos Apresentam algum tipo de relacionamento! e.g. filiação Podem compartilhar recursos Definição de hierárquia Sistemas Operacionais 9 Sistemas Operacionais 10 Relacionamento entre processos (2) Estados de um processo Hierárquia de processos: Processo criador é processo pai Processo criado é processo filho Representação através de uma árvore Evolução dinâmica Semântica associada: O que fazer na destruição de um processo? Toda a descendência morre A descendência é herdada pelo processo vô Postergar a destruição efetiva do processo pai até o final de todos processos filhos Após criado o processo necessita entrar em ciclo de processador Hipotéses: Processador não está disponível Vários processos sendo criados Que fazer? Criação de uma fila de aptos (p/ espera pelo processador) Sistemas Operacionais 11 Sistemas Operacionais 12

Modelo simplificado a dois estados Limitação do modelo simplificado Manter uma fila de processos aptos a executar Esperando pelo processador ficar livre Escalonador (dispatcher): Atribui o processador a um processo da fila de aptos Pode prevenir um único processo de monopolizar o processador Criação Apto Dispatcher Pausa Executando Término Causas para um processo não executar Esperando pelo processador! Aptos para executar Esperando pela ocorrência de eventos externos! Bloqueado Escalonador não pode selecionar um processo bloqueado, logo modelo a dois estados não é suficiente Criação de novos estados Sistemas Operacionais 13 Sistemas Operacionais 14 Modelo de 5 estados (1) Modelo a 5 estados (2) Executando (Running) Apto (Ready) Bloqueado (Blocked) Criação (New) Destruição (Exit) Necessidade de filas Seleção Término Criação Apto Executando Destruição Tempo/ voluntário Ocorrência de evento (interrupçao) Bloqueado Chamada de sistema Sistemas Operacionais 15 Sistemas Operacionais 16

Processos suspensos Razões para suspender um processo Processador é mais rápido que operações de E/S Possibilidade de todos processos estarem bloqueados esperando por E/S Swapping: SO necessita liberar memória para executar um novo processo Liberar memória ocupada por estes processos Transferidos para o disco (swap) Solicitação do usuário Comportamento típico de depuradores Estado bloqueado assume duas situações: Bloqueado com processo em memória Bloqueado com processo no disco Necessidade de novos estados Bloqueado, suspenso (Blocked, suspend) Apto, suspenso (Ready, suspend) Temporização: Processo deve ter sua execução interrompida por um certo período de tempo Processo suspender outro processo e.g. sincronização Sistemas Operacionais 17 Sistemas Operacionais 18 Diagrama de estados de processos Suporte de hardware à multiprogramação Admissão Apto, suspenso Bloqueado, suspenso Event (ocorr.) Criação Ativo Suspenso Ativo Admissão Apto Bloqueado Suspenso Evento (ocorr.) Seleção Tempo/ voluntário Executando Evento (espera) Destruição O compartilhamento de recursos comuns implica em garantir que a execução incorreta de um programa não influencie a execução de outro programa A implementação da multiprogramação explora características do hardware dos processadores Mecanismos básicos: Dois modos de operação Interrupção Proteção de periféricos, memória e processador Sistemas Operacionais 19 Sistemas Operacionais 20

Modos de operação do processador Mecanismo de interrupção (1) Arquitetura de processadores oferecem mecanismos para diferenciar pelo menos dois modos diferentes de operação Modo supervisor (privilegiado/protegido)! Possibilita a execução de todas as instruções do processador! Modo de execução sistema operacional Modo usuário! Certas instruções (privilegiadas) não podem ser executadas! Modo de execução dos processos usuários Chaveamento de modos: Interrupção (modo usuário modo protegido) Instrução (modo protegido modo usuário) Sinaliza a ocorrência de algum evento Provoca a execução de uma rotina especial Tratador de interrupção Ciclo de execução de uma interrupção Prepara a transferência de controle para o tratador (salvamento do contexto de execução) Desvia controle para tratador Retorna execução (restaura contexto de execução) Sistemas Operacionais 21 Sistemas Operacionais 22 Mecanismo de interrupção (2) Proteção de periféricos Tipos de interrupção Hardware: ocorrência de evento externo Software: execução de uma instrução específica Exceção: erros de execução (overflow, undeflow...) Identificadas por um número Vetor de interrupção Prioridades Instruções privilegiadas Instruções de E/S são privilegiadas Como processos usuários realizam operações de E/S já que estas são instruções privilegiadas? Chamadas de sistema Sistema Operacional Modo protegido Interrupção de software Instrução retorno Processo usuário Modo usuário Sistemas Operacionais 23 Sistemas Operacionais 24

Chamada de sistema Proteção de memória (1) Método empregado para um processo usuário solicitar serviços ao sistema operacional. Normalmente baseada em interrupções de software (traps) Aciona a rotina de tratamento de interrupção! Identifica serviço requisitado! Verifica validade dos parâmetros! Executa o serviço! Retorna ao processo do usuário Necessário para evitar que usuário corrompa espaços de memória não-pertencentes a seus processos Baseado em facilidades da arquitetura do processador: Registrador de base Registrador de limite Faixa de endereçamento fora da área delimitada pelos registradores base e limite é protegida Possível proteger dispositivos de E/S quando a técnica E/S mapeada em memória é empregada Sistemas Operacionais 25 Sistemas Operacionais 26 Proteção de memória (2) Proteção do processador CPU End. Reg. de base V < F Interrupção (acesso ilegal) Reg. de limite F V Usuário 3 Usuário 2 Usuário 1 Sistema operacional memória Para garantir a execução do sistema operacional uma interrupção de tempo (timer) ocorre periodicamente Interrupção de tempo: Empregada para implementar multiprogramação Mantém contabilização de tempo para o sistema operacional (relógio) Instruções relacionadas com a programação do tempo são privilegiadas Sistemas Operacionais 27 Sistemas Operacionais 28

Leituras complementares R. Oliveira, A. Carissimi, S. Toscani Sistemas Operacionais Editora Sagra-Luzzato, 2001. Capítulo 2. A. Silberchatz, P. Galvin Operating System Concepts. 4 th edition. Addison-Wesley. Seções 2.1, 2.2, 2.5, 4.1, 4.2 e 4.3 Sistemas Operacionais 29