SISTEMAS OPERACIONAIS PROCESSOS INTRODUO Processo base para a
SISTEMAS OPERACIONAIS PROCESSOS
INTRODUÇÃO Processo • base para a implementação de um sistema multiprogramável • um programa deve estar associado a um processo. • possibilita aos programas alocar recursos, compartilhar dados, trocar informações e sincronizar suas execuções.
OBJETIVOS • Conhecer os principais conceitos relacionados a processos: § Estrutura; § Estados de execução; § Tipos de processos; § Sinais
PROCESSO Definição • Conjunto necessário de informações para que o sistema operacional implemente a concorrência (aula 3) de programas. • Ambiente onde um programa é executado. • Contém, além das informações sobre a execução, a quantidade de recursos do sistema que cada programa pode utilizar (espaço de endereçamento da memória principal, tempo do processador e área em disco).
Estrutura de um processo Fig. 1 Estrutura do processo (MACHADO e MAIA, 2007)
CONTEXTO DE HARDWARE • Quando um processo está em execução, o seu contexto de hardware está armazenado nos registradores do processador. • 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. • No momento em que o processo perde a utilização da UCP, o sistema salva as informações no contexto de hardware do processo. Fig. 2 Mudança de contexto (MACHADO e MAIA, 2007)
MUDANÇA DE CONTEXTO (CHAVEAMENTO) Processo X MP Processo Y PROG_1 PROG_2 Processo Z PROG_3 Instr. 1. 1 Instr. 1. 2 Instr. 1. 3 Instr. 1. 4 Instr. 1. 5. . . Instr. 2. 1 Instr. 2. 2 Instr. 2. 3 Instr. 2. 4 Instr. 2. 5. . . Instr. 3. 1 Instr. 3. 2 Instr. 3. 3 Instr. 3. 4 Instr. 3. 5. . . Informações de Registradores Instr. 1. 1 Instr. 1. 2 Instr. 1. 3 Instr. 1. 4 Instr. SO Instr. 2. 1 Instr. 2. 2 Instr. SO Instr. 3. 1 Instr. 3. 2 Instr. 3. 3 Instr. 3. 4 Instr. S 0 Instr. 1. 5. . . UCP t 4 t 5 t 0 Δt 1 t 7 t 8 Δt 2 1 t 12 t 13 Δt 3 Armazena e restaura o estado (contexto) de uma CPU, garantindo que quando o contexto anterior armazenado seja restaurado, o ponto de execução volte ao mesmo estado que foi deixado durante o armazenamento. mudança de contexto (chaveamento)
CONTEXTO DE SOFTWARE • Especifica características e limites dos recursos que podem ser alocados pelo processo (número máximo de arquivos abertos simultaneamente, prioridade de execução e tamanho do buffer para operações de E/S). • Composição (grupos de informações sobre o processo): § identificação (PID – PROCESS IDENTIFICATION);
CONTEXTO DE SOFTWARE • Composição (grupos de informações sobre o processo): § quotas → nº máx. de arquivos abertos simultaneamente → tamanho máx. de MP e secundária que o processo pode alocar → nº máx de operações E/S pendentes → tamanho máx. do buffer para operações de E/S → nº máx. de processos, subprocessos e threads que podem ser criados § privilégios (direitos): → ações que um processo pode fazer em relação a ele mesmo, aos demais processos e ao sistema operacional (prioridade de execução, alocação de recursos, etc). →Ex. : root (Unix), administrador (MS Windows) e system (Open VMS)
ESPAÇO DE ENDEREÇAMENTO • Área de memória pertencente ao processo onde instruções e dados do programa são armazenados para execução.
Fig. 3 Características da estrutura de um processo (MACHADO e MAIA, 2007)
Bloco de controle do processo • Estrutura de dados que o Sistema Operacional utiliza para implementar um processo. • Mantém todas as informações sobre o contexto de hardware, contexto de software e espaço de endereçamento de cada processo. • Processos ativos tem seus PCBs residentes na memória principal em uma área exclusiva do sistema operacional. Fig. 4 Bloco de Controle do Processo (MACHADO e MAIA, 2007)
No MS Windows, para listar as tarefas em execução e descobrir o número de cada uma delas na coluna “Identifi” basta abrir o CMD e digitar “tasklist”. Fig. 5 Visualização de processos no Windows
Estados do processo Estado de Execução (running): processo que está sendo processado pela UCP no momento. Estado de Pronto (ready): processo que aguarda para ser executado. Estado de Espera (wait): processo que aguarda por algum evento ou recurso para prosseguir processamento. Estado de Criação: processo cujo PCB já foi criado porém ainda não teve seu processamento iniciado. Estado de Terminado: processo que não pode ter mais nenhum programa executado no seu contexto, porém o sistema operacional mantém suas informações de controle presentes na memória.
- Slides: 14