Old:Un kernel UNIX libero: Linux

Versione del 17 apr 2006 alle 22:44 di Tindal (discussione | contributi)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Document-page-setup.png Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.

Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template.



Mi sono accorto che molti nuovi utenti di Linux vengono disorientati dal fatto di ritrovarsi per la prima volta a che fare con un S.O. di tipo UNIX, e spero di fare cosa utile trattando qui le principali caratteristiche di un tale sistema. L'articolo è ancora nel primo stadio di elaborazione, e chi volesse partecipare alla stesura è assolutamente il benvenuto ;-).

Cosa significa UNIX

Linux è un kernel UNIX-like, e questo di fatto sancisce delle regole ben precise che vengono rispettate in fase di progettazione del Sistema Operativo:

  • Il kernel è il nucleo software del sistema, e ha il compito di amministrare le risorse: un processo non può e non deve accedere all'hardware, ma dialoga solo con il kernel.
  • Ogni oggetto con cui è possibile interagire nel sistema è un file, e in quanto tale ha tutte e sole le caratteristiche dei file: un proprietario, un gruppo proprietario, dei permessi impostabili per lettura, scrittura ed esecuzione, e il metodo di interazione è unico.
  • altro..


Gestione della RAM

Un processo in esecuzione deve risiedere in RAM, e oltre al programma in sè vengono messe in RAM anche tutte le librerie a cui è linkato il programma.

il kernel amministra le risorse del sistema e, in particolare, al lancio di un processo vede se c'è abbastanza RAM, e se no ne libera un po' (se può, altrimenti usa la swap, e se è finita anche quella dà errore).

quando un processo viene terminato, non c'è necessariamente bisogno di liberare completamente la RAM occupata dal processo, anzi, c'è una certa probabilità che almeno le librerie condivise possano servire ad un altro programma, quindi linux le mantiene in RAM finchè non c'è la reale necessità di quello spazio.

lo stesso concetto vale per i dati: la probabilità di utilizzare più volte parte degli stessi dati è più alta di quella di usarne sempre di diversi, quindi vengono cancellati dalla RAM solo quando ce n'è bisogno.

questo significa "mantenere una cache".

per verificare che funziona, si può provare ad aprire openoffice, per poi chiuderlo, e poi riaprirlo: si noterà che i tempi di apertura la prima e la seconda volta sono molto diversi.

Tindal