introduÇÃo À organizaÇÃo de computadores e sistemas operacionais viviane lucy sistema...

28
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

Upload: internet

Post on 21-Apr-2015

107 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Sistema OperacionalProcessos

WebDesign Redes de Computadores

Aula 10

Page 2: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos 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

Page 3: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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

Page 4: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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

Page 5: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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.

Page 6: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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.

Page 7: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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.

Page 8: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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

Page 9: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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.

Page 10: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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

Page 11: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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).

Page 12: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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...

Page 13: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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

Page 14: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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.

Page 15: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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

Page 16: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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.

Page 17: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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

Page 18: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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.

Page 19: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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

Page 20: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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

Page 21: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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.

Page 22: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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

Page 23: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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

Page 24: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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

Page 25: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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

Page 26: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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

Page 27: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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

Page 28: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Processos WebDesign Redes de Computadores Aula 10

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