Baixe o app para aproveitar ainda mais
Prévia do material em texto
11/05/2011 1 SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 1/36 Prof. Carlos Maurício de B. Mello ARQUITETURA DE SISTEMAS OPERACIONAIS CAPÍTULO 5 PROCESSO SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 2/36 Prof. Carlos Maurício de B. Mello INTRODUÇÃO ● O conceito de processo é a base para implementação de um sistema multiprogramável; ● O processador apenas executa instruções; (não sabe qual programa está em execução) ● A gerência do ambiente é exclusiva do sistema operacional; – Controla a execução dos diversos programas; – Controla o uso concorrente do processador; ● A gerência de processos é uma das principais funções de um sistema operacional. SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 3/36 Prof. Carlos Maurício de B. Mello INTRODUÇÃO ● Processo é o termo mais utilizado, porém pode-se encontrar os termos job e tarefa em outras literaturas. ● Os processos são executados: – Sistemas Multiprogramáveis: Concorrentemente , compartilhando, dentre outros recursos, o uso do processador, da memória principal e dispositivos de I/O; – Sistemas com Múltiplos Processadores: além da concorrência de processos pelo uso do processador, como também a execução simultânea de processos nos diferentes processadores. SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 4/36 Prof. Carlos Maurício de B. Mello ESTRUTURA DO PROCESSO ● Processos podem ser entendidos inicialmente como um programa em execução; – Todas as informações importantes e necessárias à execução de um programa fazem parte do processo; ● Processo pode então ser definido como um ambiente onde um programa é executado; – Esse ambiente, além das informações sobre execução, possui também, o quanto de recursos do sistema cada programa pode utilizar, como espaço de endereçamento, tempo de processador e área em disco. SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 5/36 Prof. Carlos Maurício de B. Mello ESTRUTURA DO PROCESSO ● Um processo é formado por três partes, conhecidas como: – Contexto de hardware; – Contexto de software; e – Espaço de endereçamento. Programa Contexto de Software Contexto de Hardware Espaço de Endereçamento SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 6/36 Prof. Carlos Maurício de B. Mello ● O contexto de hardware armazena o conteúdo dos registradores gerais da CPU, além dos registradores de uso específico (Program Counter, Stack Pointer e Reg. Status); ● No momento que o processo está em execução, seu contexto de hardware está armazenado nos registradores da CPU; ● No momento em que o processo perde a utilização da CPU, o sistema salva as informações em seu contexto de hardware. CONTEXTO DE HARDWARE 11/05/2011 2 SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 7/36 Prof. Carlos Maurício de B. Mello MUDANÇA DE CONTEXTO Carrega registradores do Processo B Carrega registradores do Processo A Sistema Operacional Salva registradores do Processo A executando executando executando Salva registradores do Processo B Processo A Processo B SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 8/36 Prof. Carlos Maurício de B. Mello ● No Contexto de Software são especificadas características e limites de recursos que podem ser alocados pelo processo, como por exemplo: – O número máximo de arquivos abertos simultaneamente; – Prioridade de execução; – Tamanho de buffer para operações de E/S. ● Muitas dessas características são determinadas no momento da criação do processo, enquanto outras podem ser alteradas durante sua existência; CONTEXTO DE SOFTWARE SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 9/36 Prof. Carlos Maurício de B. Mello ● O contexto de software é composto por 03 (três) grupos de informações sobre o processo: ● IDENTIFICAÇÃO; ● QUOTAS; E ● PRIVILÉGIOS. CONTEXTO DE SOFTWARE SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 10/36 Prof. Carlos Maurício de B. Mello – Cada processo recebe uma identificação única – o PID (Process Identification) – representado por um número; – Através do PID o sistema operacional ou outros processos podem fazer referência ao processo – Alguns sistemas operacionais também guardam o nome do processo como parte de sua identificação CONTEXTO DE SOFTWARE: IDENTIFICAÇÃO SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 11/36 Prof. Carlos Maurício de B. Mello – O processo também possui a identificação do usuário que o criou (owner); – Cada usuário possui também uma identificação (UID – User Identification), atribuída ao processo quando de sua criação. – Através do UID, pode-se implementar políticas de segurança, fazendo com que determinado processo só tenha acesso aos arquivos e recursos que o usuário tem acesso. CONTEXTO DE SOFTWARE: IDENTIFICAÇÃO SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 12/36 Prof. Carlos Maurício de B. Mello – São os limites de cada recurso que o processo pode alocar. – Normalmente podem ser configuradas: ● Número máximo de arquivos abertos simultaneamente; ● Tamanho máximo da MP e Mem secundária que o processo pode alocar; ● Número máximo de operações de E/S pendentes; ● Tamanho do buffer para operações de E/S; ● número máximo de sub-processos e threads que podem ser criados; CONTEXTO DE SOFTWARE: QUOTAS 11/05/2011 3 SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 13/36 Prof. Carlos Maurício de B. Mello – Também conhecidos como Direitos; – Definem as ações que um processo pode fazer em relação a ele mesmo, aos demais processos e ao sistema operacional; – Existem privilégios específicos que afetam o próprio processo e privilégios que afetam suas próprias características, além de alterar as de outros processos CONTEXTO DE SOFTWARE: PRIVILÉGIOS SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 14/36 Prof. Carlos Maurício de B. Mello – Privilégios que afetam o sistema são os mais amplos e poderosos; pois estão relacionados à operação e gerência do ambiente: ● Desativação do sistema; ● Alteração de regras de segurança; ● Criação de outros processos privilegiados; ● Etc. CONTEXTO DE SOFTWARE: PRIVILÉGIOS SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 15/36 Prof. Carlos Maurício de B. Mello – A maioria dos sistemas operacionais, possui um usuário com todos esse privilégios: ● No UNIX – é o root; ● No Windows - é o administrador/administrator; ● No Open VMS – é o system. CONTEXTO DE SOFTWARE: PRIVILÉGIOS SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 16/36 Prof. Carlos Maurício de B. Mello ESPAÇO DE ENDEREÇAMENTO – É a área de memória pertencente ao processo, onde as instruções e os dados do programa são armazenados para execução; – Cada processo tem seu próprio espaço de endereçamento, que deve ser devidamente protegido do acesso dos demais processos; SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 17/36 Prof. Carlos Maurício de B. Mello ESTRUTURA DE UM PROCESSO: CARACTERÍSTICAS Programa Contexto de Software prioridade de execução registrador PC data/ hora de criação tempo de processador registrador SP quotas privilégios endereços de memória principal alocados registrador de status owner (UID) PID nome registradores gerais Contexto de Hardware Espaço de Endereçamento SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 18/36 Prof. Carlos Maurício de B. Mello BLOCO DE CONTROLE DO PROCESSO – PCB – Process Control Block – Estrutura de dados no kernel de um sistema operacional,que armazena o contexto de hardware, de software e o espaço de endereçamento. – Todos os PCB ficam residentes na memória principal, numa área exclusiva do SO. . . . . .. . . ponteiros Estado do processo Registradores Nome do processo Prioridade do processo Limites de memória Lista de arquivos abertos 11/05/2011 4 SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 19/36 Prof. Carlos Maurício de B. Mello BLOCO DE CONTROLE DO PROCESSO – Geralmente as informações contidas em um PCB incluem: ● Identificador do processo (PID); ● Registradores da CPU (incluindo o contador de programa); ● O espaço de endereçamento do processo; ● A prioridade do processo ; ● O status do processo; ● Informações sobre o escalonamento de processo (scheduling); ● Informações de I/O (dispositivos de hardware ligados ao processo, arquivos abertos, etc.). ● O ponteiro para o próximo PCB; Fonte: http://pt.wikipedia.org/wiki/Bloco_de_controle_de_processo SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 20/36 Prof. Carlos Maurício de B. Mello ESTADOS DO PROCESSO – Num sistema multiprogramável, um processo não deve alocar a UCP com exclusividade; – Os processos passam por diferentes estados ao longo do de sua execução. A saber, são eles: – Execução (Running); – Pronto (Ready); e – Espera (Wait). SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 21/36 Prof. Carlos Maurício de B. Mello ESTADOS DO PROCESSO: EXECUÇÃO (RUNNING) – Um processo é dito nesse estado quando está sendo processado pela CPU. ● Em sistemas monoprocessados, somente um processo estará sendo executado em um dado instante; ● Em sistemas com múltiplos processadores, mais de um processo pode estar neste estado. – Os processos se alternam na utilização da CPU, seguindo uma política estabelecida pelo sistema operacional. SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 22/36 Prof. Carlos Maurício de B. Mello ESTADOS DO PROCESSO: PRONTO (READY) – Um processo está no estado de pronto, quando aguarda apenas para ser executado; – O sistema operacional é responsável por determinar quando os processos, em estado de pronto, devem fazer uso do processador; – Este mecanismo é conhecido como escalonamento. SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 23/36 Prof. Carlos Maurício de B. Mello ESTADOS DO PROCESSO – Listas de PCB nos estados de pronto e espera: . .. .. .. . . .. .. .. . . .. .. .. . . .. .. .. . . .. .. .. . Lista de processos em estado de pronto PCB# 5 PCB# 9 PCB# 1 PCB# 2 PCB# 4 Lista de processos em estado de espera SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 24/36 Prof. Carlos Maurício de B. Mello ESTADOS DO PROCESSO: ESPERA (WAIT) – Um processo no estado de espera aguarda por algum evento externo ou por algum recurso para prosseguir seu processamento; – Em alguns sistemas operacionais, esse estado pode ser chamado de bloqueado (Blocked). – Os processos nesse estado também são organizados em listas encadeadas. 11/05/2011 5 SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 25/36 Prof. Carlos Maurício de B. Mello MUDANÇAS DE ESTADO DO PROCESSO – Um processo muda de estado durante seu processamento em função de eventos originados por ele próprio (eventos voluntários) ou pelo sistema operacional (eventos involuntários). – Basicamente, existem 04 (quatro) mudanças de estado: ● PRONTO EXECUÇÃO ● EXECUÇÃO ESPERA ● ESPERA PRONTO ● EXECUÇÃO PRONTO SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 26/36 Prof. Carlos Maurício de B. Mello MUDANÇAS DE ESTADO DO PROCESSO – PRONTO EXECUÇÃO ● Após a criação de um processo, o sistema o coloca em uma lista de processos, no estado de pronto; – EXECUÇÃO ESPERA ● Um processo em execução passa para o estado de espera por eventos gerados pelo próprio processo ou por eventos externos; SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 27/36 Prof. Carlos Maurício de B. Mello MUDANÇAS DE ESTADO DO PROCESSO – ESPERA PRONTO ● Um processo em estado de espera passa para o estado de pronto quando a operação solicitada é atendida ou o recurso esperado é concedido; ● Um processo no estado de espera SEMPRE terá de passar pelo estado de pronto antes de poder novamente selecionado para execução. ● EXECUÇÃO PRONTO ● Um processo em execução passa para o estado de pronto por eventos gerados pelo sistema, como por exemplo, o término da fatia de tempo que o processo possui para sua execução. SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 28/36 Prof. Carlos Maurício de B. Mello MUDANÇAS DE ESTADO DO PROCESSO Estado de Execução Estado de Espera Estado de Pronto a c d b SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 29/36 Prof. Carlos Maurício de B. Mello residente não residente Estado de Execução Estado de Espera Estado de Espera Estado de Pronto Estado de Pronto MUDANÇAS DE ESTADO DO PROCESSO SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 30/36 Prof. Carlos Maurício de B. Mello CRIAÇÃO E ELIMINAÇÃO – Processos são criados e eliminados por diversos motivos; – A criação ocorre a partir do momento em que o SO adiciona um novo PCB à sua estrutura e aloca um espaço de endereçamento na memória para uso; – No caso da eliminação, todos os recursos associados ao processo são desalocados e o PCB eliminado pelo SO; – Além dos três estados , a maioria dos sistemas operacionais estabelece ainda, dois estados adicionais para os momentos de criação e eliminação de um processo. 11/05/2011 6 SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 31/36 Prof. Carlos Maurício de B. Mello CRIAÇÃO E ELIMINAÇÃO – CRIAÇÃO (NEW) ● Um processo é dito em estado de criação quando o sistema operacional já criou um novo PCB, porém ainda não pode colocá-lo na lista de processos em estado de pronto. – Isto acontece porque alguns sistemas operacionais limitam a quantidade de processos ativos em função dos recursos disponíveis ou de desempenho. SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 32/36 Prof. Carlos Maurício de B. Mello CRIAÇÃO E ELIMINAÇÃO – TERMINADO (EXIT) ● Um processo no estado de terminado não poderá ter mais nenhum programa executado em seu contexto, porém o sistema operacional ainda mantém suas informações de controle presentes na memória. – Um processo nesse estado não é mais considerado ativo, mas como o PCB ainda existe, o sistema operacional pode recuperar informações. – Após essa recuperação, o processo pode deixar de existir. SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 33/36 Prof. Carlos Maurício de B. Mello CRIAÇÃO E ELIMINAÇÃO Estado de Execução Estado de Término Estado de Espera Estado de Pronto Estado de Criação SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 34/36 Prof. Carlos Maurício de B. Mello EXERCÍCIO DE FIXAÇÃO – Considere 4 processos prontos para executar: A, B, C e D. Considere que o sistema operacional a cada 1ms troca o processo em execução. Ao trocar o processo em execução, coloca-o no final da fila de prontos e pega o primeiro da fila. Suponha as seguintes características dos processos: SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 35/36 Prof. Carlos Maurício de B. Mello EXERCÍCIO DE FIXAÇÃO – A – demora 2ms para ser executado (sem contar o tempo de espera de E/S). A cada 0.5ms de execução é feita uma operação de E/S que demora 2.5ms para serconcluída. – B – demora 6ms para ser executado e não faz operações de E/S – C – demora 3ms para ser executado e não faz operações de E/S – D – demora 3ms para ser executado (sem contar o tempo de espera de E/S). Depois de ser executado 1.5ms ele faz uma operação de E/S que demora 4ms para ser executada. SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 36/36 Prof. Carlos Maurício de B. Mello EXERCÍCIO DE FIXAÇÃO – A cada 0.5ms mostre: – Qual processo está sendo executado; – Qual é a fila de prontos; – Qual é a fila de bloqueados; e – Qual o Tempo de Turnaround de cada processo.
Compartilhar