Processos. Adão de Melo Neto

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

Sistemas de Informação. Sistemas Operacionais

Figura 01 Programa e Processo

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

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.

Processos. Adão de Melo Neto

Sistemas Operacionais

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

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

Sistemas Operacionais. Processos e Threads

Sistemas Operacionais. Capítulo 5 Processos

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais I

Gerência do Processador. Adão de Melo Neto

Sistemas Operacionais I

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

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

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

Algoritmos Computacionais

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

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

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

SISTEMAS OPERACIONAIS

Processos. Sistemas Operacionais II. Anderson L. S. Moreira

Sistemas Operacionais

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 13

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

Sistemas de Informação. Sistemas Operacionais

Introdução a Sistemas Operacionais. Adão de Melo Neto

Processos. Conceitos Básicos

Sistemas de Informação. Sistemas Operacionais

Processos. Prof. Gustavo Leitão

Fundamentos de Sistemas Operacionais

Sistemas Operacionais

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS

Organização e Arquitetura de Computadores I

Prof. Kleber R. Rovai

Barramento. Prof. Leonardo Barreto Campos 1

Gerência do Processador. Adão de Melo Neto

Davidson Rodrigo Boccardo

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

Sistemas Operacionais

Infraestrutura de Hardware. Funcionamento de um Computador

Processos. Conceitos Básicos

Sistemas Operacionais. Adão de Melo Neto

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

Notas da Aula 7 - Fundamentos de 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. Conceito de Processos

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

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

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

SSC510 Arquitetura de Computadores 1ª AULA

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

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


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

Sistemas Operacionais. Processos IC - UFF

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Infra-Estrutura de Software. Escalonamento

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

Concorrência em Processos

COMPUTADOR 2. Professor Adão de Melo Neto

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Unidade Central de Processamento UCP (CPU)

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

Sistemas Operacionais. Gerência de Processador

Unidade 2. Processos Threads Concorrência em Java

Arquitetura de Sistemas Operacionais

COMPUTADOR. Adão de Melo Neto

Fundamentos de Sistemas Operacionais

William Stallings Computer Organization and Architecture

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

INE 5645 Programação Paralela e Distribuída

Notas da Aula 2 - Fundamentos de Sistemas Operacionais

AGT0001 Algoritmos Aula 01 O Computador

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Sistemas de Computação. Processos e escalonamento

SSC0112 Organização de Computadores Digitais I

Dispositivos de Entrada e Saída

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

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

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

Matéria do Gavião. Capítulos3, 5e7

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

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

Organização e Arquitetura de Computadores INTRODUÇÃO

Matéria do Gavião. Capítulos 3, 5e7

Questões de Múltipla escolha

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

Técnicas Avançadas de Programação

2. A influência do tamanho da palavra

Thread. Thread. Sistemas Operacionais. Leonard B. Moreira. UNIVERSIDADE ESTÁCIO DE SÁ fevereiro, / 41

Introdução à Informática

Gerência de Recursos. Gerência do Processador

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos

Transcrição:

Processos Adão de Melo Neto 1

Processos Introdução Para se poder controlar o uso concorrente (ao mesmo tempo) do processador, da memória e dos dispositivos de E/S, um programa deve sempre estar sempre associado a um processo. Programa Processo TODO PROGRAMA AO SER CRIADO JÁ VEM ASSOCIADO A UM PROCESSO 2

Relembrando... Executar programas armazenados na memória Armazena programas a serem executados pelo processador RI (registrador de instrução) Armazena a instrução da Memória que está sendo executada PC (contador de instrução) Armazena o endereço da a próxima instrução da Memória a ser executada 3

Relembrando... PC (contador de instrução) Armazena o endereço da a próxima instrução a ser executada MEMÓRIA PRINCIPAL PC (Program counter) = 0000H RI (registrador de instrução) Armazena a instrução que está sendo executada RI(register instruction) = Instrução 02H SALTAR PARA O ENDEREÇO 0100H Os registradores mantem informações sobre o programa em execução por isso Suas informações precisam ser guardadas na mudança de contexto 4

Processo e Concorrência Processo Conjunto de informações necessárias para que o sistema operacional implemente a concorrência entre programas pelo uso dos recursos do sistema (processador, memória e dispositivos de E/S) Concorrência Três programas associados aos respectivos processos. Exemplo de registradores: Registrador de Instruções (RI) Registrador Program Counter (PC) 5

