Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

criação de processos, Notas de estudo de Informática

PROCESSOS EM S.O

Tipologia: Notas de estudo

2012

Compartilhado em 24/10/2012

helecardino-cabral-7
helecardino-cabral-7 🇧🇷

4.8

(13)

56 documentos

1 / 6

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Sistemas Operativos
II Grupo. Criacao estatica e Dinamica, Array de Processo Página 2
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
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe criação de processos e outras Notas de estudo em PDF para Informática, somente na Docsity!

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.