Projetos
Artigo: Projetos. Pesquise 862.000+ trabalhos acadêmicosPor: vinskyter • 17/3/2015 • 2.582 Palavras (11 Páginas) • 233 Visualizações
SISTEMAS OPERACIONAIS
PROF JOÃO CARLOS C BORGES
Processos
“Muito do que eu tinha, não consegui libertar;
Muito do que eu libertei voltou pra mim.” (Lee Wilson Dodd)
1. INTRODUÇÃO
O conceito de processo é a base para a implementação de um sistema multiprogramável.
O processador é projetado apenas para executar instruções, não sendo capaz de
distinguir qual programa se encontra em execução.
A gerência de processos é uma das principais funções de um Sistema Operacional. Através
de processos, um programa pode alocar recursos, compartilhar dados, trocar informações
e sincronizar sua execução. Nos sistemas multiprogramáveis, os processos
são executados concorrentemente, compartilhando, dentro outros recursos, o uso do
processador, da memória principal e dos dispositivos de E/S. Nos sistemas com múltiplos
processadores, não só existe a concorrência de processos pelo uso do processador, como
também a execução simultânea de processos nos diferentes processadores.
2. ESTRUTURA DO PROCESSO
Nos primeiros sistemas computacionais apenas um programa podia ser executado de
cada vez. Tal programa tinha acesso a todos os recursos do sistema. Atualmente, diversos
programas executam simultaneamente num sistema computacional. Entretanto, para
que isso seja possível é necessário um controle maior na divisão de tarefas entre os vários
programas. Daí resultou o conceito de processo.
Um processo é um programa em execução, incluindo os valores correntes de todos os
registradores do hardware, e das variáveis manipuladas por ele no curso de sua execução.
Embora um processador execute vários processos ao mesmo tempo, dando ao usuário
a impressão de paralelismo de execução, num dado instante apenas um processo
progride em sua execução. Em outras palavras, em cada momento o processador está
executando apenas um processo e seu uso é compartilhado entre os vários processos
existentes. Um processo que num instante está usando o processador depois de um certo
tempo é interrompido e o processador é cedido a outro processo. Assim, num grande
intervalo de tempo todos os processos terão progredido. O rápido chaveamento do processador
entre vários processos é chamado multiprogramação. Para que haja esse chaveamento
é necessário o uso de algum algoritmo de escalonamento para determinar
quando o trabalho de um processo deve ser interrompido e qual o próximo processo a
ser servido.
A diferença entre um processo e um programa é sutil, mas crucial. Imagine um cientista
de programação que tem excelentes dotes culinários e esteja preparando um bolo
de aniversário para a filha. Ele tem à sua disposição uma receita de bolo, e uma dispensa
com os ingredientes necessários. A receita é o programa, ou seja, um algoritmo em alguma
linguagem conhecida, o cientista de programação é o processador e os ingredientes
os dados de entrada. Já o processo vem a ser a atividade resultante da preparação
do bolo: leitura da receita, busca dos ingredientes, mistura dos ingredientes, etc. Imagine
agora que a filha do nosso cientista apareça chorando, por haver sido picada por uma
abelha, enquanto o pai está fazendo o bolo. Neste caso, o cientista deve guardar em que
ponto da receita ele estava (o estado do processo corrente é salvo), apanhar um livro de
primeiros socorros e seguir as instruções contidas no capítulo do livro sobre picada de
abelhas. Aqui vemos o processador, mais precisamente o cientista da computação, sendo
chaveado de um processo (preparação do bolo), para outro de maior prioridade (administração
de cuidados médicos), cada um deles constituído de um programa diferente
(receita versus livro de primeiros socorros). Quando o ferrão da abelha tiver sido retirado
da filha do cientista, este poderá voltar à preparação do bolo, continuando seu trabalho a
partir do ponto onde ele foi interrompido.
5
Sistemas Operacionais – PROF JOÃO CARLOS 31
A idéia principal é que um processo constitui uma atividade. Ele possui programa, entrada,
saída e um estado. Um único processador pode ser compartilhado entre os vários
processos, com algum algoritmo de escalonamento usado para determinar quando parar
o trabalho sobre um processo e servir outro.
Um processo também pode ser definido como o ambiente onde um programa é executado.
Este ambiente, além das informações sobre a execução, possui também o quanto
de recursos do sistema cada programa pode utilizar, como o espaço de endereçamento,
tempo de processador e área em disco.
Um processo é formado por três partes, que juntas mantêm todas as informações necessárias
à
...