Baixe o app para aproveitar ainda mais
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
Compartilhar