TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Sistemas Operacionais Concorrência Entre Processos

Por:   •  5/12/2020  •  Abstract  •  964 Palavras (4 Páginas)  •  324 Visualizações

Página 1 de 4

1   Var

2  

3     // Variaveis de controle das threads

4  

5     thread thread_A, thread_B, thread_C: thread;

6  

7     // Semaforos de controle

8  

9     sema_ impressora, sema_plotter,  sema_scanner:  semaforo;

10  

11  

12  

13   Procedimento Proc_A( )

14  

15   Início

16  

17     Enquanto (verdadeiro) Faça // Procedimento nunca termina

18  

19       processa_algo();

20  

21             aloca_plotter();

22  

23             processa_algo();

24  

25             libera_plotter();

26  

27     Fim Enquanto;

28  

29   Fim;

30  

31  

32  

33   Procedimento Proc_B( )

34  

35   Início

36  

37     Enquanto (verdadeiro) Faça // Procedimento nunca termina

38  

39       pro cessa_algo();

40  

41             aloca_scanner();

42  

43             processa_algo();

44  

45             aloca_impressora();

46  

47             processa_algo();

48  

49             aloca_plotter();

50  

51             processa_algo();

52  

53             libera_plotter();

54  

55             libera_impressora();

56  

57             libera_scanner();

58  

59     Fim E nquanto;

60  

61   Fim;

62  

63  

64  

65   Procedimento Proc_C( )

66  

67   Início

68  

69     Enquanto (verdadeiro) Faça // Procedimento nunca termina

70  

71       processa_algo();

72  

73             aloca_impressora();

74  

75             processa_algo();

76  

77             aloca_scanner();

78  

79             processa_algo();

80  

81             libera_impressora();

82  

83             libera_scan ner();

84  

85     Fim Enquanto;

86  

87   Fim;

88  

89  

90  

91   Início

92  

93     sema_ impressora =  1; // Inicia  semaforo de controle da impressora

94  

95     sema_ plotter = 1;  // Inicia sem aforo de controle do plotter

96  

97     sema_ scanner = 1;  // Inicia sem aforo de controle do scanner

98  

99     // Inicia as threads colocando- as em execução paralelamente

100  

101     pthread_cria(thread_A, Proc_A ); // Inicia  Proc_A como  uma threa d

102  

103     pthre ad_create(thr ead_B, Proc_B ); // Inicia  Proc_A como  uma threa d

104  

105     pthre ad_create(thr ead_C, Proc_C ); // Inicia  Proc_A como  uma threa d

106  

107     // fa z com que a t hread princip al espere as  demais acaba rem

...

Baixar como (para membros premium)  txt (3.6 Kb)   pdf (34.2 Kb)   docx (259.1 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com