Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Documentos relacionados
Sistemas Operacionais. Rodrigo Rubira Branco

Arquitetura de Computadores Sistemas Operacionais II

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Aula 10: Escalonamento da CPU

Informática I. Aula Aula 19-20/06/06 1

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

Organização e Arquitetura de Computadores. Ivan Saraiva Silva

Sistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores

Organização de Computadores 1

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1

Programação Concorrente Processos e Threads

Estruturas do Sistema de Computação

Sistemas Operacionais

Conceitos básicos sobre computadores

Gerenciamento de Entrada e Saída. Ciclo 6 AT1. Prof. Hermes Senger

Professor Léo Matos TI para Concursos

Sistema Operacional. Implementação de Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

Conteúdo programático

Aula 03. Processadores. Prof. Ricardo Palma

Lista de Exercícios 1

T.I. para o DealerSuite: Servidores Versão: 1.1

Manual Mobuss Construção - Móvel

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

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

Sistemas Operacionais. Rodrigo Rubira Branco

Dynamic Voltage Scaling in Multitier Web Servers with End-to-End Delay Control

Macros e Programação VBA

Gerenciamento de Memória Minix 3.1.7

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

Processos e Threads (partes I e II)

Informática Básica CONCEITOS DE SOFTWARE. Msc. Eliezio Soares

INTRODUÇÃO À INFORMÁTICA: TERMINOLOGIA BÁSICA RAÍ ALVES TAMARINDO

Infra-Estrutura de Software. Introdução. (cont.)

Portal de Sistemas Integrados. Manual do Usuário. Versão: 1.0

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

Inteligência Artificial

Os passos a seguir servirão de guia para utilização da funcionalidade Acordo Financeiro do TOTVS Gestão Financeira.

UTILIZAÇÃO DE RECURSOS AVANÇADOS DO EXCEL EM FINANÇAS (PARTE III): GERENCIAMENTO DE CENÁRIOS

Arquitetura de Sistemas Operacionais

Ciclo de Vida de um Processo

O Funcionamento do Processador

SISTEMAS DISTRIBUÍDOS

Introdução à Ciência da Informação

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

Controlador de DMA. Gustavo G. Parma

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura Exemplo

Sistemas Operacionais

GUIA RÁPIDO DE UTILIZAÇÃO KIT MERCURIOIV OSCILOSCÓPIO E GERADOR DE SINAIS

Capítulo 2 Processos e Threads Prof. Fernando Freitas

Avaliando e Compreendendo o Desempenho. Capítulo 4

Eleição de Líder. Alysson Neves Bessani Departamento de Informática Faculdade de Ciências da Universidade de Lisboa

Disponibilizada a rotina Vale Presente (LOJA830) no módulo Controle de Lojas (SIGALOJA), assim como já é utilizada no módulo Front Loja (SIGAFRT).

PLANIFICAÇÃO INTRODUÇÃO ÀS TECNOLOGIAS DE INFORMAÇÃO BLOCO I

Programação Orientada a Objetos SANTOS, Rafael

Introdução à Informática

Diagrama de Componentes e Implantação

Mecanismo de Interrupção

ProLin V1.0. Programa de problemas de programação linear mista

Introdução à Programação de Computadores Parte I

MANUAL DO INSTALADOR XD EM AMBIENTES MICROSOFT WINDOWS

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

Deadlocks. Sistemas Operacionais - Professor Machado

Programação de Computadores I. Linguagem C Função

Fundamentos de Programação. Diagrama de blocos

Introdução à orientação a objetos

Conceitos de Sistemas Operacionais: Chamadas de Sistema. Prof Rafael J. Sandim

Projeto: Camada Independente de Dispositivo

Título da Apresentação

Tutorial de utilização do Sistema de Abertura de Chamado Sumário

Fundamentos de Arquitetura e Organização de Computadores

Sistemas Operacionais

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração:

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

Objetivo do Portal da Gestão Escolar

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

MINISTÉRIO DA EDUCAÇÃO FUNDO NACIONAL DE DESENVOLVIMENTO DA EDUCAÇÃO DIRETORIA DE ASSISTÊNCIA A PROGRAMAS ESPECIAIS

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão

OBJETIVO GERAL DA DISCIPLINA

1.2 Tipos de Sistemas Operacionais

Veeam Endpoint Backup FREE

Processamento de Dados aplicado à Geociências. AULA 1: Introdução à Arquitetura de Computadores

Conhecendo o Delphi 2010

Eventos, Tarefas,Tempos e Prazos

Criar e formatar relatórios

Sistemas Distribuídos

Configuração para Uso do Tablet no GigaChef e Outros Dispositivos

Conteúdos: Debora, Edcarllos, livros! slides disponíveis!

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Transcrição:

Processos Pedro Cruz EEL770 Sistemas Operacionais

Aviso O que vamos falar vale para sistemas de processador/ núcleo único Vale também para cada processador/núcleo de um sistema com múltiplos processadores/núcleos 2

Processo Abstração para um programa sendo executado Espaço de endereçamento - Contexto Executável Código Dados Informações usadas Pilha Armazenamento local Passagem de parâmetros 3

Processo Duas instâncias de um mesmo programa são dois processos diferentes Cada um tem um espaço de endereçamento: Pilha Dados Código* * Em alguns casos, otimizações são feitas e o código é o mesmo, com contadores de programa diferentes 4

