CAE_LIN

Corso seminariale sulla installazione,
configurazione ed uso di un server HTTP - Linux
Istituto "Caetani" - Roma
a.s.2002/03

 

Lezione 02

Storia (sommaria) del sistema operativo LINUX

Andrew Tanenbaum - autore di Minix, un sistema operativo simile ad UNIX in grado di funzionare su macchine 386

Linus Torvald (finlandese) - Autore - quasi per caso - di un sistema operativo multiutente e multitasking simile ad UNIX in grado di funzionare su macchine 386 e superiori. Quando il progetto, comunicato per posta nel 1991

Richard M. Stallman (statunitense) - Inizia a lavorare nel 1971 al Artificial Intelligence Lab del MIT. Scrive programmi basilari come EMACS e GCC che ritiene di dover condividere con l'intera comunitàà dei programmatori; per questo si licenzia dal MIT e fonda la Free Software Foundation che raccoglie fondi dalle dotnazioni e programmatori di talento che producono altro codice fondamentale (C lib, BASH) e la GPL o licenza del software libero. Nel 1992 il materiale prodotto dalla FSF contribuisce in maniera determinante a rendere funzionale il Kernel sviluppato da Torwald.

Distribuzioni: collezioni di Kernel e di applicativi di contorno scelte e configurate in maniera da finzionare stabilmente ed in sicurezza. Le distribuzioni si susseguono cercando di adattarsi agli svilluppi del kernel, dell'hrdware, delle richieste di sicurezza e di usabilità delle interfacce. Si ricordano la Slackware, la RedHat, la Debian, la Suse, la Mandrake; ciascuna di queste ha caratteristiche proprie che la rendono adatta per un ambiente o per l'altro.

 

 

 

Descrizione (sommaria) del sistema operativo LINUX

Linux è un sistema multi-tasking questo sistema operativo è in grado di eseguire molti programmi contemporaneamente. Dal momento che la CPU è us sola, il multi tasking viene ottenuto attivando per brevissimi intervalli di tempo i vari programmi in esecuzione alternandoli rapidamente (Time sharing) seguendo un determinato algoritmo in maniera che l'utente veda i programmi avanzare parallelamente. In questo caso però è proprio il sistema operativo che divide ed amministra le risorse assegnandole ai vari processi in coda: se uno di questi si blocca, il sistema continua a funzionare. In altri SO (Win) il Time sharing è affidato ai singoli programmi che rilasciano risorse e CPU ogni n cicli: se uno dei programmi attivi si blocca, l'intera catena si rompe!.

Linux è un sistema operativo multiutente: molti utenti si possono connettere alla stessa macchina, utilizzando la stessa CPU e quella porzione delle risorse che è permessa al proprio profilo utente. Questi utenti possono essere sia fisicamente connessi alla macchina centrale (consolle) che connessi con cavo seriale (Terminali remoti) che connessi tramite rete locale o geografica.

Linux è un sistema operativo portabile: essendo scritto quasi completamente in C, questo sistema operativo è stato adattato per una quantità di processori diversi (dal palmare al mainframe di poderosi centri di calcolo). Qualche burlone si è divertito a fa girare Linux anche su X-Box, PlayStation ed altre macchine giocose...

Linux è un sistema operativo scalabile: utilizzando la modularità è agevolmente possibile seguire lo sviluppo del'harware senza grossi traumi e, spesso, senza che l'utente se ne accorga. Essendo compatibile a basso livello con UNIX, Linux eredita tutta la massa di software (generalmente proprietario) gestionale e scientifico di alto livello sviluppato per questo sistema operativo in Università, imprese e Grandi Enti.

Un sistema operativo di questa complessità richiede che dati e programmi siano ordinatamente archiviati. Il file system (Albero delle directory o cartelle) di Linux segue (tenta di seguire) uno standard che proveremo ad illustrare. A questo bisogna aggiungere che le versioni moderne trsformano in files molti "oggetti" che producono flussi di dati in entrata ed uscita; anche questi "pseudo-files" trovano posto nel file-system.