Você está na página 1de 13

INSTITUTO FEDERAL DO CEARÁ

CAMPUS- CANINDÉ
TÉCNICO SUBSEQUENTE EM INFORMÁTICA

MARIA IVONE SILVA ARAÚJO

SISTEMAS OPERACIONAIS
EDMILSON CARNEIRO MOREIRA
LIVRO-ARQUITETURA DE SISTEMAS OPERACIONAIS
PROFESSOR MACHADO
RESUMO CAP 5- PROCESSO

CANINDÉ-CE
MARÇO 2021
No presente resumo, serão abordados os principais conceitos relacionados a processos,
tais como, a estrutura, estados de execução, tipos de processos e sinais. Em divisões de
pontos e subpontos, de forma explicativa e objetiva, visando o melhor entendimento do
leitor.
5.2 ESTRUTURA DO PROCESSO
Um processo pode ser compreendido inicialmente como um programa em execução, só
que seu conceito é mais abrangente. O conceito de processo pode ser definido como
sendo o conjunto necessário de informação para que o sistema operacional implemente
a concorrência dos programas.
A função principal do processo é, executar instruções a partir do ciclo de busca e
execução.
 Um processo é formado por três partes, conhecido como:

Contexto de hardware
Contexto de software
Espaço de endereçamento
Que juntos mantém todas as informações necessária a execução do programa.

 O processo de execução se destacam da seguinte forma:

 Busca a instrução a ser executada na memória principal;


 Armazena o registrador de instruções, para finalmente decodificar seus bits, e
realizar a execução.

O registrador pc tem como função armazenar sempre o endereço da próxima instrução a


ser executada. E a alteração do seu conteúdo determinam o sequenciamento de
execução armazenada na memória principal.
O conceito de processo torna-se essencial para que o sistema multiprogramáveis
implementem a concorrência de diversos programas e atendam a múltiplos usuários
simultaneamente.

5.2.1 CONTEXTO DE HARDWARE


O contexto de hardware é fundamental para implementação dos sistemas
multiprogramáveis, onde os processos se alternam na utilização da UCP, podendo ser

Interrompido e posteriormente, restaurados.

O processo do contexto de hardware funciona da seguinte forma:


 Um processo armazena o conteúdo dos registradores gerais da UCP
 E também registradores de uso específico, como programa conter(PC), stack
pointer(SP)
 Quando um processo está em execução, o seu contexto de hardware está
armazenando, nos registradores do processador;
 No momento em que o processo perde a utilização da UCP;
 O sistema salva as informações do contexto de hardware do processo.
Essa operação se resume em substituir o contexto de hardware de um processo pelo
outro.
5.2.2 CONTEXTO DE SOFTWARE
O contexto de software é composto por três grupos de informações sobre o processo:
 Identificação
 Quotas
 Privilégios

Identificação
 Cada processo criado pelo sistema recebe uma identificação única (PIB-process
identification) representado por um número.
 Através do PIB, o sistema operacional e outros processos podem fazer referência
a qualquer processo existente, consultando seus contexto ou alterando uma das
característica.
 Alguns sistemas além do PIB, identificam o processo através do nome.
 O processo também possui a identificação do usuário
Quotas
As quotas são basicamente os limites de cada recurso do sistema que um processo pode
alocar.
Alguns exemplos de quotas presente na maioria dos sistemas operacionais são:
 Número máximo de arquivos abertos simultaneamente;
 Tamanho máximo de memória principal e secundária que o processo pode
alcançar;
 Número máximo de operações E/S;
 Número máximo de processos, subprocessos e threads que podem ser criadas.
Privilégios
Privilégios definem as ações que um processo pode fazer em relação a ele mesmo, aos
demais processos e aos sistema operacional.
 Privilégios que afetam o próprio processo permitem que suas característica
possam ser alteradas, como prioridades de execução, limites alocados na
memória secundária etc.

 Privilégios que afetam os demais processos permitem, além da alteração de


