a mio avviso se abbiamo un prog che per comodità suddividiamo in più pezzi , così facendo non otteniamo un significativo risparmio nella gestione della memoria che di fatto resta non occupata ma inutilizabbile
La creazione di una correlazione fra programmi diversi non è il risultato di una comoda suddivisione di un grosso programma in più programmi più contenuti, salvo che non ci siano precise necessità dettate dalla dimensione della RAM. Quando le RAM erano assai minute, diventava quasi necessario frammentare un programma in altri di ridotte dimensioni, ma oggi non vi è più una vera e propria esigenza. Può succedere invece che una certa funzione di nuova costruzione possa essere utilizzata anche da altri programmi, allora, piuttosto che andare a modificare direttamente tutti i programmi interessati, sia più pratico ed anche più veloce inserire in ciascun programma il richiamo del nuovo programma.
L'esistenza nella RAM di due programmi potenzialmente attivi, mentre, per un certo tempo, solo uno lavora e la'ltro no, non comporta alcuna perdita di spazio in memoria e ciò grazie al meccanismo del
Multiprocessing. Esso permette infatti di sfruttare al meglio la memoria del PC nascondendo nella memoria cache quei programmi e dati non utilizzati al momento, richiamandoli successivamente al risveglio del programma, prima temporaneamente inattivo. Detto meccanismo è automatico e viene svolto dal processore del PC secondo una logica di programmazione, cosiddetta a basso livello, che ne assicura l'efficienza e la perfetta sequenza operativa di tutti i programmi via via attivati, dal momento dell'accensione del PC. L'argomento, specificatamente tecnico andrebbe ulteriormente approfondito per avere la chiara percezione di come lavora un processore, ma sicuramente, se volessi addentrarti nella materia, potrai trovare tantissimi lavori nel web ed in libreria che lo illustrano benissimo.