Você está na página 1de 12

2019

FAETERJ-Rio

[3ª ATIVIDADE PRÁTICA COM


SOSIM]
Arquitetura de Sistema Operacionais
Atividade 1 | Política de Busca – Paginação
Antecipada
Ao ser criado o processo CPU-Bound, foi criada uma entrada na tabela de páginas (ETP), que
corresponde ao mapeamento do endereçamento virtual em real. Na janela Contexto de Processo
do simulador, na aba tabela de páginas, encontramos o endereço virtual do processo, que é
formado pelo número da página virtual (NPV) e o seu respectivo bit de validade (Bit V). A tabela
mostra que foram criadas quatro páginas na tabela de páginas, todas com o bit de validade igual a
1, mostrando que todas as páginas estão na memória principal. Esse fenômeno demostra o
princípio da paginação antecipada que consiste em carregar várias páginas ao mesmo tempo na
memória principal a fim de evitar o pagefault e a consequente busca da página na memória
secundária.
Atividade 2 | Política de Busca – Paginação sob
Demanda
Neste caso, ao mudar a política de busca para demanda, verifica-se que, a princípio, o processo se
inicia com um PageFault e os valores de todas as três primeiras colunas na janela do Contexto do
Processo são igual a zero, mostrando que não há nenhuma página do processo na memória
principal( verificado na última coluna, que mostra que a página está na memória secundária (MS).
As imagens abaixo mostram todos as instâncias do processo de paginação até o momento da
carga total das páginas na memória principal.

O interessante fato a ser notado é que, na paginação sob demanda, quando há um PageFaut, o
processo CPU-Bound entra no processo de espera (I/O), igual a um processo I/O Bound. Isso se
deve pelo fato de que a página requisitada pela CPU não se encontrar na memória principal. O
processo então entra no modo de espera para buscar a página requisitada na memória
secundária. No final da operação, o bit de validade, muda para 1 (antes era 0 para a página
faltante), e o valor NPR( número de página real) é incrementado.
2c) Questão teórica para responder com ajuda do simulador

Considerando as atividades práticas 1 e 2, quais as diferenças encontradas nas ETPs do


processo criado? Justifique o motivo.

No processo 1 (paginação antecipada), o maior número de páginas (frames) permitido é


carregado para a memória principal. Isso ajuda a evitar o Page-fault. Caso o processo não precise
das páginas carregadas antes, o sistema terá despendido tempo e recursos à toa. No segundo
caso, a paginação por demanda, as páginas são transferidas apenas quando referenciadas. No
momento inicial, o bit de validade e O NPR deste tipo de paginação é igual a 0, mostrando que
inicialmente não foi instanciado.

Logo, o processo criado na política de busca de página por demanda faz com que o processo
necessite de operações de E/S, como I/O Bound, porque o processo referencia uma página com
endereço de memória que não se encontra na memória principal, o qual é verificado através do
bit de validade. neste caso o sistema transfira a página da memória secundária para a memória
principal (page in) . O processo de criado na política de busca de página antecipada não realiza
nenhuma operação E/S, pois quando ele é criado ele não possui espaço de endereçamento com
referência à memória secundária, pois já é carregado na memória principal .
Atividade 3 | Espaço de Endereçamento Virtual
Ao executar os dois processos CPU-Bound, verifica-se que ao longo do tempo os processos vão
intercalando seus processos em execução, pronto e I/O, de acordo com a requisição das páginas.
Na janela de Gerência de Memória verifica-se que, à medida que o processo requisita uma nova
página, o frame é alocado no espaço subsequente na memória. Como são dois processos CPU-
Bounds criados com os mesmos parâmetros, os endereços ocupados na memória se alternam
igualmente.
Atividade 4 | Limite de Frames e FIFO com
Buffer de Páginas
Neste caso, o número de frames foi limitado para três. O processo de paginação seguiu como os
outros até o instante de NPV=3. Neste instante, começa a política de substituição de páginas. Isso
ocorre porque o número de páginas na memória principal fora limitada a 3 frames. Embora haja
bastante espaço na memória principal, a limitação forçou a mudança do contexto de software.

