Red Hot Cyber

La cybersecurity è condivisione.
Riconosci il rischio, combattilo, condividi le tue esperienze ed 
incentiva gli altri a fare meglio di te.

Cerca
Crowdstrike

La storia del sistema operativo UNIX (prima parte)

Carlo Denza : 18 Luglio 2021 09:00

  

Autore: Carlo Denza

Quest’ articolo parla della storia del sistema operativo Unix, un miracolo della tecnologia moderna, utilizzato in tutto il mondo e cosi versatile da poter essere utilizzato su qualsiasi tipo di device e calcolatore elettronico.

La prima release di Unix fu implementata nel lontano 1969, dove uno tra gli scopi era quello di poter eseguire un videogioco che si chiamato Space Travel.

Il gioco era una simulazione dei movimenti del Sole e dei pianeti e di una navicella spaziale che poteva atterrare in questi luoghi “ricordate Star trek?”. Lo scienziato dietro questo gioco, era il grande Ken Thompson, un informatico statunitense e pioniere della moderna informatica, il quale ricevette il premio Turing assieme ad un altro scienziato e collega (e amico di sempre), Dennis Ritchie, l’inventore del linguaggio C.

Oggi Unix è una cultura su scala “globale” e come ogni vera cultura comprende idee, strumenti, abitudini. Non essendo semplicemente un sistema operativo ma una filosofia, non è possibile avere una padronanza completa di Unix, per dirla in parole povere non esistono persone che possono sapere tutto di questo meraviglioso e complesso sistema operativo.

L’universo Unix che analizzeremo in questo articolo ci offre un numero incredibile di strumenti mediante i quali è possibile creare, modificare e manipolare informazioni. Possiamo giocare, scrivere programmi, creare documenti e altro ancora. Tutto ciò che occorre è conoscere, comprendere e sapere come usare Unix.

Provate a indovinare quale piattaforma software è stata implementata nell’ultima consolle di casa Sony, la PS4? Esatto il sistema operativo che gira sulla PS4 è Orbis OS, una versione modificata di FreeBSD 9.0 e FreeBSD è una versione gratuita di BSD Unix. E Raspbian il famoso O.S. del Raspberry Pi? Deriva dalla distribuzione Debian anch’essa basata su kernel FreeBSD. E i server di Whatsapp? Anche questi sono su FreeBSD.

Compresa la versatilità e la potenza di questo sistema operativo, addentriamoci in questo meraviglioso universo.

La storia del sistema operativo UNIX

Alla fine degli anni sessanta, tre enti statunitensi furono impegnati nella realizzazione di un sistema operativo di avanguardia chiamato Multics. I tre enti erano il M.I.T. (Massachusset Institute of Technology), gli AT&T Bell Labs e l’allora produttore di computer GE (General Electric). Multics era l’acronimo di (Multiplexed Information and Computing System) ed era sviluppato per essere un sistema operativo interattivo per i Mainframe GE 645.

Multics poneva tra i suoi obbiettivi quello di fornire più funzionalità a una serie di utenti simultaneamente, oltre che fornire condivisione delle informazioni, offrendo al tempo stesso una certa robustezza nella sicurezza dei dati. Il progetto andò incontro a diverse vicissitudine tanto che per disparati motivi i Bell Labs decisero di abbandonarlo.

Ken Thompson, uno dei ricercatori dei Bell Labs coinvolti nel progetto Multics, scrisse un videogioco chiamato Space Travel per il mainframe della GE ma l’esecuzione del gioco sulla macchina risultava lento e scattoso e avendo i Bell Labs lasciato il progetto non poté più migliorarlo. Allora si decise con l’aiuto di Dennis Ritchie (altro grande informatico statunitense, inventore del linguaggio C, scomparso di recente 12 ottobre 2011 ndr) a riscriverlo ex novo in maniera tale che potesse essere eseguito su di un’altra macchina, cioè un computerDEC PDP-7.

Questa nuova esperienza e collaborazione diede vita allo sviluppo di un nuovo sistema operativo che utilizzava la struttura di un file system progettato e creato dallo stesso Thompson insieme a Ritchie e con l’aiuto di Rudd Canaday. Thompson e colleghi, crearono un sistema operativo multitasking che includeva: Un file system, un interprete di comandi e delle utility per il PDP-7. Siccome il nuovo sistema operativo multitasking per il PDP-7, almeno agli inizi, era destinato a un solo utente alla volta e inoltre ogni parte del sistema era concepita per svolgere al meglio un unico compito, il neonato OS fu battezzato UNICS (dove Uni sta per Uno) e il quale acronimo è (Uniplexed Information and Computing System) in seguito venne leggermente modificato in Unix, intorno agli anni 70.

