Fso parte iii

8

Click here to load reader

Transcript of Fso parte iii

Page 1: Fso parte iii

04/04/2011

1

Bootstrap

Programa inicial ou de partida, que inicializa todos os

aspectos do sistema, desde registradores de CPU a

controladoras de dispositivos, passando pelo conteúdo da

memória.

Etapas do carregamento :

• Localizar e carregar na memória o kernel do SO

• Inicia a execução do primeiro processo “init”

• Monitorar ocorrência de evento (interrupção de

Hardware ou Software) , caso ocorra o hardware envia

um sinal para CPU, geralmente por meio do barramento

do sistema.

Bootstrap

Sistemas modernos são baseados em interrupções, se nao

houver processos para executar, nenhum dispositivo I/O ao

qual fornecer serviço e nenhum usuário a ser atendido, um

SO ficará parado, esperando que algo aconteça.

Os eventos são quase sempre sinalizados pela ocorrência de

uma interrupção ou um trap.

Trap, ou exceção, é uma interrupção gerada por software

causada por um erro (por exemplo, a divisão por zero, ou

acesso inválido à memória)

Para cada tipo de interrupção , segmentos de código no SO

determinam que ação deve ser realizada.

Gerência de processos

O que é um processo ?

• Pode ser considerado um programa em execução

Programa de usuário de tempo compartilhado,

como um compilador

Enviar saída para impressora

Processador de textos executado por um usuário

individual em um PC

Obs: Por enquanto podemos considerar que um processo é

um job ou programa de tempo compartilhado, mais tarde

veremos que o conceito é mais geral, onde será possivel

fornecer chamadas ao sistema que permitem aos processos

criar subprocessos para a execução concorrente.

Page 2: Fso parte iii

04/04/2011

2

Gerência de processosUm processo precisa de determinados recursos, para realizar

suas tarefas, tais como :

• Tempo de CPU

• Memória

• Arquivos e dispositivos de I/O

Que são dados ao processo quando ele é criado ou alocados a

ele durante sua execução.

Vale a pena lembrar que um programa por si só não é um

processo; um programa é uma entidade passiva, como o

conteúdo de um arquivo armazenado em disco, enquanto um

processo é uma entidade ativa, com um contador do

programa especificando a próxima instrução a ser executada.

Gerência de processos

• A execução de um processo deve ser sequencial, onde a

CPU executa uma instrução do processo após a outra até o

processo terminar

• No máximo uma instrução do processo é executada em

nome do processo, ou seja, embora 2 processos possam ser

associados com o mesmo programa, ele são considerados

duas sequencias de execução separadas.

• É comum ter programas que utilize muitos processos para

sua execução.

• Vários processos podem executar concorrentemente,

multiplexando a CPU entre entre eles.

Gerência de processos

O sistema operacional é responsável pelas seguintes

atividades em relação à gerência de processos :

Criar e excluir processos de usuários e sistemas

Suspender e retomar processos

Fornecer mecanismos para sincronização de

processos

Fornecer mecanismos para comunicação de

processos

Fornecer mecanismos para tratamento de deadlocks

(impasses)

Page 3: Fso parte iii

04/04/2011

3

Gerência de processos

• Um processo é formado por três partes:

Contexto de hardware

Contexto de software

Espaço de endereçamento

Gerência de processosContexto de Hardware

Armazena o conteúdo dos registradores gerais da

CPU e de uso específico, como o program counter (PC),

o stack pointer (SP) e o registrador de status (PSW).

Quando um processo está em execução , o os

registradores da CPU são utilizados

Quando o processo perde a utilização da CPU, o

sistema salva o contexto de hardware no processo.

A troca de um processo por outro na CPU é chamada

de mudança de contexto.

Gerência de processosContexto de Software

São especificadas as características e limites dos

recursos que podem ser alocados pelo processo, como

prioridade para execução, privilégios, tamanho do buffer

para operações de E/S etc.;

O contexto de software é formado por três grupos de

