Sistemas Operacionais - PowerPoint PPT Presentation

About This Presentation
Title:

Sistemas Operacionais

Description:

Sistemas Operacionais Processos Plano de Apresenta o O Modelo de Processo Defini o Caracter sticas Hierarquia Implementa o Estados Transi o de Estados – PowerPoint PPT presentation

Number of Views:83
Avg rating:3.0/5.0
Slides: 26
Provided by: Andr1357
Category:

less

Transcript and Presenter's Notes

Title: Sistemas Operacionais


1
Sistemas Operacionais
  • Processos
  • Plano de Apresentação
  • O Modelo de Processo
  • Definição
  • Características
  • Hierarquia
  • Implementação
  • Estados
  • Transição de Estados
  • O Modelo de Comunicação
  • Comunicação Interprocessos
  • Condição de competição
  • Seções críticas
  • Comunicação Interprocessos
  • Exclusão mútua
  • solução de software
  • TSL
  • Primitivas de comunicação
  • sleep/wakeup
  • semáforos
  • contadores de eventos
  • Monitor
  • Problemas Clássicos

2
O Modelo de Processo
  • Definição
  • Um processo é um programa que está sendo
    executado
  • Um processo é uma atividade assíncrona

3
O Modelo de Processo
  • Características
  • Processos seqüenciais
  • Multiprogramação
  • Processamento de Interrupçoes
  • Tipos de Interrupções
  • chamadas ao supervisor
  • interrupções de dispositivos
  • interrupções externas
  • excessões
  • falhas de máquina
  • Chaveamento de processos

4
O Modelo de Processo
  • Hierarquia de Processos
  • Processos de Sistema
  • Processos de Usuário
  • Hierarquia na Criação
  • Processo PAI
  • Processo FILHO

5
O Modelo de Processo
  • Implementação de Processo
  • ContextoRepresentação de um processo por um
    conjunto de dados
  • Registro descritor ou bloco de controleestado
    do processo, contador de instruções,apontador
    para pilha de execução,alocação de
    memória,arquivos, dispositivoscontabilidade,
    escalonamento

6
O Modelo de Processo
  • Estados de um Processo
  • pronto
  • bloqueado
  • em execução

7
O Modelo de Processo
  • Transição de Estado de um Processo
  • despacho (procId) pronto?em execução
  • tempoesgotado(procId) em execução ?pronto
  • bloqueio(procId) em execução ?bloqueado
  • desbloqueio(procId) bloqueado ?pronto

8
O Modelo de Comunicação
9
Comunicação Interprocessos
  • Condição de competição
  • Seções críticas
  • Exclusão mútua
  • espera ocupado
  • Primitivas de comunicação
  • espera bloqueado
  • Monitor
  • Problemas Clássicos

10
Comunicação Interprocessos
  • Exclusão Mútua
  • Desabilitando interrupções
  • Controlando por software(construção
    MUTEXBEGIN/MUTEXEND)
  • processo p1 processo p2faça até acabar faça
    até acabar calcule calcule MUTEXBEGIN
    MUTEXBEGIN acesse RC acesse RC
    MUTEXEND MUTEXEND calcule calcule
    fim. fim.

11
Comunicação Interprocessos
  • Exclusão Mútua
  • MUTEXBEGIN/MUTEXEND
  • variáveis de bloqueioMUTEXBEGIN enquanto
    (ocupado) faça ocupado VMUTEXEND ocupad
    o F
  • alternância estritaMUTEXBEGIN enquanto (vez
    MinhaVez) faça MUTEXEND Vez VezOutro

12
Comunicação Interprocessos
  • Exclusão Mútua
  • MUTEXBEGIN/MUTEXEND
  • solução de PetersonMUTEXBEGIN necessidade(minha
    ) V enquanto (necessidade(outro)) faça se
    vez ? minha então faça necessidade(minha)
    F enquanto (vez ? minha) faça
    necessidade(minha) V fim
    fimMUTEXEND necessidade(minha) F vez
    outro