Processo e Concorrência MEMÓRIA PRINCIPAL Registrador de Instruções (RI) Registrador Program Counter (PC) Os registradores mantém informações sobre o programa em execução por isso suas informações precisam ser guardadas na mudança de contexto Contexto de hardware Contexto de software Espaço de endereçamento (programa) PROCESSO X PROCESSO Y PROCESSO Z 6

O programa 2 é iniciado e executado ao longo do intervalo t 2 Mudança de contexto: troca de um processo por outro no processador gerenciado pelo SO O SO decide interromper temporariamente a execução do programa 2 e salva o conteúdo dos registradores armazenando-os no processo Y O SO decide interromper temporariamente a execução do programa 1 e salva o conteúdo dos registradores armazenando-os no processo X. 7

Processo É formado por três partes (contexto de hardware, de software e espaço de endereçamento) que juntas mantêm informações necessárias a execução de um programa em um sistema em que exista concorrência (multiprogramação). 8

Processo São especificados os limites e características dos recursos que podem ser alocados pelo processo Armazena o conteúdo os registradores gerais, além dos de uso específico, como o program counter (PC) e o instrutor register (RI) MEMÓRIA PRINCIPAL PROCESSO X Contexto de hardware Contexto de software Espaço de endereçamento (programas) PROCESSO Y PROCESSO Z É a área de memória pertencente 9 ao processo onde instruções e dados do programa são armazenados para execução

Contexto de Hardware O contexto de hardware armazena o conteúdo os registradores gerais, além dos de uso específico, como o program counter (PC) e o instrutor register (RI) 10

Contexto de Hardware A mudança de contexto, base para a implementação da concorrência consiste em salvar o conteúdo dos registradores do processo que está deixando a CPU e carregá-los com os valores do novo processo que será executado. 11

Contexto de Software No contexto de software são especificados os limites e características dos recursos que podem ser alocados pelo processo Identificação -PID (process identification) -UID (user identification) Quotas: são os limites dos recursos do sistema que o processo pode alocar. Privilégios: são as ações que um processo pode fazer em relação a ele mesmo, aos demais processos e ao sistema operacional - Afetam o próprio processo - Afetam outros processos. 12

Contexto de Software Identificação do usuário ou processo que o criou 1) Nr Máx de arquivos abertos 2) Nr Máx de Mem Pcpal e Mem Sec que o processo pode alocar 3) Nr Máx de operações de E/S pendentes 4) Tamanho máximo do buffer para operações E/S 5) Número máximo de (sub)processo que pode-se criar Prioridade de execução, limites alocados nas memórias principal e secundária 13

Listagem de alguns processos (estação com sistema linux) IDT USUÁRIO IDT PROCESSO Tempo de utilização do processador 14

Listagem de alguns processos (prática) PARA ACESSAR A INTERFACE DE COMANDOS DIGITE CTRL+ ALT + T 15

Listagem de alguns processos (prática) IDT USUÁRIO IDT PROCESSO Tempo de utilização do processador

Espaço de Endereçamento É a área de memória pertencente ao processo onde instruções e dados do programa são armazenados para execução MEMÓRIA PRINCIPAL PROCESSO X Contexto de hardware Contexto de software Espaço de endereçamento (programas) PROCESSO Y PROCESSO Z 17

Relembrando... LISTA É uma estrutura de armazenamento de dados Os processos são organizados em listas 18

Estados de um processo Estado de Execução Quando está sendo executado pela CPU Estado de Espera (bloqueado) Quando aguarda algum evento externo ou algum recurso para prosseguir seu processamento Quando apenas aguarda oportunidade para ser executado EXEMPLO Aguardando o término de operação de E/S Aguardando data/hora para continuar operação Após criação do processo o mesmo vai para lista de processos em estado de pronto 19

