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

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

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais

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

Sistemas Operacionais I

Exceções no Fluxo de Execução: Interrupções e Traps

Sistemas Operacionais

Sistemas Operacionais I

Capítulo 2 Processos e Threads

Sistemas Operacionais. Capítulo 5 Processos

Sistemas de Computação O Sistema Operacional Unix

Sistemas de Informação. Sistemas Operacionais

Sistemas Operacionais

Processos. Adão de Melo Neto

Infra-Estrutura de Software. Sistemas Operacionais Revisão

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

SISTEMAS OPERACIONAIS

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Estruturas de Sistemas Operacionais

Sistemas Operacionais

Introdução aos Sistemas Operacionais

Processos. Prof. Gustavo Leitão

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.

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

SISTEMAS OPERACIONAIS

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

Sistemas de Entrada e Saída

Sistemas Operacionais

SOP - TADS Processos. Revisão Ultima aula

Processo. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

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

Prof. Kleber R. Rovai

SO: Introdução e Estrutura. Sistemas Operacionais Flavio Figueiredo (

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Montagem e Manutenção

Sistemas Operacionais Aula 3

Introdução aos Sistemas Operacionais

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

Sistemas Operacionais

Processos. Conceitos Básicos

SOP Sistemas Operacionais Módulo 04: Processo

Capítulo 2 Processos e Threads

Aula 03 - Concorrência. por Sediane Carmem Lunardi Hernandes

Sistemas Operacionais

SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

Unix: Processos e o Kernel. Sistemas Operacionais

Unix: Processos e o Kernel

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

Processos. Conceitos Básicos

Threads. Agenda. Threads. Processo. Processo. Processo. Processo. (c) Volnys B. Bernal Versão de 22/3/2012

Sistemas Operacionais

Barramento. Prof. Leonardo Barreto Campos 1

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

Infra-Estrutura de Software. Escalonamento

Infra-Estrutura de Software

Processos e Threads. Ciclo 2 AT3. Prof. Hermes Senger

Processos. Conceitos Básicos

Interrupções, Exceções e Chamadas ao SO

Conceitos básicos e serviços dos Sistemas Operacionais

PROCESSOS. Sistemas Operacionais. Vinícius Pádua

Fundamentos de Sistemas Operacionais

Processos. Processos e Recursos (1) Tabelas de Controle do S.O. Processos e Recursos (2)

Processos. Estruturas de Controle

Sistemas Operacionais. Introdução a Sistemas Operacionais

Estrutura dos Sistemas Operacionais. Sérgio Portari Júnior

Sistemas Operacionais. Conceito de Processos

Sistemas Operacionais

Introdução a Arquitetura de Sistemas Operacionais. Parte 01

Davidson Rodrigo Boccardo

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

Introdução e Conceitos Básicos

Sistemas de Entrada e Saída

Arquitetura de Sistemas Operacionais

Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia (Material Adaptado)

Sistemas Operacionais. Processos e Threads

Sistemas de Entrada e Saída

Noções de Processos. Plano da aula. Serviços oferecidos. Definição & Objetivos. Definição & Objetivos. Sistemas Operacionais : introdução

Estrutura de Sistemas Operacionais. Capítulo 1: Introdução

Notas da Aula 2 - Fundamentos de Sistemas Operacionais

Organização de Computadores Aula 05

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006

Infra-Estrutura de Software. Introdução

Sistemas Operacionais II. Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos

Estrutura do Sistema Operacional

Unix: Processos e o Kernel. Sistemas Operacionais

Gerência de Entrada e Saída

Sistemas Operacionais João Bosco T. Junior. Sistemas Operacionais João Bosco Junior - V1.3

Conceitos. Pedro Cruz. EEL770 Sistemas Operacionais

Arquitetura de Computadores. Revisão Volnys Bernal. Agenda. Revisão: Arquitetura de Computadores. Sobre esta apresentação

Sistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal

Introdução ao Gerenciamento de Entrada e Saída (E/S)

Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios

Algoritmos e Lógica de Programação Sistemas Operacionais

Sistemas Operacionais. Processos IC - UFF

Infraestrutura de Software. CIn.ufpe.br

Sistemas Operacionais. Entrada/Saída

Transcrição:

Processo Um programa em execução Gerência de Processos

Contexto de Processo Conjunto de Informações para gerenciamento de processo CPU: Registradores Memória: Posições em uso E/S: Estado das requisições Estado do processo: Rodando, Bloqueado, Pronto Outras Vídeo CPU Memória Teclado E/S outros dispositivos

Estados de um Processo Criar Pronto desbloquear executar suspender (tempo) Bloqueado Rodando bloquear (I/O) Terminar Contexto ID do Processo Estado Prioridade Program Counter Ponteiros da Memória Contexto (outros regs.) I/O Status Informações gerais tempo de CPU limites, usuário, etc.

Ciclo de vida de um processo e o que acontece em termos de memória, E/S, sistema de arquivos etc.

Criação de Processos Principais eventos que levam à criação de processos Início do sistema Execução de chamada ao sistema de criação de processos Solicitação do usuário para criar um novo processo Início de um job em lote

Término de Processos Condições que levam ao término de processos Saída normal (voluntária) Saída por erro (voluntária) Erro fatal (involuntário) Cancelamento por um outro processo (involuntário)

Hierarquias de Processos Processo pai cria um processo filho, processo filho pode criar seu próprio processo Formando uma hierarquia UNIX chama isso de grupo de processos Windows não possui o conceito de hierarquia de processos Todos os processos são criados iguais (sem conceito de pai e filho )

Conceito: Multiprogramação a) Multiprogramação de quatro programas b) Modelo conceitual de 4 processos sequenciais, independentes, mas c) Somente um processo está ativo a cada momento ð escalonamento