A seguir, serão apresentadas as principais diferenças no simulador quando a paginação passa do


numero de frames pré-estabelecido para o experimento. Quando NPV chega a três, o bit de
validade na página 0 (inicial) passa para 0, sendo retirada da memória principal. O algoritmo
utilizado é o LPM ou LPA (lista de páginas alocadas), em seguida, LPL (lista de páginas livres).

No próximo instante, a segunda página é a será escolhida para ser removida. A pagina anterior,
recebeu de novo o bit de validade 1, e a segunda receberá o valor 0.

3c) Questões teóricas para responder com a ajuda do simulador

• Qual o espaço de endereçamento real máximo de um processo?


• Qual o espaço de endereçamento real mínimo de um processo?
• Qual o tamanho da página virtual?

O tamanho do espaço de endereçamento real máximo de um processo é o somatório da


quantidade de memória principal e secundária juntas, enquanto o espaço de endereçamento real
mínimo de um processo é o mínimo da tabela de mapeamento carregada. O tamanho pode variar
de acordo com o processador utilizado e a arquitetura do hardware, podendo em algumas
arquiteturas ser configurado.
4c) Questão teórica para responder com a ajuda do simulador

• O que acontece quando a página virtual 3 (quarta página) é referenciada?


• E a página virtual 4?
• O que acontece quando a página virtual 0 é novamente referenciada?

Observe se ao longo da execução do programa ocorre page out para o arquivo de paginação.
Justifique.

Aparece a mensagem de PageFault e começa o processo de liberação de página. O bloco que será
liberado é exibido com a indicação LPM. A próxima página a ser liberada, ou seja, o próximo
processo que foi marcado, é marcado LPL na coluna localização. A página virtual 4 é alocada
aonde estava na página 0. Quando a página virtual 0 é alocada novamente, ela é colocada na
próxima posição disponível, ou seja, a que estiver mais tempo na memória a ser liberado para dar
lugar para a página 0 que foi instanciada novamente.
Atividade 5 | Swapping
Quando ocorre processos CPU-Bound com processos I/O bound, segue-se o mesmo principio de
prioridade. Os processos CPU-Bound são executados e postos na memória principal em
preferência aos I/O bound. O processo de alternância entre os dois processos CPU-Bond perdura
até o momento em que o numero de frames dos processos chega ao limite estabelecido (5),
permitindo que os processos I/O Bound sejam carregados na memória principal. A diferença do
tempo de CPU do processos CPU-Bound para o i/O Bound chega na proporção de 1 para 7,
conforme as imagens abaixo.
Ao suspender um dos processos I/O Bound, o processo de paginação dos processos
aparentemente parou. No quadro gerência de memória, percebe-se que aumentou o tempo
limite de paginação da memória. No quadro estatísticas, são apresentados os seguintes valores

E nesse interim, percebe-se o processo de liberação da memória dos processo CPU-Bound que foi
liberado, causando um “buraco” na memória.

Após criar os dois processos CPU-Bound, o primeiro processo I/O Bound que fora executado, fora
posto em suspenso. No quadro gerência de processos, fica no estado I/O out, em seguida o
segundo processo I/O Bound
Sempre que a TLB fica com toas as suas entradas ocupadas e um novo endereço precisa ser
armazenado, uma entrada da cache deve ser liberada. Geralmente, a política de realocação de
entradas da TLB é aleatória, e mais raramente, utiliza-se a política de NRU.
5c) Questão teórica para responder com a ajuda do simulador

• Quais os critérios utilizados pelo simulador para selecionar o processo a ser transferido
para o arquivo de paginação (swap out)? (183)
• Quando o processo deve ser transferido novamente para a memória principal (swap in)?

Há várias políticas que podem ser aplicadas na escolha dos processos que devem ser retirados da
memória principal. Independente do algoritmo utilizado, o sistema tenta selecionar os processos
com as menores chances de serem executados em um futuro próximo. Na maioria das políticas, o
critério de escolha considera o estado do processo e sua prioridade.

Posteriormente, os processos que foram retirados da memória devem retornar para a memória
principal (swap in) para serem executados novamente.

Você também pode gostar