Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.
Transcript of Sistemas Operacionais PROCESSOS Profa. Priscila Facciolli.
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.
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
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
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
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
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
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
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
É 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
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
........
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)
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
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
Estado de Execução
Estado de Espera Estado de Pron to
a
c
db
Sistemas Operacionais
Mudanças de Estado do Processo
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
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
(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
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
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
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