



Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
PROCESSOS EM S.O
Tipologia: Notas de estudo
1 / 6
Esta página não é visível na pré-visualização
Não perca as partes importantes!




Introdução
O presente trabalho que tem como tema Criação estática e Criação dinâmica de processo e
como subtemas Array de Processos. Desenvolveu-se e exemplificou-se de uma forma breve os
conceitos dos temas e seus subtemas acima mencionados de forma a facilitar a compreensão ao
leitor. Desde já agradecer a atenção em ler o trabalho
Criação estática e criação dinâmica de processos
Os processos de um programa concorrente podem ser criados de forma estática ou dinâmica.
No primeiro caso, o programa contém a declaração de um conjunto fixo de processos, os quais
são ativados simultaneamente, no inicio da execução do programa. No segundo caso, os
processos são criados dinamicamente, durante a execução, através de instruções especiais para
esse fim.
Para a criação dinâmica e termino dinâmico são usados os mecanismos ( fork, join e quit ), pois
os processos (ou threads ) são criados somente quando instruções especiais são executadas.
Criação estática
No caso da criação estática, os processos são declarados explicitamente no programa fonte e vão
existir desde o início da execução do programa concorrente. Normalmente, as linguagens de
programação permitem especificar esses processos de duas maneiras: como processos
individuais ou como um array de processos.
Especificação de processos individuais:
Neste caso, cada processo é especificado de forma individual, conforme exemplificado a seguir:
#include
#include<conio.h>
using namespace std; main() {
/process P1;/ int k=0;
cout<<"\nprocesso 1\n\n";
while(k < 10) { cout<<1<<","; k=k+1;
Processo - representa programas em execução, visto que um sistema operativo não executa somente programas que podemos ver. Isso significa que um único aplicativo pode ter vários processos relacionados a ele.
Neste caso, uma única declaração especifica um grupo de processos semelhantes, que se distinguem apenas pelo valor de uma variável local inteira, que é especificada no cabeçalho do processo, conforme é ilustrado a seguir, considerando o mesmo exemplo anterior. Ex:
#include
#include<conio.h>
#include
using namespace std;
main()
{
int n[10];
for(int i=0;i<10;i++)
n[i]=1;
cout<<"Elementos "<<" Processo1"<<setw(13)<<endl;
for(int j=0;j<10;j++)
cout<<setw(7)<<j<<setw(13)<<n[j]<<endl;
for(int i=0;i<10;i++)
n[i]=2;
cout<<"\n Elementos "<<" Processo2"<<setw(13)<<endl;
for(int b=0;b<10;b++)
cout<<setw(7)<<b<<setw(13)<<n[b]<<endl;
return 0;
}
Para o primeiro processo, a sua variável local i vale 1 e para o segundo, a sua variável local i vale 2. Este programa é equivalente ao anterior.
Criação dinâmica
É possível declarar explicitamente um modelo (uma "forma") para criar processos durante a execução, conforme é ilustrado a seguir. Neste caso tem-se o que se denomina criação dinâmica com declaração explícita de processos.
V4program process type P (i: integer); k: integer init 0; while k < 10 do { write(i); k:=k+ }; process Q; { new P(1); new P(2) } endprogram
Através da especificação process type, explicita-se um modelo (template) de processo, o qual é utilizado para criar exemplares (cópias, clones) desse processo durante a execução. A criação de um novo exemplar se dá através do comando new, o qual permite passar parâmetros para o processo criado. No caso da linguagem Vale4, a primitiva new pode ser usada como função ou como subrotina; usada como função ela retorna a identificação interna (pid) do processo criado.