Gerência de memória
Conhecimento geral da memória
As funções da memória
A memória é um recurso escasso e extremamente caro no sistema.
A principal preocupação do pessoal que desenvolve a memória, é conseguir criar um Sistema Operacional que consiga utilizar pouca memória e ao mesmo tempo ter vários recursos disponíveis na máquina.
Até hoje, a optimização de uso da memória é um dos maiores alvos dos criadores de Sistemas Operacionais
Nos sistemas monoprogramáveis, a memória não é uma grande preocupação, até por que somente um usuário estaria utilizando a máquina e apenas um processo em execução. Já no sistema multiprogramável a situação é muito mais complexa, pois o sistema como um todo necessita de mais memória.
Na imensa maioria das vezes, como a memória é escassa, ela é armazenada em uma memória secundária, como os Hard Disk Drivers (HDD) os Solid State Drivers (SSD) Fitas magnéticas, e dentre outros. Quando essa memória deve ser lida pelo processador para ser executada, o sistema deve pegar aquele programa encontrado na memória secundária e mandar para a memória primária, já que o processador só consegue ler o programa na memória primária.
No caso de não ter mais espaço para a memória primária armazenar, os processos poderão ser executados graças ao sistema de transferir arquivos sendo processados na memória principal possam ser levados á memória secundária
Como a memória é um recurso escasso, e os programas estão ficando cada vez mais complexos, pode ocorrer de um programa utilizar mais memória do que já disponível. Para que esse programa possa ser executado, o sistema pode utilizar o overlay, que é a liberação de memória para que aquele processo possa ser executado, ou a memória virtual, que é quando a memória secundária tem uma parte dela que é utilizada para poder processar arquivos, como se fosse uma memória principal.
o Sistema deve proteger a memória que cada processo está utilizando
O gerenciamento de memória deve fazer com que os processos possam compartilhar dados e recursos
Alocação Contigua Simples
No sistema monoprogramável, isso era bem simples, o sistema dividia uma determinada quantidade de memória apenas para o Sistema operacional, e a outra metade vai para o usuário poder usufruir de seu programa.
Overlay
No overlay temos 3 módulos:
o módulo principal fica alocado na memória
O de cadastramento e impressão são independentes
principal;
cadastramento;
impressão;
A necessidade de optimização e melhoria de recurso da memória, faz com que os Sistemas Operacionais Administrem melhor o uso do material disponível. Por exemplo, nos sistema monoprogramáveis grande parte do tempo de uso da CPU era ocioso, e o uso da memória era subutilizado
Swapping
Swapping é o método que utilizamos para quando a memória não consegue suportar a demanda necessária para poder processar todos os programas. Para isso, o sistema utiliza uma pequena parte da memória secundária para poder ser utilizado como memória principal. Dessa Forma, o sistema consegue estar no uso de um processo que demande demais do processador, e ao mesmo tempo, executar tarefas básicas