Nel 1973 Ritchie e Thompson riscrissero il kernel di Unix in linguaggio C. La scrittura nel linguaggio C portò degli enormi vantaggi, tra i quali, quello di poter semplificare la manutenzione e inoltre lo rese portatile, ciò conferì la possibilità di poterlo eseguire su altre macchine, a differenza della maggior parte degli altri sistemi di allora per piccole macchine che erano essenzialmente scritti in linguaggio assembly, quindi non portabili su altri sistemi e di difficile manutenzione.


Ken Thompson Dennis Ritchie alla tastiera del PDP-11

Cos’è un sistema operativo?

Prima di inoltrarci ulteriormente alla scoperta dell’universo Unix cerchiamo, brevemente, di capire e chiediamoci: “Cosa è un sistema operativo?”. Un sistema operativo (abbreviato OS in inglese) è un software, cioè un complesso programma di controllo che ha come finalità quella di rendere efficiente l’uso e la gestione dell’hardware.

A questo scopo il sistema operativo agisce come interfaccia primaria con l’hardware. Quando digitiamo un comando per visualizzare il nome dei file, il sistema operativo si occuperà di cercare i nomi e di visualizzarli. Quando salviamo un file sul nostro computer, il sistema operativo si prende in carico il lavoro. Qualsiasi cosa si faccia con un computer, il sistema operativo è sempre lì, in attesa di servirci e di gestire al meglio le risorse hardware e software del computer.

Unix e la sua famiglia di sistemi

Dal primo e primordiale Unix sviluppato nel 1969 da un solo programmatore a oggi, molte altre persone hanno contribuito a trasformare Unix in una famiglia di sistemi operativi d’avanguardia.

Per molti anni i Bell Labs sono rimasti uno dei centri dello sviluppo di Unix più importanti, ma dopo la nascita di grandi organizzazioni, una serie di vendite e di acquisti aziendali, attualmente utilizziamo la sigla Unix per descrivere qualunque sistema operativo che soddisfa determinati standard specifici.

Il discendente più moderno e sicuramente la più famosa e originale versione di Unix è la At&T System V versione 4. Un altro importante sistema Unix viene dall’università della California a Berkeley. Inizialmente lo Unix di Berkeley era basato sullo Unix di At&T ma le nuove e più recenti versioni sono state sviluppate per essere il più indipendente possibile da System V. Il nome ufficiale dello Unix di Berkeley è BSD, acrostico di Berkeley Software Distribution.

Le versione più recente nel momento in cui scriviamo l’articolo è la FreeBSD 13 (STABLE) scaricabile gratuitamente da https://www.freebsd.org/.


Evoluzione dei sistemi Unix partendo dallo UNIX di Ken Thompson-

Caratteristiche e Architettura di Unix

Unix è un sistema operativo progettato con le seguenti caratteristiche: Portabilità Multi-tasking Multi-user Time-sharing, è composto da un kernel, che è il nucleo del sistema operativo il tramite verso l’hardware. L’accesso ai servizi del kernel avviene unicamente tramite funzioni speciali dette system call.

Il sistema operativo fornisce una serie di librerie di funzioni comuni per la programmazione, le applicazioni possono usare sia tali librerie che le system call. La shell (Interprete dei comandi) è un’applicazione che consente di eseguire altre applicazioni.


Universo dei programmi che compongono UNIX.

Argomenti trattati nella secondo parte dell’articolo con maggiori dettagli tecnici.

•Accesso ad un sistema UNIX

•Il file system di Unix

•Descrizione delle directory

Carlo Denza
Diplomato in informatica, e come perito elettronico. Ha frequentato il Corso di Studio in Informatica presso la facoltà di Scienze MM.FF.NN. alla Federico II di Napoli. Dopo un corso in Java, collabora allo sviluppo di un applicazione web per servizi nell’ambito sanitario. Pubblica un pamphlet, una raccolta di articoli a carattere divulgativo.