Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

21
Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli

Transcript of Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

Page 1: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

Sistemas Operacionais

PROCESSOS

Profa. Priscila Facciolli

Page 2: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

Sistemas Operacionais

Sumário O que é processo? Elementos básicos de um processo;

Contexto de Hardware;Contexto de Software;Espaço de endereçamento;

Bloco de Controle do Processo (PCB) Estados de um processo; Mudança de estado dos processos; Processos Foreground e Processos Background; Processos do SO; Processos CPU/Bound e I/O Bound; Exercícios.

Page 3: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

O que é Processo?

Surgiu na década de 60 o conceito de SO multiprogramáveis e

Time Sharing, onde se atende diversas tarefas dos usuários e

se mantém informações a respeito de vários programas que

estão sendo executados concorrentemente.

Neste sistema, o processador executa a tarefa durante um Time

Slice e, no instante seguinte pode processar outra tarefa.

A cada troca de tarefa é necessário salvar todas as informações

da tarefa que foi interrompida para quando ela retornar a ser

executada, não lhe falte nenhuma informação para continuar

seu processamento

Sistemas Operacionais

Page 4: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

O que é Processo?

Quem mantém todas essas informações para execução de um

programa, como por exemplo, conteúdo de registradores e

espaço de memória é o Processo.

Também pode ser definido como sendo o ambiente onde se

executa um programa. Nenhum programa é executado

diretamente na Memória Principal e sim, dentro de um processo,

pois se não, o programa faria uso indiscriminado de qualquer

área da Memória Principal, efetuando operações de E/S

indevidas comprometendo a integridade e a consistência dos

dados

Sistemas Operacionais

Page 5: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

Elementos básicos de um Processo

Program a

C on texto d eSo ftw a re

C on texto d eH ardw are

Esp aço deEn dereça m en to

Sistemas Operacionais

Page 6: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

Sistemas Operacionais

Contexto de Hardware

o Armazena o conteúdo dos registradores de uso gerais e específicos da CPU

PC (program counter), SP (stack pointer) e bits de estado

o Conteúdo destes registradores é salvo durante a troca de contexto (troca de processos) para posterior recuperação

Sistemas Operacionais

Page 7: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

Troca de Contexto

C a rrega reg istra do res doPro cesso B

C a rrega reg istra do res doPro cesso A

Sistem a O p eracion a l

Sa lva reg istrad o res d oPro cesso A

execu ta n do

execu ta n do

execu ta n do

Sa lva reg istrad o res d oPro cesso B

Pro cesso A Pro cesso B

Sistemas Operacionais

Page 8: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

Contexto de Software

Especifica características e limites dos recursos alocados ao processo

Ex: No. Máximo de arquivos abertos, prioridade de execução, tamanho de buffer de E/S, etc

Maior parte das informações localiza-se no chamado “arquivo de contas”, de uso do administrador do SO

Contexto de Software composto por 3 grupos:

Identificação

Quotas

Privilégio

5/4Sistemas Operacionais

Page 9: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

o Identificação – única para cada processo e usuário

Process Identification (PID)

User Identification (UID)

o Quotas – limites de cada recurso p/uso do processo

No. máx. de arquivos abertos, tamanho máx. de alocação de memória, Nmáx de operações de E/S, buffer máx p/ E/S, Nmáx de subprocessos, etc

o Privilégios – ações permitidas ao processo

Dividem-se em privilégios que afetam o próprio processo, afetam demais processos e afetam o próprio SO (conta root)Sistemas Operacionais

Contexto de Software

Page 10: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

É a área da memória do processo onde o programa será executado.

Sistemas Operacionais

Espaço de Endereçamento

Progra m a

C o n texto d eSo ftw a re

p riorida de deexecuçã o reg istra dor PC

d a ta / h orad e cria çã o

tem po d ep rocessa dor

reg istra dor SP

q uota s

p rivilég ios

