Logo Passei Direto

A maior rede de estudos do Brasil

Grátis
02 aula   Gerenciamento de Processos

Pré-visualização | Página 1 de 3

Profa Esp. Patrícia Bianca Nascimento e Silva Gomes
patricia.gomes1@docente.unip.br
FSO – FUNDAMENTOS DE SISTEMAS OPERACIONAIS
Gerenciamento de Processos
Revendo – Informações:
Sistema computacional: conjunto de circuitos eletrônicos interligados (processadores, memórias, registradores, barramentos, monitores de vídeo, impressoras, mouse e etc). Dividem-se em três unidades funcionais:
Processador ou UCP (Unidade Central de Processamento): gerencia todo os sistema computacional controlando as operações realizadas por cada unidade funcional. Controla e executa instruções presentes na memória principal, através de operações básicas de soma, subtrair, comparar e movimentar dados.
Memória Principal: local em que são armazenados dados.
Dispositivos de Entrada/Saída: comunicação entre o sistema computacional e o mundo externo. Ex.: memória secundária (discos e fitas magnéticas) e interface usuário-máquina (teclados, monitores, impressora e plotters).
Gerenciamento de Processos
Revendo – Informações:
Processador ou UCP (Unidade Central de Processamento): 
Composto por:
UC (Unidade de Controle): gerencia as atividades de todos os componentes do computador, como a gravação de dados em discos ou a busca de instruções na memória.
ULA (Unidade Lógica e Aritmética): realiza operações lógicas (testes e comparações) e aritméticas (somas e subtrações).
Os registradores: armazenam dados temporariamente em alta velocidade internamente no processador.
Gerenciamento de Processos
Introdução
A gerência de um ambiente multiprogramável é função exclusiva do SO que deve controlar a execução dos diversos programas e o uso concorrente do processador e demais recursos. Para isso, um programa ao ser executado deve estar sempre associado a um processo. O conceito de processo é a base para a implementação de um sistema multiprogramável.
A gerência de processos é uma das principais funções de um sistema operacional, possibilitando aos programas alocar recursos, compartilhar dados, trocar informações e sincronizar suas execuções. Nos sistemas multiprogramáveis os processos são executados concorrentemente, compartilhando o uso do processador, memória principal e dispositivos de E/S, dentre outros recursos. Nos sistemas com múltiplos processadores não só há a concorrência de processos pelo uso do processador como também a possibilidade de execução simultânea de processos nos diferentes processadores.
Gerenciamento de Processos
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.
Gerenciamento de Processos
Estrutura do Processo
É de responsabilidade do SO implementar a concorrência entre programas gerenciando a alternância da execução de instruções na UCP de maneira controlada e segura. O processo é fundamental para que sistemas multiprogramáveis implementem a concorrência de diversos programas e atendam a múltiplos usuários simultaneamente.
Um processo pode ser entendido como um programa em execução. Conjunto necessários de informações para que o SO implemente a concorrência de programas. Pode também ser definido como o ambiente onde um programa é executado.
Gerenciamento de Processos
Gerenciamento de Processos
Estrutura do Processo
Um processo é formado por três partes: 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.
A troca de um processo por outro no processador, comandada pelo SO, é denominada mudança de contexto. É dessa maneira que o SO implementa e gerencia um ambiente multiprogramável.
Em um sistema multiusuário, cada usuário tem seu programa associado a um processo. Todos os recursos são compartilhados, mesmo passando a impressão para o usuário que os recursos são utilizados exclusivamente para ele. Nesse caso, cada processo tem direito a um intervalo de tempo de execução no processador (time-sharing).
Gerenciamento de Processos
Gerenciamento de Processos
Estrutura do Processo
Contexto de Hardware: armazena o conteúdo dos registradores gerais da UCP, além de registradores específicos. É fundamental para a implementação dos sistemas multiprogramáveis, onde os processos se alternam na utilização da UCP, podendo serem interrompidos e restaurados. Essa operação se resume em substituir o contexto de hardware de um processo pelo de outro.
Espaço de endereçamento: é a área de memória pertencente ao processo onde instruções e dados do programa são armazenados para execução. Cada processo possui seu próprio espaço de endereçamento, que deve ser devidamente protegido do acesso dos demais processos.
Contexto de Software: são especificados limites e características dos recursos que podem ser alocados pelo processo, como o número máximo de arquivos abertos simultaneamente, prioridade de execução e tamanho do buffer para operações de E/S. Muitas destas características são determinadas no momento da criação do processo, enquanto outras podem ser alteradas durante sua existência.
Gerenciamento de Processos
Gerenciamento de Processos
Gerenciamento de Processos
Estrutura do Processo
Contexto de Software: a maior parte de informações provém de um arquivo do SO, conhecido como arquivo de usuário. Composto por:
Identificação: cada processo criado pelo sistema recebe uma identificação única (PID – Process Identification) representada por um número, que é usado para se fazer referência por outros processos e pelo SO. Possuem também a UID (user identification) em que somente processos com a mesma UID podem ser acessados por outros recursos, auxiliando na segurança. Possui também a identificação do usuário ou processo que o criou (owner).
Quotas: são os limites de cada recurso do sistema que um processo pode alocar. Caso uma quota seja insuficiente, o processo poderá até mesmo não ser executado, interrompido ou executar lentamente. São exemplos de quotas: número máximo e arquivos abertos simultaneamente; tamanho máximo de memória; número máximo de operações de E/S pendentes; tamanho máximo do buffer para operações de E/S; número máximo de processo, subprocessos e threads que podem ser criados.
Privilégios ou direitos: definem as ações que um processo pode fazer em relação a ele mesmo, aos demais processos e ao sistema operacional. A maioria dos sistemas operacionais disponibiliza uma conta de acesso com todos estes privilégios disponíveis, com o propósito de o administrador gerenciar o sistema operacional. No sistema Unix há a conta de “root”, no MS Windows a conta de “administrador” e no OpenVMS a conta “system”.
Gerenciamento de Processos
Bloco de Controle do Processo:
O processo é implementado pelo SO através de uma estrutura de dados chamada bloco de controle do processo (Process Control Block – PCB). A partir do PCB, o sistema operacional 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 de todos os processos ativos residem na memória principal em uma área exclusiva do sistema operacional. Podemos visualizar os processo no Gerenciador de Tarefas MS Windows e no ps (process status – comando) Linux.
Gerenciamento de Processos
Gerenciamento de Processos
Gerenciamento de Processos
Estados do Processo:
Execução (running): quando está sendo processados pela UCP. Em sistemas com múltiplos processadores, existe a possibilidade de mais de um processo ser executado ao mesmo tempo.
Pronto (ready): aguarda para ser executado.
Espera (wait): aguarda por algum evento externo ou por algum recurso para
Página123