Você está na página 1de 3

BCC - Bacharelado de Ciência da Computação

Sistemas Operacionais
Prof. Ricardo Vanni

2M1 Aluna: Aline Goppinger 2021

36. Uma lanchonete tem quatro tipos de empregados: (1) atendentes, que pegam os
pedidos dos clientes; (2) cozinheiros, que preparam a comida; (3) especialistas em
empacotamento, que colocam a comida nas sacolas; e (4) caixas, que dão as sacolas para
os clientes e recebem seu dinheiro. Cada empregado pode ser considerado um processo
sequencial comunicante. Que forma de comunicação entre processos eles usam?
Relacione esse modelo aos processos em UNIX.

A comunicação entre os processos UNIX se dão por um mecanismo denominado pipe.

39. Considere o fragmento de código C seguinte: void main( ) { fork( ); fork( ); exit( ); }
Quantos processos filhos são criados com a execução desse programa?

Três processos filhos usando o fork();

41. É possível determinar se um processo é propenso a se tornar limitado pela CPU ou


limitado pela E/S analisando o código fonte? Como isso pode ser determinado no tempo de
execução?

É possível determinar de acordo com o programa, como por exemplo um programa de


acesso a arquivos que usa várias vezes o recurso de entrada e saída. Com o comando
time analisamos o tempo de CPU e de entrada e saída.
45. Cinco tarefas em lote, A até E, chegam a um centro de computadores quase ao mesmo
tempo. Elas têm tempos de execução estimados de 10, 6, 2, 4 e 8 minutos. Suas
prioridades (externamente determinadas) são 3, 5, 2, 1 e 4, respectivamente, sendo 5 a
mais alta. Para cada um dos algoritmos de escalonamento a seguir, determine o tempo de
retorno médio do processo. Ignore a sobrecarga de chaveamento de processo.

(a) Circular.
Tempo de retorno de A = 0 (espera pra usar a cpu) + 10 (usando a cpu) = 10
Tempo de retorno de B = 10 (espera pra usar a cpu, pois A estava em execução) + 6
(usando a cpu) = 16
Tempo de retorno de C = 16 (espera pra usar a cpu) + 2 (usando a cpu) = 18
Tempo de retorno de D = 18 (espera pra usar a cpu, pois C estava em execução) + 4
(usando a cpu) = 22
Tempo de retorno de E = 22 (espera pra usar a cpu, pois D estava em execução) + 8
(usando a cpu) = 40;
Média de retorno = (10+16+18+22+40)/5;
Média de retorno = 106/5 = 21.1;

(b) Escalonamento por prioridade.

Tarefa T1 T2 T3 T4 T5

Duração 10 6 2 4 8

prioridade 3 5 2 1 4

A= 0+6=6;
B= 6+8=14;
C=14+10=24;
D=24+2=26;
E=26+4=30;
turnaround= 100/5=20;

(c) Primeiro a chegar, primeiro a ser servido (siga a ordem 10, 6, 2, 4, 8).
A= 0+ 10= 10;
B = 10 +6= 16;
C= 16 +2 = 18;
D= 18 +4 = 22;
E = 22+8=30;
turnaround= 19,2;

(d) Tarefa mais curta primeiro. Para (a), presuma que o sistema é multiprogramado e que
cada tarefa recebe sua porção justa de tempo na CPU. Para (b) até (d), presuma que
apenas uma tarefa de cada vez é executada, até terminar. Todas as tarefas são
completamente limitadas pela CPU.
A= 0+ 2= 2
B= 2 + 4 = 6
C=6+6
D = 6 + 8 = 14
C = 14 + 10= 24
T= 24 / 5 = 4,8;

Você também pode gostar