Vous êtes sur la page 1sur 2

UNIVERSIDADE TIRADENTES

NEAD – POLO DE SOCORRO


LICENCIATURA EM INFORMATICA

Alunos:

SISTEMAS OPERACIONAIS:
GERENCIAMENTO DE PROCESSOS:TIPOS E COMUNICAÇÃO

Um processo é uma atividade bem definida com entrada, saída e estado, realizada pelo
processador. Um programa sempre vai está associado a um processo como o ambiente onde
será executado. Sem os processos não seria possível os sistemas multiprogramáveis, com
múltiplos processadores, e multiusuários.

O processo é formado por três partes distintas: (1) o contexto de hardware, (2) o
contexto de software, e (3) o espaço de endereçamento. Estas informações estão armazenadas
no PCB – Process Control Block ( Bloco de controle de processos). Cada processo possui três
estados : (1) running (rodando), (2) wait (bloqueado), (3) ready (pronto).

O “Thread de execução” pode ser definido como “um fluxo único de controle
sequencial” dentro do processo, ou como o menor segmento de código que pode ser
executado pela CPU num processo; possuindo cada um seu próprio contexto de hardware mas
compartilhando o mesmo contexto de software e espeço de endereçamento. O thread é
implementado com um TCB – Thread Control Block, contendo seus contextos e informações
sobre estado e prioridade.

Um processo pode ser dividido em vários threads agilizando a sua execução


economizando recurso e tempo, em especial se o S.O. oferecer suporte multithread. Em
ambientes cliente-servidor o uso de threads é fundamental para que diversos pedidos sejam
atendidos simultaneamente.

A criação de um processo ocorre quando o S.O. adiciona um novo PCB e aloca os


recursos necessários, inserindo uma entrada à tabela de processos – uma lista de todos os
processos existentes identificados por uma numeração (PID – Process ID) que é associada ao
PCB. Isto pode ocorrer de três formas: (1) através do login interativo (usuário + senha), (2) da
linguagem de comandos ( comando/programa), e (3) de rotinas do S.O. Ao final da execução
o processo é extinto quando seu PID é removido da tabela de processo e os recursos são
liberados.

Os processos podem ser classificados em dois tipos de acordo com a utilização que faz
do processador ou dos dispositivos de entrada/saída. O CPU-bound (ligado à CPU)
geralmente assume os estados de running/ready; e em sua maioria são aplicações matemáticas
rodando em segundo plano – Background. O I/O-bound ( ligado à dispositivos de
entrada/saída ) geralmente assume o estado de wait; um bom exemplo são os aplicativos
comercias com interação do usuário que rodam em primeiro plano – Foreground.
Os processos concorrentes em execução em um S.O. pode ser Independentes quando
não afetam ou são afetados por outros processos, e Cooperativos quando compartilham dados
com outros processos, afetando sua execução.

Os processos possuem sinais que fazem notificações de eventos gerados pelo S.O. e
outros processos, possibilitando a sincronização e comunicação entre estes (IPC – Inter-
Process Comunication). Há três questões a se observar quanto a comunicação entre
processos: (1) a maneira como é passada a informação, (2) a não interferência quando
rodando em região critica, e (3) o sequenciamento lógico quando rodando em região critica.

Quando dois ou mais processos simultaneamente rodam em sua região critica surge uma
situação chamada “condição de corrida” ( condição de concorrência), que deve ser evitada, e
para tal quatro condições devem ser satisfeitas:(1) nenhum dos processos pode estar
simultaneamente dentro de sua região critica; (2) nenhum processo fora de sua região critica
pode bloquear outro processo; (3) nenhum processo deve esperar indefinidamente para entrar
na sua região critica; e (4) nenhuma suposição pode ser feita sobre as velocidades ou numero
de CPUs.

Há diversas soluções para evitar essa situação indesejável, entre elas estão : Desativação
de Interrupções; Variáveis de Bloqueio; Alternância Estrita; Solução de Peterson; Instrução
TSL; Sleep e Wakup; Semáforos; Monitores; e Troca de Mensagens.

Referencias :

Fundamentos em Sistemas Operacionais – Serie Bibliografica UNIT - Tema 2


http://pt.wikipedia.org/wiki/Comunicação_entre_processos
http://pt.wikipedia.org/wiki/Concorrência_(informática)
http://pt.wikipedia.org/wiki/Condição_de_corrida
http://pt.wikipedia.org/wiki/Exclusão_mútua
http://pt.wikipedia.org/wiki/Processo_(informática)
http://pt.wikipedia.org/wiki/Seção_crítica
http://pt.wikipedia.org/wiki/Semáforo_(computação)
http://pt.wikipedia.org/wiki/Sincronia_de_processos
http://en.wikipedia.org/wiki/Thread_(computer_science)
http://pt.wikipedia.org/wiki/Threads

Vous aimerez peut-être aussi