Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo ...
Transcript of Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo ...
![Page 1: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/1.jpg)
zeque - Grad. CC 1
Sistemas OperacionaisSistemas Operacionais ProcessosProcessos
Plano de ApresentaçãoPlano de Apresentação O Modelo de ProcessoO Modelo de Processo
DefiniçãoDefinição CaracterísticasCaracterísticas HierarquiaHierarquia ImplementaçãoImplementação EstadosEstados Transição de EstadosTransição de Estados
O Modelo de ComunicaçãoO Modelo de Comunicação Comunicação InterprocessosComunicação Interprocessos
Condição de competiçãoCondição de competição Seções críticasSeções críticas
Comunicação InterprocessosComunicação Interprocessos Exclusão mútuaExclusão mútua
solução de softwaresolução de software TSLTSL
Primitivas de comunicaçãoPrimitivas de comunicação sleep/wakeupsleep/wakeup semáforossemáforos contadores de eventoscontadores de eventos
MonitorMonitor Problemas ClássicosProblemas Clássicos
![Page 2: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/2.jpg)
zeque - Grad. CC 2
O Modelo de ProcessoO Modelo de Processo
DefiniçãoDefinição Um processo é um Um processo é um
programa que está programa que está sendo executadosendo executado
Um processo é uma Um processo é uma atividade assíncronaatividade assíncrona
Dados Inicializados
Texto
heap
pilha do usuário
argv , envp
Área de usuário
pilha do processono kernel
bss-block started by symbolTabela de símbolos
Dados Inicializados
Texto
Cabeçalho
Número Mágico
UNIX:UNIX:ProgramasProgramasProcessosProcessos
Arquivo Executável
Espaço de Endereços
![Page 3: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/3.jpg)
zeque - Grad. CC 3
O Modelo de ProcessoO Modelo de Processo
CaracterísticasCaracterísticas Processos seqüenciaisProcessos seqüenciais MultiprogramaçãoMultiprogramação Processamento de InterrupçoesProcessamento de Interrupçoes
Tipos de InterrupçõesTipos de Interrupções chamadas ao supervisorchamadas ao supervisor interrupções de dispositivosinterrupções de dispositivos interrupções externasinterrupções externas excessõesexcessões falhas de máquinafalhas de máquina
Chaveamento de processosChaveamento de processos
![Page 4: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/4.jpg)
zeque - Grad. CC 4
O Modelo de ProcessoO Modelo de Processo
Hierarquia de ProcessosHierarquia de Processos Processos de SistemaProcessos de Sistema Processos de UsuárioProcessos de Usuário
Hierarquia na CriaçãoHierarquia na Criação Processo PAIProcesso PAI Processo FILHOProcesso FILHO
![Page 5: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/5.jpg)
zeque - Grad. CC 5
O Modelo de ProcessoO Modelo de Processo
Implementação de ProcessoImplementação de Processo Contexto:Contexto:
Representação de um processo por um conjunto de Representação de um processo por um conjunto de dadosdados
Registro descritor ou bloco de controle:Registro descritor ou bloco de controle:estado do processo, contador de instruções,estado do processo, contador de instruções,apontador para pilha de execução,apontador para pilha de execução,alocação de memória,alocação de memória,arquivos, dispositivosarquivos, dispositivoscontabilidade, escalonamentocontabilidade, escalonamento
![Page 6: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/6.jpg)
zeque - Grad. CC 6
O Modelo de ProcessoO Modelo de Processo
Estados de um ProcessoEstados de um Processo prontopronto bloqueadobloqueado em execuçãoem execução
![Page 7: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/7.jpg)
zeque - Grad. CC 7
O Modelo de ProcessoO Modelo de Processo
Transição de Estado de um ProcessoTransição de Estado de um Processodespacho (procId): prontodespacho (procId): prontoem execuçãoem execução
tempoesgotado(procId): em execução tempoesgotado(procId): em execução prontopronto
bloqueio(procId): em execução bloqueio(procId): em execução bloqueadobloqueado
desbloqueio(procId): bloqueado desbloqueio(procId): bloqueado prontopronto
Em execução
Bloqueado Pronto
Chamada aosistema
interrupção dorelógio
despacho
atendimento dopedido
Diagrama de transição de estados de um processo
![Page 8: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/8.jpg)
zeque - Grad. CC 8
O Modelo de ComunicaçãoO Modelo de Comunicação
Sistema Operacional
P1 P2 Pn
D1 D2 Dk
Chamada aosistema Despacho
InterrupçãoIniciaE/S
![Page 9: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/9.jpg)
zeque - Grad. CC 9
Comunicação InterprocessosComunicação Interprocessos
Condição de competiçãoCondição de competição Seções críticasSeções críticas Exclusão mútuaExclusão mútua
espera ocupadoespera ocupado Primitivas de comunicaçãoPrimitivas de comunicação
espera bloqueadoespera bloqueado MonitorMonitor Problemas ClássicosProblemas Clássicos
![Page 10: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/10.jpg)
zeque - Grad. CC 10
Comunicação InterprocessosComunicação Interprocessos
Exclusão MútuaExclusão Mútua Desabilitando interrupçõesDesabilitando interrupções Controlando por softwareControlando por software
(construção MUTEXBEGIN/MUTEXEND)(construção MUTEXBEGIN/MUTEXEND)
processo p1processo p1 processo p2processo p2faça até acabarfaça até acabar faça até acabarfaça até acabar calcule; calcule; calcule; calcule; MUTEXBEGIN MUTEXBEGIN MUTEXBEGIN MUTEXBEGIN acesse RC; acesse RC; acesse RC; acesse RC; MUTEXEND MUTEXEND MUTEXEND MUTEXEND calcule; calcule; calcule; calcule; fim. fim. fim. fim.
![Page 11: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/11.jpg)
zeque - Grad. CC 11
Comunicação InterprocessosComunicação Interprocessos
Exclusão MútuaExclusão Mútua MUTEXBEGIN/MUTEXENDMUTEXBEGIN/MUTEXEND
variáveis de bloqueiovariáveis de bloqueioMUTEXBEGIN:
enquanto (ocupado) faça ocupado = V;
MUTEXEND:ocupado = F;
alternância estritaalternância estritaMUTEXBEGIN:
enquanto (vez = MinhaVez) faça;
MUTEXEND:Vez = VezOutro;
![Page 12: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/12.jpg)
zeque - Grad. CC 12
Comunicação InterprocessosComunicação Interprocessos
Exclusão MútuaExclusão Mútua MUTEXBEGIN/MUTEXENDMUTEXBEGIN/MUTEXEND
solução de Petersonsoluçã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;
fim;
MUTEXEND:necessidade(minha) = F;vez = outro;
![Page 13: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/13.jpg)
zeque - Grad. CC 13
Comunicação InterprocessosComunicação Interprocessos
Exclusão MútuaExclusão Mútua instrução TSLinstrução TSL
(Test and Set Lock)(Test and Set Lock)
MUTEXBEGIN:TESTANDSET(ocupado)enquanto (codigo) faça
TESTANDSET(ocupado); fim;
MUTEXEND:ocupado = F;
![Page 14: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/14.jpg)
zeque - Grad. CC 14
Comunicação InterprocessosComunicação Interprocessos
sleep/wakeupsleep/wakeup semáforossemáforos contadores de eventoscontadores de eventos monitoresmonitores passagem de mensagenspassagem de mensagens outrasoutras
![Page 15: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/15.jpg)
zeque - Grad. CC 15
Primitivas de ComunicaçãoPrimitivas de Comunicação
lock/unlocklock/unlockdeclare (g) gate;declare (g) gate;
lock (g);lock (g);......unlock(g);unlock(g);
sleep/wakeupsleep/wakeupblock/wakeupblock/wakeupsleep;sleep;......wakeup(p);wakeup(p);
![Page 16: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/16.jpg)
zeque - Grad. CC 16
Primitivas de ComunicaçãoPrimitivas de Comunicação
SemáforosSemáforosdeclare (s) semaphore initial (i);
P(s); /* espera até que s>0 e então decrementa s */...V(s); /* incremanta s */
![Page 17: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/17.jpg)
zeque - Grad. CC 17
Primitivas de ComunicaçãoPrimitivas de Comunicação
Contadores de eventosContadores de eventosdeclare (e) event_counter;
Read(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) event;
Completion(e)= ...; /* true or false */...call p event(e);wait(e);
![Page 18: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/18.jpg)
zeque - Grad. CC 18
MonitorMonitor
Construção de concorrênciaConstrução de concorrência
Região Crítica
condiçãoj
condiçãok
Sinalizador
Pi
entradai
Visão abstrata do Conceito de Monitor
Pk
Pr PtPc
PbPj
Px
Pv
PaPq entradai+1
entradai-1
![Page 19: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/19.jpg)
zeque - Grad. CC 19
Monitor: Problemas ClássicosMonitor: Problemas Clássicos
Controle de um RecursoControle de um Recurso
resource:Monitor; declare(in_use) bit; declare(available) condition;
do in_use=false end do;
acquire:Entry; if in_use then wait(available); in_use=true; end acquire;
release:entry; in_use=false; signal(available); end release; end resource;
![Page 20: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/20.jpg)
zeque - Grad. CC 20
Monitor: Problemas ClássicosMonitor: Problemas Clássicos
O BUFFER CircularO BUFFER Circular
CircularBuffer: Monitor; declare(Buffer(5))character(80)varying; declare(head,tail,#Buffers,#Full)fixed; declare(BufferVacant,BufferOccupied)condition;
do Head=1; Tail=1; #Buffers=5; #Full=0; end;
Spool: Entry(Contents); ... end Spool;
UnSpool: Entry(Contents); ... end UnSpool; end CircularBuffer;
![Page 21: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/21.jpg)
zeque - Grad. CC 21
Monitor: Problemas ClássicosMonitor: Problemas Clássicos
O BUFFER Circular (cont)O BUFFER Circular (cont)
Spool: Entry(Contents); declare(Contents)character(*)varying;
if #Full=#Buffers then wait(BufferVacant); Buffer(Tail)=Contents; Tail=mod(Tail,#Buffers)+1; #Full=#Full+1; signal(BufferOccupied); end Spool;
![Page 22: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/22.jpg)
zeque - Grad. CC 22
Monitor: Problemas ClássicosMonitor: Problemas Clássicos
O BUFFER Circular (cont.)O BUFFER Circular (cont.)
UnSpool: Entry(Contents); declare(Contents)character(*)varying;
if #Full=0 then wait(BufferOccupied); Contents=Buffer(Head); Head=mod(Head,#Buffers)+1; #Full=#Full-1; signal(BufferVacant); end UnSpool;
![Page 23: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/23.jpg)
zeque - Grad. CC 23
Monitor: Problemas ClássicosMonitor: Problemas Clássicos
Leitores/EscritoresLeitores/Escritores
FileAccess: Monitor; declare(true,false)bit; declare(#Reading)bit; declare(activeWriter)bit; declare(OkToRead,OkToWrite)condition;
do true=1’b’; false=0’b’;#Reading=0; activeWriter=false; end;
![Page 24: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/24.jpg)
zeque - Grad. CC 24
Monitor: Problemas ClássicosMonitor: Problemas Clássicos
Leitores/Escritores (cont.)Leitores/Escritores (cont.)
StartRead: Entry; if activeWriter|empty(OkToWrite) then wait(OkToRead); #Reading=#Reading+1; signal(OkToRead); end StartRead;
EndRead: Entry; #Reading=#Reading-1; if #Reading=0 then signal(OkToWrite); end EndRead;
![Page 25: Zeque - Grad. CC1 Sistemas Operacionais l Processos Plano de Apresentação O Modelo de Processo Definição Características Hierarquia Implementação.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc14f497959413d8e3045/html5/thumbnails/25.jpg)
zeque - Grad. CC 25
Monitor: Problemas ClássicosMonitor: Problemas Clássicos
Leitores/Escritores (cont.)Leitores/Escritores (cont.)
StartWrite: Entry; if #Reading=0|activeWriter then wait(OkToWrite); activeWriter=true; end StartWrite;
EndWrite: Entry; activeWriter=false; if empty(OkToRead) then signal(OkToRead) else signal(OkToWrite); end EndWrite; end FileAccess;