suas próprias característica, alterar as outros processos.
5.2.3 ESPAÇO DE ENDEREÇAMENTO
O espaço de endereçamento, é a área de memória pertencente ao processo onde
instrumentaçõ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.

5.2.4 BLOCO DE CONTROLE DE PROCESSO


Toda a gerência dos processos são realizadas por intermédio de chamadas a rotina do
sistema operacional que realizam operações como:
 Criação
 Alteração de característica
 Visualização
 Eliminação
 Sincronização
 Suspensão de processos
E outras...
Os PCBs de todos os processos ativos residem na memória principal em uma área
exclusiva do sistema operacional.
A Partir do PCB, o sistema operacional mantém todas as informações sobre o contexto
de, hardware, software e espaço de endereçamento de cada processo.

5.3 ESTADO DO PROCESSO


Os processos passam por diferentes estados ao longo do seu processamento, em função
de eventos gerados pelo sistema operacional ou pelo próprio próprio processo.
Um processo ativo pode encontrar-se em três diferentes estados:
 Execução(running)
Um sistema é dito no estado de execução quando está sendo processado pela
UCP.

 Pronto (ready)
Um processo está no estado de ponto quando aguarda apenas pra ser executado.
O mecanismo conhecido como escalonamento, seria o sistema operacional a
qual é responsável por determinar a ordem e critérios pelas quais o processo em
estado de ponto devem fazer uso do processador.
 Espera (wait)
Em alguns sistemas operacionais, o estado de espera pode ser chamado de
bloqueado (blocked).

Podemos citar eventos, como exemplos de um processo em estado de espera:


 O término de uma operação de entrada/saída;
 Espera de uma determinada data e/ou hora para continuar sua execução
 O sistema organiza os vários processos no estado de espera também em listas
encadeadas.
Nesse caso, quando um evento acontece, todos os processos da lista associados
ao evento são transferidos para o estado de pronto.

5.4 MUDANÇAS DE ESTADO DO PROCESSO


Existem dois estado de eventos de mudança durante um processamento:
 Os originados por ele próprio (eventos voluntário)
 Pelo sistema operacional (eventos involuntários)
Existem quatro mudanças de estado que podem ocorrer a um processo:
Ponto- Execução
 Após a criação de um processo, o sistema o coloca em uma lista de processos no
estado de ponto, onde aguarda uma oportunidade para ser executado;
 Cada sistema operacional tem seus próprios critérios e algoritmos para a escolha
da ordem em que os processos serão executados (política de escalonamento);

Execução- Espera
 Um processo de execução passa para o estado de espera por eventos gerados
pelo próprio processo, como uma operação de E/S;
 Também por eventos externos;
Um evento externo é gerado, por exemplo, quando o sistema operacional suspende por
um período de tempo a execução de um processo.
Espera- Ponto
 Um processo no estado de espera passa para o estado de ponto quando a
operação solicitada e atendida ou o recurso esperado é concedido;
 Um processo no estado de espera sempre terá de passar pelo estado de ponto
antes de poder ser novamente selecionado para execução.
 Não existe a mudança do estado de espera para o estado de execução
diretamente.
Execução- Ponto
Um processo de execução passa para o estado de pronto por eventos gerados pelo
sistema, tais como:
 O término da fatia de tempo que o processo possui para sua execução;
 Um processo em estado de ponto ou de espera pode não se encontrar na
memória principal;
 Processos em estado de espera e pronto podem estar residentes
(outswappend) na memória principal.
Esse processo acontece geralmente quando, a técnica conhecida como swapping, na
condição SOS na memória principal, ou seja, quando parte do contexto do processo é
Levado para memória secundária, Retira processos da memória principal (swap out) e
os traz de volta (swap in) seguindo critérios de cada sistema operacional.
5.5 CRIAÇÃO E ELIMINAÇÃO DE PROCESSOS
São criados em três estado por motivos diversos, tais como:
 A criação de um processo ocorre a partir do momento em que o sistema
