Red Hot Cyber

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

Cerca

La storia del sistema operativo UNIX (seconda parte)

Carlo Denza : 10 Ottobre 2021 07:13

Autore: Carlo Denza
Data Pubblicazione: 07/10/2021

Prima parte: La storia del sistema operativo UNIX (prima parte).

Star Trek IV- Rotta verso la Terra, diretto da Leonard Nimoy(USA 1986 Paramount Pictures): “La nave stellare “U.S.S. Enterprise¹ NCC-1701″ e il suo equipaggio, con a capo l’ammiraglio James Tiberius Kirk, durante la sua missione quinquennale, diretta alla esplorazione di nuovi mondi e alla ricerca di nuove civiltà, per estinguere complessi problemi di energia e di ecologia del proprio Pianeta, si trova costretta ad intraprendere un rischioso viaggio a ritroso nel tempo. Obbiettivo: Tornare sulla Terra, nella California del XX secolo. La missione affidatagli dalla Flotta Stellare è quella di recuperare e trasportare nel XXIII secolo, due degli ultimi esemplari di balene, dall’acquario di Sausalito, nella Baia di San Francisco. Per cercare di salvare il loro mondo da una catastrofe climatica.

L’Ufficiale e ingegnere capo della cosmonave “Montgomery Scott” sbarcato sulla Terra, si trova alle prese con un Macintosh Plus. Scotty cerca di interagire impartendo comandi vocali al Mac, ma niente da fare. Si deve rassegnare allo scomodo e poco pratico uso della tastiera, principale metodo di input del periodo in cui si trova. Ecco, queste le parole della esilarante gag:”

Scotty: Computer? Scotty: Computer? Computer: resta in silenzio

A questo punto, McCoy, ufficiale medico dell’astronave Enterprise anch’egli presente sulla scena, gli porge il mouse. Scotty credendo di poterlo usare come microfono per impartire comandi vocali, lo impugna e dice: “Salve computer”

Ma niente! Il Mac resta freddo nel suo silenzio. Finché il terzo presente nell’inquadratura di quinta gli fa notare che forse sarebbe stato il caso di usare la tastiera. A questo punto, il nostro graduato bisbiglia: “Tastiera? pittoresco!!”.

Probabilmente, avrete già intuito il riferimento a Unix. Il famoso sistema operativo della mela morsicata, anche esso, un OS conforme allo standard POSIX, e in virtù di questo affonda le sue radici in BSD (Berkeley Software Distribution). Mac OS è basato su Unix.

Ecco, vi si è appena chiarito uno dei motivi per cui, MacOS, piace molto.

Riepilogo

Per chi si fosse perso il precedente articolo facciamo un breve riepilogo. Unix nasce nel 1969 nei Bell Labs, i suoi padri sono: K.L. Thompson e D.M. Ritche. Nel 1974 viene installata presso l’università di Berkeley la prima versione di Unix. Riscritta interamente in linguaggio C. Le sue principali caratteristiche: “E’ general-porpouse, interattivo, multi utente, multi programmazione, time-sharing”.

I vantaggi per l’utente sono la potenza e la flessibilità un potente editor a pieno schermo e un sistema di posta elettronica. la macchina virtuale Unix si divide e comprende:

  1. una Shell: Interprete del linguaggio di comando, programmi di sistema, editor, compilatori ed altro, risorse software del sistema operativo.
  2. Il Kernel: Nucleo del sistema operativo. Coordina l’esecuzione di tutti i programmi e l’accesso a tutte le risorse del sistema.

Accesso ad un sistema UNIX

L’accesso a un sistema UNIX mediante terminale avviene utilizzando un programma chiamato “login”, il programma identifica gli utenti chiedendo loro username e password. Se l’autenticazione avviene con successo il sistema esegue una shell come da figura successiva.

Nei sistemi UNIX moderni (dopo la metà degli anni 80), con l’introduzione di interfacce grafiche a finestre l’accesso al sistema può essere effettuato anche mediante un programma detto display manager utilizzando sempre username e password.

Se l’autenticazione avviene con successo il sistema esegue solitamente un insieme di programmi con interfaccia grafica detto desktop enviroment, che consente all’utente di eseguire i programmi desiderati, come nell’immagine successiva.

Le moderne versioni di Unix forniscono diverse alternative come Desktop Environemt.

Alcuni dei Desktop Environment più diffusi sono: GNOME, KDE, XFCE, UNITY, LXDE.Ciascun utente di un sistema Unix appartiene ad uno o più gruppi. Ogni utente ha un unico gruppo di login e può essere membro di più gruppi supplementari, su alcuni sistemi l’appartenenza ad alcuni gruppi determina la possibilità di utilizzare alcune funzionalità del sistema

  • audio –utilizzare la scheda audio
  • video –utilizzare la web cam
  • dial out –utilizzare il modem e le porte seriali
  • dip –utilizzare connessioni ad internet via modem

