In CP/M, non era una questione di liberare la memoria così tanto, dal momento che aveva una zona statica di RAM per il programma, e ogni programma eseguito nello stesso spazio. Quindi, quando il programma A si interrompe e il programma B viene eseguito, B viene semplicemente caricato sopra A.
Ora c'erano dei meccanismi per riservare la memoria dal sistema operativo, ma in genere non si trattava di memoria heap (nel classico caso che consideriamo oggi), è stata la progettazione di aree riservate speciali per varie attività.
Ad esempio, DOS ha questa routine di uscita denominata "Terminate and Stay Resident". Questo "chiude" il programma, ma non ha rilasciato lo spazio dopo la chiusura del programma. In genere questi programmi caricavano i vettori di interrupt (come gli interrupt di tastiera) per attivare le routine. Borland Sidekick era un "TSR" molto popolare nel corso della giornata e offriva cose come una calcolatrice e una lista di contatti.
Infine, poiché questi non erano sistemi di memoria protetti, i vostri programmi potrebbero abusare del sistema in tutti i modi possibili per fare ciò che volete, ma questa è una discussione diversa.
fonte
2010-06-27 02:40:23
Su Windows c'è un problema simile: i file temporanei. La maggior parte dei programmi che necessitano di memoria aggiuntiva per le loro operazioni (e vengono eseguiti su computer che potrebbero non avere memoria sufficiente) utilizzano file temporanei. Data la facilità con cui un programma si arresta in modo anomalo o viene interrotto dall'utente, i file temporanei non vengono puliti. – rwong