Cap2 ParteA (1)

18
Unidade 2 – (Processos, Threads, Escalonamento e Gerência do Processador) Aleksandra do S. da Silva 1

description

Sistemas Operacionas Threads

Transcript of Cap2 ParteA (1)

  • Unidade 2 (Processos, Threads, Escalonamento e Gerncia do Processador)

    Aleksandra do S. da Silva

    1

  • Agenda

    Parte 1 -

    Motivaes Iniciais

    O Modelo de Processo

    Gerncia de processos

    Criao de Processos

    Trmino de Processos

    Hierarquia de Processos

    Estados do Processo

    Mudanas de Estado do Processo

    Alternncia entre Processos (Troca de Contexto)

    Implementao de Processos

    Tipos de Processos Quanto ao comportamento

    2

  • Objetivos de Aprendizagem

    Ao final deste estudo, voc deve ser capaz de:

    Compreender o conceito relacionado ao Modelo de Processo adotado

    na cincia da computao

    Conhecer as atividades de gerncia de processo de um sistema

    operacional

    Entender especificamente os aspectos principais relacionados

    criao, trmino, hierarquia, estado, mudana de estados, alternncia

    entre processos, como os SOs implementam o conceito de processo e

    os tipos de processo quanto ao comportamento.

    3

  • Motivaes Iniciais

    Computador digital: mquina que pode resolver problemas para as

    pessoas executando instrues que lhe so dadas (Tanebaum, 2006)

    Sequncia de instrues: Compe um Programa.

    Fonte da Figura: Tanebaum, 2003

    4

  • Motivaes Iniciais

    Como os computadores

    modernos atuam em relao

    vrias tarefas (programa) que

    solicitamos que sejam

    executadas por ele ?

    Open Office

    Navegador

    5

    Sem a abstrao de processos, a cincia da

    Computao Moderna no existiria. (Tanebaum, 2010)

  • Nesse modelo, todos os software que podem ser executados em

    um computador (inclusive o prprio SO) so organizados em

    processos.

    Um processo apenas um programa em execuo , acompanhado dos

    valores do contador de programa, dos registradores e das variveis. (Tanebaum, 2003)

    Exemplos de Processo:

    um compilador sendo utilizado por um usurio;

    um editor de textos sendo executado por um usurio individual em um

    microcomputador.

    Programa x Processo: Entidade passiva e Entidade ativa

    Analogia: Um programa para um processo o que uma partitura

    para a orquestra sinfnica (Deitel, 2005)

    O Modelo de Processo

    6

  • Outra definio para Processo:

    Um processo (Machado & Maia, 2002) representa um ambiente onde o

    programa ser executado e possui todas as informaes

    necessrias para que um programa execute como:

    os valores armazenados em seus registradores no momento da execuo

    de uma instruo;

    valores armazenados em seus registradores especiais ou especficos;

    recursos que eles podem usar como: quotas de disco;

    privilgios que este programa possui;

    identificao do criador;

    informaes sobre o espao de memria alocados em seus cdigos e

    dados, dentre outros.

    etc

    O Modelo de Processo

    7

  • Gerncia de Processos

    Atividades do Sist. Operacional em relao gerncia de

    processos (Silberschatz, Galvin & Gagne, 2000) :

    1) Criar e excluir processos de usurio e de sistema

    2) Suspender e retomar processos, ou seja realizar o

    escalonamento destes processos

    3) Fornecer mecanismos para a comunicao e

    sincronizao de processos

    4 ) Fornecer mecanismos para tratamento de deadlocks

    (impasses)

    8

  • Criao de Processos

    Principais eventos que levam criao de processos:

    Incio do sistema. Ex: todas as vezes que o sistema

    carregado, existem processos sendo executados em 1o

    plano (FOREGROUND) e outros em 2o plano

    (BACKGROUND) (chamados daemons)

    Execuo de chamada ao sistema de criao de processos

    por um processo em execuo. Ex: todas as vezes que

    necessrio mais de um processo pra realizar uma tarefa

    Em sistemas interativos, o usurio pode solicitar a

    inicializao de um programa digitando ou clicando em um

    cone, o que leva a criao de um novo processo .

    Incio de um job em lote. Ex: em mainframes(Tanebaum, 2010)

    9

  • Trmino de Processos

    Condies que levam ao trmino de processos:

    Sada normal (voluntria). Ex: gcc nome do arquivo

    Sada por erro (voluntria). Ex: gcc nome de arquivo que no

    existe

    Erro fatal (involuntrio). Ex: programa que faz uma diviso

    por zero.

    Cancelamento por um outro processo (involuntrio). Ex: kill -

    9 nome do arquivo

    Obs: em alguns sistemas, quando um processo termina

    (voluntariamente ou no) todos os processos criados por ele

    so imediatamente cancelados.

    (Tanebaum, 2010)

    10

  • Hierarquia de Processos

    Pai cria um processo filho, processo filho pode criar outro

    processo filho: formam uma hierarquia

    No UNIX, todos os seus filhos e descendentes formam um

    grupo de processos; o Windows no apresenta o conceito de

    hierarquia, pois todos os processos so iguais. Algo parecido

    ocorre apenas quando o proc. criado; ao pai dado um

    identificador (handle), que ele pode usar para controlar o filho,

    entretanto ele pode passar esse identif. para outros processos.

    Fonte da Fig.: Silberschatz, Galvin e

    Gagne 2000

    11

  • Estados do Processo

    Existem basicamente trs estados que um processo pode

    se encontrar:

    Execuo (running): Um processo est no estado de Execuo,

    quando est realmente usando o processador.

    Pronto (Ready): Um processo est no estado Pronto, quando

    est temporariamente parado, apenas aguardando uma

    oportunidade para executar.

    Bloqueado (Wait): Um processo est no estado, de Bloqueado

    ou Espera quando est incapaz de executar, pois est

    aguardando algum evento externo ou algum recurso para poder

    prosseguir seu processamento.

    12

  • Mudanas de Estados do Processo

    Execuo

    Bloqueado Pronto

    1 2

    3

    4

    Eventos/acontecimentos que ocasionam

    as mudanas de estado dos processos:

    1: Execuo Bloqueado: SO descobre

    que o processo no pode prosseguir, pois

    o processo est aguardando uma

    operao de E/S.

    2: Execuo Pronto: Transio causada

    pelo SO , que escolhe outro processo

    para executar (atravs do escalonador do

    SO).

    3: Pronto Execuo: Transio

    tambm causada pelo S.O, que entrega o

    processador para um processo (atravs

    do escalonador do SO)

    4: Bloqueado Pronto: operao

    solicitada atendida ou o recurso

    esperado concedido

    Fonte da fig.: (Tanebaum, 2010)

    13

  • Para que o SO fornea

    a iluso de paralelismo

    necessrio que ele seja

    capaz de realizar troca

    de contexto de um processo

    para o outro, ou seja salvar o

    estado atual do processo que

    tava executando e carregar o

    estado do novo processo a ser

    executado.

    (Machado & Maia).

    Alternncia entre processos (Troca de Contexto)

    14

  • Implementao de Processos

    O Sist. operacional materializa o

    processo atravs de uma tabela,

    chamada tabela processos com uma

    entrada para cada processo (Tanebaum,

    2010), que mantm todas as

    informaes referentes a um

    determinado processo.

    PCB

    Fonte da Fig.: Silberschatz, Galvin e

    Gagne 2000

    15

  • CPU-Bound (orientado CPU): Um processo considerado CPU-Bound,

    quando passa maior parte do tempo no estado de execuo, ou seja,

    utilizando o processador e realiza poucas operaes de E/S. Exemplo:

    Aplicaes matemticas ou cientficas.

    Fonte da Fig.: Silberschatz, Galvin e Gagne 2000

    I/O Bound (orientado E/S): Um processo considerado I/O-Bound,

    quando passa maior parte do tempo no estado de espera, pois realiza um

    elevado nmero de operaes de E/S. Exemplo: Aplicaes comerciais

    Tipos de Processos Quanto ao comportamento

    16

  • Objetivos de Aprendizagem

    Ao final deste estudo, voc deve ser capaz de:

    Compreender o conceito relacionado ao Modelo de Processo adotado

    na cincia da computao

    Conhecer as atividades de gerncia de processo de um sistema

    operacional

    Entender especificamente os aspectos principais relacionados

    criao, trmino, hierarquia, estado, mudana de estados, alternncia

    entre processos, como os SOs implementam o conceito de processo e

    os tipos de processo quanto ao comportamento.

    17

  • Referncias Bibliogrficas

    DEITEL, H.; DEITEL, P.;D. CHOFFNES. Sistemas Operacionais. 3 ed. 2005.

    MACHADO, F.B. MAIA, L. P. Arquitetura de Sistemas Operacionais. Editora: LTC, 3a. ed. 2002

    SILBERSCHATZ, A.; GALVIN, P.; GAGNE, G. Sistemas Operacionais Conceitos e Aplicaes. Campus, 2000.

    TANENBAUM, ANDREW S. Sistemas Operacionais Modernos. Prentice-Hall, 2a. ed. 2003.

    TANENBAUM, ANDREW S. Sistemas Operacionais Modernos. Prentice-Hall, 2a. ed. 2010

    18