Baixe o app para aproveitar ainda mais
Prévia do material em texto
Instituto Educacional Santo Agostinho – IESA Faculdade de Ciências Exatas e Tecnológicas Santo Agostinho – FACET Siste m as d e In fo rm ação - FA SA Mar / 2016 Rafael Antonio Gonçalves Lima Sistemas Operacionais 2 – Processos e Threads Sumário 2.1. Programas, processos e threads; 2.2. Estados de um processo.Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Estrutura do Processo • O processador é projetado para executar instruções a partir do ciclo de busca e execução. • Neste ciclo, o processador busca a instrução a ser executada na memória principal, armazena-a no registrador de instruções para, finalmente, decodificar seus bits e realizar a execução. • O registrador PC tem a função de armazenar sempre o endereço da próxima instrução a ser executada, e as alterações do seu conteúdo determinam o sequenciamento de execução das instruções armazenadas na memória principal. Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Estrutura do Processo • Na visão da camada de hardware, o processador executa instruções sem distinguir qual programa encontra-se em processamento. • É de responsabilidade do S.O. implementar a concorrência entre programas gerenciando a alternância da execução de instruções na UCP de maneira controlada e segura. Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Estrutura do Processo • Um processo pode ser entendido inicialmente como um programa em execução, só que seu conceito é mais abrangente. • Para que a concorrência entre os programas ocorra sem problemas, é necessário que todas as informações do programa interrompido sejam guardadas para que, quando este voltar a ser executado, não lhe falte nenhuma informação necessária à continuação do processamento. Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Estrutura do Processo • O conceito de processo pode ser definido como sendo o conjunto necessário de informações para que o sistema operacional implemente a concorrência de programas. Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Estrutura do Processo • A troca de um processo por outro no processador, comandada pelo S.O., é denominada mudança de contexto. • É dessa maneira que o S.O. implementa e gerencia um ambiente multiprogramável. • Em um sistema multiusuário, cada usuário tem seu programa associado a um processo. Ao executar um programa, o usuário tem a impressão de possuir o processador e todos os demais recursos reservados. Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Siste m as d e In fo rm ação - FA SA O S.O. salva o conteúdo dos registradores no determinado processo, e então executa outro programa. Depois, carrega novamente o conteúdo dos registradores. 3.1. Programas, processos e threads. Estrutura do Processo • Um processo também pode ser definido como o ambiente onde um programa é executado. • Este ambiente, além das informações sobre a execução, possui também a quantidade de recursos do sistema que cada programa pode utilizar, como o espaço de endereçamento da memória principal, tempo de processador e área em disco. • Um processo é formado por três partes, conhecidas como contexto de hardware, contexto de software e espaço de endereçamento, que juntos mantêm todas as informações necessárias à execução de um programa. Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Estrutura do Processo Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Contexto de Hardware • O contexto de hardware de um processo armazena o conteúdo dos registradores gerais da UCP, além dos registradores de uso específico, como program counter (PC), stack pointer (SP) e registrador de status. • Quando um processo está em execução, o seu contexto de hardware está armazenado nos registradores do processador. Quando um processo perde a utilização da UCP, o sistema salva as informações no contexto de hardware do processo. Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Mudança de Contexto Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Contexto de Software • Identificação • Cada processo criado pelo S.O. recebe uma identificação única (PID – process identification) representada por um número. • O processo também possui a identificação do usuário ou processo que o criou (owner). Cada usuário possui uma identificação única no sistema (UID – user identification). • Quotas • São os limites de cada recurso do sistema que um processo pode alocar. Ex.: número máximo de arquivos abertos simultaneamente, tamanho máximo de memória principal e secundária pode que o processo pode alocar, número máximo de processos, subprocessos e threads que podem ser criados, tamanho de buffer, etc. • Privilégios Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Siste m as d e In fo rm ação - FA SA Características da estrutura do processo 3.1. Programas, processos e threads. Bloco de Controle do Processo (PCB) Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Bloco de Controle do Processo • O processo é implementado pelo S.O. através de uma estrutura de dados chamada PCB. • É a partir dessa estrutura que o S.O. mantém todas as informações sobre o contexto de hardware, contexto de software e espaço de endereçamento de cada processo. • Os PCBs residem na memória principal em uma área exclusiva do S.O. • O tamanho desta área, geralmente, é limitado por algum parâmetro do S.O. que permite especificar o número máximo de processos que podem ser suportados. Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Estados do Processo • Execução (running) • Quando está sendo processado pela UCP. • Pronto (ready) • Enquanto aguarda apenas para ser executado. O S.O. é responsável por determinar a ordem e os critérios pelos quais os processos em estado de pronto devem fazer uso do processador. Utiliza listas encadeadas. Este mecanismo é conhecimento como escalonamento. • Espera (wait) • Aguarda por algum evento externo ou algum recurso para prosseguir seu processamento. Ex.: Término de uma operação de E/S ou espera por uma determinada hora/data para continuar sua execução. Esse estado também é conhecido como bloqueado em alguns sistemas operacionais. Utiliza também listas encadeadas associadas a cada a cada tipo de evento. Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Lista de PCBs nos estados de Pronto e Espera Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Mudanças de Estado do Processo Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Mudanças de Estado do Processo Siste m as d e In fo rm ação - FA SA Quando parte do contexto de um processo não se encontra na memória principal, o mesmo deve ser carregado a partir da memória secundária, realizando assim o recurso de swapping. 3.1. Programas, processos e threads. Criação e eliminação de processos Siste m as d e In fo rm ação- FA SA 3.1. Programas, processos e threads. Estrutura de processos e subprocessos Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Processo Multithread Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Subprocessos e Thread • Além da dependência hierárquica entre os processos e subprocessos,, é característica que os subprocessos podem compartilhar quotas com o processo-pai. • O conceito de thread foi introduzido na tentativa de reduzir o tempo gasto em criação, eliminação e troca de contexto de processos nas aplicações concorrentes. • Cada thread possui seu próprio contexto de hardware, porém compartilha o mesmo contexto de software e espaço de endereçamento com os demais threads do processo. A comunicação de threads de um mesmo processo é realizada de forma simples e rápida. Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Processos Foreground e Background Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Pipe Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Processos CPU-bound x I/O-bound Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. Processos do S.O. • Auditoria e segurança; • Serviços de rede; • Contabilização do uso de recursos; • Contabilização de erros; • Gerência de impressão; • Gerência de Jobs batch; • Temporização; • Comunicação de eventos; • Interface de comandos (shell). Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. • Sinais • Sinais é um mecanismo que permite notificar aos processos eventos gerados pelo S.O. ou por outros processos. • Permite a comunicação e sincronização entre processos. • Exemplo: [Ctrl + c] • Usado para interromper a execução de um programa. Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. • Sinais • O mecanismo de sinais assemelha-se ao tratamento de interrupções e exceções. • O sinal está para o processo assim como as interrupções e exceções estão para o S.O. Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. • Uso de Sinais Siste m as d e In fo rm ação - FA SA 3.1. Programas, processos e threads. • Sinais, interrupções e exceções Siste m as d e In fo rm ação - FA SA Exercícios de Fixação • Responda exercícios da Pág 84 da referência 1. • Questões 4, 5, 6, 7, 8, 9, 12, 13, 14 e 15. • Atividade 1 utilizando a simulação prática através do simulador SOsim. Siste m as d e In fo rm ação - FA SA 7. Bibliografia 1. MACHADO, Francis B. Arquitetura de Sistemas Operacionais. 4 ed. Rio de Janeiro: LTC, 2007. 2. TANENBAUM, Andrew S. Sistemas operacionais modernos. 2 Ed. Rio de Janeiro: Prentice-Hall, 2005. Siste m as d e In fo rm ação - FA SA Conteúdo da Próxima Aula • Operações sobre processos. Obrigado ! Rafael A. G. Lima (rafaelg@fasa.edu.br) Siste m as d e In fo rm ação - FA SA
Compartilhar