Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMAS OPERACIONAIS • INTERRUPÇÃO • PROCESSOS Prof. Luiz di Marcello luizdimarcello@gmail.com Prof. Luiz di Marcello CONCEITO DE INTERRUPÇÃO • São sinais de hardware, fundamentais para a existência de sistemas multitarefa, pois provocam a interrupção da tarefa em execução • Parte do mecanismo é executada pelo hardware (identificação do dispositivo, empilhamento dos registradores de sistema) e parte é feita por software • Mascaramento de interrupções: Capacidade de inibir a ação de uma interrupção Prof. Luiz di Marcello CONCEITO DE INTERRUPÇÃO • Concorrência: Capacidade de execução concorrente de tarefas permitindo um melhor aproveitamento de recursos • Uma tarefa pode deixar a CPU por vontade própria quando precisa aguardar por um recurso, ou por uma interrupção • Em particular, uma interrupção de temporizador provoca a substituição da tarefa em execução Prof. Luiz di Marcello INTERRUPÇÃO ACONTECE ASSIM... Dispositivo de controle ou outro sistema de hardware que permita ativar uma interrupção Processador termina a execução da instrução corrente Processador reconhece sinal de interrupção Processador coloca PSW e PC na pilha de controle Processador carrega novo valor do PC, baseado na interrupção Salva informações remanescentes sobre o estado do processo Processa a interrupção Restaura a informação do estado do processo Restaura o velho PSW e PC Prof. Luiz di Marcello APLICAÇÃO 100 101 102 STACK 102 PC estado APPSW INSTRUÇÃO EM EXECUÇÃO MECANISMO DE INTERRUPÇÃO Prof. Luiz di Marcello 100 101 102 STACK 102 PC estado APPSW OCORRE INTERRUPÇÃO MECANISMO DE INTERRUPÇÃO APLICAÇÃO Prof. Luiz di Marcello ROTINA DA INTERRUPÇÃO A 100 101 102 500 102 STACK 102PC estado APPSW SALVA PC MECANISMO DE INTERRUPÇÃO APLICAÇÃO Prof. Luiz di Marcello ROTINA DA INTERRUPÇÃO A 100 101 102 500 estado AP 102 STACK 102PC estado APPSW SALVA PSW MECANISMO DE INTERRUPÇÃO APLICAÇÃO Prof. Luiz di Marcello ROTINA DA INTERRUPÇÃO A 100 101 102 500 estado AP 102 STACK 500PC estado ROTINA A PSW ALTERA PSW e PC MECANISMO DE INTERRUPÇÃO APLICAÇÃO Prof. Luiz di Marcello ROTINA DA INTERRUPÇÃO A 100 101 102 500 registradores estado AP 102 STACK 501PC estado ROTINA A PSW ROTINA A SALVA REGISTRADORES MECANISMO DE INTERRUPÇÃO APLICAÇÃO Prof. Luiz di Marcello ROTINA DA INTERRUPÇÃO A 100 101 102 500 estado AP 102 STACK 510PC estado ROTINA A PSW ROTINA A TERMINA 510 MECANISMO DE INTERRUPÇÃO APLICAÇÃO Prof. Luiz di Marcello ROTINA DA INTERRUPÇÃO A 100 101 102 500 102 STACK 501PC estado APPSW RECUPERA PSW 510 MECANISMO DE INTERRUPÇÃO APLICAÇÃO Prof. Luiz di Marcello ROTINA DA INTERRUPÇÃO A 100 101 102 500 STACK 102PC estado APPSW RECUPERA PC 510 MECANISMO DE INTERRUPÇÃO APLICAÇÃO Prof. Luiz di Marcello 100 101 102 STACK 103 PC estado APPSW INSTRUÇÃO EM EXECUÇÃO MECANISMO DE INTERRUPÇÃO APLICAÇÃO Prof. Luiz di Marcello Sistemas multitarefa utilizam as interrupções para promover a sensação de execução simultânea, mas sabemos que se trata de execução concorrente RESUMINDO Prof. Luiz di Marcello ❖ Entender o conceito de processo ❖ Conhecer os componentes de um processo ❖ Conhecer os estados de um processo e suas transições ❖ Diferenciar os tipos de processo PROCESSO: OBJETIVOS GERAIS DA AULA Prof. Luiz di Marcello ❖ Sistema operacional é software ❖Um sistema operacional deve fornecer interface com o usuário e administrar recursos de hardware e software ❖ Sistemas multitarefa permitem a concorrência entre tarefas: tarefas disputam recursos. ❖Os mecanismos de interrupção são fundamentais para a existência de sistemas multitarefa PROCESSO: REVISÃO DE CONCEITOS Prof. Luiz di Marcello CONCEITOS DE PROCESSO • Instância de um programa em execução • É a unidade de carga e alocação de uma tarefa •Um programa é carregado para a memória onde aloca uma determinada área para código e dados CONTEXTO DE SOFTWARE PROGRAMA CONTEXTO DE HARDWARE ESPAÇO DE ENDEREÇAMENTO Prof. Luiz di Marcello CONTEXTO DE SOFTWARE PROGRAMA CONTEXTO DE HARDWARE ESPAÇO DE ENDEREÇAMENTO •IDENTIFICAÇÃO (PID) •USUÁRIO / GRUPO •ARQUIVOS ABERTOS •PRIVILÉGIOS •LIMITES DE MEMÓRIA CONCEITOS DE PROCESSO Prof. Luiz di Marcello CONTEXTO DE SOFTWARE PROGRAMA CONTEXTO DE HARDWARE ESPAÇO DE ENDEREÇAMENTO CONCEITOS DE PROCESSO •CONTEUDO DOS REGISTRADORES •(PC, PSW...) Prof. Luiz di Marcello CONTEXTO DE SOFTWARE PROGRAMA CONTEXTO DE HARDWARE ESPAÇO DE ENDEREÇAMENTO MEMÓRIA ALOCADA CONCEITOS DE PROCESSO Prof. Luiz di Marcello CONTEXTO DE SOFTWARE PROGRAMA CONTEXTO DE HARDWARE ESPAÇO DE ENDEREÇAMENTO EXECUTÁVEL CONCEITOS DE PROCESSO Prof. Luiz di Marcello registrador PC registradores de uso geral informações de escalonamento limites de memória privilégios relação de arquivos abertos identificação estado registrador SP CONTROLE ESTADO PROCESSO NA PRÁTICA Process Control Block (PCB) Prof. Luiz di Marcello PROCESSOS NO WINDOWS Prof. Luiz di Marcello PROCESSOS NO WINDOWS PERCENTUAL DE TEMPO QUE A TAREFA UTILIZOU A CPU NO ÚLTIMO MINUTO Prof. Luiz di Marcello QUANDO? • Quando executamos um programa • Quando um usuário acessa o sistema • Quando um processo gera um processo-filho CRIAÇÃO DE UM PROCESSO Prof. Luiz di Marcello ETAPAS? • Atribui um identificador único • Aloca uma entrada na tabela de processos • Aloca espaço para o processo • Inicializa o PCB (Process Control Block) • Coloca o processo na fila apropriada • Cria estruturas auxiliares CRIAÇÃO DE UM PROCESSO Prof. Luiz di Marcello Conceito importante: TROCA DE CONTEXTO É a substituição do processo em execução Interrupção : Reação a um evento assíncrono Trap (exceção): Associado a erro na execução de uma instrução System Call : Requisição explícita Etapas: •Salva o estado do processador •Muda o estado do processo •Muda o processo para a fila apropriada •Seleciona o novo processo •Atualiza o PCB do novo processo •Modifica os mapeamentos de memória •Restaura o estado do processador DURANTE UM PROCESSO Prof. Luiz di Marcello NOVO Admissão Ocorrência do evento Dispatch Liberação Time-out Espera do evento PRONTO EXECUÇÃO SAÍDA BLOQUEADO MODELO DE 5 ESTADOS DURANTE UM PROCESSO Prof. Luiz di Marcello INICIO PRONTO: ocorre apenas na admissão PRONTO EXECUÇÃO: ocorre quando o processo é selecionado para execução segundo um critério pré definido pelo sistema operacional EXECUÇÃO PRONTO: ocorre quando o processo é interrompido e novo processo será selecionado EXECUÇÃOBLOQUEADO:ocorre quando o processo deve aguardar um recurso BLOQUEADO PRONTO: ocorre quando a solicitação de recurso é atendida EXECUTANDO FIM: término do programa TRANSIÇÕES DE ESTADOS Prof. Luiz di Marcello EM RELAÇÃO AOS ESTADOS QUE ASSUMEM • Processos CPU-Bound: São processos que passam a maior parte do tempo em estado de execução ou pronto. Realizam poucas operações de E/S • Processos I/O-Bound: São processos que passam a maior parte do tempo em estado deespera, pois realizam um elevado número de operações de E/S EM RELAÇÃO À INTERAÇÃO COM O USUÁRIO • Processos em foreground: Permite a comunicação direta do processo com o usuário durante sua execução. Em geral o canal de entrada está associado ao teclado/mouse e de saída a um monitor; • Processos em background: Não existe interação direta com o usuário. TIPOS DE PROCESSO Prof. Luiz di Marcello Simulador SOSIM http://www.training.com.br/sosim/ CRIAR PROCESSOS Prof. Luiz di Marcello Simulador SOSIM http://www.training.com.br/sosim/ Prof. Luiz di Marcello Simulador SOSIM http://www.training.com.br/sosim/ Prof. Luiz di Marcello CHAMADAS AO SISTEMA ❖ Fornecem a interface entre os processos e o sistema operacional ❖ Atuam como mecanismo de proteção ao núcleo do SO e também de acesso aos seus serviços, como se fossem as portas de entrada para os processos ❖ Cada serviço possui uma chamada associada e cada sistema operacional tem seu próprio conjunto de chamadas. Sendo assim, uma aplicação desenvolvida utilizando serviços de um determinado SO não pode ser executada diretamente em outro (ex.: API do Windows) Prof. Luiz di Marcello CHAMADAS AO SISTEMA MODOS DE ACESSO ❖ Para que seja garantida a integridade do sistema os dispositivos (recursos de hardware) devem ser acessados pelo SO por instruções exclusivas ❖ As instruções que compõe o conjunto de funções de uma arquitetura de hardware são divididas em dois tipos: ✓ Privilegiadas estas, se executadas, podem comprometer a estabilidade do sistema ✓ Não-privilegiadas podem ser executadas e não oferecem risco ao sistema Prof. Luiz di Marcello CHAMADAS AO SISTEMA MODOS DE ACESSO ❖ Sendo assim, para execução de instruções privilegiadas, o processador implementa através de um registrador especial, o mecanismo de modos de acesso: ✓ modo usuário permite a execução de um subconjunto do total de instruções disponíveis, ou seja, as instruções não-privilegiadas ✓ modo kernel ou supervisor todo conjunto de instruções pode ser executado ❖ O SO executa em modo kernel, protegendo o hardware do usuário, enquanto os outros programas (editores, compiladores) executam em modo usuário. Caso o programa tente executar uma instrução privilegiada, sem o processador estar em modo kernel, uma exceção é gerada e o programa encerrado
Compartilhar