Organização de computadores
SISTEMAS OPERACIONAIS Processos Prof. Adenilson Tomé 1 – DEFINIÇÃO DE PROCESSOS O conceito de processo surgiu nos anos 60, sendo a base da multiprogramação e dos sistemas de tempo compartilhado (time- sharing). O processo pode ser entendido como um programa em execuçao. Como os sistemas multiprogramaveis (multitarefa) atendem diversas tarefas (ou respeito dos vários p ra PACE 1 or7 formações a do executados concorrentemente 2 to view nut*ge 1. DEFINIÇÃO DE PROCESSOS Um sistema multiprogramável simula um ambiente de monoprogramação para cada usuário, isto é, cada usuário o sistema tem a impressão de possuir o processador exclusivamente para ele. o processador executa a tarefa de um usuário durante um intervalo de tempo (time-slice) e, no instante seguinte, está processando outra tarefa. A cada troca, é necessário que o sistema preserve todas as informações da tarefa que foi interrompida, para quando voltar a ser executada não lhe faltar nenhuma informação para a continuação do processamento.
A estrutura responsável pela manutenção de todas as informações necessárias à execução de um programa, como conteúdo de executado só permite que se abram quatro, o programa será nterrompido durante a sua execução. Nenhum programa é executado diretamente na memória e sim dentro de um processo. Se não fosse isto, o programa podena fazer uso indiscriminado de qualquer área de memória inclusive areas protegidas ou então efetuando operações de 1/0 indiscriminadamente em qualquer área aleatória do disco, comprometendo a integridade e a consistência dos dados. 4 1 .
O – DEFINIÇÃO DE PROCESSOS Daí conclui-se que é através do processo que o sistema operacional controla a execução, as permissões e as restrições que o programa terá quando estiver sendo executado, bem como s recursos que estarão e quando estarão disponíveis à ele. O processo pode ser dividido em três elementos básicos: contexto de hardware, contexto de software e espaço de endereçamento, que juntos mantêm todas as informações necessárias à execução do programa. Contexto de hardware: constitui-se, basicamente, no conteúdo de registradores: program counter (PC), stack pointer (SP) e bits de estado.
Quando um processo está em execução, o contexto de hardware está armazenado nos registradores do processador. No momento em que o processo perde a utilização da UCP, o sistema salva suas informações. 1 . O – DEFINIÇAO DE PROCESSOS Contexto de software: especifica características do processo que vão influir na execução de um programa, como, por exemplo, o número máximo de arquivos abertos simultaneamente ou o tamanho do buffer para o PAGF9tF7 momento da criação do processo, mas algumas podem ser alteradas durante sua existência.
O contexto de software define basicamente três grupos de informações de um processo: sua identificação, suas quotas e seus privilégios. Espaço de endereçamento: é a área de memória do processo onde o programa será executado, além do espaço para os dados utilizados por ele. Cada processo possui seu próprio espaço de endereçamento, que deve ser protegido do acesso dos demais processos. 6 7 1 . 1 – Criando Processos Processos podem ser: • Processos específicos de usuários • Processos com funções especificas que independem de usuários – daemons: • Recepção e envio de emails; • Serviços de Impressão.
No Unix/l_inux: Fork No Windows: CreateProcess 8 1. 2 – Finalizando Processos PAGF3rl(F7 memória; • Arquivos; Essas informações são importantes para a troca de processos que ocorre na CPU; 10 1. 4 – Estrutura do Processo para que seja possível trocar processos, é necessário que todas s informações do processo interrompido sejam guardadas para que depois possa ser reconstruído o contexto. Um processo possui o contexto de software, de harware e o espaço de armazenamento.
Juntas estas informações contém todos os detalhes necessários para a execução do programa. 1 – Contexto de Hardware O contexto de hardware armazena o conteúdo dos registradores da CPU. 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. I . 4. Contexto de Softw 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; • O processo também possui a identificação do usuário que o criou, que por sua vez é identificado no sistema através de um número único (UID – user identification). • Através desta identificação pode-se implementar políticas de segurança, fazendo com que, por exemplo, um processo de um usuário só tenha acesso ao arquivos e recursos ue o usuário tem acesso. 3 1-4. 2 – Contexto de Software 2 – Cotas — são os limites de recursos que o processo pode alocar. • Cotas que normalmente podem ser configuradas: número máximo de arquivos abertos simultaneamente; – tamanho máximo da memória principal e secundária que o processo pode alocar; – número máximo de operações de EIS pendentes, – tamanho do buffer para operações de EIS; – número máximo de sub-processos e threads que podem ser criados. 14 1. 4. – Espaço de Endereçamento O espaço de endereçamento é a área de memória pertencente ao processo, onde estão armazenados as instruções e os dados. Figura 2 – Bloco de Control PAGF5ÜF7 aguardando algum evento externo para prosseguir com o processamento. 16 2. 0 – ESTADOS DE UM PROCESSO Os processos mudam de estado por eventos gerados por eles próprios ou pelo sistema operacional. Criação e Eliminação de Processo 17 2. 1 – cnaçao e Eliminaçao Alguns S. O. imitam o número de processos ativos. Desta forma, o processo, mesmo com o PCB criado, permanece no estado de Criação. O processo permanece no estado de término apenas o tempo necessário para o S. O. colher as informações necessárias para eventuais estatísticas de uso. Quando um processo passa a aior parte do tempo no estado de execução, a este chamamos de CPU-BOUND. Este tipo de processo é muito comum em aplicações matemáticas, científicas e gráficas por efetuarem muitos cálculos.
Quando o processo passa a maior parte do tempo em estado de espera e realizando muitas operações de l/ O (Entrada/Saida), a este chamamos de 1/0-BOUND. É o processo mais comum em aplicações comerciais. 18 PAGFsrl(F7 processo pai, enquanto o novo processo é chamado de subprocesso ou processo filho. Caso o processo pai deixe de existir, o subprocesso é automaticamente eliminado. O subprocesso também tem seu própno PCB. CICICICI 20 3. Problemas do Uso de Processos Independentes / Subprocessos O uso de processos independentes ou de subprocessos demanda consumo de recursos do sistema (alocação do contexto de hardware, de software e do espaço de endereçamento) e exige tempo da CPIJ para este processo. No término dos processos, também há um overhead para desalocar os recursos. Outro problema é na comunicação entre processos, visto que o espaço de endereçamento são diferentes para os processos. 21 3. 2 – Processos Foreground e Background A entrada e a salda de um processo pode estar associado a terminais, arquivos, impressoras ou até mesmo a outros PAGFarl(F7