Tutti i bytes nascono liberi. Si definisce libero un byte che non è allocato da alcun processo.
Note sulla 16° Legge
Durante i primi cicli di clock di un sistema, i bytes non appartengono ad alcun processo o thread, pertanto si possono definire liberi. Considerazione: maggiore è il numero di bytes liberi in un sistema, migliore è la qualità della vita dei bytes all'interno del sistema stesso. Un byte libero è libero di spostarsi da una cella all'altra della memoria, di cambiare valore, di muoversi da un subsystem all'altro (core della CPU, graphics card, audio card, etc.), di viaggiare lungo i bus (PCI, AGP) e sulle porte I/O disponibili (USB, PS/2, RS232): tutto ciò senza causare conflitti all'OS.
E' quindi importante che ogni software istanzi il minor numero possibile di bytes, ma allo stesso tempo deve continuare a soddisfare la 2° Legge di Damiani sui bytes. E' necessario quindi che i nostri software bilancino opportunamente la libertà dei bytes e la loro felicità.
Se ci sono pochi bytes istanziati, essi hanno una minor probabilità di incontrarsi, e quindi di essere infelici.
Se ci sono molti bytes istanziati, essi hanno una maggior probabilità di incontrarsi, e quindi di essere felici, ma con uno scotto da pagare: un maggior sovraffollamento della memoria.
Ne sentivate la mancanza, vero? :-)