introduÇÃo À organizaÇÃo de computadores e sistemas operacionais viviane lucy sistema...
TRANSCRIPT
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Sistema OperacionalProcessos
WebDesign Redes de Computadores
Aula 10
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Introdução• Em um sistema multiprogramável, o SO controla a execução dos
diversos programas e o uso concorrente do processador e dos demais recursos.
• De uma forma geral, um programa em execução é sempre associado a um processo.
• Para que a concorrência entre os programas ocorra corretamente é necessário:
• Guardar as informações do programa que foi interrompido, para que quando o mesmo volte a ser executado não lhe falte nenhuma informação.
• Estas informações são a base para qualquer sistema multiprogramável
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Introdução• Assim podemos definir Processo como:
• O conjunto de informações necessárias para que o sistema operacional implemente a concorrência de programas.
Instr. 1.1Instr 1.2Instr. 1.3Instr 1.4Instr. 1.5Instr 1.6
.
.
.
Prog_1
Informações de registradores
Instr. 2.1Instr 2.2Instr. 2.3Instr 2.4Instr. 2.5Instr 2.6
.
.
.
Prog_2
Informações de registradores
Instr. 3.1Instr 3.2Instr. 3.3Instr 3.4Instr. 3.5Instr 3.6
.
.
.
Prog_3
Informações de registradores
Processo X Processo Y Processo Z
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Instr. 1.1Instr 1.2Instr. 1.3Instr 1.4Instr. 1.5Instr 1.6
.
.
.
Prog_1
Informações de registradores
Instr. 2.1Instr 2.2Instr. 2.3Instr 2.4Instr. 2.5Instr 2.6
.
.
.
Prog_2
Informações de registradores
Instr. 3.1Instr 3.2Instr. 3.3Instr 3.4Instr. 3.5Instr 3.6
.
.
.
Prog_3
Informações de registradores
Processo X Processo Y Processo Z
t0t4 t5
t7 t8t12 t13
. . .
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.S
.O
Ins
tr.3
.1
Ins
tr.3
.3
Ins
tr.3
.4
Ins
tr.3
.2
Ins
tr.
S.O
Ins
tr.1
.5
Δt1 Δt2 Δt3
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Introdução• O sistema operacional comanda a troca dos processos
no processador -> mudança de contexto
• É dessa forma que o SO implementa e gerencia um ambiente multiprogramável.
• As informações de um processo podem ser:
• O seu espaço de endereçamento na memória principal;
• A sua área em disco;
• O tempo de processador, etc.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Processos
• Um processo é formado por três partes:
• Contexto de software;
• Contexto de hardware;
• Espaço de endereçamento;
• O conjunto destas partes constituem as informações necessárias à execução dos programas.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Contexto de Hadware
• O contexto de hardware de um processo armazena o conteúdo dos registradores da CPU.
• Quando um processo está em execução, o seu contexto de hardware está armazenado nos registradores do processador.
• Quando o processo perde a utilização da CPU, o SO salva as informações no contexto de hardware do processo.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Salva registradores do processo A
Carrega registradores do processo B
Salva registradores do processo B
Carrega registradores do processo A
PROCESSO A PROCESSO B
executando
executando
executando
Sistema Operacional
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Contexto de Software
• No contexto de software de um processo são especificados os recursos que podem ser alocados pelo processo.
• Exemplos:
• Número máximo de arquivos abertos simultaneamente.
• Prioridade de execução...
• Estas características podem ser determinadas no momento de criação do processo ou pode ser alterada durante sua existência.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Contexto de Software
• O contexto de software é composto por três grupos de informações sobre o processo:
• Identificação
• Quotas
• Privilégios
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Contexto de Software
• Identificação
• Cada processo criado recebe uma identificação única (PID – process identification);
• A partir do PID o sistema operacional e outros processos podem fazer referencia a qualquer processo existente.
• O processo também possui a identificação do usuário que o criou (owner). E cada usuário possui uma identificação única no sistema (UID – user identification).
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Contexto de Software
• Quotas
• As quotas são os limites de cada recurso do sistema que um processo pode alocar.
• Se uma quota for insuficiente, o processo poderá ser executado lentamente.
• Exemplos:
• Número máximos de arquivos abertos simultaneamente.
• Tamanho máximo da memória principal ou do HD que o processo pode alocar.
• Número máximo de processos que podem ser criados...
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Contexto de Software
• Privilégios
• Os privilégios definem as ações que um processo pode fazer em relação a ele mesmo, aos demais processos e ao sistema operacional.
• Privilégios que afetam o próprio processo permitem que suas características possam ser alteradas, como prioridade de execução, limites alocados na memória, etc.
• Privilégios que afetam os demais processos permite alterar as características dos outros processos
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Espaço de endereçamento
• O espaço de endereçamento é a área da memória pertencente ao processo onde instruções e dados são armazenados para execução.
• Cada processo tem seu próprio espaço de endereçamento.
• O espaço de um processo deve ser protegido dos demais processos.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Bloco de Controle de Processo• O processo é implementado pelo SO através de uma estrutura
de dados chamada PCB ( bloco de controle de processos).
• No PCB o sistema operacional mantém todas as informações sobre contexto de hardware, contexto de software e espaço de endereçamento. Ponteiros
Estado do Processo
Nome do Processo
Prioridade do processo
Registradores
Limite de MemóriaLista de arquivos
abertos
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Bloco de Controle de Processo
• Os PCBs residem na memória principal, numa área reservada ao S.O.
• A gerência dos processos é realizada por meio das chamadas de rotinas do S.O. que cria, altera, eliminina, suspende processos, etc.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Estados do Processo• Em um sistema multiprogramável, um processo não
deve monopolizar a CPU.
• Os processos passam por diversos estados ao longo de seu processamento.
TerminadoExecução
CriaçãoEspera Pronto
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Estados do processo• Criação
• Um processo está no estado de criação quando o S.O. já criou um novo PCB, porém ainda não pode colocá-lo na lista de processos do estado pronto.
• Alguns S.O.s limitam o número de processos ativos em função dos recursos disponíveis ou de desempenho.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Estados do processo• Terminado
• Um processo no estado terminado não poderá ter mais nenhum programa executado no seu contexto. Porém o S.O. ainda mantém as informações de controle presentes na memória.
• O S.O. pode recuperar informações sobre a contabilização de uso de recursos do processo.
• O término de um processo pode ocorrer por:
• Término normal da execução;
• Eliminação por um outro processo;
• Eliminação forçada por ausência de recursos disponíveis no sistema
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Estados do processo• Pronto
• Um processo está no estado pronto quando apenas aguarda pra ser executado.
• O sistema operacional é responsável por determinar a ordem e os critérios pelos quais os processos em estado pronto devem fazer uso do processador.
• Os processos em estado pronto são organizados em listas encadeadas, e ordenados de acordo com a sua importância.
PCB#5 PCB#1
Lista de Processos em estado de pronto
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Estados do processo• Execução
• Um processo está no estado de execução quando está sendo processado pela CPU.
• Somente um processo pode estar sendo executado em um dado instante de tempo.
• Os processos se alternam na utilização da CPU seguindo uma política estabelecida pelo sistema operacional.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Estados do processo• Espera
• Um processo em estado espera aguarda por algum evento externo ou por algum recurso para prosseguir seu processamento.
• Ex. o processo espera o término de uma operação de entrada e saída. Ou o processo espera uma determinada data e hora para continuar sua execução.
• Os vários processos em estado espera são organizados em listas encadeadas.
PCB#2 PCB#9
Lista de Processos em estado de espera
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Mudanças de estado• Criação - > Pronto
• O processo criado pode passa a fazer parte dos processos que estão prontos para ser executados.
TermindaoExecução
CriaçãoEspera ProntoPronto Criação
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Mudanças de estado• Pronto - > Execução
• O sistema operacional escolhe (através de critérios e algoritmos próprios) o processo que será executado na CPU.
TerminadoExecução
CriaçãoEspera ProntoPronto CriaçãoPronto
Execução
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Mudanças de estado• Execução - > Pronto
• Um processo em execução passa para o estado de pronto quando já executou uma fatia de tempo determinada pelo sistema operacional.
TerminadoExecução
CriaçãoEspera ProntoPronto CriaçãoPronto
Execução
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Mudanças de estado• Execução - > Espera
• Um processo em execução passa para o estado de espera quando aguarda uma operação de E/S, ou quando o sistema operacional suspende a execução do processo.
TerminadoExecução
CriaçãoEspera ProntoPronto Criação
Execução
Espera
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Mudanças de estado• Espera - > Pronto
• Um processo no estado de espera passa para pronto quando a operação solicitada é atendida ou o recurso esperado é concedido.
TerminadoExecução
CriaçãoEspera ProntoPronto Criação
Execução
Espera
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Mudanças de estado• Execução - >Terminado
• O processo em execução passa para o estado de terminado quando o processo terminou de ser executado.
TerminadoExecução
CriaçãoEspera Pronto Criação
Execução Terminado