Você está na página 1de 2

ATIVIDADE 2 – SIMULADOR SOSIM

O SOsim foi desenvolvido pelo prof. Luiz Paulo Maia como parte de sua tese
de mestrado defendida em 2001 no Núcleo de computação Eletrônica da
Universidade Federal do Rio de janeiro (NCE/UFRJ) e orientada pelo prof. Ageu
Pacheco. O objetivo desse software é desenvolver uma ferramenta gratuita
que permitisse facilitar e melhorar as aulas de sistemas operacionais para
alunos e professores.

O SOsim nos permite apresentar os conceitos e mecanismos de um sistema


operacional multiprogramável e/ou multitarefa de forma simples e animada. O
simulador permite visualizar os conceitos de multiprogramação, processo e
suas mudanças de estado, gerência do processador (escalonamento) e a
gerência memória virtual. A partir das opções de configuração, é possível
selecionar diferentes políticas e alterar o funcionamento do simulador.
Nessa atividade você deverá instalar o SOsim e realizar as seguintes tarefas.

1 – Referente à Criação de Processos, realize as seguintes ações:


- Execute o simulador SOsim e identifique as quatro janelas que são abertas na
inicialização.
- Crie um processo: janela Gerência de Processos click no botão Criar/ janela
Criação de Processos click no botão Criar.
Com base na observação do comportamento do processo criado, identifique
se o processo é I/O-bound ou CPU-bound. Justifique a resposta.

O processo criado é do tipo CPU Bound que é um tipo de processo onde o tempo de
processamento depende mais do processador do que das entradas e saídas na memória, já
os processos do tipo I/O-bound são utilizados para designar processos que fazem uso
intensivo de entrada/saída (I/O).

2 – Referente a Tipos de Processos, realize as seguintes ações:


- Reinicialize o simulador.
- Crie um processo do tipo CPU-bound.
- Crie um processo do tipo I/O-bound.
Com base na observação do comportamento dos processos criados com
relação ao Tempo de Espera, análise os efeitos gerados no caso de
maximização e minimização do tempo gasto na operação de E/S pelo processo
I/O-bound.

Com a redução do tempo gasto na operação de E/S (Gerência do Processador – Tempo de


espera de I/O) pelo processo de I/O-bound os tempos de UCP aumentam exponencialmente
em virtude da diminuição do tempo de espera de I/O e o inverso se dá a aumentar este
período levando a uma baixa utilização de UCP pelo processo.

3 – Referente a tipos de Processos, realize as seguintes ações:


- Reinicialize o simulador.
- Crie um processo do tipo CPU-bound.
- Crie um processo do tipo I/O-bound.
- Selecione o processo CPU-bound.
- Abra a Tela PCB (clicando no botão PCB).
Com base na observação da tela contexto de processo, identifique quais
informações do PCB são estáticas ou dinâmicas, e quais fazem parte do
contexto de software e do contexto de hardware, com seus respectivos
valores.

Com relação as informações observadas no PCB, são estáticas: Prioridade, Tempo de


Criação e Frames. São informações dinâmicas do PCB: Estado, tempo de UCP e PC.
Quanto ao contexto de software fazem parte: Prioridade, Estado, Tempo de Criação e
Tempo de UCP. No contexto de hardware estão: Frames e PC.

4 – Referente a Estatística, realize as seguintes ações:


- Reinicialize o simulador.
- Crie um processo do tipo CPU-bound.
- Crie um processo do tipo I/O-bound.
- Ative a janela de Estatística no menu janela.
Observe em alguns segundos que existem processos no estado de pronto,
porém nenhum em estado de execução, ou seja, não há processo sendo
executado pelo processador. Explique por que ocorre essa situação.

Essa situação é descrita em sistemas operacionais como troca de contexto (também


conhecido como chaveamento ou mudança de contexto) é o processo computacional de
armazenar e restaurar o estado (contexto) de uma CPU de forma que múltiplos processos
possam compartilhar uma única instância de CPU. É garantido que quando o contexto
anterior armazenado seja restaurado, o ponto de execução volte ao mesmo estado que foi
deixado durante o armazenamento.

5 – Referente à Suspensão e Eliminação de Processos, realize as seguintes


ações:
- Reinicialize o simulador.
- Crie dois processos do tipo CPU-bound.
- Suspenda o primeiro processo (clicando no botão Finalizar).
Observe que ao se eliminar um processo em estado de Suspenso, o processo
não é finalizado imediatamente. Reproduza essa situação e explique a razão.

Ao colocar um processo no estado de suspenso o mesmo é retirado da memória principal e


colocada na memória virtual, desta forma não é possível eliminar um processo que não se
encontra na memória principal. Ao tirar este processo do estado de suspenso (botão
prosseguir) o mesmo é carregado novamente em memória, para assim poder alternar entre
os demais estados (como por exemplo: ser finalizado).

Você também pode gostar