operacional adiciona um novo PCB a sua estrutura e aloca um espaço de
endereçamento na memória para uso;
 A partir da criação do PCB, o sistema operacional já reconhece a existência do
processo, podendo gerencia-lo e associar programa ao seu contexto para serem
executados;
 No caso da eliminação de um processo, todos os recursos associados ao processo
são deslocados e o PCB eliminado pelo sistema operacional.
Além dos três comentados, a maioria dos sistemas operacionais estabelece para os
momentos de criação e eliminação de um processo dois estado adicionais.
Os dois novos processo de estado a apresentar seriam:
Criação (new)
Um processo é dito no 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 do estado de pronto.

Terminado (exit)
Um processo no estado de terminado não poderá ter mais nenhum programa executado
no seu contexto, porém o sistema operacional ainda mantém suas informações de
controle presentes em memória.
O término de processo pode ocorrer por razões como:
 Término normal de execução;
 Eliminação por outro processo;
 Eliminação forçada por ausência de recursos disponíveis no sistema.
Após as informações serem extraídas, o processo pode deixar de existir.
5.6 PROCESSOS CPU-BOUND E I/O-BOUND
Processos podem ser classificados em duas maneira de acordo com a utilização do
processador e dos dispositivos de E/S:
 CPU-bound
 I/O-bound
 CPU-bound
Quando passa a maior parte do tempo no estado de execução, utilizando o
processador, ou pronto.
Esse processo tem como função realizar operações de leitura e gravação
 I/O-bound
Quando passa a maior parte do tempo no estado de espera, pois realiza um
elevado número de operações de E/S.
O sistema se baseia em leitura, processamento e gravação e é encontrado, em
aplicações comerciais.
Os processos interativos também são bons exemplos de processo I/O-bound
pela forma de comunicação entre o usuário e o sistema, normalmente lenta,
devido a atualização.

5.7 PROCESSOS FOREGROUND E BACKGROUND


Um processo possui sempre pelo menos dois canais de comunicação associados a sua
estrutura, os canais de entrada e saída como:
 Input(entrada)
 Output(saída)
Podem estar associados a terminais, arquivos, impressoras e até mesmo a outros
processos.
Processo Foreground
É aquele que permite a comunicação direta do usuário com o processo durante o seu
processamento. Nesse caso o canal de entrada e saída estão associados a um terminal de
teclado, mouse e monitor, permitindo assim a interação com o usuário.

Processo background
Aquele onde não existe a comunicação com o usuário durante o seu processamento.
O processo do tipo batch é realizado através de processos background.
5.8 FORMAS DE CRIAÇÃO DE PROCESSOS
Um processos pode ser criado de várias maneiras, Umas das principais três formas de
criação de processos são:

Longon Interativo
 O usuário fornece ao sistema um nome de identificação (username ou logon) e
uma senha (passaword).
 O sistema operacional autentica estas informações verificando se estão
corretamente cadastradas no arquivo de usuários;
 Caso positivo, um processo Foreground é criado, possibilitando ao usuário a
interagir com o sistema utilizando uma linguagem de comandos.
Via Linguagem de Comando
Um usuário pode, a partir do seus processo, criar novos processos por intermédio de
comandos da linguagem de comandos.

 No sistema open VMS o comando Spawn permite usar uma outra tarefa de
forma concorrente.
Um processo criado pode ser Foreground ou background, dependo do comando
de criação utilizado.

Via Rotina do Sistema Operacional


Um processo pode ser criado a partir de qualquer programa executável com o
uso de rotinas do sistema operacional.
A rotina de criação de processos depende do sistema operacional e possui
diversos parâmetros como:

 Nome do processo a ser criado


 Nome do programa executável que será executado dentro do contexto do
