Buscar

02-Programas e Processos

Prévia do material em texto

Lange (IFRS) SO 1 / 26 
Sistemas Operacionais: 
Conceitos Básicos 
Sandra Coelho 
IFRS Campus Ibirubá 
Setembro 2020 
 
 
 
 
Lange (IFRS) SO 2 / 26 
 
Programas e processos 
 
 
 
 
 
Lange (IFRS) SO 3 / 26 
O conceito de processo 
 
• Diferença entre o programa e sua execução 
o Programa: 
▪ Entidade estática e permanente 
▪ Passivo sob o ponto de vista do SO 
 
 
 
 
Lange (IFRS) SO 4 / 26 
Processo 
 
• Entidade dinâmica e efêmera 
o Altera seu estado à medida que avança a execução 
 
• Composto por programa (código), dados e contexto (valores) 
 
• Abstração que representa um programa em execução 
 
 
 
Lange (IFRS) SO 5 / 26 
Processo 
 
• Diferentes instâncias 
o Um programa pode ter diversas instâncias em execução (i.e., 
diferentes processos) 
o Mesmo código, porém dados e momentos de execução 
(contexto) diferentes 
• Forma pela qual o SO ”enxerga” um programa e possibilita sua 
execução 
 
 
 
Lange (IFRS) SO 6 / 26 
Processo 
 
• Processos executam: 
o Programas de usuários 
 
o Programas do próprio SO (daemons) 
 
 
 
 
 
 
Lange (IFRS) SO 7 / 26 
Ciclo de vida de um processo 
• Criação 
o Momento da execução 
o Chamada de sistemas 
o Podem ser associadas à uma sessão de trabalho 
o Indentificado por um número 
 
 
 
Lange (IFRS) SO 8 / 26 
Ciclo de vida de um processo 
• Execução 
o Processos apresentam 2 ciclos básicos de operação: 
▪ Ciclo de processador – tempo que ocupa de CPU 
▪ Ciclo de entrada e saída – tempo, em espera pela 
conclusão de um evento (E/S) 
o Primeiro ciclo é sempre de processador 
▪ Trocas de ciclos por: 
• CPU – E/S: chamada de sistema 
• E/S – CPU: ocorrência de evento (Interrupção) 
 
 
Lange (IFRS) SO 9 / 26 
Ciclo de vida de um processo 
• Execução 
o Processos 
▪ CPU bound: ciclo do processador >> ciclo de E/S 
▪ I/O bound: ciclo de E/S >> ciclo do processador 
o Sem qualificação exata 
o Situação ideal: misturar processos CPU bound com I/O bound 
▪ Benefícios para o escalonamento 
 
 
 
Lange (IFRS) SO 10 / 26 
Ciclo de vida de um processo 
• Término 
o Final de execução (normal); 
o Por erros: proteção, aritméticos E/S, tentativa de execução de 
instruções inválidas, falta de memória, exceder o tempo 
limite; 
o Intervenção de outros processos; 
o Log off de usuários. 
 
 
 
 
Lange (IFRS) SO 11 / 26 
Relacionamento entre processos 
• Caso mais simples: os processos são independentes. 
 – Sem relacionamento 
• Grupo de processos 
 – Compartilhamento de recursos 
 – Baseados em hierarquia de processos: 
• Um processo pai cria processos filhos; 
 
 
 
Lange (IFRS) SO 12 / 26 
Relacionamento entre processos 
• Os filhos podem executar o mesmo código, ou 
trocá-lo; 
• Obtem-se uma árvore de processos. 
• Implica na definição da semântica de termino de um processo: 
– Se o processo morre; 
– Toda sua descendência morre. 
 
 
 
Lange (IFRS) SO 13 / 26 
Relacionamento entre processos 
• Hierarquia de processos` 
o Processo criador é processo pai 
o Processo criado é o processo filho 
• Semântica Associada: O que fazer na destruição 
de um processo? 
 
 
 
 
Lange (IFRS) SO 14 / 26 
Relacionamento entre processos 
 
o Toda a descendência “morre”; 
o A descendência é herdada pelo processo “vô”; 
o Postergar a destruição efetiva do processo 
pai até o final de todos os processos filhos 
 
 
 
Lange (IFRS) SO 15 / 26 
Estados de um processo 
• Após criado, o processo necessita entrar em um ciclo 
do processador; 
• Hipóteses: 
o Processador não está disponível 
o Vários processos sendo criados 
o O que fazer? Criação de uma fila de aptos 
(esperando o processador) 
 
 
Lange (IFRS) SO 16 / 26 
 Modelo Simplificado a dois estados 
• Manter uma fila de processos aptos a executar 
• Escalonador (dispatcher): 
o Atribui o processador a um processo de fila de aptos 
o Pode prevenir um único processo de monopolizar o 
processador 
 
 
 
 
 
 
 
Lange (IFRS) SO 17 / 26 
Limitação do modelo simplificado 
• Causas de um processo não executar: 
o Esperando pelo processador 
▪ Aptos a executar 
o Esperando pela ocorrência de 
eventos externos 
 
 
 
 
Lange (IFRS) SO 18 / 26 
Limitação do modelo simplificado 
 
• Escalonador não pode selecionar um 
processo bloqueado, logo o modelo a 
dois estados não é suficiente 
o Criação de novos estados 
 
 
 
Lange (IFRS) SO 19 / 26 
Modelo de 5 estados 
• Executando (running) 
• Apto Ready) 
• Bloqueado (Blocked) 
• Criação (New) 
• Destruição (Exit) 
 
 
Lange (IFRS) SO 20 / 26 
Modelo de 5 estados 
 
 
Lange (IFRS) SO 21 / 26 
Processos Suspensos 
• Processador é mais rápido que as operações de E/S 
o Possibilidade de todos os processos estarem 
bloqueados esperando por E/S 
• Liberar memória ocupada por esses processos 
o Transferidos para o disco (swap) 
 
 
 
 
Lange (IFRS) SO 22 / 26 
Processos Suspensos 
• Estado bloqueado assume 2 situações: 
o Bloqueado com processo em memória 
o Bloqueado com processo em disco 
• Nessecidade de novos estados: 
o Bloqueado, Suspenso (Blocked, Suspend) 
▪ Apto, suspenso (Redy, Suspend) 
 
 
 
Lange (IFRS) SO 23 / 26 
Razões para suspender um processo 
• Swapping : SO necessita liberar memória para 
executar um novo processo 
• Solicitação do usuário: comportamento típico de 
depuradores 
• Temporização: Processo deve ter sua execução 
interrompida por um certo período de tempo 
• Processo suspender outro processo: sincronização 
 
 
Lange (IFRS) SO 24 / 26 
Diagrama de estados de processo 
 
 
 
Lange (IFRS) SO 25 / 26 
Suporte de hardware à multiprogramação 
• O Compartilhamento de recursos comuns implica em 
garantir que a execução incorreta de um programa 
não influencie a execução de outro programa 
• A implementação de multiprogramação exporá 
características do hardware dos processadores 
 
 
 
 
Lange (IFRS) SO 26 / 26 
Suporte de hardware à multiprogramação 
• Mecanismos básicos: 
o Dois odos de operação 
o Interrupção 
o Proteção de periféricos, memória e 
processador

Continue navegando