Lista de Sistemas Operacionais



Baixar 42,63 Kb.
Encontro30.07.2017
Tamanho42,63 Kb.

LISTA DE SISTEMAS OPERACIONAIS




Capítulo1



Exercícios do capítulo1 do livro do Stallings:

1.2, 1.3, 1.4, 1.5, 1.6, 1.7,1.8, 1.9, 1.10, 1.11, 1.12



Exercícios do capítulo1 do livro do Silberschatz:

1.10, 1.12


Gabarito dos exercícios do capítulo1 do Stallings:
1.2 (Stallings)

  • processador de 32 bits

  • 8 bits para o código da instrução

  • 24 bits para o endereço do operando imediato

a)

Como o a instrução possui 32 bits e oito destes bits já estão ocupados com o opcode, restam apenas 24 bits para o uso do operando imediato ou um endereço de operando. Com os 24 bits então podemos endereçar 2^24 posições. Se fizermos a suposição de que cada posição corresponde a um byte podemos endereçar então 16MB.


b)

1. 32-bit local address bus and a 16-bit local data bus, or



  1. 16-bit local address bus and 16-bit local bus.

Para responder a esta questão supomos 24 bits de endereçamento. Neste caso, no item 1 como temos 32 bits no barramento de endereçamento e 16 bits no barramento de dados necessitamos de um ciclo para endereçar e dois ciclos para leitura do dado. Supondo é claro que o processador esteja ou buscando uma instrução de 32 bits ou um operando de 32 bits. Já no caso do item 2, com barramento de endereçamento menor temos necessariamente que gastar dois ciclos para endereçar, e continuamos necessitando de dois ciclos para leitura dos dados. Portanto neste caso o sistema sofre uma penalização a cada acesso reduzindo sua performance em relação ao primeiro caso.


c)

PC => 24 bits, porque são 2^24 posições endereçáveis

IR => 32 bits, porque as instruções possuem 32 bits
1.3 (Stallings)

a) Sendo AR (Registrador de endereços) de 16 bits, temos 216 posições de endereçamento. E como a largura da palavra do processador é também de 16 bits, então teremos:



216 = 64K-posições x 2 bytes = 128 Kbytes
b) Da mesma forma podemos fazer os cálculos da seguinte maneira:

216 = 64K-posições x 1 bytes = 64 Kbytes

c) Uma arquitetura utilizada é a de criar um espaço reservado de memória para executar Entrada/Saída, separadamente da memória principal.
d) Com 8 bits para endereçar um determinado dispositivo temos 28= 256 dispositivos possíveis de serem endereçados, através da placa. E com 16 bits teríamos a condição de endereçarmos 216 dispositivos, incluindo internos e externos a placa.
1.4 (Stallings)


  • processador de 32 bits

  • 16 bits para external data bus

  • 8 Mhz Input clock

  • Mínimo de 4 ciclos de clock

Como o ciclo de clock é 8MHz, ele precisa de 4 ciclos no mínimo e o barramento de dados tem 16 bits(2 bytes), então ele transfere dados numa taxa de 2*( 8M/4 ) que equivale à uma taxa de transferência de dados máxima de 4MB/s.


Para melhorar sua performance, seria melhor se a linha de dados aumentasse para 32 bits. Assim teríamos a mesma largura do processador e consequentemente aumentaríamos o throughput.
1.5 (Stallings)

a) Neste caso a CPU funciona como em um Loop de Status, ele fica perguntando todo tempo ao teletipo se houve entrada de um caracter. Quando um símbolo é codificado é colocado em INPR, neste momento o FGI é setado para 1 para sinalizar que existe um caracter para ser impresso. Este simbolo então é transferido pelo barramento para a CPU e em seguida para o OUTPR, para ser impresso. Após a impressão, FGO, que e o flag de impressão e setado, avisando que a impressão foi efetuada.

b) Ao usar o IEN, que é um registrador que causa uma interrupção, a CPU só responde quando realmente ocorreu a entrada de um símbolo guardando as configurações e executando os passos até que o símbolo seja impresso. Com isso o processador não perde tempo fazendo loop de status para saber se foi feita a entrada de um caracter.
1.6 (Stallings)

a) Taxa = 1/ (100x10-9 ) = 107 palavras por segundo, pois somente um pedido pode estar no barramento de cada vez durante os 100 primeiros nanosegundos.


b ) TM

107


500ns 800ns T 8/T


1.7 (Stallings)

Porque o processador não precisa ficar esperando, ele delega ao módulo DMA. O módulo DMA transfere um bloco inteiro de informação, uma palavra de cada vez, diretamente para ou da memória, sem atrapalhar o processador. O processador é envolvido somente no começo e no término da transferência, através de uma interrupção.

[Errata: Uma melhor justificativa encontrada foi a seguinte:

O módulo DMA transfere dados em batch, e portanto prioridade maior deve ser dada a este para que não seja interrompido pelo processador pois isso acarretaria corrupção na transferência de dados]

1.8 (Stallings)



  • 9600 bits por seg  9600/8 bytes por seg

  • 1 milhão de instruções por seg

O processador será atrasado em 1200/1000000 = 0,12%
1.9 (Stallings)

a) Taxa = (5% x 106 instruções/s x 1 palavra/2instruções) = 2,5 x 104 palavras/s



  1. Taxa = (5% x 5 + 95% x 2 )x106 = 2,15 x 106 palavras/s

1.10 (Stallings)

(1.1) Ts = T1 + T2(1-H1) para n=2

Ts = T1 + T2(1-H1) + T3(1-H1-H2) para n=3


Ts = Ts= i=1...n ii=0...n-1i H0=0

(1.2) Cs = (C1S1 + C2S2)/S1+S2 para n=2