en dereços d e m em óriap rincipa l a loca dos

reg istra dord e sta tus

own er (U ID )PID

nom ereg istra dores

g era is

C o n texto d eH a rdw are

Esp a ço d eEn dereça m en to

Estrutura de um Processo Detalhada

Page 11: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

Bloco de Controle do Processo (PCB)

Cada processo é implementado no SO através do Process Control Block.

Cada PCB mantém todas as informações de contexto do respectivo processo;

Todos os PCBs residem em área exclusiva da Memória Principal;

Gerência de processos realizada exclusivamente através de System Calls

Criação, alteração, eliminação, suspensão, sincronização, etc

Sistemas Operacionais

Page 12: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

........

p onteiro s

Esta do do processo

Registrad o res

N om e do processo

Pr io r id ad e d o p rocesso

Lim ites de m em ória

Lista d e a rqu ivos a bertos

Sistemas Operacionais

Bloco de Controle do Processo (PCB)

Page 13: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

Estados do Processo

o Estado de execução

Processo que está sendo executado pela CPU

o Estado de pronto (ready)

Processo aguardando para ser executado;

Geralmente organizados em listas encadeadas;

Escalonamento da fila (lista) a critério do SO.

o Estado de espera (wait ou blocked)

Processo que aguarda algum evento externo ou liberação de recurso (ex: operação de E/S, relógio).

Sistemas Operacionais

Page 14: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

Mudanças de Estado do Processo

o Processos mudam de estado em função de eventos gerados por ele próprio ou pelo SO.

De pronto para execução

De execução para espera

De espera para pronto

o Nunca vai direto para estado de execução

De execução para pronto

o Em geral, quando ocorre interrupção devido ao término da fatia de tempo alocado para o processo que estava sendo executado

Sistemas Operacionais

Page 15: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

Estado de Execução

Estado de Espera Estado de Pron to

a

c

db

Sistemas Operacionais

Mudanças de Estado do Processo

Page 16: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

Mudanças de Estado do ProcessoEstado de Execução Estado de Térm ino

Estado de Espera Estado de Pron to Estado de C ria çã o

Sistemas Operacionais

Page 17: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

Processos Foreground e Background

o Todo processo possui pelos menos um canal de entrada e um canal de saída a ele associado.

o Canais de entrada (input) e saída (output) podem estar associados a terminais, arquivos ou mesmo a outros processos.

Processo em foreground possui canal de entrada em comunicação direta com usuário.

Processos em background não possibilitam comunicação direta com usuário.

Sistemas Operacionais

Page 18: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

(a ) Processo Fo reground

(b ) Processo Backg round

sa ída

sa ída

a rqu ivode sa ída

term ina lterm ina l

en trada

en trada

arqu ivode en trada

Sistemas Operacionais

Processos Foreground e Background

Page 19: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

Processos do SO

o Arquitetura microkernel faz uso intensivo de processos que disponibilizam serviços para outros processos (aplicações e processos do SO)

o Exemplos:

Auditoria e segurança;

Serviços de rede;

Contabilização de uso de recursos;

Gerência de impressão;

Comunicação de eventos;

Interface de comandos de linha (shell.)Sistemas Operacionais

Page 20: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

Processos CPU-bound x I/O-boundo Processos CPU-bound ficam maior parte do tempo no estado de execução e pronto

o Processos I/O-bound ficam maior parte do tempo no estado de espera

(a ) C PU - b ou ndtem po tem po

E/ S E/ S

U C P U C P

(b ) I / O -b o u n d

Sistemas Operacionais

Page 21: Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.

ExercíciosExercícios1- O que são processos?

2- Quais as partes que compõem um processo? Defina-as.

3- Quais os estados que geralmetne um processo pode assumir em um SO? Explique.

4- Diferencie processos CPU-Bound e Processos I/O Bound.

5- Diferencie processos foreground e processos background.

Sistemas Operacionais