processo;
 Prioridade de execução;
 Estado do processo, se for do tipo Foreground ou background.

Alguns exemplos de processos de rotinas do sistema para criação de processos


temos:
 Sys$createprocess no Open VMS;
 Fork no unix e createprocess no MS Windows;

Exemplo de programa em Delphi desenvolvido para o MS Windows, executável no


programa notepad.exe (bloco de notas):

Neste caso, a API abrirá uma janela para a execução concorrente do bloco de notas
independente do programa chamador.
5.9 PROCESS INDEPENDENTES, SUBPROCESSOS E THREADS
São maneiras diferentes de implementar a concorrência dentro de uma aplicação. Neste
caso, busca-se subdividir o código em partes para trabalharem de forma cooperativa.

O uso de processos independentes


É a maneira mais simples de implementar a concorrência em sistemas
multiprogramáveis.
A criação de um processo independente exige a alocação de um PCB, possuindo
contexto de:

 Hardware;
 Software;
 Espaços de endereçamento próprio.

Subprocessos
São processos criados dentro de uma estrutura hierárquica. Neste modo o processos são
definidos em dois modos:

 Processo-pai (criador)
 Subprocessos ou processo-filho (novo processo)

 O subprocessos, por sua vez pode criar outras estruturas de subprocessos;


 Uma das principais característica desse sistema é a dependência existente
entre processo criador e o subprocessos;

 Um exemplo a demostrar dessa característica de implementação seria,


Caso o processo-pai deixe de existir, os subprocessos subordinados são
automaticamente eliminados;
 Outra forma de implementação é que o subprocessos podem
compartilhar quotas com o processo-pai.
 Os subprocessos possuem seu próprio PCB.

Threads compartilham o processador da mesma maneira que um processo, ou seja,


enquanto um thread espera por uma operação de E/S, outro thread pode ser executado.
5.10 PROCESSOS DO SISTEMA OPERACIONAL
O conceito de processo, além de estar associado a aplicação de usuários, podem bém ser
implementado na própria arquitetura do sistema operacional.
Alguns serviços que o sistema operacional pode implementar através de processos são:

 Auditoria e segurança;
 Serviços de rede;
 Contabilização do uso de recursos;
 Contaabilização de erros;
 Gerência de impressão;
 Gerência de jobs batch;
 Temporização;
 Comunicação de eventos;
 Interface de comandos (shell).

5.11 SINAIS
É um mecanismo que permite notificar processos de eventos gerados pelo sistema
operacional ou por outros processos.
O uso dos sinais é fundamental para a gerência de processos, aém de possibilitar a
comunicação e sicrozação entre processos.
Podemos citar como exemplo de uso de sinais, quando o usuário utiliza uma
sequência de caracteres do teclado, como [Ctrl+C], para interromper a execução
de um programa.

Logo abaixo, será apresentado um esquema com a execução do sistema de processo


de sinais:

A geração de um sinal ocorre quando o sistema operacional, a partir da ocorrência de


eventos sícronos ou assícronos, notifica ao processo através de bits de sinalização
localizados no seu PCB.
 o mecanismo de sinal, é muito semelhante a uma interrupção;
 o sinal está para o processo assim como as interrupções e xceções estão para
o sistema operacional.

O esquema abaixo demostra a execução do sistema de processo entre, sinal,


interrupções e exceções:

CONCLUSÃO

O processo é distribuído em diversos modos de execução em seu sistema, a qual


sempre deve estar associado a um programa. Alguns de seus principais recursos é,
compartilhar dados, trocar informações e sincronizar suas execuções, a qual foi
exemplificado no subponto de sinais de processos.

Como o autor cita “O conceito de processo é a base para implementação de um


sistema multiprogramável”. Dito isto, a gerência de um ambiente multiprogramável é
função exclusiva do sistema operacional que deve controlar a execução dos diversos
programas e o uso concorrente do processador e demais recursos, como foram
demostrados no contexto acima.