ESTRUTURA DE UM PROCESSO
Um processo é formado por três partes, o contexto de hardware, o contexto de software e o espaço de endereçamento. Quando o processo está em execução, o contexto de hardware está armazenado nos registradores do processador. No momento que o processo perde a utilização da CPU, o sistema salva as informações no contexto de hardware do processo. O contexto de hardware é fundamental para a implementação de sistemas multiprogramáveis, pois os processos podem ser interrompidos e restaurados. A figura 36 ilustra a estrutura do processo.
Saiba mais: O contexto de hardware armazena o conteúdo dos registradores de uso específico, por exemplo, o program counter (PC), stack pointer (SP) e o registrador de status.
O SO gerencia as mudanças de contexto para implementar a concorrência ao salvar o conteúdo dos registradores do processo que está deixando a CPU e carrega os valores referentes ao novo processo que será executado. A figura 37 ilustra um exemplo deste conceito considerando dois processos.
O contexto de software especifica limites e características dos recursos que podem ser alocados pelo processo, tais como o número máximo de arquivos abertos simultaneamente pelo processo, a prioridade de execução, o tamanho do buffer para operações de E/S. Muitas destas características são determinadas na criação do processo e outras são determinadas durante a existência do processo. A figura 38 ilustra a estrutura do processo considerando as informações específicas para o contexto de software, o contexto de hardware e o espaço de endereçamento.
Atenção: O contexto de software é composto por três grupos de 1 informação sobre o processo: identificação, quotas e privilégios.
O grupo de identificação descreve o identifier (ID), o dono e UserIdentifier (UID). O ID consiste em um número inteiro único que possibilita referenciar o processo para consultar seu contexto e alterar suas características. O dono, ou owner, descreve o responsável pelo processo. O UID consiste no ID do usuário. Através da combinação do ID, UID e dono, podem ser implementados modelos de segurança para acessar os processos.
O grupo de quotas descreve os limites de cada recurso que um processo pode usar. Quando este recurso se esgota o processo pode ficar lento, pode ser interrompido ou até mesmo não ser executado. Dentre os exemplos de quotas podemos citar o tamanho máximo de memória principal e secundária alocada por processo e o número máximo de operações de E/S pendentes.
O grupo de privilégio define as ações que um processo pode fazer. Este grupo pode ser dividido em dois tipos: (1) o que pode ser feito em relação a si mesmo; e (2) o que pode ser feito em relação aos demais processos. Exemplos de ações que um processo pode fazer em relação a si mesmo consiste na possibilidade de alteração de suas características, prioridade de execução e limites alocados na memória principal e secundária. Exemplos de ações que um processo pode executar em relação aos demais consistem na possibilidade de alterar as características dos demais processos do SO.
O espaço de endereçamento consiste na área de memória pertencente ao processo onde as instruções e dados do programa são armazenados para execução. Cada processo possui seu próprio espaço de endereçamento, o qual deve ser protegido do acesso dos demais processos.
Para implementar o processo no SO, torna-se necessário empregar uma estrutura de dados para representar o contexto de software, o contexto de hardware e o espaço de endereçamento. A estrutura de dados usada para estas situações consiste no bloco de controle de processos (PCB), também chamado de tabela de processos. Os PCBs dos processos residem na memória principal e o SO determina o espaço dos PCBs, armazenando nessa tabela todos os dados e recursos necessários para o gerenciamento dos processos. A figura 39 ilustra a estrutura de dados da PCB.
Atenção: A partir do PCB o sistema operacional mantém todas as informações sobre o contexto de hardware, o contexto de software e espaço de endereçamento.
O grupo de identificação descreve o identifier (ID), o dono e UserIdentifier (UID). O ID consiste em um número inteiro único que possibilita referenciar o processo para consultar seu contexto e alterar suas características. O dono, ou owner, descreve o responsável pelo processo. O UID consiste no ID do usuário. Através da combinação do ID, UID e dono, podem ser implementados modelos de segurança para acessar os processos.
O grupo de quotas descreve os limites de cada recurso que um processo pode usar. Quando este recurso se esgota o processo pode ficar lento, pode ser interrompido ou até mesmo não ser executado. Dentre os exemplos de quotas podemos citar o tamanho máximo de memória principal e secundária alocada por processo e o número máximo de operações de E/S pendentes.
O grupo de privilégio define as ações que um processo pode fazer. Este grupo pode ser dividido em dois tipos: (1) o que pode ser feito em relação a si mesmo; e (2) o que pode ser feito em relação aos demais processos. Exemplos de ações que um processo pode fazer em relação a si mesmo consiste na possibilidade de alteração de suas características, prioridade de execução e limites alocados na memória principal e secundária. Exemplos de ações que um processo pode executar em relação aos demais consistem na possibilidade de alterar as características dos demais processos do SO.
O espaço de endereçamento consiste na área de memória pertencente ao processo onde as instruções e dados do programa são armazenados para execução. Cada processo possui seu próprio espaço de endereçamento, o qual deve ser protegido do acesso dos demais processos.
Para implementar o processo no SO, torna-se necessário empregar uma estrutura de dados para representar o contexto de software, o contexto de hardware e o espaço de endereçamento. A estrutura de dados usada para estas situações consiste no bloco de controle de processos (PCB), também chamado de tabela de processos. Os PCBs dos processos residem na memória principal e o SO determina o espaço dos PCBs, armazenando nessa tabela todos os dados e recursos necessários para o gerenciamento dos processos. A figura 39 ilustra a estrutura de dados da PCB.
Atenção: A partir do PCB o sistema operacional mantém todas as informações sobre o contexto de hardware, o contexto de software e espaço de endereçamento.









Comentários
Postar um comentário