Sop 3 - Gerencia de Processos Parte 2

21
Multiprogramação/ Multiprogramação/ Gerência de Gerência de Processos [parte 2] Processos [parte 2] Universidade do Estado de Santa Catarina – Ceplan Bacharelado em Sistemas de Informação Prof. Alexandre Veloso [email protected]

Transcript of Sop 3 - Gerencia de Processos Parte 2

Page 1: Sop 3 - Gerencia de Processos Parte 2

Multiprogramação/Multiprogramação/Multiprogramação/Multiprogramação/Gerência de Gerência de Processos [parte 2]Processos [parte 2]

Universidade do Estado de Santa Catarina – CeplanBacharelado em Sistemas de Informação

Prof. Alexandre [email protected]

Page 2: Sop 3 - Gerencia de Processos Parte 2

Processos

� São representados:� Por um espaço de endereçamento (para armazenamento da imagem do processo)

� Pelas estruturas internas do sistema que precisam ser utilizadas

� Pelo seu contexto de execução

� Sempre existirá um fluxo de controle por processo � Sempre existirá um fluxo de controle por processo (threads)

Page 3: Sop 3 - Gerencia de Processos Parte 2

Processos

� Um processo suspenso deve retornar sua execução no ponto onde parou� Questão:

� Como um SO recupera, então, um processo suspenso ?

Page 4: Sop 3 - Gerencia de Processos Parte 2

Blocos de Controle de Processos - PCBs

� Os PCBs mantêm as informações que o SO precisa para gerenciar um processo:� Número de identificação de processo (PID)� Estado do processo� Contador de programa� Prioridade de escalonamento� Prioridade de escalonamento� Credenciais� Um ponteiro para o processo-pai� Ponteiros para os processos-filho� Ponteiros para localizar os dados e instruções do processo na memória

� Ponteiros para recursos alocados

Page 5: Sop 3 - Gerencia de Processos Parte 2

Tabela de Processos

� O SO mantém ponteiros para cada PCB (ou Descritor de Processo) em uma tabela de processos no âmbito total do sistema ou por usuário.

� Esta tabela permite acesso rápido aos PCBs.

� Quando um processo é encerrado, a tabela de processos retira o processo da tabela e disponibiliza todos os seus retira o processo da tabela e disponibiliza todos os seus recursos.

Page 6: Sop 3 - Gerencia de Processos Parte 2

Tabela de Processos

Page 7: Sop 3 - Gerencia de Processos Parte 2

Gerência dos Processos

� Uma operação de E/S de um processo geralmente termina durante a execução de um segundo processo (Tente entender o porquê!)

� Tais operações são gerenciadas por controladores de periféricos, no entanto,

Page 8: Sop 3 - Gerencia de Processos Parte 2

Gerência de Processos

� Controladores de periféricos têm capacidade limitada de processamento

� Logo:� Cada dispositivo pode se ver na necessidade de manter uma fila de processos

Processadores precisam de uma forma de identificar o término � Processadores precisam de uma forma de identificar o término dessas operações (interrupções)

Page 9: Sop 3 - Gerencia de Processos Parte 2

Interrupções

� Pode ser de 2 tipos: de hardware ou de software (traps)

� Interrupções de hardware:� Permitem que um controlador de periférico chame a atenção do processador

� É uma resposta a algum evento

Cada controlador de periférico tem um tipo diferente de � Cada controlador de periférico tem um tipo diferente de interrupção (0 .. 255)

Page 10: Sop 3 - Gerencia de Processos Parte 2

Interrupções

� Interrupção de hardware� Ativação por meio de hardware

� Não é determinística (o momento exato de sua ocorrência não pode ser prevista)

� Interrupção de softwareAtivação por meio de software� Ativação por meio de software

� Sua ocorrência pode ser controlada

Page 11: Sop 3 - Gerencia de Processos Parte 2

Interrupções

� Permitem que o controlador de um periférico chame a atenção do processador

� Um SO precisa atender a este evento (por isso, todo SO possui um módulo denominado tratador de interrupção)

� Ao atender uma interrupção, um processador precisa salvar automaticamente o estado de um processo salvar automaticamente o estado de um processo

Page 12: Sop 3 - Gerencia de Processos Parte 2

Interrupção de Hardware

Page 13: Sop 3 - Gerencia de Processos Parte 2

Questão

� Se um SO precisa atender imediatamente a uma interrupção, o que poderia ocorrer a um processo que em determinado instante está executando umacomputação atômica ?

Page 14: Sop 3 - Gerencia de Processos Parte 2

Proteção entre processos

� Um SO oferece proteção ao sistema além de garantir a correta utilização do sistema:� Imagine se um processo de usuário pudesse formatar o disco ?

� Imagine se um processo pudesse alterar seu estado constantemente para “em execução” ?

Page 15: Sop 3 - Gerencia de Processos Parte 2

Proteção entre processos

� Para facilitar o SO alterna entre dois modos de execução: usuário e supervisor

� Se um processo estiver em modo usuário e tentar executar uma instrução privilegiada (chamada de sistema) => o hardware gera uma interrupção e aciona o SO

Page 16: Sop 3 - Gerencia de Processos Parte 2

Proteção entre processos

� Consequentemente, a única forma de um processo de usuário realizar uma operação de E/S é através de uma chamada de sistema!

Page 17: Sop 3 - Gerencia de Processos Parte 2

Proteção entre processos

� Porque a memória é um recurso delicado ?� Processos poderiam alterar PCBs de outros processos ...

� Processos poderiam instalar código próprio onde deveria existir um tratador de interrupção ...

� etc

Page 18: Sop 3 - Gerencia de Processos Parte 2

Proteção entre processos

� Então, o que é necessário proteger ?� A memória usado pelo SO

� A memória usada por um processo

Page 19: Sop 3 - Gerencia de Processos Parte 2

Proteção entre processos

� Proposta 1: Registradores de Limite

Page 20: Sop 3 - Gerencia de Processos Parte 2

Proteção entre processos

� Proposta 2: E/S mapeada em memória� Arquiteturas que permitem o acesso a periféricos apenas em posições específicas de memória

� Proposta 3: Temporizador

Page 21: Sop 3 - Gerencia de Processos Parte 2

Exercícios de Fixação

� O SO é um programa dirigido por eventos, e esses eventos são sinalizados por interrupções. Para cada uma das três classes de interrupções (periféricos, proteção e chamada de sistema), descreva a reação que o SO deverá ter.

� A operação “escreve caracter na interface da impressora” � A operação “escreve caracter na interface da impressora” deve ou não ser privilegiada?

� Pode-se considerar como consequência da multiprogramação “uma pior utilização dos periféricos”? Justifique.