UNIX
Gruppo
G. Chiara, I. Ilaria, M. Silvia,
P.Elena, S.Alessia
INDICE
• Cos’è UNIX
• Caratteristiche
• Storia di Unix
• Il linguaggio C
• Linux
05/01/13
COSA E’ UNIX?
Unix non è né una ditta di computer, né un programma, né
un singolo sistema operativo, ma piuttosto un nome che
indica una famiglia di sistemi operativi di produttori diversi e
progettati per computer diversi; questi sistemi sono tra loro
non uguali, ma comunque simili per modalità di
funzionamento e comandi implementati. Non esiste
pertanto lo Unix, ma ogni utente si troverà a fare i conti con
il proprio Unix, quello installato sulla macchina con cui lavora.
Il tipico Unix è molto potente, molto sicuro,
molto ben funzionante e molto complicato da
usare. Dimenticatevi icone, mouse, eccetera: lo
Unix è esclusivamente testuale e funziona a
riga di comando, proprio come MS-DOS anche se, successivamente, è stato
introdotto X-Windows, che sta a Unix come
Windows sta a MS-DOS, e permette di lavorare
con un'interfaccia grafica. Del resto, Unix è
nato nel 1972 (difatti, MS-DOS è una pallida
copia di Unix).
MS-DOS è stato il sistema
operativo dedicato ai personal
computer più diffuso al
mondo, prima dell’avvento di
Microsoft Windows 95.
X-Windows
CARATTERISTICHE
Il sistema operativo Unix può essere riassunto in base alle seguenti
caratteristiche:
• Multiutente: più utenti possono
interagire contemporaneamente con il
sistema, che evita interferenze tra le
attività dei vari utenti. All'interno del
sistema ogni utente è individuato
univocamente da un nome logico (lo
username). Inoltre, gli utenti sono
suddivisi in gruppi, ciascuno
individuabile univocamente mediante
il suo nome (il groupname). In ogni
sistema è definito l'utente root, che
rappresenta l'amministratore di
sistema, e che, in generale, non ha
alcuna limitazione nell'accesso alle
risorse del sistema stesso;
•
Multiprogrammato (multitasking): il suo nucleo può
supportare la contemporanea esecuzione di più
processi gestiti a divisione di tempo;
• Gestione della memoria virtuale: il sistema di
gestione della memoria in Unix si basa su
paginazione e segmentazione.
•
Portabile: grazie
all'impiego del
linguaggio C nella
realizzazione del
sistema, esso gode di
un'elevata portabilità,
ed è oggi disponibile su
una vasta gamma di
architetture;
•
•
Aperto: Unix realizza alcuni dei più diffusi servizi e protocolli di
comunicazione della rete Internet, rendendo possibile una facile
integrazione di sistemi Unix all'interno di una rete;
Ambiente di sviluppo per programmi scritti in "C": Unix
mantiene tuttora uno stretto legame con il linguaggio di
programmazione "C". Questa relazione si manifesta anche nella
disponibilità all'interno delle utilità di sistema di un insieme
piuttosto ricco di strumenti per lo sviluppo di applicazioni in "C"
(tra i quali il compilatore cc).
05/01/13
STORIA DI UNIX
•
UNIX nasce nel 1969 negli Stati Uniti, ad
opera di Ken Thompson, Dennis Ritchie,
Rudd Canaday e Doug McIlroy.
Ken Thompson and Dennis Ritchie
•
I quattro lavoravano presso i Bell
Laboratories, allora appartenenti alla AT&T,
la più grossa azienda di telefonia
americana.
•
Negli anni precedenti avevano lavorato
insieme ad altri ad un sistema operativo
innovativo di nome Multics, ma il progetto
fu abbandonato per
l’eccessiva complessità. Contrari a questa
decisione, proseguirono il loro lavoro e
implementarono su un antico DEC PDP7 quello che divenne Unix, scegliendo il
nome in antitesi con il vecchio progetto.
DEC PDP-7
•
Durante lo sviluppo di Unix,
Thompson e Ritchie inventarono
anche il linguaggio C, che
utilizzarono per riscrivere il
sistema operativo stesso intorno
al 1973, e che grazie alle sue
caratteristiche di portabilità
permise che in seguito il kernel
fosse facilmente riutilizzabile su
altre piattaforme, diventando di
fatto il primo sistema portabile
della storia dell’informatica.
•
Unix fu subito utilizzato
all’interno di AT&T per gestire
sistemi di telefonia,
soppiantando il software di base
dei primi mini-computer creati
per quello scopo, che era molto
limitato e basilare.
•
La posizione
monopolistica di AT&T
non le consentiva di
espandersi ulteriormente
in settori non
strettamente legati alla
telefonia, per non
incorrere nelle sanzioni
delle autorità, e quindi
essa rinunciò a mantenere
le royalties su Unix, e fu
disponibile a inviarne
copie a basso prezzo a
varie università ed aziende
americane per scopi
didattici o di sviluppo
interno, senza fornire
nessun supporto e senza
dare eccessiva pubblicità
alla cosa.
Aula UNIX in un’università americana
•
Questo fece nascere negli anni
immediatamente successivi un certo numero
di varianti del sistema operativo, che fra la fine
degli anni ’70 e gli inizi degli anni ’80 furono
poi riunificate dai Bell Labs in quello che si
chiamò Unix System III. Dal successivo sviluppo
nacque Unix System V (il System IV non fu
rilasciato al pubblico), ed a questo punto AT&T
cominciò a supportarlo ufficialmente.
•
Nel frattempo però l’università di Berkeley
aveva iniziato a distribuire una sua versione di
Unix detta BSD (Berkeley Software
distribution) che girava su macchine DEC VAX.
In realtà fu sempre Ken Thompson a scriverla,
durante un anno sabbatico che trascorse a
Berkeley, insieme ad alcuni studenti. In quella
sede nacquero l’editor VI, la C-shell, Sendmail,
e il supporto TCP/IP (si ricordi che per
tradizione lo stack TCP/IP dei *BSD è stato
sempre considerato il più solido esistente).
DEC VAX
•
•
Da questo momento quindi
incominciarono ad esistere due
principali “correnti” di Unix:
quella basata sul System V di
AT&T e quella basata sul BSD di
Berkeley.
A metà degli anni ’80 un gruppo
di produttori che si erano basati
su Unix si consorziò fondando
l’Open Group, con lo scopo di
non dover dipendere da aziende
più grandi ed esterne al loro
mercato (AT&T). L’Open Group
cominciò a sviluppare standard e
specifiche alle quali i sistemi
dovevano attenersi…
… Infatti ci si era resi conto che a quel punto era importante arrivare
alla determinazione di un singolo sistema Unix sul quale concentrare
gli sforzi di sviluppo, per evitare la dispersione di energie. Ma quale
versione tra le tante?
• Nel 1987 la AT&T si accordò con Sun Microsystems, che era in quel
momento il principale sviluppatore di Unix su base BSD. Quindi le
altre aziende del settore si sentirono minacciate e reagirono sotto il
marchio di Open Software Foundation creando un “nuovo” sistema
Unix chiamatoOSF/1.
05/01/13
•
Iniziarono così le “unix wars” tra il consorzio OSF da una parte e il
gruppo AT&T/Sun dall’altra, mentre l’Open Group cercava di rimanere
neutrale stabilendo delle API standardizzate.
Da qui iniziano le storie delle svariate varianti di Unix che conosciamo,
sviluppate dalle più grosse aziende dell’informatica mondiale di quei
tempi: Digital con il suo Digital Unix (poi divenuto Tru64) diretto erede
di OSF/1 tanto da riportarne ancora il nome in svariate componenti
interne, IBM con il suo AIX, HP con il suo HP/UX, Data General con
DG/UX, Siemens con Sinix ed altri.
•
•
•
Nel 1993 AT&T vende gli Unix System
Laboratories alla Novell, che cercava un
sistema operativo solido da collegare alla
sua gamma di prodotti NetWare.
Nel 1995 SCO acquista gli Unix
Laboratories da Novell, ma solo per
quanto riguarda i sorgenti e la tecnologia,
mentre invece i diritti e le specifiche
vengono cedute all’Open Group, in modo
da assicurare la prosecuzione del lavoro
di standardizzazione.
Infatti in seguito l’Open Group ha
rilasciato le specifiche UNIX’95 e UNIX’98
ed attualmente si occupa ancora di
armonizzare gli standard di sviluppo del
sistema operativo assicurando
l’interoperabilità fra le varie versioni.
05/01/13
IL LINGUAGGIO C
Il C è un linguaggio che, come il Pascal ed il Fortran (che sono suoi predecessori),
permette di salvare i valori in variabili, di strutturare il codice, di convogliare il flusso
del programma utilizzando istruzioni di ciclo, istruzioni condizionali e funzioni, di
eseguire operazioni di input/output a video o su file, di salvare dati in array o
strutture; ma diversamente da questi linguaggi (e qui i suoi maggiori punti di forza)
permette di controllare in modo più preciso le operazioni di input/output, inoltre il C è
un linguaggio più sintetico e permette di scrivere programmi piccoli e di facile
comprensione. Con il linguaggio C si possono sviluppare programmi di qualsiasi
genere, compresi i videogiochi; inoltre praticamente tutti i sistemi operativi sono
sviluppati per la maggior parte in Assembly ed in C.
Dennis Ritchie,
padre di Unix e
del linguaggio C
LINUX
Linux è una famiglia di sistemi operativi per personal
computer, aventi la caratteristica comune di
utilizzare come nucleo il kernel Linux.
Il kernel linux è uno dei più riusciti esempi di
software open source. È stato rilasciato sotto la
libera licenza GNU GPL , ha così aumentato il
numero dei suoi sviluppatori e utilizzatori in tutto
il mondo.
OPEN SOURCE
In informatica, open source indica
un software i cui autori ne favoriscono il
libero studio e l'apporto di modifiche da
parte di altri programmatori indipendenti.
Grazie alla portabilità del kernel Linux sono stati
sviluppati sistemi operativi Linux per un'ampia
gamma di computer, dai personal computer,
ai cellulari, dai tablet computer e console,
ai mainframe e ai supercomputer ed esistono
sistemi Linux installabili anche come server.
Perché è stato creato Linux?
Negli anni '80 e '90 chi aveva bisogno di usare i
computer poteva scegliere tra sistemi operativi
Microsoft poco costosi e supportati dal mercato
dei PC, e costosi sistemi tecnologicamente
avanzati rappresentati sostanzialmente dai
sistemi UNIX.
Il giovane Linus Trovalds , studente finlandese
appassionato di programmazione, con la
creazione del sistema operativo Linux è andato a
colmare l'esigenza di un sistema
tecnologicamente avanzato, economico, con
specifiche pubbliche, utilizzabile su hardware
facilmente reperibile, ed adatto a far funzionare
l'incredibile quantità di software libero prodotto
in tutto il mondo.
Linus Trovalds
Le radici UNIX di Linux
Linux si è sviluppato nella cultura del
libero scambio di idee e di software.
Si è cercato di mantenere aperte le
comunicazioni tra gli sviluppatori di
software.
Lo scopo era di creare del software
funzionante, indipendentemente da chi
era il proprietario del codice.
UNIX si era sviluppato con attenzione al
valore delle idee più che all'importanza
dei profitti.
Per questo si era data importanza ad
aspetti come l'esecuzione in rete di
programmi, possibilità di gestire
contemporaneamente più utenti, e più
programmi contemporaneamente (tutte
cose che non era in grado di svolgere
MS-DOS, o Windows).
Linux
Per questo il codice sorgente (gli
ingredienti) di UNIX era stato
distribuito gratuitamente alle
università, e consentiva agli utenti di
apportare i propri miglioramenti al
sistema.
Posix
Unix
05/01/13
Quando alcune ditte come AT&T
hanno cominciato a proteggere con
licenze il codice sorgente delle
versioni UNIX create per i loro
computer, si è sentita l'esigenza di
creare delle specifiche tecniche
comuni per questi sistemi.
Queste specifiche denominate
POSIX, sono quelle a cui vuole
conformarsi Linux che non può
utilizzare il marchio commerciale
UNIX.
Scarica

UNIX Gruppo.