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

Documentos relacionados
Sistemas Operacionais

Sistemas Operacionais

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

Capítulo 2 Processos e Threads

Sistemas Operacionais I

Sistemas Operacionais. Capítulo 5 Processos

Sistemas Operacionais

Processos. Prof. Gustavo Leitão

SISTEMAS OPERACIONAIS

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Introdução aos Sistemas Operacionais

SISTEMAS OPERACIONAIS

Sistemas de Entrada e Saída

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

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

SOP - TADS Processos. Revisão Ultima aula

Sistemas Operacionais Aula 3

Prof. Kleber R. Rovai

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

Capítulo 2 Processos e Threads

Sistemas Operacionais

Introdução aos Sistemas Operacionais

Sistemas Operacionais

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

Processos. Conceitos Básicos

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

Sistemas Operacionais

SOP Sistemas Operacionais Módulo 04: Processo

Barramento. Prof. Leonardo Barreto Campos 1

Unix: Processos e o Kernel. Sistemas Operacionais

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

Davidson Rodrigo Boccardo

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

Sistemas de Entrada e Saída

Conceitos básicos e serviços dos Sistemas Operacionais

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

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

Estrutura do Sistema Operacional

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

Fundamentos de Sistemas Operacionais

Introdução e Conceitos Básicos

Sistemas Operacionais. Conceito de Processos

Sistemas Operacionais. Entrada/Saída

Sistemas Operacionais (SO)

Cap. 12 Gerência de Dispositivos 1

Notas da Aula 2 - Fundamentos de Sistemas Operacionais

Entrada e saída Introdução hardware de E/S

Organização de Computadores 1

Introdução a Sistemas Operacionais. Carlos Eduardo Ba8sta

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

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

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

Sistemas Operacionais II

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

Entrada e Saída e Dispositivos

Infra-Estrutura de Software. Introdução

INE 5645 Programação Paralela e Distribuída

Sistemas Operacionais. Interrupção e Exceção

Sistemas Operacionais. Processos IC - UFF

Unidade 2. Processos Threads Concorrência em Java

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

Programação de Sistemas em Tempo Real

Unix Processos. Geraldo Braz Junior

Sistemas Operacionais. Visão Geral

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

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

LabSO Gerência de Processos. Processos. Porque eu preciso entender este assunto?

Organização e Arquitetura de Computadores I

INTRODUÇÃO. Sistemas Operacionais. Vinícius Pádua

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

Sistemas Operacionais

Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S

Sistema Operacional. Escola de Ciências e Tecnologia ECT1103 INFORMÁTICA FUNDAMENTAL UFRN

Introdução. Introdução aos Sistemas Operacionais Volnys Bernal. Sumário. Introdução aos Sistemas Operacionais. Sobre esta apresentação

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 19. Sistema de Entrada/Saída

Organização de Computadores

Periféricos possuem características diferentes. Periféricos são mais lentos que UCP e Memória Necessita-se de módulos de Entrada/Saída

Arquitetura e Organização de Computadores

Fundamentos de Sistemas Operacionais

Conceitos Gerais Definição e Características dos SOs. Na Aula Anterior... Nesta Aula. O Escopo dos SOs 16/08/2016

1. Quais são as duas principais funções de um sistema operacional? R: controlar o hardware e permitir executar os softwares.

Arquitetura de Sistemas Operativos

Sistemas Operacionais

Técnicas Avançadas de Programação

Escalonamento de processos

SOP - TADS Fundamentos de Sistemas Operacionais

Introdução aos Sistemas Operacionais

Sistemas Distribuídos Aula 3

Capacitação Vix Linux. Jacson RC Silva

Roteiro. Introdução. Funções do S.O. Organização do computador. Arquitetura de sistemas computadorizados. Estrutura do S.O. Operações do sistema

Sistemas Operacionais. Escalonamento de processos

Introdução aos Sistemas Operativos

Aula 1: Introdução aos Sistemas Operacionais. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

Sistemas Distribuídos Capítulo 3 - Aula 3

AGT0001 Algoritmos Aula 01 O Computador

Conceitos básicos sobre computadores

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 buse/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 O conceito de Interrupção e Escalonamento Processo Processador Página Página Memória Programa Página 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 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

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

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/lin-asm/syscalls.html