back

Introduzione ai Kernel: parte prima

Introduzione

Al giorno d'oggi il Personal Computer è una costante quotidiana della nostra vita, lo utilizziamo per lavorare, comunicare, per ottenere informazioni o anche solo per svago.
Molti dimenticano che un PC consiste in un complesso macchinario con uno scopo ben preciso nonché assai complicato: coprire una moltitudine di ruoli molto differenti gli uni dagli altri.

Con la televisione otteniamo notizie e svago in formato audiovisivo, ascoltiamo la musica con l'ausilio di lettori di vario tipo e utilizziamo il cellulare per comunicare a grandi distanze; il computer è in grado di svolgere tutte queste mansioni spesso con una profondità maggiore di quella dei dispositivi sopracitati.
Il Personal Computer è una macchina General Purpose che deve offrire ottime prestazioni in tutti i suoi campi con tempi di risposta mediamente buoni e con una estrema facilità d'uso.

Questo articolo tratterà in modo abbastanza approfondito, cercando di non sacrificare la semplicità del linguaggio, la progettazione di un Sistema Operativo in quest'ottica, mostrando le principali difficoltà che occorre affrontare nella realizzazione di uno strumento così complesso; nel prossimo numero dell'e-zine Debianizzati l'attenzione verrà invece focalizzata sui kernel, strumenti essenziali di cui si parla spesso (in ambiente GNU/Linux) ma di cui si conosce ben poco.

Per trattare un argomento così vasto e complesso occorre introdurre alcuni metodi di progettazione tipici dell'Ingegneria Informatica, metodi non molto complicati a dire il vero, ma che spesso sono dati per scontati ignorandone le meccaniche e soprattutto, l'efficacia.
Vedremo insieme vari concetti cercando di affacciarci ad essi non dal punto di vista del profano, ma dalla prospettiva di un progettista in erba che vuole "costruire" un Sistema Operativo.

Scienza dell'astrazione

Il cervello umano ha capacità limitate per quanto concerne la gestione di problemi con un elevato numero di variabili in gioco. Si pensi ad un'automobile moderna, se il guidatore dovesse controllare ogni singola componente del motore (carburazione, iniezione, apertura e chiusura delle valvole) difficilmente riuscirebbe ad avviare il veicolo.

back