Escalonamento de processos Quando um ou mais processos estão prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado primeiro A parte do sistema operacional responsável por essa decisão é chamada escalonador, e o algoritmo usado para tal é chamado de algoritmo de escalonamento Para que um processo não execute tempo demais, praticamente todos os computadores possuem um mecanismo de relógio (clock) que causa uma interrupção, periodicamente

E threads? 1 0

Hardware CPU Register file PC ALU System bus Memory bus E/S Bus interface I/O bridge Main memory USB controller Graphics adapter I/O bus Disk controller Expansion slots for other devices such as network adapters Mouse Keyboard Display Disk

Hardware CPU Register file PC ALU System bus Memory bus E/S Bus interface I/O bridge Main memory Processador Memória Disco USB controller Graphics adapter I/O bus Disk controller Expansion slots for other devices such as network adapters Mouse Keyboard Display Disk

Software Como rodar um programa? E/S O conceito de Processo Processo Processador Programa Memória Programa Disco

Algumas características e conceitos associados com processos Lifetime - o tempo de vida de um processo em execução PID - a identidade de um processo representado por um número inteiro e único UID - associação com um usuário que inicia um processo Parent Process - primeiro processo inicializado no kernel do sistema é o init. Este processo tem o PID 1 e é o pai de todos os outros processos no sistema Parent Process ID - o PID do processo pai, ou seja, o PID do processo que criou o processo em questão Enviroment - cada processo tem suporte a uma lista de variáveis associadas a valores Current Working Directory - um diretório associado com cada processo

Software E se o programa for maior do que o espaço de memória disponível? E/S O conceito de Página e Memória Virtual Processo Processador Página Memória Programa Página Disco

Software Como rodar mais de um programa? E/S Programa Página O conceito de Interrupção e Escalonamento Processo Processador Página Página Memória Programa Página Disco

Interrupção O Elo Hardware-Software

Motivação Para controlar entrada e saída de dados, não é interessante que a CPU tenha que ficar continuamente monitorando o status de dispositivos como discos ou teclados O mecanismo de interrupções permite que o hardware "chame a atenção" da CPU quando há algo a ser feito

Interrupções de Hardware Interrupções geradas por algum dispositivo externo à CPU, como teclado ou controlador de disco, são chamadas de interrupções de hardware ou assíncronas [ocorrem independentemente das instruções que a CPU está executando] Quando ocorre uma interrupção, a CPU interrompe o processamento do programa em execução e executa um pedaço de código (tipicamente parte do sistema operacional) chamado de tratador de interrupção não há qualquer comunicação entre o programa interrompido e o tratador (parâmetros ou retorno) em muitos casos, após a execução do tratador, a CPU volta a executar o programa interrompido Execução do Programa P Execução do Tratador de Interrupção Retomada de P Interrupção

