Você está na página 1de 21

Instituto Superior de Ciências e Tecnologia de Moçambique

Curso de Engenharia Informática


Sistemas Operacionais I

Introdução a processos

Docente: Eng Hervé Muneza

26/05/2021
Sistemas Operativos I
Conteúdo da Aula

1. Processos
2. Estrutura de um processo
3. Processo filho
4. Estados de processos

6/5/2021 2
1. Introdução

Objectivos da Aula:
Sistemas Operativos I

• Entender como funcionam os processos


• Entender as chamadas ao sistema.

Perguntas base:
O que são processos ?

6/5/2021 3
Processos

6/5/2021 4
1. Processos

• Um processo é a execução de um programa.


Sistemas Operativos I

• Um processo necessita de certos recursos, incluindo tempo de CPU, memória, ficheiros e


dispositivos de E/S para levar a cabo a sua tarefa.

• Quando o utilizador inicia a execução de um programa, o SO cria um novo processo e


atribui-o um único identificador (ID). De imediato aloca determinados recursos ao
processo (memória suficiente para acomodar o espaço de endereçamento do programa e
de alguns dispositivos como por exemplo teclado e monitor, para facilitar a interacção
com o utilizador);

• O processo pode efectuar chamadas ao sistema (system calls) durante a operação para
solicitar recursos adicionais tais como ficheiros;
6/5/2021 5
1. Processos
• O mesmo programa pode estar a ser executado por diferentes processos
(múltiplos utilizadores).
Sistemas Operativos I

O sistema operativo (SO) é responsável por:


• Criação e eliminação de processos
• Suspensão e (re-)arranque de processos
• Fornecer mecanismos para a sincronização e comunicação entre processos

6/5/2021 6
Estrutura de um processo

6/5/2021 7
2. Estrutura de um processo
• Existem 3 contextos de um processo
Sistemas Operativos II

6/5/2021 8
2. Estrutura de um processo
Contexto de Hardware
• Armazena o conteúdo dos registradores de uso
Sistemas Operativos II

gerais e específicos do CPU


PC - Program Counter
IR - Instruction Register
SP – Stack Pointer
Status Register (flags)

• Conteúdo destes registradores é salvo durante a


troca de contexto (troca de processos) para posterior
recuperação

Program Counter (PC) - Armazena o endereço da próxima instrução que processador deve buscar e
executar.
Stack pointer - aponta para o topo da pilha corrente na memória (estrutura para cada procedimento)
6/5/2021 Instruction Register - instrução que está sendo atualmente executada 9
2. Estrutura de um processo
Contexto de Software
• composto por 3 grupos:
Sistemas Operativos II

• Identificação (única para cada processo e usuário.


PID, UID

• Quotas ( limites de cada recurso p/uso do


processo)
• Ex: Nmáx. de arquivos abertos, tamanho máx
de alocações de mémoria, Nmáx de
operações de E/S

• Privilégio – acções permitidas ao processo

6/5/2021 PID – Process Identification 10


UID – User Identification
2. Estrutura de um processo
• Troca de contexto entre processos
Sistemas Operativos II

6/5/2021 11
Processo Filho

6/5/2021 12
3. Processo Filho
O Kernel inicia a execução de um programa com a criação
de um processo para o mesmo (primary process).
Sistemas Operativos I

O processo primário pode fazer chamadas ao sistema


para criar outros processos- estes novos processo são
processos filho (child) e o processo primário torna-se
processo pai (parent process).

Por sua vez, um processo filho pode efectuar uma


chamada ao sistema e criar um novo processo filho,
tornando-se um processo pai, assim por diante. Uma árvore de processos
A criou dois processos filhos: B e C
B criou três processos filhos: D, E, e F

A relação processo pai-filho pode ser representada em


forma de árvore de processos, onde a raíz é o processo
primário (primary process).
6/5/2021 13
3. Processo Filho
Para facilitar o uso de processos filho, o kernel disponibiliza operações para:
Sistemas Operativos I

1. Criar processo filho e atribuí-lo uma prioridade


2. Terminar um processo filho
3. Determinar o estado de um processo filho
4. Partilha, comunicação e sincronização entre processos

6/5/2021 14
3. Benefícios do Processo filho
Aumento da velocidade na Computação
Acções sequenciais de processo pai quando delegadas a processos filho
Sistemas Operativos I

são executadas de forma concorrente, trazendo ganhos em termos de


tempo

Priorização de funções críticas


Um processo filho é atribuído prioridade alta em caso de execução de
funções críticas

Preservar o processo pai contra erros


O Kernel aborta um processo filho em caso de ocorrência de erro durante
a sua operação. Contudo, o processo pai não é afectado pelo erro e neste
caso tem a possibilidade de reexecutar novamente a acção
6/5/2021 15
Estados de um processo

6/5/2021 16
4. Estados de um processo
• Existem tres tipos de estados:
• Execução (running) – O processo está sendo executado pela CPU.
Sistemas Operativos I

• Pronto (ready) – O processo está pronto a espera de ser


executado pela CPU.

• Bloqueado (wait) – O processo está a espera de algum evento


externo ou por algum recurso para poder prosseguir seu
processamento.

6/5/2021 17
4. Estados de um processo
Sistemas Operativos I

Um processo é bloqueado de duas


maneiras:

a) chamada ao sistema: block ou pause;

b) se não há entradas disponíveis para


que o processo continue sua execução;

6/5/2021 18
4. Estados de um processo
Sistemas Operativos I

As transições 2 e 3 ocorrem durante o


escalonamento de processos:

o tempo destinado àquele processo acabou e


outro processo é colocado no processador;

6/5/2021 19
4. Estados de um processo
Sistemas Operativos I

A transição 4 ocorre quando o evento esperado pelo processo bloqueado ocorre:

a) se o processador está parado, o processo é executado imediatamente (2);

b) se o processador está ocupado, o processo deve esperar sua vez;

6/5/2021 20
Bibliografica Basica
• Andrew S. Tanembaum. Sistemas Operacionais
Modernos. 4ª Ed. Editora Pearson, 2003.
Sistemas Operativos I

• Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-


Dusseau. Operating Systems: Three Easy Pieces.
(1th ed). Arpaci-Dusseau Books, LLCl.

6/5/2021 23

Você também pode gostar