login LOGIN
CHIUDI chiudi
Il mio profilo

mostra
Hai dimenticato la password?
Inserisci l'indirizzo email di registrazione per reimpostare la password.
Segui le istruzioni che ti abbiamo inviato per posta elettronica.

Cos'è UNIX e come funziona

Sistema operativo nato negli anni '60 nei laboratori della AT&T, UNIX è oggi utilizzato come base di partenza per molti altri sistemi operativi. Ecco come funziona e quali sono i principali comandi UNIX

UNIX

C'è un filo, sottilissimo ma allo stesso modo molto forte, che unisce indissolubilmente sistemi operativi apparentemente molto differenti come Mac OS, Linux e FreeBSD. Un filo che risponde al nome di UNIX, sistema operativo sviluppato nel corso degli anni '60 dal gigante delle telecomunicazioni statunitense AT&T e inizialmente di dominio esclusivo di programmatori di alto livello. Fatta eccezione per Microsoft Windows, la gran parte dei maggiori sistemi operativi in commercio ha nel proprio core molti elementi originari di UNIX.

Cos'è UNIX

UNIX (a volte scritto anche Unix o Unix in maiuscoletto) è un ambiente operativo potente e multiutente ora implementato in una grande varietà di piattaforme. Venne sviluppato all'interno dei Bell Laboratories della AT&T da un gruppo di lavoro composto da Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, Michael Lesk e Joe Ossanna e rilasciato ufficialmente nel 1969 in linguaggio macchina. Nel 1973 venne quasi interamente ricordificato nel linguaggio di programmazione C, così da consentirne una maggiore diffusione.

Anche se oggi è difficile trovare delle macchine – sia personal computer sia server – che presentino una versione di UNIX “pura”, sono molti gli utenti in giro per il mondo che fanno uso di sistemi operativi basati su parti del codice sorgente di UNIX, Mac OS e distribuzioni Linux (come BackTrack, ad esempio) in testa. Anche se le loro interfacce grafiche possono divergere profondamente, alcuni aspetti e applicazioni dei sistemi operativi UNIX-based sono molto simili. Una fra tutte, la Unix shell, l'interfaccia a riga di comando praticamente identica in tutte i vari sistemi operativi.

Caratteristiche di UNIX

Affinché un sistema operativo possa dirsi UNIX o, comunque, UNIX-like deve rispettare delle direttive e delle caratteristiche ben precise.

 

Programmatore alle prese con server UNIX

 

Prima di tutto deve essere multiutente e permettere l'interazione contemporanea di più utenti. Il sistema, che controlla le attività degli utenti, deve far sì che queste non interferiscano l'una con l'altra. Gli utenti di un sistema sono individuati unicamente grazie ad un nome logico (username). Tra gli utenti, suddivisi in vari gruppi con vari livelli di “competenza”, è definito l'utente root, che ha compiti e funzioni di amministratore del sistema.

Un sistema operativo UNIX è anche multitasking e può sopportare l'esecuzione contemporanea di più di un programma. Per questo motivo deve essere dotato di un sistema di gestione della memoria virtuale che permetta di assegnare ad ogni processo in esecuzione un'area di memoria dalle dimensioni eventualmente maggiori rispetto alla memoria fisica effettivamente disponibile.

Un sistema UNIX, essendo realizzato in C, garantisce un alto grado di portabilità ed è quindi disponibile su un gran numero di piattaforme hardware, anche molto diverse l'una dall'altra. Proprio per questo stretto legame sussistente tra il sistema operativo UNIX e il linguaggio di programmazione C è possibile trovare un ambiente di sviluppo per programmi scritti in C in ogni sistema UNIX-like.

Componenti di UNIX

Ogni sistema operativo UNIX o UNIX-like che si rispetti è composto da vari elementi solitamente distribuiti assieme. Oltre al kernel – fondamentale per il funzionamento del sistema operativo – troviamo ambienti di sviluppo, comandi UNIX, librerie, documenti e il codice sorgente modificabile liberamente da ogni utente.

 

Un programmatore alle prese con sistemi UNIX

 

Tra i comandi UNIX più importanti troviamo quelli della famiglia sh, relativi al terminale a riga di comando che permette l'interazione tra utente e sistema operativo; quelli della famiglia Utilities, il kit di strumenti principale di ogni sistema operativo UNIX; quelli della famiglia Document formatting e utilizzati per l'impaginazione e la formattazione di documenti di testo; quelli della famiglia Graphics utilizzati primariamente per realizzare semplici grafiche vettoriali; quelli della famiglia Communications utilizzati per la comunicazione tra i vari utenti dello stesso sistema informatico.

Le famiglie UNIX

Vista la sua grande diffusione e differenziazione, è possibile suddividere i vari sistemi basati su UNIX in diverse famiglie. Che, come ogni famiglia che si rispetti, si differenzia dall'altra per caratteristiche peculiari e, in alcuni casi, uniche.

 

Linea temporale dello sviluppo di UNIX

 

La più importante famiglia di sistemi operativi derivati da UNIX ma non certificati come tali è quella dei sistemi operativi BSD (come FreeBSD, NetBSD e OpenBSD). C'è poi la famiglia dei sistemi Unix, della quale fanno parte esclusivamente i sistemi derivati direttamente dallo UNIX sviluppato originariamente da AT&T. La famiglia dei sistemi Unix-like comprende, invece, quei sistemi sviluppati tenendo conto delle direttive descritte nella Single UNIX Specification. Alla famiglia UNIX appartengono, infine, i sistemi operativi certificati dal The Open Group, consorzio di sviluppo composto da IBM, HP e Oracle Corporation.

 

3 agosto 2013

A cura di Cultur-e
Addestramento IA non consentito: É assolutamente vietato l’utilizzo del contenuto di questa pubblicazione, in qualsiasi forma o modalità, per addestrare sistemi e piattaforme di intelligenza artificiale generativa. I contenuti sono coperti da copyright.
Whatsapp
Segui le ultime notizie sul nostro canale Whatsapp
Immagine principale del blocco
Segui le ultime notizie sul nostro canale Whatsapp
Fda gratis svg
Iscriviti al canale gratuito

Iscriviti
all'area personale

Per ricevere Newsletter, scaricare eBook, creare playlist vocali e accedere ai corsi della Fastweb Digital Academy a te dedicati.