Mudança de Estados de um Processo (B) EXECUÇÃO ESPERA (gerada por eventos do processo como operações de E/S) (gerada por eventos externos: Sistema operacional suspende por um período de tempo a execução do processo) (A) PRONTO EXECUÇÃO ( escalonamento: depende da política de escalonamento do Sistema Operacional) (D) EXECUÇÃO PRONTO (preempção: exemplo término da fatia de tempo que processo possui para sua execução) (C) ESPERA PRONTO (operação solicitada é atendida ou recurso esperado é concedido 20

Exercício sobre Mudança de Estados de um Processo Escalonamento 21

Vamos supor que temos a seguinte situação: Processos na fila estado de pronto: J-> I-> H->G->F->E->D->C Processo B em execução Processos na fila do estado de espera: A Pergunta: Como ficarão as filas e o processo em execução de acordo com determinados eventos.

Escalonamento

Processos CPU-bound (ligado à UCP) Quando passa a maior parte do tempo no estado de execução, utilizando o processador, ou em estado de pronto. Aplicações científicas que realizam muitos cálculos Processos I/O-bound (ligado à E/S) Quando passa a maior parte do tempo no estado de espera, pois realiza um elevado número de operações de entrada e saída. Aplicações comerciais que se baseiam em leitura, processamento e gravação 25

Processo Foreground Permite a comunicação direta do usuário com o processo durante o processamento (processamento iterativo) Processo Background Não existe a comunicação com o usuário durante o processamento 26

Forma de Criação de um processo Logon Interativo Linguagem de comandos Usando rotinas do Sistema Operacional 27

Formas de Criação de Processo (logon Interativo ) O usuário fornece ao sistema um nome (username) e uma senha (password) e o sistema faz a autenticação Quando se faz o logon, um processo é criado 28

Formas de Criação de Processo (Via Linguagem de Comandos) Um processo é criado para atender ao comando de eliminação do diretório 29

Formas de Criação de Processo (Usando rotina do Sistema Operacional) Rotina de criação de um subrocesso filho 30

Processo Subprocesso Threads 31

PROCESSO Forma de implementar a concorrência entre programas pelo uso dos recursos do sistema. Cada programa ao ser criado já está associado a um processo Programa Processo

SUBPROCESSOS Dependência existencial entre processo pai e processo filho Cada um possui seu próprio contexto de hardware, contexto de software e espaço de endereçamento Processo Pai Processo Filho 33

Como criar um subprocesso Criar um subprocesso filho A rotina fork() cria um novo processo, que executará o mesmo código do programa Retorna - o PID do processo criado para o pai - 0 para o filho O processo filho imprime de 0 a 49 O processo pai de 51 a 99 34

Como criar um subprocesso execução compilação

Como criar um subprocesso execução

THREADS UM PROCESSO PODE ARMAZENAR VÁRIAS THREADS THREADS (objetivos) Reduzir o tempo gasto na criação/eliminação de processos Reduzir o tempo gasto na troca de contexto em processos Economizar recursos do sistema como um todo Compartilham o mesmo contexto de software e espaço de endereçamento, mas possuem contexto de hardware distintos armazenar o conteúdo os registradores 37

THREADS UM PROCESSO PODE ARMAZENAR VÁRIAS THREADS MEMÓRIA PRINCIPAL Contexto de hardware Contexto thread de hardware 1 t2 Contexto de hardware t3 Contexto de software Espaço de endereçamento (programas) PROCESSO

Programação Multithreads O programa como um todo é está associado a um processo e dentro deste processo são criadas 10 threads. Rotina de criação das threads. São criadas 10 threads que executam cada uma a rotina espera. 39

Programação Multithreads Opção de compilação compilação 40

Programação Multithreads execução 41

QUAL DIFERENÇA DE UMA THREAD PARA UM PROCESSO? Para se fazer a mesma coisa uma thread é mais eficiente pois: reduz o tempo gasto na criação/eliminação de processos, Reduz o tempo gasto na troca de contexto em processos e economizar recursos do sistema como um todo. Criei 1 programa (que naturalmente já esta associado a um processo o processo pai) para imprimir de 51 a 99 e ele criou um processo filho (usando o comando fork()) que imprimiu de 1 a 49. Poderia ter feito isso com um programa (que naturalmente já esta associado a um processo) e duas (2) threads Contexto de hardware Contexto de hardware t1 Contexto de software Contexto de hardware t2 Espaço de endereçamento (programas) PROCESSO PAI Contexto de software Espaço de endereçamento (programas) PROCESSO Contexto de hardware Contexto de software Espaço de endereçamento (programas) PROCESSO FILHO 42