•09/06/2016 Sumário • • • • • • Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia • • • • Capítulo 5 Processo Cap. 5 – Processo 1 Introdução Estrutura do processo Estados do processo Mudanças de estado do processo Criação e eliminação de processos Processos independentes, subprocessos e threads Processos foreground e background Processos do sistema operacional Processos CPU-bound e I/O-bound Sinais Cap. 5 – Processo 2 Introdução Processo • A gerência de um ambiente multiprogramável é função do SO. • O processador só executa as instruções a partir do ciclo de busca e execução. Neste ciclo, o processador busca na RAM, armazena-a no registrador de instruções (IR) para decodificar os bits e realizar a execução. • O registrador PC armazena o endereço da próxima instrução, dando o sequenciamento das instruções. • Ambiente onde o programa é executado. • Base para a implementação de sistemas multiprogramáveis. • SO é responsável pelo gerenciamento dos processos. • Através do processo, um programa aloca recursos, compartilha dados, troca informações e faz sincronização. Cap. 5 – Processo Cap. 5 – Processo 3 Estrutura do Processo • Estrutura do processo Contexto de Software 4 Contexto de Hardware • Armazena: – Conteúdo dos registradores gerais da CPU; – Conteúdo dos registradores específicos: • program counter (pc) • stack pointer (sp) • registrador de status (psw) Contexto de Hardware Programa Espaço de Endereçamento Cap. 5 – Processo 5 Cap. 5 – Processo 6 •1 •09/06/2016 Contexto de Hardware Contexto de Software Sistema Operacional • Mudança de contexto Processo A • Especificação de características e limites dos recursos que podem ser alocados pelo processo: Processo B executando Salva registradores do Processo A Carrega registradores do Processo B executando – Número máximo de arquivos abertos simultaneamente; – Prioridade de execução; – Tamanho de buffer para E/S. Salva registradores do Processo B • Arquivo de contas: gerenciado pelo administrador, possui limites do sistema Carrega registradores do Processo A executando Cap. 5 – Processo 7 Contexto de Software • Grupos de informações sobre o processo: Cap. 5 – Processo Espaço de Endereçamento • Estrutura de um processo nome Cap. 5 – Processo 9 owner (UID) prioridade de execução data/hora de criação • PCB (process control block) Nome do processo Prioridade do processo Registradores registrador PC Contexto de Software Contexto de Hardware registrador SP tempo de processador quotas Programa privilégios registrador de status Espaço de Endereçamento endereços de memória principal alocados Cap. 5 – Processo Bloco de Controle do Processo Estado do processo registradores gerais PID – Identificação • PID(process identification) • Usuário ou processo proprietário – Quotas • Limites do sistema –Nº máximo arquivos, processos etc. – Privilégios • Privilégios e direitos definem ações que um processo pode fazer a ele ou demais ponteiros 8 10 Estados do Processo • Execução (running) – Quando está sendo processado •System Calls fazem o gerenciamento dos processos: • Pronto (ready) •Criação; – Aguardando para ser executado – Escalonamento: gerencia a execução •Alteração; •Visualização; •Eliminação; Limites de memória Lista de arquivos abertos .. .. .. .. Cap. 5 – Processo •Etc. • Espera (wait) •Residem na memória principal, em uma área exclusiva do SO. •A quantidade é limitada pelo SO 11 – Aguardando por algum evento externo ou recurso para continuar o processamento Cap. 5 – Processo 12 •2 •09/06/2016 Estados do Processo • Lista de PCBs Mudanças de Estado • Mudanças de estado do processo Estado de Execução Lista de processos em estado de pronto . .. .. .. . . .. .. .. . PCB#5 PCB#1 d b a Lista de processos em estado de espera c .. . .. .. . .. . .. .. . .. . .. .. . PCB#9 PCB#2 PCB#4 Estado de Espera Cap. 5 – Processo 13 14 Mudanças de Estado • Mudanças de estado do processo (2) Estado de Pronto Cap. 5 – Processo Criação e Eliminação • Mudanças de estado do processo (3) Estado de Execução Estado de Término Estado de Execução Swap out: remove da memória Swap in: adiciona na memória Estado de Espera Estado de Pronto residente não residente Estado de Espera Estado de Espera Estado de Criação Estado de Pronto Cap. 5 – Processo 15 Cap. 5 – Processo Processos CPU-bound e I/Obound • Processos podem serclassificados de acordo com a utilização do processador: 16 Processos CPU e IO Bound • Processos CPU x IO Bound • CPU-bound: passa a maior parte do tempo em execução. • I/O-bound: passa a maior parte do tempo em espera Cap. 5 – Processo Estado de Pronto E/ S E/ S UCP UCP tempo (a) CPU-bound 17 Cap. 5 – Processo tempo (b) I/ O-bound 18 •3 •09/06/2016 Processos foreground e background • Foreground: permite a comunicação direta do usuário através de dispositivos de E/S. Processos Foreground e Background • Processos foreground e background (a) Processo Foreground entrada • Background: não existe a comunicação com o usuário durante o processamento. terminal (b) Processo Background saída entrada – Possibilidade de criar um pipe: saída de um processo gera a entrada de outro processo. Cap. 5 – Processo saída terminal arquivo de entrada 19 Cap. 5 – Processo 20 Processo Foreground e Background • Pipe arquivo de saída Formas de criação de processos • Logon interativo – Usuário e senha – Arquivo de usuários saída do Processo A • Linguagem de comando entrada do Processo A saída do Processo B entrada do Processo B Processo A – Comandos da linguagem de comandos Processo B • Rotina do SO – Criado por um programa executável com uso de rotinas do SO Cap. 5 – Processo 21 Processos Independentes, Subprocessos e Threads • Estrutura de processos e subprocessos Cap. 5 – Processo 22 Processos Independentes, Subprocessos e Threads • Processo multithread Processo A Processo-pai Contexto de hardware Processo C Contexto de hardware Contexto de hardware Thread 2 Thread 3 Contexto de software Processo B Subprocessos Processo D Processo E Thread 1 Espaço de endereçamento Compartilhamento de quotas com o processo-pai Cap. 5 – Processo 23 Cap. 5 – Processo 24 •4 •09/06/2016 Processos do Sistema Operacional • • • • • • • • • 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) Cap. 5 – Processo Sinais • Mecanismo que permite notificar processos de eventos gerados pelo SO ou por outros processos. interrupção sinal Sistema Operacional [ctrl-C] Processo 25 Cap. 5 – Processo 26 Sinais • Sinais, interrupções e exceções Processo Apêndice • Program Counter (PC) Processo • Stack Pointer (SP) • Program status word (PSW) Sinais Sistema Operacional Interrupções Exceções Hardware Cap. 5 – Processo 27 Cap. 5 – Processo Program Counter (PC) • Contador de instruções: contém o endereço da próxima instrução que o processador deve buscar e executar. Stack Pointer (SP) • Apontador de pilha: contém o endereço de memória do topo da pilha. voltar Cap. 5 – Processo 28 voltar 29 Cap. 5 – Processo 30 •5 •09/06/2016 Program status word (PSW) • Registrador de status: responsável por armazenar informações sobre a execução de instruções, como ocorrência de overflow. voltar Cap. 5 – Processo 31 •6