Por que a multiprogramação torna mais eficiente o aproveitamento dos recursos do computador?

Grátis

29 pág.

  • Denunciar

Pré-visualização | Página 1 de 2

Capítulo 2 2a edição Revisão: Fev/2003 Sistemas Operacionais Rômulo Silva de Oliveira Alexandre da Silva Carissimi Simão Sirineo Toscani 11 Sistemas Operacionais 2 Multiprogramação • Tornar mais eficiente o aproveitamento dos recursos do computador • Execução simultânea* de vários programas • Diversos programas são mantidos na memória • Conceitos necessários à multiprogramação • Processo • Interrupção • Proteção entre processos • Próprio sistema operacional é um programa Sistemas Operacionais 3 O conceito de processo (1) • Diferenciação entre o programa e sua execução • Programa: • Entidade estática e permanente • Sequência de instruções • Passivo sob o ponto de vista do sistema operacional • Processo: • Entidade dinâmica e efêmera • Altera seu estado a medida que avança sua execução • Composto por programa (código), dados e contexto (valores) Sistemas Operacionais 4 O conceito de processo (2) • Abstração que representa um programa em execução • Diferentes instâncias • Um programa pode ter várias instâncias em execução, i.e., diferentes processos • Mesmo código (programa) porém dados e momentos de execução (contexto) diferentes • Forma pela qual o sistema operacional “enxerga” um programa e possibilita sua execução • Processos executam: • Programas de usuários • Programas do próprio sistema operacional (daemons) Sistemas Operacionais 5 Ciclos de vida de um processo • Criação • Execução • Término Sistemas Operacionais 6 Ciclos de vida de um processo: criação • Momento da execução • Chamadas de sistemas • e.g.: fork, spawn, etc. • Podem ser associados a uma sessão de trabalho • e.g.: login de usuários: login + senha  shell (processo) • Identificado por um número único (PID) Sistemas Operacionais 7 Ciclos de vida de um processo: execução (1) • Processos apresentam dois ciclos básicos de operação • Ciclo de processador • Tempo que ocupa a CPU • Ciclo de entrada e saída • Tempo em espera pela conclusão de um evento (e.g. E/S) • Primeiro ciclo é sempre de processador • Trocas de ciclos por: • CPU  E/S: chamada de sistema • E/S  CPU: ocorrência de evento (interrupção) Sistemas Operacionais 8 Ciclos de vida de um processo: execução (2) • Processos • CPU bound • Ciclo de processador >> ciclo de E/S • I/O bound • Ciclo de E/S >> ciclo de processador • Sem quantificação exata • Situação ideal: • Misturar processos CPU bound com I/O bound • Benefícios a nível de escalonamento Sistemas Operacionais 9 Ciclos de vida de um processo: término • Final de execução (normal) • Por erros • e.g.: proteção, aritméticos, E/S, tentativa de execução de instruções inválidas, falta de memória, exceder tempo de limite • Intervenção de outros processos (kill) • Log off de usuários Sistemas Operacionais 10 Relacionamento entre processos (1) • Processos independentes • Não apresentam relacionamentos com outros processos • Grupo de processos • Apresentam algum tipo de relacionamento • e.g. filiação • Podem compartilhar recursos • Definição de hierarquia Sistemas Operacionais 11 Relacionamento entre processos (2) • Hierarquia de processos: • Processo criador é processo pai • Processo criado é processo filho • Representação através de uma árvore • Evolução dinâmica • Semântica associada: O que fazer na destruição de um processo? • Toda a descendência “morre” • A descendência é herdada pelo processo “vô” • Postergar a destruição efetiva do processo pai até o final de todos processos filhos Sistemas Operacionais 12 Estados de um processo • Após criado o processo necessita entrar em ciclo de processador • Hipotéses: • Processador não está disponível • Vários processos sendo criados • Que fazer? • Criação de uma fila de aptos (p/ espera pelo processador) Sistemas Operacionais 13 Apto Executando Criação Dispatcher Pausa Término Modelo simplificado a dois estados • Manter uma fila de processos aptos a executar • Esperando pelo processador ficar livre • Escalonador (dispatcher): • Atribui o processador a um processo da fila de aptos • Pode prevenir um único processo de monopolizar o processador Sistemas Operacionais 14 Limitação do modelo simplificado • Causas para um processo não executar • Esperando pelo processador • Aptos para executar • Esperando pela ocorrência de eventos externos • Bloqueado • Escalonador não pode selecionar um processo bloqueado, logo modelo a dois estados não é suficiente • Criação de novos estados Sistemas Operacionais 15 Modelo de 5 estados (1) • Executando (Running) • Apto (Ready) • Bloqueado (Blocked) • Criação (New) • Destruição (Exit) Sistemas Operacionais 16 Criação Apto Executando Destruição Bloqueado Ocorrência de evento (interrupçao) Seleção Término Tempo/ voluntário Chamada de sistema Modelo a 5 estados (2) • Necessidade de filas Sistemas Operacionais 17 Processos suspensos • Processador é mais rápido que operações de E/S • Possibilidade de todos processos estarem bloqueados esperando por E/S • Liberar memória ocupada por estes processos • Transferidos para o disco (swap) • Estado bloqueado assume duas situações: • Bloqueado com processo em memória • Bloqueado com processo no disco • Necessidade de novos estados • Bloqueado, suspenso (Blocked, suspend) • Apto, suspenso (Ready, suspend) Sistemas Operacionais 18 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 • e.g. sincronização Sistemas Operacionais 19 Criação Admissão Admissão Suspenso Seleção Tempo/ voluntário Apto, suspenso Apto Bloqueado Bloqueado, suspenso Event (ocorr.) Ativo Evento (ocorr.) Ativo Suspenso Executando Destruição Evento (espera) Diagrama de estados de processos Sistemas Operacionais 20 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 da multiprogramação explora características do hardware dos processadores • Mecanismos básicos: • Dois modos de operação • Interrupção • Proteção de periféricos, memória e processador Sistemas Operacionais 21 Modos de operação do processador • Arquitetura de processadores oferecem mecanismos para diferenciar pelo menos dois modos diferentes de operação • Modo supervisor (privilegiado/protegido) • Possibilita a execução de todas as instruções do processador • Modo de execução sistema operacional • Modo usuário • Certas instruções (privilegiadas) não podem ser executadas • Modo de execução dos processos usuários • Chaveamento de modos: • Interrupção (modo usuário  modo protegido) • Instrução (modo protegido  modo usuário) Sistemas Operacionais 22 Mecanismo de interrupção (1) • Sinaliza a ocorrência de algum evento • Provoca a execução de uma rotina especial • Tratador de interrupção • Ciclo de execução de uma interrupção • Prepara a transferência de controle para o tratador (salvamento do contexto de execução) • Desvia controle para tratador • Retorna execução (restaura contexto de execução) Sistemas Operacionais 23 Mecanismo de interrupção (2) • Tipos de interrupção • Hardware: ocorrência de evento externo • Software: execução de uma instrução específica • Exceção: erros de execução (overflow, undeflow...) • Identificadas por um número • Vetor de interrupção • Prioridades • Instruções privilegiadas Sistemas Operacionais 24 Proteção

Página12

Como a multiprogramação aumenta a utilização da CPU?

A multiprogramação aumenta a utilização da CPU organizando os jobs (código e dados) prontos para serem executados, de modo que a CPU tenha sempre um deles para executar, não ficando ociosa.

Qual é o objetivo da multiprogramação?

Vários programas competem pelos recursos do sistema. Multiprogramação (cont.) O objetivo é manter mais de um programa em execução “simultaneamente”, dando a ilusão de que cada programa/usuário tem a máquina dedicada para si.

O que é a multiprogramação?

Multitarefa (Multiprogramado) – mais de um programa na memória em execução. Exige técnicas de multiprogramação. As tarefas são executadas em ordem de chegada, mas pode não ser completada.

Por que a execução de um sistema operacional em um sistema computacional proporciona o acesso eficiente aos recursos do hardware?

R: Porque em sistemas monoprogramáveis somente é possível a execução de um programa por vez, Como um programa não utiliza todos os recursos do sistema totalmente ao longo da sua execução, existe ociosidade e, consequentemente, subutilização de alguns recursos.

Toplist

Última postagem

Tag