informações:

• Identificação

• Quotas

• Privilégios

Page 4: Fso parte iii

04/04/2011

4

Gerência de processosContexto de Software

Identificação

• PID (Program Id)

• UID (Owner) (identificação do usuário que os criou)

Quotas

• São os limites de cada recurso do sistema que um

processo pode alocar:

Número máximo de arquivos abertos

simultaneamente;

Tamanho máximo de memória principal e

secundária

Número máximo de operações de E/S pendentes

Gerência de processosContexto de Software

Privilégios

• Definem as ações que um processo pode fazer em

relação a ele mesmo, aos demais processos e ao SO

Privilégios que afetam o próprio processo permitem

que suas características possam ser modificadas.

Prioridade de execução

Limites alocados na memória principal e

secundária

O usuário que possuem todos os privilégios são

chamados de Administrador (Windows) e root (Linux)

Gerência de processos

Espaço de endereçamento

É a área do processo onde as instruções e dados do

programa são armazenados para sua execução

Cada processo possui o seu espaço; nenhum outro processo

poderá ocupá-lo.

Page 5: Fso parte iii

04/04/2011

5

Gerência de processos

Estado do processo

Nos sistemas operacionais multitarefa, um processo não

poderá ocupar exclusivamente uma CPU.

Para que o compartilhamento da CPU seja efetivado, um

processo passa por vários estados ao longo de seu

completo processamento

A mudança de estados é gerada por eventos do sistema

operacional ou do próprio processo.

Gerência de processos

Um processo ativo pode se encontrar em 3 estados :

Pronto

Execução

Espera

Gerência de processos

Estado de pronto (ready)

Está no estado de pronto quando aguarda para ser

executado

Os processos no estado de pronto ficam em uma lista

encadeada

O escalonamento dos processos determina a ordem e

os critérios pelos quais os processos neste estado deverá

fazer uso do processador.

Page 6: Fso parte iii

04/04/2011

6

Gerência de processos

Estado de execução (running)

Está no estado de execução quando está sendo

processado pela CPU

Os processos se alternam na utilização da CPU

seguindo uma política de escalonamento estabelecida pelo

Sistema Operacional

Gerência de processos

Estado de espera (waiting)

Aguarda por algum evento externo ou por algum recurso

para prosseguir o processamento.

Também são organizados em lista encadeada

Todos os processos em estado de espera são colocados

novamente em fila de pronto

Espera de uma data e hora para executar uma ação

ou espera de entrada pelo usuário.

Gerência de processos

Mudança de Estado do processo

Um processo muda de estado durante seu processamento

em função de :

• Eventos voluntários originados pelo próprio processo

• Eventos involuntários originados pelo SO

São 4 as mudanças de estado :

• de pronto para execução

• de execução para espera

• de espera para pronto

• de execução para pronto

Page 7: Fso parte iii

04/04/2011

7

Gerência de processos

De pronto para execução

1. SO cria o processo

2. Sistema coloca processo em estado de pronto e fica

aguardando uma oportunidade para ser executado.

3. Processo é executado

Gerência de processos

De execução para pronto

1. Processo se encontra em execução;

2. Tempo para execução do processo termina;

3. Processo retorna à fila de pronto

Gerência de processos

De execução para espera

1. Processo está sendo executado;

2. SO suspende a execução do processo colocando-o

em fila de espera por um determinado tempo;

Page 8: Fso parte iii

04/04/2011

8

Gerência de processos

De espera para pronto

1. Processo está em espera (waiting);

2. Um determinado recurso ou operação é solicitada

pelo processo, que é atendido.

3. Processo entra para a fila de pronto

Gerência de processos

Swapping

• Processos em estado de pronto ou espera podem ser

alocados em memória secundária caso não haja espaço

suficiente na memória principal;

• Esta técnica chamamos de Swapping

• Swapp out quando o processo ou programa é levado para

a memória secundária.

• Swapp in quando o mesmo retorna para a memória

principal