Processos. Adão de Melo Neto

Documentos relacionados
Sistemas Operacionais

Arquitetura de Sistemas Operacionais

7 Processos. 7.1 Introdução

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

Programação Concorrente Processos e Threads

Sistemas Operacionais

Sistemas Operacionais Conceitos Básicos

Sistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)

Sistemas Operacionais Processos e Threads

Sistemas Distribuídos

Processos e Threads (partes I e II)

PROCESSOS. Prof. Maicon A. Sartin

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

MÓDULO 02 PROCESSOS E THREADS PROCESSOS e THREADS

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Sistemas Operacionais

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

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Sistema Operacional Correção - Exercício de Revisão

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

Máquina de estados UNIX O

Sincronização e Comunicação entre Processos. Adão de Melo Neto

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

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

Introdução aos Sistemas

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Sistemas de Informação. Sistemas Operacionais

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

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS 2007

Introdução à Programação de Computadores

Tipos de sistemas operacionais

Everson Scherrer Borges João Paulo de Brito Gonçalves

Noções básicas de Informática: Software

Sistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes.

Processos Prof. João Paulo de Brito Gonçalves

Sistemas Operacionais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

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

Sistemas Operacionais

Sistema Operacional. Prof. Leonardo Barreto Campos 1

SISTEMAS OPERACIONAIS

Sistemas Operacionais Gerência de Dispositivos

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

Introdução à Arquitetura de Computadores

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

Gerenciamento de Processos

ENTRADA E SAÍDA DE DADOS

AULA 5 Sistemas Operacionais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Figura 01 Kernel de um Sistema Operacional

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Sistemas Operacionais Introdução. Professora: Michelle Nery

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

Sistemas Operacionais

Sistemas Distribuídos

4 Estrutura do Sistema Operacional Kernel

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

Sistemas Operacionais. Prof. André Y. Kusumoto

Visão Geral de Sistemas Operacionais

TI Básico. Sistemas Operacionais. Professor: Ricardo Quintão Site:

Sistemas Operacionais

Sistemas Operacionais

Introdução aos Sistemas Operativos

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

1.2 Tipos de Sistemas Operacionais

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

Edeyson Andrade Gomes

Introdução a Computação 07 Sistemas operacionais. Márcio Daniel Puntel marcio.puntel@ulbra.edu.br

Roteiro 3: Sistemas Linux arquivos e diretórios

FundamentosemInformática

Estruturas do Sistema de Computação

Sistemas Distribuídos

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

PROCESSOS COMPONENTES DE UM PROCESSO. A execução de um processo possui vários componentes. PID e PPID

Sistemas Operacionais

SISTEMAS OPERACIONAIS

Fundamentos de Sistemas Computacionais Introdução

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

I N F O R M Á T I C A. Sistemas Operacionais Prof. Dr. Rogério Vargas Campus Itaqui-RS

3 Revisão de Software

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.

Sistemas Operacionais. Prof. André Y. Kusumoto

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

Desenvolvimento de um Simulador de Gerenciamento de Memória

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

BARRAMENTO DO SISTEMA

Transcrição:

Processos Adão de Melo Neto 1

EXECUTE O SEGUINTE Baixa a aula dos dias 20 MAR 15 e 08 MAI 15 e salve no computador. Feche o browser Inicialize o vmware player e inicialize a máquina virtual ubuntu Inicialize o browser através da máquina virtual e baixe os arquivos divbyzero.c e fork01.c e threads.c Execute os comando: pwd cd Download Ls 2

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 3

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

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 5

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) 6

Processo e Concorrência MEMÓRIA PRINCIPAL Registrador de Instruções (RI) Registrador Program Counter (PC) Contexto de hardware Contexto de software Espaço de endereçamento (programa) PROCESSO X PROCESSO Y PROCESSO Z 7

Processos e Concorrência 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 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. 8

Processos e Concorrência 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 Mudança de contexto: troca de um processo por outro no processador gerenciado pelo SO IMPORTANTE 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 9

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 (multiprogramado). 10

Processo No contexto de software são especificados os limites e características dos recursos que podem ser alocados pelo processo 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) 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 11 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) 12

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. 13

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 14 - Afetam outros processos.

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 15

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

Listagem de alguns processos (prática) Abrir o gerenciador de máquina virtual vmware player Inicialize a máquina virtual ubuntu Digite o comando ps l - A 17

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

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 20

LISTA É uma estrutura de armazenamento de dados Os processos são organizados em listas 21

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 22

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 23

Processos CPU-bound (ligado à CPU) 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 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 24 e gravação

Processo Foreground Permite a comunicação direta do usuário com o processo durante o processamento. Canal de entrada e saída associados a dispositivos E/S iterativos O processamento interativo tem como base processos foreground Processo Background Não existe a comunicação com o usuário durante o processamento Os canais de E/S não estão associados a nenhum dispositivo E/S iterativo, mas em geral sistemas de arquivos de E/S 25

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

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 27

Formas de Criação de Processo (logon Interativo ) Na máquina virtual ubuntu Digite o comando ps l A

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 (Linguagem de Comandos) Na máquina virtual ubuntu Digite os seguintes comandos: mkdir diretorio rmdir diretorio

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

Processo Subprocesso Threads 32

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 34

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 35

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 38

THREADS UM PROCESSO PODE ARMAZENAR VÁRIAS THREADS MEMÓRIA PRINCIPAL Contexto de hardware t1 Contexto de hardware 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. 40

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

Programação Multithreads execução 42

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 43