36
Santarém - Pará UNIVERSIDADE FEDERAL DO OESTE DO PARÁ UFOPA INSTITUTO DE ENGENHARIA E GEOCIÊNCIAS IEG PROGRAMA DE COMPUTAÇÃO Sistemas Operacionais Processos Prof. Clayton Santos

Aula SO 3 Processos

Embed Size (px)

Citation preview

  • Santarm - Par

    UNIVERSIDADE FEDERAL DO OESTE DO PAR UFOPAINSTITUTO DE ENGENHARIA E GEOCINCIAS IEG

    PROGRAMA DE COMPUTAO

    Sistemas Operacionais

    Processos

    Prof. Clayton Santos

  • Sistemas OperacionaisClayton A. M. Santos

    Sumrio

    Conceito de Processos Introduo

    Estados de Processo

    Gerenciamento de processo

    Interrupes

    Comunicao interprocessos

    2

  • Sistemas OperacionaisClayton A. M. Santos

    Objetivos

    Nesse captulo voc ver: O conceito de um processo

    O ciclo de vida de um processo

    Estados de um processo e transies de estado

    Blocos de controle de processos (PCBs)/descritores de processos

    Como os processadores transitam entre processos via chaveamento de contexto

    Como interrupes habilitam o hardware a se comunicar com o software

    Como os processos conversam uns com os outros via comunicao interprocessos (IPC)

    3

  • Sistemas OperacionaisClayton A. M. Santos

    Introduo

    Os computadores executam vrias operaes aomesmo tempo

    Por exemplo, compilar um programa, enviar um arquivopara impressora, exibir uma pgina Web, reproduzirmsicas e receber mensagens de correio eletrnico.

    Os processos permitem que os sistemas executem emonitorem atividades simultneas.

    Os processos transitam entre estados de processo.

    Os sistemas operacionais executam operaes pormeio de processos, como criar, destruir, suspender,retornar e acordar.

    4

  • Sistemas OperacionaisClayton A. M. Santos

    Definio de Processo

    Um programa em Execuo

    Um processo tem seu prprio espao de endereo, queconsiste em:

    Regio de texto Armazena o cdigo que o processador executa

    Regio de dados Armazena variveis e memria alocada dinamicamente

    Regio de pilha Armazena instrues e variveis locais chamadas ativas ao

    procedimento

    5

  • Sistemas OperacionaisClayton A. M. Santos

    Estrutura do Processo

    6

    Instr. 1.1Instr. 1.2Instr. 1.3Instr. 1.4Instr. 1.5

    .

    .

    .

    PROG_1

    Informaes de

    Registradores

    Instr. 2.1Instr. 2.2Instr. 2.3Instr. 2.4Instr. 2.5

    .

    .

    .

    PROG_2

    Informaes de

    Registradores

    Instr. 3.1Instr. 3.2Instr. 3.3Instr. 3.4Instr. 3.5

    .

    .

    .

    PROG_3

    Informaes de

    Registradores

    Processo X Processo Y Processo Z

    Ins

    tr. 1.1

    Ins

    tr. 1.2

    Ins

    tr. 1.3

    Ins

    tr. 1.4

    Ins

    tr.S

    O

    Ins

    tr. 2.1

    Ins

    tr. 2.2

    Ins

    tr. SO

    Ins

    tr. 3.1

    Ins

    tr.3

    .2

    Ins

    tr. 3.3

    Ins

    tr. 3.4

    Ins

    tr. SO

    Ins

    tr.1

    .5

    . . .t0 t4 t5 t7 t8 t12 t13

    t1 t2 t3

    t

  • Sistemas OperacionaisClayton A. M. Santos

    Estados de processo: ciclo de vida de um processo

    Um processo passa por uma srie de estados deprocesso distinto

    Estado de Execuo

    O processo est sendo executado em um processador

    Estado de Pronto

    O processo poderia ser executado em um processador sehouvesse algum disponvel.

    Estado bloqueado

    O processo est aguardando a ocorrncia de algum aventopara prosseguir

    7

  • Sistemas OperacionaisClayton A. M. Santos

    Gerenciamento de processo

    O sistema operacional mantm uma lista de prontos euma lista de bloqueados para armazenar referncias aprocessos que no esto sendo executados.

    Os sistemas operacionais prestam certos serviosfundamentais aos processos. Por exemplo:

    Criam processos;

    Destroem processos;

    Suspendem processos;

    Retomam processos;

    Mudam a prioridade de um processo.

    Bloqueiam processos

    Acordam (ativam) processos

    Despacham processos,8

  • Sistemas OperacionaisClayton A. M. Santos

    Estados de Processo

    O ato de designar um processador ao primeiroprocesso da lista de prontos denominado dedespacho;

    O sistema operacional usa o temporizador de intervalopara permitir que um processo seja executadodurante um intervalo de tempo especfico;

    A multitarefa cooperativa permite que todo processoseja executado at o fim.

    9

  • Sistemas OperacionaisClayton A. M. Santos

    Estados de Transio

    At agora existem quatro estados de transiopossveis

    Quando um processo despachado, ele transita depronto para em execuo;

    Quando o quantum de um processo expira, ele transitade em execuo para pronto;

    Quando um processo bloqueado, ele transita de emexecuo para bloqueado;

    Quando um evento ocorre, ele transita de bloqueadopara pronto.

    10

  • Sistemas OperacionaisClayton A. M. Santos

    Estados de Transio

    Transies de estado de processo

    11

  • Sistemas OperacionaisClayton A. M. Santos

    Processos - Criao

    12

    A criao de um processo ocorre a partir do momentoem que o sistema operacional adiciona um novo PCB sua estrutura e aloca um espao de endereamentona memria para uso.

    Os processos podem ser criados a partir:

    Logon Interativo Ao fornecer username e senha

    Via Linguagem de Comandos Prompt de comando

    Via Rotina do Sistema Operacional A partir de qualquer programa executvel

    Ao executar um programa, outros processos podero serhabilitados e executados.

  • Sistemas OperacionaisClayton A. M. Santos

    Processos - Eliminao

    13

    Um processo no estado de terminado no poder termais nenhum programa executado no seu contexto,porm o sistema operacional ainda mantm suasinformaes de controle presentes na memria.

    Os processos podem ser eliminados a partir:

    Logout ou logoff Trmino Normal de Execuo Eliminao por um outro processo; Eliminao forada por ausncia de recursos disponveis no

    sistema.

  • Sistemas OperacionaisClayton A. M. Santos

    Blocos de Controle de Processo (PCBs)/Descritores de Processo

    Os PCBs mantm as informaes que sistemaoperacional precisa para gerenciar o processo

    Normalmente, eles incluem as seguintes informaes:

    Nmero de identificao do processo (PID);

    Estado do processo;

    Contador de programa;

    Prioridade de escalonamento;

    Credencias;

    Um ponteiro para o processo-pai

    Ponteiros para os processos-filho

    Ponteiros para localizar os dados e instrues do processo namemria;

    Ponteiros para recursos alocados.14

  • Sistemas OperacionaisClayton A. M. Santos

    Blocos de Controle de Processo (PCBs)/Descritores de Processo

    Tabela de Processos

    O sistema operacional mantm ponteiros para cadaPCB do processo em uma tabela de processos nombito total do sistema ou por usurio

    Permite acesso rpido aos PCBs

    Quando um processo encerrado, a tabela deprocessos retira o processo da tabela e disponibilizatodos os seus recursos.

    15

  • Sistemas OperacionaisClayton A. M. Santos

    Blocos de Controle de Processo (PCBs)/Descritores de Processo

    Tabela de Processos e Blocos de Controle de Processo

    16

  • Sistemas OperacionaisClayton A. M. Santos

    Operaes de Processo

    Um processo pode gerar um novo processo

    O processo de criao chamado de processo-pai;

    O processo criado chamado de processo-filho;

    Cada processo-filho criado por exatamente umprocesso-pai;

    Quando um processo-pai desfeito, os sistemasoperacionais em geral respondem de duas formas:

    Destroem todos os processos-filho desse processo-pai;

    Permitem que os processos-filho prossigamindependentemente dos processos-pai.

    17

  • Sistemas OperacionaisClayton A. M. Santos

    Operaes de Processo

    Hierarquia de criao de processo

    18

  • Sistemas OperacionaisClayton A. M. Santos

    Operaes de Processo

    Hierarquia de processos no Linux

    19

    Criado quando o ncleo carregado

    Gerenciamento de memria

    Gerenciamento de dispositivos

    Escrita de dados

    Gerenciamento de arquivos

    Carrega mensagens

    lanadas pelo kernel

    Editor de texto

    Informaes do usurio

    Permisso

  • Sistemas OperacionaisClayton A. M. Santos

    Suspender e Retornar

    Suspenso de um processo O processo retirado indefinidamente da disputa por

    tempo em um processador, sem ser destrudo;

    til para detectar ameaas segurana e para depuraode software;

    A suspenso pode ser iniciada pelo processo que est sendosuspenso ou por outro processo;

    O processo suspenso precisa ser retomado por outroprocesso:

    Existem dois estados de suspenso:

    Suspenso-pronto;

    Suspenso bloqueado.

    20

  • Sistemas OperacionaisClayton A. M. Santos

    Suspender e Retornar

    Transies de estado de processo com suspenso e retomada

    21

  • Sistemas OperacionaisClayton A. M. Santos

    Chaveamento de contexto

    O sistema operacional realiza um chaveamento de contextopara interromper um processo em execuo e comear aexecutar um processo previamente pronto;

    Salva o contexto de execuo anterior do processo emexecuo no PCP desse processo;

    Carrega o contexto de execuo anterior do processopronto no PCP desse ltimo

    Deve ser transparente aos processos

    O processador no pode realizar nenhuma computaotil

    O sistema operacional precisa, portanto, diminuir o tempo dechaveamento de contexto.

    executado no hardware por algumas arquiteturas.

    22

  • Sistemas OperacionaisClayton A. M. Santos

    Chaveamento de contexto

    Chaveamento de contexto

    23

  • Sistemas OperacionaisClayton A. M. Santos

    24

    Processos Foreground

    Permite a comunicao direta do usurio com oprocesso durante o seu processamento.

    Tanto o canal de entrada, quanto o canal de sadaesto associados com teclado, monitor e mouse,permitindo a interao com o usurio.

    Entrada Sada

    Terminal Terminal

  • Sistemas OperacionaisClayton A. M. Santos

    25

    Processos Background

    No existe comunicao com o usurio durante oprocessamento.

    Os canais de E/S no esto associados a nenhumdispositivo de E/S, mas em geral a arquivos de E/S.

    Um exemplo o processamento do tipo batch.

    Entrada Sada

    Arquivo de Entrada

    Arquivo de Sada

  • Sistemas OperacionaisClayton A. M. Santos

    26

    Processos CPU-bound

    Um processo definido como CPU-bound (ligado aUCP) quando passa a maior parte do tempo no estadode execuo, utilizando o processador ou pronto.

    Realiza pouqussimas operaes de leitura e gravao

    Pode ser encontrado em aplicaes cientficas,devido a efetuao de diversos clculos

    UCP

    E/S

    (a) CPU-bound

  • Sistemas OperacionaisClayton A. M. Santos

    27

    Processos IO-bound

    Um processo definido como IO-bound (ligado E/S) quando passa a maior parte do tempo no estadode espera.

    Realiza elevadas operaes de E/S.

    Pode ser encontrado em aplicaes comerciais, poisse baseiam em leitura, processamento e gravao.

    UCP

    E/S

    (a) IO-bound

  • Sistemas OperacionaisClayton A. M. Santos

    28

    Interrupes

    As interrupes habilitam o software a responder asinais de hardware

    Podem ser iniciadas por um processo em execuo A interrupo denominada desvio (trap);

    considerada sncrona em relao operao do processo;

    Por exemplo, quando um processo tenta realizar uma aoilegal, como dividir por zero ou referir-se a uma memriaprotegida

    Podem ser iniciadas por algum evento que pode ou noestar relacionado ao processo em execuo Nesse caso, considerada assncrona em relao operao

    do processo;

    Por exemplo, quando uma tecla pressionada no teclado ou omouse movido

  • Sistemas OperacionaisClayton A. M. Santos

    29

    Processamento de Interrupes

    Tratamento de interrupes Assim que recebe uma interrupo, o processador conclui

    a execuo da instruo corrente e faz uma pausa noprocesso corrente;

    Em seguida, o processador executa uma das funes detratamento de interrupo do ncleo;

    O tratador de interrupo determina como o sistema deveresponder;

    Os tratadores de interrupo so armazenados em umconjunto de ponteiros denominado vetor de interrupo;

    Aps a concluso do tratador de interrupo, o processointerrompido restaurado e executado ou o processo

    seguinte executado.

  • Sistemas OperacionaisClayton A. M. Santos

    Processamento de Interrupes

    Tratamento de interrupes

    30

  • Sistemas OperacionaisClayton A. M. Santos

    31

    Classes de Interrupes

    As interrupes suportadas dependem daarquitetura do sistema

    A especificao IA-32 distingue os dois tipos de sinal que um processador pode receber:

    Interrupes Notificam o processador de que ocorreu um evento ou que

    o status de um dispositivo externo mudou.

    So geradas por dispositivos externos a um processador.

    Excees Indicam que ocorreu um erro, seja no hardware, seja em

    decorrncia de uma instruo de software.

    So classificadas como falhas, desvios ou abortos.

  • Sistemas OperacionaisClayton A. M. Santos

    Classes de Interrupes

    Tipos comuns de interrupes reconhecidos pela arquitetura Intel IA-32

    32

  • Sistemas OperacionaisClayton A. M. Santos

    Classes de Interrupes

    Classes de excees do Intel IA-32

    33

  • Sistemas OperacionaisClayton A. M. Santos

    34

    Comunicao Interprocessos

    Muitos sistemas operacionais fornecemmecanismos para comunicaes interprocessos(IPC).

    Os processos precisam se comunicar uns com osoutros em ambientes de multiprogramao ou de rede.

    Por exemplo, um navegador Web pode recuperar dados de umservidor remoto.

    essencial para processos que precisam coordenar(sincronizar) atividades para alcanar uma metacomum.

  • Sistemas OperacionaisClayton A. M. Santos

    35

    Sinais

    So interrupes de software que notificam oprocesso de que um evento ocorreu.

    No permitem que os processos especifiquem dadospara trocar com outros processos.

    Os processos podem capturar, ignorar ou mascarar umsinal.

    Um processo captura um sinal especificando uma rotina que osistema operacional chama quando libera o sinal.

    Um processo ignora um sinal dependendo da ao-padro dosistema operacional para trat-lo.

    Um processo mascara um sinal instruindo o sistemaoperacional a no liberar sinais desse tipo at que o processobloqueie a mscara do sinal.

  • Sistemas OperacionaisClayton A. M. Santos

    36

    Prxima Aula

    Threads