top of page

Um pouco de Sistemas Operacionais (SO)

  • Foto do escritor: Edeyson Gomes
    Edeyson Gomes
  • 13 de dez. de 2019
  • 2 min de leitura

Processos e Threads


Processo


Um processo pode ser compreendido como um programa executando. Por exemplo, podemos ter várias cópias do Google Chrome executando numa máquina, sendo cada uma delas um processo distinto. Todavia, todos os processos foram originados do mesmo programa.


Todo programa necessita de memória livre para executar (virar um processo). Nesta memória será carregado o código do programa, além de alocadas suas seções de dados e pilhas. Também são alocadas estruturas para armazenar valores de registradores (PC, AX, BX, SP, BP, etc.).


Para que processos executem em um ambiente multiprogramado, concorrendo aos recursos do sistema com outros processos, necessita-se gerenciar a concorrência à CPU, memória e todos os dispositivos físicos e lógicos.


O recurso utilizado para tal gerência é denominado Bloco de Controle de Processo (BCP), que é uma Área de Memória alocada pelo SO. Nela, mantêm-se informações sobre o processo como registradores da CPU, incluindo o PC (program counter), informações para escalonamento, informações de recursos manipulados, etc. O BCP guarda todas as informações necessárias para permitir ao SO tirar o processo de execução e restaurá-lo posteriormente como se nunca houvesse sido parado.


Processos podem ser classificado pelo seu consumo de recursos como intensivamente consumidor de CPU (CPU Bound) ou intensivamente consumidor de recursos de entrada e saída (I/O Bound).


Como exemplo de processo CPU Bound, temos o seguinte código na linguagem C que conta todos os divisores de um número N. O Código usa força bruta sem otimizações matemáticas, verificando todos os divisores entre 1 e N.

Listagem 1 – Código CPU Bound.


No exemplo da Listagem 1, usou-se propositalmente um número primo de 9 dígitos para forçar o consumo de CPU. A execução deste código deve consumir muito da CPU, com pouco consumo de tempo do núcleo do SO (Kernel).



 
 
 

Posts recentes

Ver tudo
Solução: PAR + RAS = ASSA

A soma de 2 número de 3 dígitos (PAR e RAS) resulta em 1 número com 4 dígitos (ASSA). Na soma, o máximo que conseguimos é o “vai um”. Ou...

 
 
 
CriptoProblema: PAR + RAS = ASSA

O problema a resolver é: PAR + RAS = ASSA A soma de 2 número de 3 dígitos (PAR e RAS) resulta em 1 número com 4 dígitos (ASSA).

 
 
 
Solução IS + SO = SOS

A soma de 2 número de 2 dígitos (IS e SO) resulta em 1 número com 3 dígitos (SOS). A maior soma possível com 2 números de 2 dígitos é: 99...

 
 
 

Comments


  • twitter
  • linkedin

©2020 por Edeyson. Orgulhosamente criado com Wix.com

bottom of page