Il file system di Unix

La struttura più importante di un sistema informatico sono i suoi dati, ovvero le informazioni memorizzate e manipolate dai programmi. Unix ha un file system che ha come compito quello di raccogliere tutti i dati presenti nel computer siano essi, programmi, documenti, database o file di testo.

Per la maggior parte, l’esecuzione del file system è automatica, anche se a volte richiede della manutenzione. In inglese con la parola file indichiamo un archivio o un raccoglitore. Per gli utenti di pc assume un significato più specifico, infatti con il termine file possiamo intendere una raccolta di dati memorizzati sul disco del pc che può essere un programma, un foglio elettronico, un immagine o qualsiasi altra cosa.

Ogni file ha inoltre un nome attraverso il quale è possibile fare riferimento a esso. Il punto cruciale è che in un sistema Unix o Unix-like la definizione di file assume un ventaglio di significati più ampio. Sotto Unix per file intendiamo anche una qualsiasi sorgente dalla quale sia possibile leggere dati o una destinazione sulla quale poter scrivere dati.

Pertanto con il termine file ci riferiamo non solo a un archivio di dati, come un file su disco, ma a ogni periferica fisica. Avete capito bene in un ambiente Unix sono visti come file la tastiera (dispositivo di input), il monitor (dispositivo di output) e la stampante (anche questo dispositivo di output). Questa caratteristica conferisce ai programmi dei sistemi Unix o Unix-Like una certa flessibilità a differenza di altri.

In particolare qualunque programma che compie operazioni di lettura e scrittura utilizzando l’input/output standard può impiegare qualsiasi sorgente di input e qualsiasi destinazione di output. Riepilogando:

  1. Un file system è un sistema di organizzazione dei file per la memorizzazione su dispositivi di archiviazione (hard disk, floppy, pen- drive, cd-rom, …);
  2. Il file system di Unix ha una organizzazione gerarchica ad albero alla cui radice c’è una directory particolare chiamata root ed identificata dal carattere ‘/’;
  3. Una directory è un contenitore di file e directory.

Unix contiene moltissimi file i quali vengono organizzati tramite directory e sottodirectory.

Il file system di Unix ha origine in un’unica directory chiamata radice (root directory), la quale è genitore di tutte le altre directory di Unix.

La root è la base del sistema Unix e deve la sua importanza al fatto di contenere al suo interno oltreché altre directory e sub-directory un file molto importante, il programma che costituisce il cuore di Unix (il kernel).

Nei sistemi BSD questo file prende il nome di:”Vmunix”, termine che sta per virtual memory Unix, in riferimento alla tecnica per utilizzare lo spazio su disco per simulare grandi quantità di memoria.

Osservando la figura 6 dobbiamo ricordarci che:

  1. I nomi di file e directory possono essere composti da qualsiasi sequenza di caratteri eccetto ‘/’ ed il carattere nullo.
  2. Ogni directory contiene due directory speciali ‘.’ che corrisponde alla stessa directory e ‘..’ che corrisponde alla directory padre (la directory padre di ‘/’ è ‘/’ stessa).
  3. Alcune sottodirectory della root sono comuni a tutti i sistemi UNIX.
  4. Per i sistemi Linux i nomi delle directory e le loro funzioni sono stabilite dal “Filesystem Hierarchy Standard” FHS.

Descrizione delle directory

Di seguito alcuni termini utilizzati nel mondo UNIX e non solo:

  1. bin : programmi essenziali utilizzabili da tutti gli utenti
  2. boot : file necessari all’avvio del sistema quali il kernel ed i driver dev : file speciali associati a dispositivi hardware
  3. etc : file di configurazione
  4. home : directory degli utenti
  5. sbin : programmi essenziali per l’amministrazione del sistema tmp :file temporanei
  6. var : file che il sistema scrive durante l’esecuzione (log, spool, cache, …Pathname

La struttura ad albero consente di identificare univocamente un elemento del file system mediante il percorso che va da una directory al file stesso. Questo percorso viene detto pathname. Nel pathname tutte le directory del percorso vengono separate dal carattere ‘/’ e il pathname può essere relativo o assoluto.

Termino questo breve articolo, ringraziando chiunque sia riuscito a leggere fino in fondo queste poche pagine, dandoci magari appuntamento in uno prossimo, se ve ne sarà occasione.

In realtà decidono di tornare sulla Terra, non con USS Enterprise ma con uno Sparviero catturato ai Klingon, nel precedente film. Ma era funzionale all’articolo.

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.