13
Comunicação Interprocessos
  • Exclusão Mútua
  • instrução TSL(Test and Set Lock)
  • MUTEXBEGINTESTANDSET(ocupado) enquanto
    (codigo) faça TESTANDSET(ocupado)
    fimMUTEXEND ocupado F

14
Comunicação Interprocessos
  • sleep/wakeup
  • semáforos
  • contadores de eventos
  • monitores
  • passagem de mensagens
  • outras

15
Primitivas de Comunicação
  • lock/unlockdeclare (g) gatelock
    (g)...unlock(g)
  • sleep/wakeupblock/wakeupsleep...wakeup(p)

16
Primitivas de Comunicação
  • Semáforosdeclare (s) semaphore initial
    (i)P(s) / espera até que sgt0 e então
    decrementa s /...V(s) / incremanta s /

17
Primitivas de Comunicação
  • Contadores de eventosdeclare (e)
    event_counterRead(e) / retorna o valor atual
    de e /Advance(e) / incrementa e
    /Await(e,v) / espera que e tenha um valor
    igual ou supeior a v /declare (e)
    eventCompletion(e) ... / true or false
    /...call p event(e)wait(e)

18
Monitor
  • Construção de concorrência

19
Monitor Problemas Clássicos
  • Controle de um Recurso
  • resourceMonitor declare(in_use) bit
    declare(available) condition do in_usefalse
    end do acquireEntry if in_use then
    wait(available) in_usetrue
    end acquire releaseentry
    in_usefalse signal(available) end
    release end resource

20
Monitor Problemas Clássicos
  • O BUFFER Circular
  • CircularBuffer Monitor declare(Buffer(5))cha
    racter(80)varying declare(head,tail,Buffers,
    Full)fixed declare(BufferVacant,BufferOccupied
    )condition do Head1 Tail1 Buffers5
    Full0 end Spool Entry(Contents)
    ... end Spool UnSpool
    Entry(Contents) ... end UnSpool
    end CircularBuffer

21
Monitor Problemas Clássicos
  • O BUFFER Circular (cont)
  • Spool Entry(Contents) declare(Contents)chara
    cter()varying if FullBuffers then
    wait(BufferVacant) Buffer(Tail)Contents
    Tailmod(Tail,Buffers)1 FullFull1
    signal(BufferOccupied) end Spool

22
Monitor Problemas Clássicos
  • O BUFFER Circular (cont.)
  • UnSpool Entry(Contents) declare(Contents)cha
    racter()varying if Full0 then
    wait(BufferOccupied) ContentsBuffer(Head)
    Headmod(Head,Buffers)1 FullFull-1
    signal(BufferVacant) end UnSpool

23
Monitor Problemas Clássicos
  • Leitores/Escritores
  • FileAccess Monitor declare(true,false)bit
    declare(Reading)bit declare(activeWriter)bi
    t declare(OkToRead,OkToWrite)condition
    do true1b false0bReading0
    activeWriterfalse end

24
Monitor Problemas Clássicos
  • Leitores/Escritores (cont.)
  • StartRead Entry if activeWriter?empty
    (OkToWrite) then wait(OkToRead)
    ReadingReading1 signal(OkToRead)
    end StartRead EndRead Entry
    ReadingReading-1 if Reading0 then
    signal(OkToWrite) end EndRead

25
Monitor Problemas Clássicos
  • Leitores/Escritores (cont.)
  • StartWrite Entry if
    Reading?0activeWriter then
    wait(OkToWrite) activeWritertrue
    end StartWrite EndWrite Entry
    activeWriterfalse if ?empty(OkToRead)
    then signal(OkToRead) else
    signal(OkToWrite) end EndWrite end
    FileAccess
Write a Comment
User Comments (0)
About PowerShow.com