Cs = (i=1..n CiSi) /  i=1..n Si )
1.11 (Stallings)


  • Tc=100 ns Cc=0.01 $/bit

  • Tm=1,200 ns Cm=0.001 $/bit

a) 223 x 0,001 = 8388,608 cents = 83,89 dólares

b) 223 x 0,01 = 83886,08 cents = 838,86 dólares


  1. Ts=TcH + Tm(1-H)

110=100H + 1200(1-H)

110= 110H + 1200 – 1200H

1100H=1090

H=0.99
1.12 (Stallings)

Tc= 20 ns

Tmp=60 ns

Td=12 ms=12000000ns

Hc=0.9


Hmp=0.6

Ts=?


Ts= HcTc +(1-Hc)[Hmp(Tc+Tmp) + (1-Hmp)(Tc+Tmp+Td)]

=0.9*20 + 0.1*[0.6*80+0.4(80+12000000)]

= 480026 ns = 480 s
Gabarito dos exercícios do capítulo1 do Silberschatz:
1.10 (Silberschatz)

Multiprocessamento simétrico: vários processadores onde cada processador possui uma cópia do Sistema Operacional e estas cópias se comunicam entre si conforme a necessidade.
Multiprocessamento assimétrico: vários processadores onde à cada processador é atribuída uma determinada tarefa (task). Um processador mestre controla o sistema; os outros seguem instrução do mestre ou realizam tarefas predefinidas. Isso caracteriza uma relação Master/Slave.

Vantagens:

Aumento da performance, quando partes do processo podem ser executadas em paralelo;

 Em um ambiente simétrico, a falha de um único processador não pára a máquina. O sistema pode continuar funcionando pelo fato dos processadores poderem executar as mesmas funções, apenas tendo uma perda da performance;

 Um usuário pode aumentar de forma crescente a performance pela adição de novos processadores.
Desvantagens:

 Aumento da complexidade do gerenciamento dos recursos da máquina e da memória.


1.12 (Silberschatz)

É garantir que o tempo de resposta esteja dentro dos limites rígidos, que se não observados podem inviabilizar a aplicação ou trazer problemas críticos de funcionamento.


***************************************************************


Capítulo2



Exercícios do capítulo2 do livro do Stallings:

2.1, 2.2, 2.3, 2.5

Exercícios do capítulo2 do livro do Silberschatz:

2.4, 2,8
Gabarito dos exercícios do capítulo2 do Stallings:


2.1 (Stallings)

1 job

a)turnaround time = N*T

throughput = 1/N*T

Processor utilization =50%

b)turnaround time = N*T – T/4

throughput = -

Processor utilization = -

2 jobs

a)turnaround time = N*(T/2+T/2) = N*T

throughput = 2/N*T

Processor utilization =100%

b)turnaround time = N*T – T/4

throughput = -

Processor utilization = -

4 jobs

a)turnaround time = N*(T/2+T/2+T/2+T/2) = 2*N*T

throughput = 4/(2*N*T) = 2/N*T

Processor utilization =100%

b)turnaround time = 2*N*T – T/4

throughput = -

Processor utilization = 100%

2.2 (Stallings)

Porque assim o tempo perdido esperando por um evento é recompensado na ordem de escalonamento. Como os processos I/O bounds não permanecem muito tempo usando o processador, eles podem então “cortar” a fila, não tendo que esperar também para utilizar o processador. Os processos CPU-bounds não são prejudicados, pois podem ser executados enquanto os processos I/O-bounds esperam por algum evento.
2.3 (Stallings)


  • Tc=A ns

  • Tmp=B+A ns

  • Td=C+B+A ns

  • Hc=(n-1)/n

  • Hmp=(m-1)/m

  • Tmedio?

Tmedio = Hc*Tc + (1-Hc)*[ Hmp*Tmp + (1-Hmp)*Td]

Tmedio = (n-1)*A/n + {(1 - (n-1)/n))*[ (m-1)*(B+A)/m + (1 - (m-1)/m)*(C+B+A)]}

Tmedio = A + B/n + C/(m*n)


2.5 (Stallings)



System Calls são comandos de chamadas do sistema que realizam a interface entre os aplicativos e o Sistema Operacional. Existem instruções do programa (que está no modo usuário, como por exemplo E/S), que só podem ser executadas pelo Sistema Operacional, são as instruções privilegiadas; e para executá-las faz-se uma solicitação ao Sistema Operacional através de uma System Call, que muda o acesso para o modo Kernel. Ao término da rotina do sistema, volta-se para o modo usuário. As instruções privilegiadas não estão diretamente à disposição das aplicações pois sua má utilização poderia ocasionar problemas à integridade do sistema.

Gabarito dos exercícios do capítulo2 do Silberschatz:
2.4 (Silberschatz)

Interrupção – Pode ser gerada pelo fim de uma operação de I/O evitando a perda de tempo do processador, também pode ser gerada como um período de tempo pré-definido para que um programa não seja executado por um longo período de tempo.

Tem sempre a ver com hardware.


Trap – É gerado a partir de um estado de exceção. É uma interrupção gerada por um programa causada tanto por um erro(divisão por zero, falha de acesso à memória, etc...) ou até por uma requisição feita por um programa que um serviço de SO realizou.
2.8 (Silberschatz)

- Aumentaria o OverHead no processamento, pois seria necessário sempre verificar se o programa está tentando gravar na área proibida.




  • O sistema operacional possui uma área de código e outro de dados que permitem o próprio gerenciamento do sistema, neste caso para alterá-los seria necessário duplicar estes dados para uma área que seja permitido gravação, e mapear todas as referências as antigas posições de forma a permitir suas alterações em tempo de execução.




©livred.info 2017
enviar mensagem

    Página principal