Sistemas OperacionaisSistemas Operacionais
Gerência de processos
2
ProcessoProcesso
Processo é um programa em execuçãoProcesso é um programa em execução Unidade de trabalho em um sistema de tempo Unidade de trabalho em um sistema de tempo
compartilhadocompartilhado Todas as atividades, desde o SisOp até as do úsuário Todas as atividades, desde o SisOp até as do úsuário
são denominadas Processo.são denominadas Processo.
3
Estrutura de um processoEstrutura de um processo
Composta porComposta por CódigoCódigo Espaço em memóriaEspaço em memória Controlador de Controlador de
programa (PC)programa (PC) Seção de dadosSeção de dados
4
Estrutura de um processoEstrutura de um processo
Visão do programador 1
Visão do programador 2
FFFFFFFFh
00000000h
FFFFFFFFh
00000000h
Sistema(2GB)
Usuário 1(2 GB)
Sistema(2GB)
Usuário 2(2 GB)
O usuário (e o programa) tem a impressão deque a memória é contínua, física e grande.
Sistemanão paginado
Usuário 2Livre
Usuário 1Usuário 2Usuário 2
Usuário 1Livre
Sistemalivre
...
Memória físicaEndereçamento virtual
5
Estados de um processoEstados de um processo
A medida que um programa é executado, os estados A medida que um programa é executado, os estados do mesmo podem ser:do mesmo podem ser: NovoNovo Em execuçãoEm execução Em esperaEm espera ProntoPronto EncerradoEncerrado
6
Estados de um processoEstados de um processo
A medida que um programa é executado, os estados A medida que um programa é executado, os estados do mesmo podem ser:do mesmo podem ser: NovoNovo Em execuçãoEm execução Em esperaEm espera ProntoPronto EncerradoEncerrado
Novo
Pronto Em execução
Em espera
Encerradoaceito interrupção
escalonadoEspera por E/Sou evento
Conclusão de E/S ou evento
saída
7
Bloco de controle de um processoBloco de controle de um processo
O Bloco de Controle de Processo (PCB), ou O Bloco de Controle de Processo (PCB), ou Contexto do Processo, é a representação do processo Contexto do Processo, é a representação do processo no SisOp. no SisOp.
ponteiro Estado do processo
Número do processo
Contador de programa
Registradores
Limites de memória
Lista de arquivos abertos...
8
Bloco de controle de um processoBloco de controle de um processo
Ele contém as seguintes Ele contém as seguintes informações associadas informações associadas a um processo:a um processo: Estado do processoEstado do processo Contador de programaContador de programa Estado dos registradoresEstado dos registradores Informações sobre:Informações sobre:
EscalonamentoEscalonamento Gerência da memóriaGerência da memória Estado da E/SEstado da E/S
ponteiro Estado do processo
Número do processo
Contador de programa
Registradores
Limites de memória
Lista de arquivos abertos...
9
Outros conceitosOutros conceitos
Programa não é processoPrograma não é processo Processo é ativoProcesso é ativo Programa é passivoPrograma é passivo
10
Outros conceitosOutros conceitos
Um programa pode ter vários processos em Um programa pode ter vários processos em execuçãoexecução Cada um é uma instânciaCada um é uma instância Diferente e isoladaDiferente e isolada
11
Outros conceitosOutros conceitos
Um programa pode ter vários processos em Um programa pode ter vários processos em execuçãoexecução Cada um é uma instânciaCada um é uma instância Diferente e isoladaDiferente e isolada
Processo 1MSWord do usuário X
Processo 2MSWord do usuário Y
Código Executável
do programaMSWord
12
Outros conceitosOutros conceitos
Mudança de contextoMudança de contexto Foreground vs. BackgroundForeground vs. Background CPUbound vs. I/OboundCPUbound vs. I/Obound
13
ContinuaçãoContinuação
Escalonamento de processosEscalonamento de processos
14
ReferênciasReferências
Silberschatz, Abraham; Galvin, Peter; Gagne, Greg. Silberschatz, Abraham; Galvin, Peter; Gagne, Greg. Sistemas operacionais: conceitos e aplicaçõesSistemas operacionais: conceitos e aplicações. Rio de . Rio de Janeiro: Ed. Campus. 2000.Janeiro: Ed. Campus. 2000.
Tanembaum, Andrew S. Tanembaum, Andrew S. Sistemas Operacionais Sistemas Operacionais ModernosModernos. Rio de Janeiro: LTC. 1995.. Rio de Janeiro: LTC. 1995.
Oliveira; Carissimi; Toscani. Oliveira; Carissimi; Toscani. Sistemas OperacionaisSistemas Operacionais. Porto . Porto Alegre: Instituto de Informática da UFRGS. 2001. Alegre: Instituto de Informática da UFRGS. 2001. Disponível Disponível onlineonline em: em: http://www.inf.ufrgs.br/~asc/livrohttp://www.inf.ufrgs.br/~asc/livro/matdidatico.html/matdidatico.html. Acesso em: 10/02/2003. . Acesso em: 10/02/2003.