Cursos / Eletrônica / Sistemas Operacionais / Aula
Se quisermos que vários processos sejam executados ao mesmo tempo, teremos que mantê-los na memória. Mas, como isso seria possível? Uma opção seria dividir a memória em pequenos lotes, como os lotes de um condomínio de casas. O sistema operacional poderia distribuir essas partições com os processos que serão criados. Teríamos, então, na mesma memória, diversos programas em execução, bastando gerenciar os endereços de memória de cada um desses lotes de bytes.
Como os processos variam muito de tamanho, os sistemas operacionais que se utilizam da multiprogramação com partições fixas procuram variar o tamanho dos lotes de memória, tentando aperfeiçoar o uso da memória; assim, programas grandes ocupariam partições maiores e programas pequenos ocupariam partições menores. Observe a Figura 3 e você terá uma ideia desse esquema.
Lembre-se de que, como estamos falando de partições de tamanhos fixos, os processos devem ocupar partições que tenham tamanhos compatíveis com as suas respectivas necessidades. Por exemplo, se um processo pequeno ocupar um lote grande de memória, teremos um desperdício provocado pela sobra de espaço dentro do lote. Portanto, existem maneiras diferentes de ocupar as partições. Por exemplo, para atender as necessidades dos processos, o SO pode usar como critério reservar apenas partições de tamanhos próximos aos tamanhos que eles necessitam. Assim, uma partição grande nunca seria ocupada por processos pequenos, para que não seja subutilizada; porém, essa política poderia levar processos pequenos a ficarem esperando por uma partição menor mesmo existindo espaço disponível de memória em partições grandes. Essa situação está representada no exemplo da Figura 4, onde os Programas 2 e 3 estão em estado de espera, mesmo havendo duas partições grandes desocupadas.
Versão 5.3 - Todos os Direitos reservados