Interrupção: Suporte de HW Tipicamente, o hardware detecta que ocorreu uma interrupção, aguarda o final da execução da instrução corrente e aciona o tratador, antes salvando o contexto de execução do processo interrompido Para que a execução do processo possa ser reiniciada mais tarde, é necessário salvar o program counter (PC) e outros registradores de status Os registradores com dados do programa devem ser salvos pelo próprio tratador (ou seja, por software), que em geral os utiliza Para isso, existe uma pilha independente associada ao tratamento de interrupções Execução do Programa P - SW Interrupção Execução do Tratador de Interrupção (SO - SW) Retomada de P CPU HW

Interrupção de Relógio (Um tipo de Interrupção de HW) O sistema operacional atribui quotas de tempos de execução (quantum ou time slice fatias de tempo) para cada um dos processos em um sistema com multiprogramação A cada interrupção do relógio, o tratador verifica se a fatia de tempo do processo em execução já se esgotou e, se for esse o caso, suspende-o e aciona o escalonador para que esse escolha outro processo para colocar em execução

Interrupções Síncronas ou Traps Traps ocorrem em consequência da instrução sendo executada [no programa em execução] Algumas são geradas pelo hardware, para indicar, por exemplo, overflow em operações aritméticas ou acesso a regiões de memória não permitidas Essas são situações em que o programa não teria como prosseguir O hardware sinaliza uma interrupção para passar o controle para o tratador da interrupção (no SO), que tipicamente termina a execução do programa

Traps (cont.) Traps também podem ser geradas, explicitamente, por instruções do programa Essa é uma forma do programa acionar o sistema operacional, por exemplo, para requisitar um serviço de entrada ou saída Ex. Read Um programa não pode chamar diretamente uma rotina do sistema operacional, já que o SO é um processo a parte, com seu próprio espaço de endereçamento... Através do mecanismo de interrupção de software, um processo qualquer pode ativar um tratador que pode "encaminhar" uma chamada ao sistema operacional Como as interrupções síncronas ocorrem em função da instrução que está sendo executada (ex. READ uma chamada ao sistema), nesse caso o programa passa algum parâmetro para o tratador

Interrupções Assíncronas (hardware) geradas por algum dispositivo externo à CPU ocorrem independentemente das instruções que a CPU está executando não há qualquer comunicação entre o programa interrompido e o tratador Exemplos: interrupção de relógio, quando um processo esgotou a sua fatia de tempo (time slice) no uso compartilhado do processador teclado, para uma operação de E/S (neste caso, de Entrada) Síncronas (traps) Geradas pelo programa em execução, em consequência da instrução sendo executada Algumas são geradas pelo hardware em situações em que o programa não teria como prosseguir Como as interrupções síncronas ocorrem em função da instrução que está sendo executada, nesse caso o programa passa algum parâmetro para o tratador Exs.: READ, overflow em operações aritméticas ou acesso a regiões de memória não permitidas

Traps e interrupções de hardware hw trap (a) (b) Passos para iniciar um dispositivo de E/S e obter uma interrupção Como a CPU é interrompida

Conceitos Processo: um programa em execução Página: parte de um programa capaz de caber na memória Memória virtual: espaço de armazenamento de páginas em disco Espaço de endereçamento e proteção Escalonamento: quando um ou mais processos estão prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado Interrupção Por hardware Algum dispositivo externo à CPU (ex. teclado) Relógio (para suspender um processo) Por software (trap) Execução de intrução de programa (ex. READ) situações em que o programa não teria como prosseguir (ex. overflow em operações aritméticas) Chamadas ao sistema formam a interface entre o SO e os programas de usuário

Chamadas ao Sistema (System Calls)

Os Passos de uma Chamada ao Sistema Os 11 passos para fazer uma chamada ao sistema Ex. read (fd, buffer, nbytes)

Algumas Chamadas ao Sistema para Gerenciamento de Processos

Algumas Chamadas ao Sistema para Gerenciamento de Arquivos

Algumas Chamadas ao Sistema para Gerenciamento de Diretório

Algumas Chamadas ao Sistema para Tarefas Diversas

Chamadas ao Sistema O interior de uma shell:

Chamadas ao Sistema Algumas chamadas da interface API Win32

Linux SysCall table http://bluemaster.iu.hio.no/edu/dark/linasm/syscalls.html