Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tra le operazioni che il sistema operativo deve effettuare rientra l’assegnazione alla CPU dei
processi che sono nella ready list, cioè nella lista dei processi pronti per essere eseguiti. I
meccanismi con i quali i processi vengono scelti per essere eseguiti prendono il nome di politiche di
gestione o di schedulazione (scheduling) e il componente del SO che si occupa di questa gestione si
chiama job scheduler.
LA GESTIONE DELLA MEMORIA PRINCIPALE
La gestione della memoria principale (RAM) è uno degli aspetti più importanti dei sistemi operativi.
La memoria principale è uno spazio in cui il sistema operativo alloca (memorizza) e dealloca
(rimuove) informazioni. Queste due operazioni sembrano molto banali a parole, ma in realtà sono
un bel problema. Negli anni sono state introdotte diverse idee per rendere possibili queste
operazioni. I sistemi operativi moderni usano delle tecniche chiamate segmentazione e
paginazione (anche usate insieme), che consentono di usare la memoria principale con efficienza e
senza sprechi. Ma non è stato sempre così. Inizialmente siamo partiti con una tecnica abbastanza
primitiva, ma che all'epoca poteva anche andare bene:
Partizionamento
L'idea era di avere partizioni di lunghezza fissa.
Questa tecnica era scomoda perchè richiedeva che le memorie RAM uscissero dalla fabbrica già
partizionate, il numero dei processi era limitato e I processi non potevano essere più grandi della
partizione. Inoltre si presentava il problema della frammentazione interna, cioè processi piccoli
occupavano partizioni più grandi di loro.
Partizionamento Variabile
L’idea qui era che avendo partizioni di lunghezza scalabile fosse possibile diminuire la
frammentazione. Effettivamente questo metodo diminuì la frammentazione ma non la risolse
assieme e si portava ancora dietro tutti I problemi del partizionamento.
Partizionamento Dinamico
Il partizionamento dinamico risolse I problemi dei precedenti metodi ma introdusse una nuova
problematica: la frammentazione esterna. La frammentazione esterna rendeva la memoria ram
poco efficente lasciando buchi e si iniziò ad utilizzare la compattazione, metodo con il quale si
riduceva lo spazio inutilizzato dalla ram ma al costo di una perdita di perfomance.