Subutilização do processador Processador é muito mais rápido que outros componentes Processador fica ocioso aguardando os outros componentes Ideia: executar outros processos no tempo ocioso A A A B B B t A B A B A B 5

Pseudoparalelismo Diversos processos executados em fatias de tempo Tempo do processador é subdividido e distribuído entre processos Centenas ou dezenas de ms para cada processo (milhões de ciclos de clock) Extrapolação da ideia de reduzir o tempo ocioso Melhorar a experiência do usuário, com a ilusão de paralelismo 6

Escalonador Define as fatias de tempo para cada processo Troca os contextos Registradores são carregados com os valores do processo que vai ser executado Contador de programa Apontador de pilha Flags e ambiente 7

Gerenciamento de processos Criação de processos Término de processos Hierarquia de processos Estados de processos 8

Criação de processos Processos são criados Na inicialização do sistema A pedido do usuário A partir de um processo em execução A partir de uma tarefa Processos de primeiro plano Processos de segundo plano Daemons 9

Pais & filhos Processo pai cria um processo filho através de chamada de sistema Processo filho é uma cópia do processo pai Processo pai possui ponteiro para filho Processo filho possui próprio espaço de endereçamento Exceção: copy-on-write Espaço de memória é compartilhado, mas modificações são copiadas para área privada de memória Processos podem compartilhar arquivos abertos 10

Procedimento de criação de um processo 1. Definir um identificador de processo 2. Alocar espaço para o processo 3. Criar uma entrada na tabela de processos 4. Definir o estado do processo 5. Criar (ou expandir) as estruturas de dados relativas 11

Término de processos Formas de término Saída normal Voluntária Saída por erro Voluntária Erro fatal Involuntária Morte por outro processo Involuntária 12

ATENÇÃO!!!! O Tanenbaum em português troca os erros Erro fatal é confundido com saída por erro 13

Saída normal Programa termina execução e realiza chamada de sistema para informar o término Libera recursos alocados exit Memória Arquivos abertos Permissões de uso exclusivo UNIX ExitProcess Windows 14

Saída por erro Erro interno do processo afeta seu funcionamento Avisa ao usuário Termina Processos podem tentar corrigir o erro ao invés de fechar Aviso na Interface Gráfica de Usuário (Graphic User Interface GUI) 15

Erro fatal Processo é encerrado pelo operacional Instrução ilegal Acesso ilegal Operacional pode deixar o processo lidar com o erro Operacional envia um sinal ao processo quando há erro Depende do erro 16

Lista de erros fatais Vários tipos de erros fatais Tempo excedido Memória não disponível Erro de proteção Erro Aritmético Espera excedida (Time overrun) Falha de I/O Instrução inválida Instrução sem privilégios Mal uso de dados 17

Morte por outro processo Outro processo realiza chamada ao operacional para terminar o processo atual kill UNIX Processo precisa de autorização para matar outro Término do pai geralmente inicia término dos filhos 18

Adendo Visão do programador Exception vs Error Linguagens diferenciam entre os dois Java Haskell C++ Mais ou menos Exceção é um erro lógico interno Frequentemente tratável Erro é um problema que não é tolerado pelo operacional Aplicação nem sempre pode tentar resolver Pode ser considerado problema de segurança 19

Hierarquia de processos UNIX Pais & filhos formam um grupo de processos Processos pai repassam sinais aos filhos Terminação do pai é avisada aos filhos Windows Pais possuem ponteiro para filhos (handle) Pais podem passar o ponteiro para outros processos Quebra de hierarquia 20

Estados de processos Novo Processo é inicializado Pronto Processo está aguardando sua vez de ser executado Bloqueado Processo está aguardando algum evento Procedimento de I/O Executando Processo está em execução Terminado Processo terminou 21

Estados de processos Processo admitido Evento ocorre Pronto Bloqueado Selecionado por escalonador Dispensado por escalonador Aguarda evento Executando Processo terminado Novo Terminado 22

Tabela de processos gerenciamento de processos Registros Contador de programa Palavra de estado do programa (PSW) Conjunto de flags Ponteiro para a pilha Estado do processo Parâmetros de escalonamento Id do processo Prioridade Processo pai Grupo de processos Sinais Tempo de início Tempo de CPU Tempo de CPU de filhos 23

Tabela de processos gerenciamento de memória Informações sobre segmento de código Informações sobre o segmento de dados Informações sobre o segmento de pilha 24

Tabela de processos gerenciamento de arquivos Diretório-raiz Diretório corrente Descritores de arquivo Ponteiros para stdin, stdout, stderr Id do usuário Id do grupo 25

Processos suspensos Tipicamente: Vários processos podem estar aguardando operações de I/O Bloqueados Subutilização da CPU Memória principal não comporta processos suficientes para encher a CPU de trabalho I/O de disco é mais rápido que outras operações de I/O Processos podem ser guardados na memória secundária Suspensos Intervalos de CPU estimulam a troca de processos entre as memórias 26

Estados de processos com suspensão Bloqueado/ Suspenso Processo bloqueado Bloqueado Evento ocorre Pronto/ Suspenso Processo admitido e bloqueado Processo desbloqueado Processo admitido Novo Evento ocorre Pronto Selecionado por escalonador Dispensado por escalonador Aguarda evento Executando Terminado Processo terminado 27

Processos Pedro Cruz EEL770 Sistemas Operacionais