Os Sistemas Operacionais
Por: Guilherme Botelho • 31/10/2017 • Abstract • 558 Palavras (3 Páginas) • 197 Visualizações
- Discussão sobre carregamento de arquivos na RAM:
- Para um executável, o SO divide-o em partes - páginas e carrega na RAM, utilizando paginação por demanda.
- Por padrão, se não tem área de swap, o SO mata o processo que solicita mais RAM quando a memória está cheia.
- Situações de troca de página entre RAM e swap:
- É necessário então carregar uma página no swap para abrir espaço para a nova página solicitada por um processo (swap out).
- Se o SO necessitar de uma página que está no swap, ele troca alguma página da RAM (LRU) com a do swap requisitada.
- O SO mantém o controle da RAM e do swap, caso o SO requisite uma página que está no swap, é indicado uma falta de página e o SO busca no swap e não no sistema de arquivos
- Substituição global: substitui a página LRU da RAM.
- Substituição local: substitui a página LRU de um processo.
- Alocação fixa: um processo pode ter um número limitado de páginas na RAM, com isso é possível ter uma falha de página mesmo com espaços livres na RAM.
- Alocação fixa é utilizado com substituição local.
- Alocação proporcional: número de páginas para um processo é definido pelo seu tamanho.
- Um processo pode se tornar maior ao longo da execução.
- Portanto o seu número de páginas na RAM também aumenta ao longo da execução.
- Se antes um processo de 10 páginas na RAM precisava de 70% = 7, com o crescimento, precisando de 100 páginas na RAM ele precisa de 70% = 70. A restrição proporcional continua a mesma.
- Alocação por prioridade: quanto maior a prioridade de um processo, maior o número de páginas na RAM.
- Se um código estiver todo na main por exemplo com um quadro disponível, e esse processo exceda o tamanho de uma página, o processo é dividido em páginas e carregado na RAM sendo executado parte por parte e colocando as páginas já lidas na área de swap, se não houver swap a página pode ser descartada. Acontece o mesmo por exemplo com um vetor, sendo o vetor lido parte por parte, se não houver swap é necessário uma implementação diferente para colocar as páginas lidas em um swap implementado pelo sistemas de arquivos por exemplo.
- A falta de páginas leva o processo para Waiting, pois o swap é uma operação de I/O.
- Existem casos em que a CPU está ociosa e o sistema ainda é lento, por causa do alto acesso a área de swap. Pode ser definido o conjunto mínimo de páginas necessário a um processo para sua execução sem que haja falta de páginas toda hora, ou seja alto acesso ao swap
- A RAM pode ter sempre alguns frames livres para fazer o swap in primeiro quando há falta de páginas, após, há a execução do LRU e do swap out. Não é linear, pode ser quaisquer frames.
- Os frames livres contém a informação de como o frame era usado antes de ser realizado o swap out, portanto se o processo que teve o frame selecionado
...