O Curso de Tecnologia em Sistemas de Computação
Por: Day Pimenta • 9/4/2022 • Trabalho acadêmico • 1.530 Palavras (7 Páginas) • 122 Visualizações
[pic 1]
Curso de Tecnologia em Sistemas de Computação
Disciplina: Sistema Operacional
AD1 / 1° semestre de 2022
Questão 1:
Primeiro analisaremos os programas “A” e “B”.
Programa A
A1 (5x) | A2 (2x) |
Programa B
B1(4x) | B2(6x) |
Chamaremos A1 e B1 o tempo antes do operação de (E/S) e A2 e B2 o tempo de execução após operação de (E/S) e o | será o tempo de parada de (E/S) e cada um será representado por a e b respectivamente.
1º caso – Usando multiprogramação alternando entre A e B, iniciando com A, para evitar ociosidade e tendo ela no final de cada operação E/S:
b(E/S) | ||||
A1 (5x) | a(E/S) | A2 (2x) | OC2 | B2 (6x) |
B1(4x) | OC1 |
Como não foi estipulado ordem, faremos A começa antes de B, após o fim de A1, temos a operação de E/S de A, que será executado simultaneamente com B1 para reduzir a ociosidade, porém para que haja ociosidade antes do final de cada programa, assumiremos que a>B1, de forma que após B1, iniciará a operação de E/S do programa B (b) simultaneamente com E/S do programa A (a), que resultará em um tempo ocioso até que uma das operações E/S termine e o restante de seu programa volte a executar. Após o fim de a, teremos a execução de A2 simultaneamente com b, e depois restará somente a conclusão de B2, porém para que haja ociosidade em B assumiremos que (b -(a-B1)>A2, de modo que A2 termine antes de b, dessa forma teremos ociosidade até que b sea encerrado e B2 seja executado.
O tempo de ociosidade total (OCT) será:
OC1 = a – B1 = a – 4x
OC2 = b – OC1 - A2 = b - ( - a – 4x) – 2x = b + a + 4x – 2x = b +a +2x
OCT = OC1 + OC2 = (a – 4x) +( b +a +2x) = a +a + b + 2x – 4x = 2a +b – 2x ms.
2º caso - Usando multiprogramação alternando entre B e A, iniciando com B, para evitar ociosidade e tendo ela no final de cada operação E/S:
a(E/S) | ||||
B1 (4x) | b(E/S) | B2 (6x) | OC2 | A2 (2x) |
A1(5x) | OC1 |
Nesse caso temos algo semelhante ao primeiro, iniciamos com executado B1 e ao iniciar b (E/S) passamos a executar simultaneamente A1, assumindo que b > A1, após o fim de A1 teremos a (E/S) e b (E/S) sendo executado simultaneamente, resultando em ociosidade até que um deste acabe e retorne a executar o restante de seu programa, após o término de b(E/S), teremos a execução de B2 simultaneamente com a(E/S) e assumimos que (a – OC1) > B2, resultando em ociosidade após B2, até que a (E/S) acabe e A2 seja executado.
O tempo de ociosidade total (OCT) será:
OC1 = b – A1 = b – 5x
OC2 = a – OC1 - B2 = a - ( b – 5x) – 6x = a + b + 5x – 6x = a +b -x
OCT = OC1 + OC2 = (b – 5x) +( a +b -x) = b +b + a -5x -x = 2b + a -6x ms.
Questão 2:
Conforme enunciado, teremos o bloco com o tamanho de 1024 bytes, cada ponteiro terá 4 bytes, sabemos que nessa implementação teremos um total de 15 ponteiros, onde os 12 primeiros são diretos, e os 3 restantes serão, um indireto, um duplamente indireto e um triplamente indireto e cada bloco de ponteiros contém 1.024 ponteiros. Para calcular o tamanho máximo do arquivo nesse sistema:
(Ponteiro direto) = 1024 x 12
(Ponteiro indireto ) = 1024 x 1024
(Ponteiro duplamente indireto) = 1024 x 1024 x 1024
(Ponteiro triplamente indireto) = 1024 x 1024 x 1024 x 1024
Tamanho Max = (Ponteiro direto) + (Ponteiro indireto ) + (Ponteiro duplamente indireto) + (Ponteiro triplamente indireto)
=> 12.288 + 1.048.576 + 1.073.741.824 + 1.099.511.627.776 = 1.100.586.430.464 bytes
[pic 2]
Questão 3.
Primeiramente vamos calcular o tempo de execução das operações de E/S quando executada diretamente sobre o Hardware:
...