Вы находитесь на странице: 1из 3

Processos e Threads

Processos
O conceito mais central que se pode ter em um sistema operacional o
processo, que de uma forma simplificada nada mais , do que uma
abstrao de um programa em execuo.
Mas para entendermos todo o modelo de processos e como ele se comporta
frente Sistema Operacional, precisamos ter em mente alguns conceitos
como a Multiprogramao:
A Multiprogramao nome dado a caractersticas de um ou mais
programas serem executados ao mesmo tempo na memria.
Mas na realidade, o que acontece que o tempo da CPU compartilhado
entre os processos em execuo, ou seja, h um chaveamento entre os
todos os processos que esto na memria, criando a iluso de que as aplicaes
ocorrem de forma simultnea. A esta iluso, d-se o nome de pseudo-paralelismo. Para
executar ao mesmo tempo preciso ter multiprocessamento.
Em vista o conceito de multiprogramao, vamos analisar o ciclo de vida de um processo,
desde de sua criao, os seus estados e o trmino desses processos.
1. Criao de processos
Em sistemas mais simples, ou sistemas projetados para executar apenas uma nica
aplicao (como controlador de forno de micro-ondas), pode ser possvel que todos
processos sejam executados quando o sistema ligado. Mas nos sistemas de
propsito geral, necessrio algum mecanismo de criar e terminar processos durante
as suas operaes, quando for preciso. Vamos ver alguns desses tpicos.

Incio do Sistema

Quando um sistema operacional carregado, em geral criam-se vrios processos.


Alguns deles chamados de foreground, que so processos que interagem com
usurios e realizam tarefas para eles. Outros so processos background, que no
so associados ao usurio, mas realizam funes especificas. Processos que
ficam em background (plano de fundo) so conhecidos como daemons.

Execuo de uma chamada de sistema de criao de processo por um


processo em execuo
Muitas vezes, um processo em execuo far chamadas de sistema (system calls)
para criar um ou mais novos processos para ajud-lo em seu trabalho. Ou seja,
dois ou mais processos iram se relacionar e interagir em prol da execuo de uma
tarefa, lembrando que suas interaes sero de maneira independente.

Uma requisio do usurio para criar um novo processo

Em sistemas interativos os usurios podem inicializar um programa digitando um


comando ou clicando duas vezes em um cone. Cada uma dessas aes inicia um
novo processo.

Incio de uma tarefa em lote

Executados em computadores de grande porte. Usurios podem submeter tarefas


em lote para o sistema.
2. Trmino de processos
Depois de criado e, um processo ele comea e excuta suas tarefas. Mas nem tudo
para sempre, nem mesmo os processos. O seu trmino se d em razo de
algumas das seguintes condies:

Sada normal (voluntria)

Quando os processos terminam, aps realizar todo seu trabalho.

Sada por erro (voluntria)

Muitas das vezes ocasionada por erros do programa. Entre os vrios problemas
esto a execuo de uma instruo ilegal, referncia a memria inexistente ou a
diviso por zero.

Erro fatal (involuntrio)

O trmino ocasionado quando o processo descobre um erro fatal. Como exemplo


compilar um programa foo.c e esse arquivo no existe.

Cancelamento por um outro processo (involuntrio)

Quando um processo faz chamada no sistema dizendo ao SO para cancelar outro


processo.
3. Estados de processos

Executando em execuo ( realmente usando a CPU naquele instante).


Pronto executvel; temporariamente parado para dar lugar a outro processo.
Bloqueado incapaz de executar enquanto no ocorrer um evento externo.

4. Implementao do processos
Para implementar o modelo de processo, os sistemas operacionais mantm uma tabela
chamada de tabela de processos (ou process control blocks - blocos de controle
de processo) elas tm como objetivo armazenar informaes sobre o estado do
processo. Que vo desde de seu contador de programa, ponteiro de pilha, alocao da
memria, os estados dos seus arquivos abertos, sua contabilidade, escalonamento e
tudo sobre o processo que deva ser salvo quando o processo passar do estado
de execuo para o estado de pronto ou bloqueado. Isso tudo para que ele possa ser
reiniciado depois, como nunca se tivesse sido bloqueado.

Com a utilizao da tabela de processos, a troca de processos poder ser feita,


no havendo perda do que j foi processado. Ento quando o processo voltar do
estado de pronto ou bloqueado para o estado de execuo, ser realizado a
leitura da tabela de processo, e assim incia-se no ponto em que a CPU parou de
processar. Assim o conceito de multiprogramao estar sendo validado.

Bom galera, quando tratamos de processos ns no nos restringirmos apenas h


esses tpicos, apresentados nesse post. O tema processo bastante amplo, aqui
foi mostrado alguns conceitos pela qual julguei importante para fim de
conhecimento. Dando continuidade sobre sistemas operacionais o prximo
tpico apresentado ser sobre Thread que o amigo-irmo dos processos.

Вам также может понравиться