:: wikimiki.org ::
| NetBSD |
NetBSDNetBSD' è un sistema operativo Unix-like altamente portabile, free, disponibile per molte piattaforme, dai server alpha a 64 bit fino ai dispositivi palmari. Il suo design pulito e le sue caratteristiche avanzate lo rendono idoneo a ambiti sia produttivi sia di ricerca. È completamente disponibile in forma sorgente e ha una ricca dotazione di applicazioni
Le origini di NetBSD
La prima versione di NetBSD (0.8) risale al 1993 e deriva dal sistema operativo 4.3BSD Lite, una versione di Unix sviluppata all'Università della California di Berkeley BSD (Berkeley Software Distribution) e dal sistema 386BSD, il primo port per sistemi Intel 386. In seguito sono state integrate le modifiche provenienti dal sistema 4.4BSD Lite, l'ultima release ufficiale del gruppo di sviluppatori di Berkeley prima dello scioglimento. Il ramo BSD di Unix ha avuto una grande importanza nella storia di questo sistema operativo, al quale ha contribuito con svariate innovazioni che oggi fanno parte di tutti i sitemi Unix (l'editor vi, la C shell, il job control, il Berkeley fast file system, l'integrazione del TCP/IP, tanto per menzionarne alcune). Questa tradizione di sviluppo e di ricerca sopravvive oggi nei sistemi BSD (sia freeware sia commerciali) e, in particolare, in NetBSD.
Caratteristiche di NetBSD
NetBSD funziona su una vasta gamma di piattaforme hardware ed è molto portabile. Con NetBSD viene fornito il codice sorgente dell'intero sistema operativo per tutte le piattaforme supportate. Senza dilungarsi in eccessivi dettagli, per i quali si rimanda senz'altro al sito ufficiale del progetto NetBSD, le caratteristiche fondamentali di questo sistema operativo sono le seguenti
- Estrema portabilità (oltre 50 piattaforme supportate)
- Qualità e correttezza del codice
- Aderenza agli standard
- Ricerca e innovazione
Le caratteristiche appena menzionate portano dei vantaggi anche indiretti. Per esempio, chi lavora su una piattaforma sola potrebbe non essere interessato alla portabilità; in realtà, però, la portabilità è strettamente legata alla qualità del codice: non sarebbe possibile supportare tutte queste piattaforme se il codice non fosse ben scritto e ben organizzato. L'attenzione verso l'aspetto architetturale e qualitativo del sistema viene ripagata con le grandi potenzialità del suo codice e la qualità dei suoi driver e quindi interessa tutti gli utenti.
Una delle caratteristiche del sistema è quella di non accontentarsi di implementazioni parziali: "se deve essere fatto, deve essere fatto bene"; il panorama informatico già tristemente abbonda di esempi di programmi e sistemi operativi iperviluppati e pieni di errori che collassano sotto il proprio stesso peso.
Un elenco dettagliato di caratteristiche di NetBSD si può trovare all'indirizzo [http://www.netbsd.org/Misc/features.html Features].
Piattaforme supportate
[http://www.netbsd.org/Ports/ Supported platforms]
A chi si rivolge NetBSD
Secondo quanto compare sul sito di NetBSD, i suoi destinatari sono i professionisti, gli appassionati e i ricercatori che vogliono un sistema stabile che privilegi la qualità. Ma anche chi vuole imparare a usare Unix troverà in NetBSD la piattaforma ideale, soprattutto per la sua aderenza agli standard (uno degli scopi del progetto) e, infine, chi ha bisogno di una piattaforma Unix disponibile su una grande varietà di macchine, non può trovare migliore alleato di NetBSD.
Un'altra caratteristica interessante è che con NetBSD si possono riutilizzare sistemi hardware considerati obsoleti per la maggior parte dei sistemi operativi, il che rende NetBSD un'ottima piattaforma per apprendere Unix. Come dire "non c'è bisogno di comprare nuovo hardware per avere la vostra versione di Unix in funzione: potete tranquillamente riutilizzare il vecchio MacIIcx che avete in soffitta".
Collegamenti esterni
- [http://www.netbsd.org/ www.netbsd.org]
- [http://www.mclink.it/personal/MG2508/netbsd/netbsd.html Guida a NetBSD]
Categoria:Distribuzioni BSD
ja:NetBSD
ko:NetBSD
Sistema operativoIn informatica, un sistema operativo (abbreviato in SO) è il programma responsabile del diretto controllo e gestione dell'hardware che costituisce un computer e delle operazioni di base. Si occupa anche di controllare gli accessi degli utenti e dei processi che vengono eseguiti.
Tipi di sistema operativo
Un generico sistema operativo moderno si compone di alcune parti ben definite: un gestore di file system che si occupa di esaudire le richieste di accesso alle memorie di massa, un gestore di memoria virtuale che alloca pagine di memoria a richiesta e si assicura che questa sia presente nella memoria fisica al momento giusto, uno scheduler che assicura ai vari processi in esecuzione una ben definita quantità di tempo di elaborazione, uno spooler che accumula i dati da stampare e li stampa in successione, una interfaccia utente (shell o GUI) che permette agli esseri umani di interagire con la macchina ed un kernel, fulcro del sistema, che gestisce il tutto. A seconda dei casi, un particolare sistema operativo può avere tutti questi componenti o solo alcuni. Vediamo ora una serie di sistemi operativi possibili, dal più semplice al più complesso.
Monitor
Praticamente il solo kernel, con una minima interfaccia interattiva per impartire i comandi. Permette di scrivere in memoria il programma da eseguire e di lanciarlo, non ha nessuna altra caratteristica. È semplicissimo (per un computer), spesso i suoi comandi sono semplici chiamate dirette a subroutine in linguaggio macchina, è stato anche il primo tipo di sistema operativo mai implementato su un computer.
Interprete
Il secondo passo verso una migliore gestione del computer si ha con lo sviluppo di una interfaccia utente separata dal kernel, un interprete di comandi che funga anche da interfaccia utente, da shell. Questa shell primitiva di solito funge anche da interprete per un linguaggio di programmazione: a seconda delle scelte dei progettisti del software può essere un vero linguaggio oppure un più semplice linguaggio di scripting con cui creare comandi batch.
DOS
Un computer diventa molto più utile se dotato di una memoria di massa: per gestirla serve un gestore di file system, cioè un insieme di funzioni che permetta di organizzare i dati sulla superficie dei mezzi di memorizzazione secondo una struttura ben precisa. I sistemi operativi capaci di gestire un file system sono detti genericamente Disk Operating Systems, cioè DOS appunto. L'esemplare più famoso è senz'altro il MS-DOS della Microsoft. Esiste anche una versione libera del dos, denominata: FreeDOS.
Sistema multitask
Alcuni programmi non hanno sempre realmente bisogno della CPU: a volte, invece di eseguire istruzioni stanno aspettando che arrivino dei dati da un file, o che l'utente prema un tasto alla tastiera. Quindi si può, in linea di principio, usare questi tempi "morti" per far girare un altro programma. Questa idea, sorta fin dai primi anni 50, si concretizzò nei sistemi operativi multitasking, cioè dotati di uno scheduler che manda in esecuzione più processi (esecuzioni di programmi) contemporaneamente, assegnando a turno la CPU ad ognuno e sospendendo l'esecuzione dei programmi in attesa di un evento esterno (lettura sulla/dalla memoria di massa, stampa, input utente ecc.) finché questo non si verifica.
Dovendo ospitare in memoria centrale più programmi nello stesso tempo, i sistemi multitask hanno bisogno di più memoria rispetto a quelli monotask: questo porta questo tipo di sistemi operativi a fare quasi sempre uso di un gestore di memoria virtuale.
Sistema multiutente
Se un computer può far girare più programmi contemporaneamente, allora può anche accettare comandi da più utenti contemporaneamente: in effetti dal multitasking alla multiutenza il passo è molto breve tecnicamente, ma fa sorgere una serie di nuovi problemi dal punto di vista della sicurezza del sistema: come distinguere i vari utenti tra loro, come accertarsi che nessun utente possa causare danni agli altri o alla macchina che sta usando ecc.
Questi problemi si risolvono assegnando un account univoco per ogni utente, assegnando un proprietario ai file ed ai programmi e gestendo un sistema di permessi per l'accesso ad essi, e prevedendo una gerarchia di utenti (cioè di account) per cui il sistema rifiuterà tutti i comandi potenzialmente "pericolosi" e li accetterà soltanto se impartiti da un utente in cima alla gerarchia, che è l'amministratore del sistema (generalmente l'account root nei sistemi Unix, Administrator nei sistemi Windows).
Parti del sistema operativo
Kernel
Il kernel è il cuore di un sistema operativo. Si tratta di un software con il compito di fornire ai programmi in esecuzione sul computer e agli altri moduli componenti il sistema operativo le funzioni fondamentali ed un accesso controllato all'hardware. Quali funzioni sia opportuno che il kernel debba fornire e quali possano essere demandate a moduli esterni è oggetto di opinioni divergenti: se il kernel di un sistema operativo implementa soltanto un numero molto ristretto di funzioni, delegando il resto ad altre parti, si parla di microkernel. Il vantaggio di un sistema operativo microkernel è la semplicità del suo kernel; lo svantaggio è l'interazione più complessa fra il kernel e le altre componenti del S.O. stesso, che rallenta il sistema.
File system
Il file system è il modo in cui i file sono immagazzinati e organizzati su un dispositivo di archiviazione, come un hard disk o un CD-ROM. Esistono molti tipi di file system, creati per diversi sistemi operativi, per diverse unità di memorizzazione e per diversi usi. Esistono due grandi classi di file system: quelli per unità locali, destinate ad organizzare fisicamente i dati su un disco, e i file system distribuiti, nati per condividere i dati fra più computer collegati attraverso una rete, superando le differenze fra sistemi operativi e filesystem locali delle varie macchine.
Filesystem per unità locali
- Amiga FileSystem
- CFS
- Ext2
- Ext3
- FAT
- HFS
- HPFS
- ISO 9660
- JFS
- Minix
- NTFS
- ReiserFS
- UFS
- XFS
Filesystem distribuiti
- Nfs
- Coda
- Andrew
Scheduler
Lo scheduler è un componente fondamentale dei sistemi operativi multitasking, cioè quelli in grado di eseguire più processi (task) contemporaneamente. Lo scheduler si occupa di fare avanzare un processo interrompendone temporaneamente un altro, realizzando così un cambiamento di contesto (context switch). Generalmente computer con un processore sono in grado di eseguire un programma per volta, quindi per poter far convivere più task è necessario usare lo scheduler. Esistono vari algoritmi di scheduling che permettono di scegliere nella maniera più efficiente possibile quale task far proseguire. Allo stato dell'arte, esistono scheduler O(1).
Gestore di memoria
Il gestore di memoria è la componente del sistema operativo che si occupa di gestire ed assegnare la memoria ai processi che ne fanno richiesta.
La gestione della memoria è necessaria per tenere traccia di quanta memoria è impegnata e di quanta invece è disponibile per soddisfare nuove richieste: in mancanza di un sistema di gestione, si avrebbe prima o poi il caso di processi che ne sovrascrivono altri, con gli ovvi inconvenienti.
Un altro buon motivo per registrare la memoria usata dai vari processi è il fatto che in caso di errori gravi i processi possono andare in crash e non essere più in grado di comunicare al sistema che la memoria che occupano può essere liberata: compito del gestore di memoria, in caso di terminazione anomala del processo, è di marcare come libere le zone di memoria possedute dal processo "defunto", rendendole disponibili per nuove allocazioni
Nel caso il sistema disponga di un meccanismo di memoria virtuale (vedi), il gestore della memoria si occupa anche di mappare la memoria virtuale offerta ai programmi sulla memoria fisica e sui dischi rigidi del sistema, copiando da memoria a disco rigido e viceversa le parti di memoria necessarie di volta in volta ai programmi, senza che i programmi stessi o gli utenti debbano preoccuparsi di nulla.
Protezione della memoria
la protezione della memoria è un sistema per prevenire la corruzione della memoria di un processo da parte di un altro. Di solito è gestito via hardware (ad esempio con una MMU, Memory management unit) e dal sistema operativo per allocare spazi di memoria distinti a processi differenti.
Interfaccia utente
Spooler di stampa
Lo spooler di stampa è stato, storicamente, uno dei primi moduli esterni del sistema operativo ad essere implementato, per risolvere il problema della gestione delle stampe su carta. Infatti, essendo le stampanti elettromeccaniche dei dispositivi molto lenti, i primi programmi per elaboratore dovevano necessariamente sprecare molto tempo di CPU, estremamente prezioso all'epoca, per controllare la stampante ed inviarle i dati. Quindi venne ideato un programma separato, che girava con una priorità molto bassa e che era visto dagli altri programmi come una normale stampante: in realtà invece lo spooler accumulava i dati che un programma doveva stampare in una apposita area di memoria RAM, e poi si faceva carico del processo di stampa vero e proprio lasciando gli altri programmi liberi di continuare la loro esecuzione.
Il meccanismo fondamentale dello spooler di stampa è rimasto sostanzialmente invariato dai suoi albori fino ad oggi: con gli anni e con il progredire della tecnologia le modifiche più rilevanti sono state la capacità di gestire più stampanti selezionabili a piacere, e la capacità di gestire anche stampanti remote, collegate cioè non direttamente al computer su cui gira lo spooler ma ad altri elaboratori connessi via rete.
Sistemi operativi noti o importanti
Vedi la voce principale elenco dei sistemi operativi
- AmigaOS
- AROS
- BeOS
- Haiku
- Zeta
- CP/67
- CP/CMS
- CP/M
- DOS
- DR-DOS
- DOS/VS
- DOS/VSE
- FreeDOS
- MS-DOS
- PC-DOS
- GNU/Linux
- GNU/Hurd
- Mac OS
- Menuet OS
- MorphOS
- MSX-DOS
- MVS
- OS/2
- OS/400
- OS/360
- Qnx
- Embedded
- TOS
- Unix
- AIX
- BSD (puri)
- FreeBSD
- DragonflyBSD
- NetBSD
- OpenBSD
- BSD (Derivati impropri)
- SunOS
- NeXTSTEP
- Mac OS X
- System III e System V
- Solaris
- AIX
- HP-UX
- IRIX
- OSF/1
- Tru64
- Minix
- VM/CMS
- VM/ESA
- VM/SP
- VM/XA
- z/VM
- VMS
- OpenVMS
- Windows
- Ambienti grafici a 16 bit per sistemi operativi DOS:
- Windows 3.0
- Windows 3.1
- Windows 3.11 (Windows for Workgroups)
- Sistemi basati su kernel ibrido 16/32 bit:
- Windows 95
- Windows 98
- Windows ME
- Sistemi basati su Kernel NT:
- Windows NT 3.x (versioni client e server)
- Windows NT 4 (versioni client e server)
- Windows 2000 (versioni client e server)
- Windows XP (versione client) e Windows Server 2003 (versione server)
- Windows Vista (attualmente in fase di sviluppo, verrà rilasciato nel 2006)
- ReactOS (clone open-source con architettura NT)
Voci correlate
- Elenco dei sistemi operativi
- Cronologia dei sistemi operativi
- Sistema operativo real-time
Bibliografia
- Architettura dei Sistemi di Elaborazione, volume 1 (F. Baiardi, A. Tomasi e [http://www.di.unipi.it/~vannesch/ Marco Vanneschi], 1988, editore Franco Angeli, ISBN 882042746X). Fondamenti, firmware, architetture parallele . [http://www.pangloss.it/libro.php?isbn=882042746X&id=4357&PHPSESSID=9da1895b18ed1cda115cf1c7ace9bdf0]
- Architettura dei Sistemi di Elaborazione, volume 2 (F. Baiardi, A. Tomasi, Marco Vanneschi, 1987, editore Franco Angeli, ISBN 882042746X) Sistemi operativi, multiprocessore e distribuiti. [http://www.pangloss.it/libro.php?isbn=8820432013&id=4358&PHPSESSID=9da1895b18ed1cda115cf1c7ace9bdf0]
als:Betriebssystem
ja:オペレーティングシステム
ko:운영 체제
ms:Sistem pengoperasian
simple:Operating system
th:ระบบปฏิบัติการ
zh-min-nan:Chok-gia̍p hē-thóng
Palmare
Un computer palmare (detto anche palmare), spesso designato in inglese con il termine palmtop o con la sigla PDA (acronimo di personal digital assistant), è un computer di ridotte dimensioni, tale da essere portato sul palmo di una mano, dotato di uno schermo sensibile al tocco (o Touch Screen). Originariamente concepito come agenda elettronica (organizer), o sistema non particolarmente evoluto dotato di un orologio, di una calcolatrice, di un calendario, di una rubrica dei contatti, di una lista di impengni/attività e della possibilità di memorizzare note e appunti (anche vocali) (personal information manager), si è fatto sempre più complesso nel corso degli anni.
Normalmente questi dispositivi sono dotati della capacità di collegarsi e sincronizzare dati con i personal computer, sia con un collegamento a infrarossi che con una connessione seriale/USB.
Inoltre spesso è possibile caricare programmi appositamente sviluppati che permettono di aggiungervi le più diverse funzionalità: foglio elettronico, client di posta elettronica, giochi, riproduttore MP3 ecc.
Infine alcuni palmari integrano o possono collegarsi a dispositivi esterni (telefono cellulare, GPS) aumentandone le possibilità d'uso. Bluetooth è una tecnologia sviluppata in questo senso.
Ultimamente i palmari stanno divendando sempre più potenti e accessoriati e alcuni modelli integrano in sé direttamente la connettività telefonica GSM/GPRS/EDGE/UMTS, e quindi sono in grado di fare anche da telefono cellulare in modo autonomo. Il maggiore limite che si riscontra, finora, è quello della memoria RAM disponibile, che raramente supera i 128MB, pur essendo estendibile in modo limitato con memory card. Per ovviare a questo inconveniente, è stata introdotta nel mercato nel corso dell'estate 2005 una nuova generazione di palmari che contengono un hard disk al loro interno..
L'utilità di un palmare appare evidente: è possibile portarlo sempre con sé (molto più facilmente di un notebook) e quindi di essere sempre in grado di lavorare dovunque ci si trovi, la funzione di navigatore satellitare grazie al GPS consente di risparmiare cifre consistenti che si spenderebbero per un equivalente integrato nell'auto, ed infine è anche un ottimo strumento di intrattenimento al livello di una console portatile come il Game Boy Advance o di un mini-Divx player (pur con i limiti di spazio). Un concentrato di funzionalità a cui probabilmente in futuro sarà sempre più difficile rinunciare.
Sistemi operativi per PDA
I più diffusi sistemi operativi per PDA sono:
- Palm OS di PalmSource
- Pocket PC (Windows CE) di Microsoft chiamato anche Windows Mobile
- BlackBerry di Research In Motion
- GNU Linux, utilizzato da Sharp per i suoi Zaurus
- Symbian OS (formalmente EPOC)
- Windows Mobile
Voci correlate
- Smartphone
- Simputer
Categoria:Computer
ja:携帯情報端末
ko:PDA
Unix
Lo UNIX® (o Unix) è un sistema operativo portabile per computer inizialmente sviluppato da un gruppo di ricerca dei laboratori AT&T e Bell Labs, fra i quali c'erano inizialmente anche Ken Thompson e Dennis Ritchie.
=Storia di Unix=
Unix è nato dall'intelligenza e la passione di alcune menti libere nei Bell Laboratories: dove molti vollero porre fine al progetto, altri lo portarono avanti, senza altro incentivo che quello della ricerca e della curiosità.
Dobbiamo a Unix il concetto di Informatica come scienza autonoma; prima di allora essa era considerata un aspetto pratico delle scienze matematiche, semplice applicazione di postulati teorici.
I Bell Laboratories (anni '60)
Molti credono che Unix sia stato sviluppato grazie a un'intuizione fortunata; l'affermazione non è esatta: il suo sviluppo si deve in parte a un progetto precedente, Multics, abbandonato ben presto dalla direzione dei Bell Labs perché ritenuto troppo complesso.
Multics nacque con presupposti molto avanzati per l'epoca: un sistema operativo in grado di supportare l'esecuzione di applicazioni in timesharing. Si scelse di svilupparlo internamente, dato lo scarso supporto che l'allora produttore di computer dava a questo aspetto. Si chiamava BESYS il sistema operativo che veniva montato di default sulle macchine, e si trattava più che altro di una semplice estensione dell'hardware. BESYS richiedeva un massiccio intervento manuale da parte degli operatori: ogni sequenza di operazioni doveva essere caricata dall'uomo, con grande spreco di tempo.
Fu con l'intento di automatizzare queste operazioni (timesharing), che nacque Multics (Multiplexed Information and Computing Service). Purtroppo il progetto si rivelò troppo complesso, specie per i ricercatori abituati ai sistemi operativi classici e perfettamente lineari. Fu ben presto abbandonato a favore di un altro sistema nettamente più semplice, ma anche molto più modesto: GECOS.
Alcuni ricercatori non ritennero corretta la decisione presa e decisero nonostante tutto di continuare lo sviluppo del progetto. Furono in particolare Ken Thompson e Dennis Ritchie a non arrendersi: fu grazie ai loro sforzi che, su una vecchissima macchina PDP-7, nacque la versione finale di Unics (in seguito Unix). Nome che stava a sottolineare la semplicità del progetto rispetto alla mal gestita complessità di Multics. In seguito al completamento del primo kernel, Thompson e altri ricercatori elaborarono una serie di principi di programmazione, tuttora ritenuti universalmente validi:
# fare in modo che ogni programma faccia una sola cosa e bene
# ci si aspetti che l'output di un programma diventi l'input di un altro
# si sviluppi software con l'idea che esso verrà provato subito: non si esiti a condividere il programma
# si usino degli strumenti appositi nella programmazione e non si cerchi di reinventare la ruota.
L'invenzione del linguaggio C
L'invenzione del linguaggio C costituisce una fase importantissima nella storia di Unix. Il C, sviluppato dallo stesso Thompson nell'arco 1969-1973, ha permesso di portare il kernel su piattaforme diverse dall'originario PDP-7, costituendo di fatto il primo software della storia ad essere in grado di funzionare in ambienti totalmente diversi. Assieme al kernel, che ricordiamo rappresenta il core (nucleo) del sistema operativo, il sistema Unix è stato corredato da una serie di comandi standard per la gestione dei file e degli utenti, comandi che ancora oggi vengono usati nei sistemi operativi moderni.
Le prime applicazioni in azienda (anni '70)
I Bell Laboratories erano di proprietà dell'AT&T (società che gestiva le comunicazioni telefoniche negli Stati Uniti), la quale di fatto quindi deteneva i diritti di Unix. Proprio in quel periodo, all'inizio degli anni settanta, il sistema telefonico statunitense stava subendo una piccola rivoluzione interna: l'utilizzo di mini-computer per la gestione del traffico voce e dati. Questi erano dotati di software di tipo minimale, che permetteva operazioni di manutenzione piuttosto limitate. Ben presto si scoprì come Unix, grazie alla sua concezione moderna e alla sua versatilità, permettesse di fare ai mini-computer operazioni molto più complesse. Per la prima volta, le operazioni di manutenzione potevano essere gestite a livello centrale, senza spedire i tecnici a investigare sul posto ad ogni singolo guasto.
Lo sviluppo di Unix ad opera del mondo universitario (anni '80 e '90)
AT&T non volle avere alcuna royalty sull'utilizzo e la modifica di Unix. Ciò non a fini di beneficenza, come si potrebbe erroneamente pensare, ma per un fatto “politico”. In quanto monopolista, AT&T aveva un range di servizi da offrire al mercato limitato per legge e Unix non costituiva un business direttamente collegato alle telecomunicazioni, anche se sotto certi aspetti lo era. Al centro di forti critiche per via della sua posizione dominante, AT&T permise che il codice sorgente di Unix venisse distribuito gratuitamente per fini di studio presso le Università di tutto il mondo.
Ottenere una copia del sistema operativo era piuttosto semplice e davvero poco costoso: bastava pagare le spese di spedizione del supporto. In breve si formò una comunità mondiale a livello universitario incentrata sullo sviluppo di nuove componenti e applicazioni di Unix. Tutto ciò ricorda in qualche modo l'Open Source moderno: tutto il materiale veniva condiviso ed era rigorosamente a codice aperto. Grazie a questo processo, nel corso degli anni settanta videro la luce le prime 7 versioni del sistema operativo.
Unix costituì un forte aggregatore per la nascente scienza dell'informazione. Di fatto, si può addirittura affermare che fu il suo sviluppo congiunto a definire per la prima volta l'idea di informatica come scienza. Unix ha prodotto inoltre una serie di conseguenze altamente desiderabili in ambito scientifico: la creazione di un ambiente comune all'interno del quale i ricercatori potevano verificare e controllare gli esperimenti; i lavori prodotti si potevano riutilizzare e migliorare; avvenne il passaggio definitivo dal laboratorio isolato a un ambiente di lavoro comunitario, dove tutti potevano contribuire.
Per risolvere i problemi di condivisione del codice, si introdusse per la prima volta la copia di file tra sistemi dislocati in parti diverse del mondo attraverso la linea telefonica. Il sistema venne chiamato UUCP (Unix to Unix Copy) e nonostante venne ben presto surclassato dalla nascente Arpanet (in seguito Internet), costituì un esempio dell'ambiente vivace e produttivo che si era costruito attorno a Unix.
La commercializzazione di Unix
Con lo smembramento di AT&T nel 1984 nelle famose 7 baby-bells, società più piccole che operavano a livello locale, la condivisione gratuita di Unix ebbe fine. Solamente alcune Università, come Berkeley in California, continuarono a sviluppare la loro versione derivata di Unix. AT&T aveva dimesso la propria posizione di operatore dominante ed era diventato un carrier per le chiamate tra i vari stati. La commercializzazione di Unix non conosceva più ostacoli e pertanto Unix System III (basato sulla settima versione) fu la prima release ad essere rilasciata dietro corrispettivo di un prezzo e senza codice sorgente. Seguì pochi anni dopo la versione Unix System V, che includeva il supporto ad altre architetture e l'inserimento dell'editor vi originariamente sviluppato dalla derivazione californiana di Unix, BSD.
Altre società cominciarono a offrire versioni commerciali di Unix. Alcune ottennero un'apposita licenza di utilizzo del codice da parte di AT&T, altre si affidarono al ramo di sviluppo creato dall'Università di Berkeley. Fu appunto da questa derivazione che Bill Joy creò SunOS (ora Solaris e OpenSolaris) e fondò Sun Microsystems nel 1982. Incredibile a dirsi, anche Microsoft creò la propria versione di Unix, che chiamò Xenix. Questa venne in seguito venduta a SCO (Santa Cruz Operation), la quale si adoperò per renderla compatibile con i sistemi Intel 386.
Nel 1984 nacque il primo vero standard di Unix, il SVR4 o System V Release 4, che racchiudeva tutte le innovazioni promosse dalle varie società che avevano commercializzato Unix finora come Sun, BSD, e SCO.
Nel 1993 AT&T decise di vendere tutti i diritti di Unix a Novell, con i quali creò UnixWare, un sistema che integrava la tecnologia alla base di Netware. Il neonato UnixWare si trovò a dover competere con Microsoft Windows NT, ma alla lunga perse la battaglia. Nel 1995 alcuni diritti sullo sviluppo vennero distribuiti a SCO. Non si conosce di preciso quali diritti siano stati ceduti, e la questione è attualmente alla base dell'odierna causa che contrappone le due società.
Unix: la causa di SCO a tutto campo contro Linux (anni 2000)
La nascita di Linux causò non pochi problemi a SCO, che venne schiacciata dalla forte crescita del pinguino da un lato e dalla forza commerciale di Microsoft dall'altro. Decise allora di ricorrere per vie legali contro IBM e altre società che utilizzavano fortemente Linux al centro del proprio business. Le accuse riguardano presunte violazioni di copyright nel kernel di Linux; ciò significa che alcune parti di Linux sarebbero state copiate dal kernel di Unix, di cui SCO afferma di detenere i diritti.
Non è tuttora chiaro né se SCO detenga effettivamente diritti su Unix, né se le accuse sul kernel di Linux siano effettivamente fondate. Tuttora SCO non è stata in grado di dimostrare che una sola linea di codice sia stata copiata da Unix; inoltre, alcuni studi interni alla stessa SCO, trapelati recentemente sotto forma di un'email spedita da un responsabile della società, forniscono l'evidenza che non esistono copiature di codice da un sistema all'altro.
=Unix e Free Software=
La rivoluzione più imponente nel mondo Unix è avvenuta nel 1991 ad opera di Linus Torvalds, che fece conoscere al mondo Unix una seconda giovinezza. Torvalds voleva realizzare un sistema operativo simile a Unix che funzionasse su computer Intel 80386 standard, ed iniziò quindi a sviluppare un kernel chiamato Kernel Linux, inizialmente ispirato a Minix di Andrew Tanenbaum. Il Kernel Linux fu poi unito al Sistema GNU creando GNU Linux.
Un'altra importante famiglia dei sistemi Unix è quella di BSD, di cui fanno parte FreeBSD, NetBSD, OpenBSD e DragonflyBSD.
C'è grande differenza tra le diciture UNIX®, UNIX e Unix:
- UNIX® indica un sistema operativo certificato da The Open Group, consorzio di aziende tra cui IBM, HP e Sun Microsystems. Per essere certificato, il sistema deve essere conforme a specifiche determinate da The Open Group stessa.
- UNIX indica prevalentemente i sistemi BSD, quali FreeBSD, che possono usare questa indicazione per motivi storici
- Con Unix vengono indicati generalmente tutti i sistemi derivati dallo UNIX della AT&T.
Un albero genealogico della famiglia UNIX molto completo e considerato quasi ufficiale, si trova all'indirizzo [http://www.levenez.com/unix/history.html http://www.levenez.com/unix/history.html].
Bibliografia
- Dennis M. Ritchie, Ken Thompson. 1978. "The UNIX Time-Sharing System". The Bell System Technical Journal, vol.57(6) [http://cm.bell-labs.com/cm/cs/who/dmr/cacm.pdf].
Collegamenti esterni
[http://www.e-socrates.org/course/view.php?id=12 Corso libero sui fondamenti di unix]
Categoria:Unix
ja:UNIX
ko:유닉스
ms:UNIX
simple:Unix
th:ยูนิกซ์
BSDL'acronimo BSD (Berkeley Software Distribution) indica una delle varianti originarie di Unix, sviluppata presso l'università di Berkeley in California e alla base di una delle due famiglie principali di sistemi operativi liberi attualmente più diffusi, tra cui gli esponenti più noti sono OpenBSD, FreeBSD, NetBSD, PCBSD e il nuovo DragonFlyBSD con le sue distribuzioni FireflyBSD e GoBSD.
Storia
La prima versione del sistema operativo BSD (1BSD) venne rilasciata dall'Università della California nel 1977. Si trattava di una serie di patch di uno studente del campus, Bill Joy, alla Sesta edizione dello Unix dell'AT&T, che girava su PDP-11.
Il sistema fu distribuito, come si usava a quei tempi, su di un nastro sottoforma di codice sorgente ed includeva, tra le altre cose, anche un editor scritto dallo stesso Joy (ex) ed un compilatore Pascal.
L'anno successivo, il 1978, vide l'uscita della seconda versione del sistema BSD (2BSD), sempre sotto la supervisione di Joy, che correggeva alcuni bug della prima edizione ed introduceva la C shell e una versione visuale di ex, vi. Questa versione fu la prima ad essere portata sul VAX, sebbene non riuscisse a sfruttare ampiamente le capacità di memoria virtuale della macchina.
Per ottenere migliori risultati sul VAX gli studenti dell'Università riscrissero gran parte del kernel di Unix/32V ed introdussero un'implementazione della memoria virtuale. Il nuovo sistema, il 3BSD, corredato dalle utility di 2BSD e dal port per il VAX venne rilasciato nel 1979.
Il successo di 3BSD indusse la DARPA a fondare il CSRG, che avrebbe avuto il compito di supervisionare lo sviluppo di una piattaforma Unix standard destinata alla ricerca. Il CSRG rilasciò, nel 1980, 4BSD che includeva interessanti miglioramenti a 3BSD.
Seguì la versione 4.1BSD (1981), che grazie ai miglioramenti apportati da Joy al kernel, riuscì ad eguagliare nei benchmark le prestazioni del sistema operativo nativo del VAX, VMS.
Ci vollero altri due anni affinché venisse rilasciata la versione successiva definitiva, 4.2BSD; nel frattempo vennero sviluppate tre release intermedie: la 4.1a, che conteneva una primitiva implementazione del protocollo TCP/IP, la 4.1b, che introduceva il nuovo filesystem del sistema operativo, FFS, implementato da Marshall Kirk McKusick, e la 4.1c che comprendeva vari bugfix.
4.2BSD venne rilasciata nell'agosto del 1983, quando Bill Joy aveva ormai lasciato la leadership del progetto a McKusick e Mike Karels per fondare la Sun Microsystems.
Fu per questa versione che apparve la mascotte di BSD, un demone disegnato dallo stesso McKusick, sulla copertina dei manuali distribuiti da USENIX.
Nel 1986 uscì 4.3BSD, che includeva miglioramenti in termini di performance rispetto all'edizione precedente e, cosa ben più importante, introdusse la prima implementazione del protocollo TCP/IP scelta come standard dalla DARPA per la superiorità dimostrata nel confronto dei concorrenti.
Siccome finora tutte le versioni erano basate sempre sull'implementazione di Unix dell'AT&T, si decise, nel 1989, di rilasciare sotto i termini della licenza BSD, soltanto la parte relativa al networking, che prendeva nome Net/1 (Networking release 1). Sotto la guida di Keith Bostik si fece in modo di riscrivere totalmente tutte le utility del sistema operativo per rilasciarle sotto licenza BSD. In diciotto mesi il lavoro fu realizzato ed un nuovo sistema completo, totalmente soggetto alla licenza BSD, nacque sotto il nome Net/2 (Networking release 2) nel 1991.
Da Net/2 presero il via altri due progetti: 386BSD di William Jolitz - dalla vita breve ma dal quale nacquero NetBSD prima e FreeBSD poi - e una versione commerciale del sistema operativo, BSDi.
In questi anni si concretizzò per i progetti BSD una disputa legale con AT&T, che rivendicava la paternità del marchio Unix. Ciò rallentò notevolmente lo sviluppo dei sistemi e favorì lo sviluppo di Linux, che non accusava problemi di questo genere.
Lo stesso Linus Torvalds ha ammesso che se nei primi anni Novanta fosse esistita un'implementazione libera di Unix per 386 non avrebbe mai iniziato lo sviluppo di Linux.
Nel gennaio del 1994 la causa legale cessò ampiamente in favore di Berkeley. Su oltre 18000 file soltanto 3 dovevano essere rimossi dal sistema e 70 modificati in termini di licenza. Così, nel giugno dello stesso anno, venne rilasciata la definitiva versione di 4.4BSD, epurata dal codice e dal marchio AT&T: 4.4BSD-lite.
La versione finale del sistema operativo fu la 4.4BSD-lite Release 2 (1995). I progetti discendenti sono attualmente in fase di sviluppo e vengono distribuiti in diverse distribuzioni, ognuna delle quali persegue uno scopo.
Grazie alla permissiva licenza BSD, Windows, il sistema operativo della Microsoft include, soprattutto per quanto riguarda la parte di networking (protocolli e utility relative), codice dei progetti BSD vivi.
Tecnologia
Gli obiettivi principali nello sviluppo di BSD sono sempre stati la standardizzazione, la qualità del prodotto l'affidabilità e l'innovazione.
Nello Unix di Berkeley sono stati implementati protocolli, librerie e strumenti che hanno dato un grande contributo allo sviluppo dell'informatica moderna.
Tra le più importanti novità introdotte vanno ricordati i protocolli di rete, come il TCP/IP, le relative librerie che realizzavano il rivoluzionario concetto di socket (il quale semplificava le implementazioni dei programmi di comunicazione attraverso la rete stessa), la memoria virtuale, il Berkeley Fast File System, la C shell, gli editor ex e vi.
I sistemi BSD sono tutt'oggi ampiamente utilizzati in ambiti di ricerca, di produzione, in prodotti commerciali ed in apparecchi embedded. In particolare, la qualità del codice e della documentazione (le cui "manpage" sono molto complete), nonché l'elevata aderenza agli standard IEEE, ANSI, ISO, e POSIX, li rendono un vero e proprio paradiso per i programmatori.
Un fatto interessante è che questi sistemi possono eseguire programmi nativi per altri sistemi operativi grazie ad un "layer" di emulazione, più propriamente chiamato "di compatibilità binaria".
Ciò si rivela un enorme vantaggio, da un lato perché fornisce prestazioni migliori di un'emulazione vera e propria e dall'altro perché consente, indirettamente, agli utenti di BSD di disporre di più programmi di quanto non sia possibile con altri sistemi: gli amministratori possono migrare le loro applicazioni commerciali da sistemi operativi proprietari verso soluzioni libere ma allo stesso tempo affidabili e moderne.
Distribuzioni open source
Le diverse distribuzioni open source di BSD sono ampiamente utilizzate in vari ambiti ma ognuna si differenzia dalle altre per l'obiettivo particolare sul quale si concentra.
- NetBSD, la prima discendente di 386BSD è rinomata per la portabilità estrema (funziona su decine di piattaforme e include un sistema per lo sviluppo di driver molto portabile) e per la qualità del codice. Viene attualmente utilizzata sulla stazione spaziale internazionale.
- FreeBSD, derivata direttamente da 386BSD, è conosciuta principalmente per la semplicità d'utilizzo e per le ottime prestazioni che offre, data la concentrazione dei suoi sviluppatori sulle architetture più diffuse, come quelle Intel.
- OpenBSD possiede un'ottima reputazione in fatto di sicurezza informatica. Tecnicamente deriva da NetBSD ma nel corso degli anni il suo team ha sviluppato programmi molto apprezzati anche al di fuori del sistema operativo, come OpenSSH e OpenBGPD.
- DragonFlyBSD, l'utima arrivata, è un progetto nato dal ramo 4 di FreeBSD che attualmente si sta concentrando su di uno sviluppo alternativo dell'SMP e del calcolo distribuito.
La licenza
L'acronimo viene usato anche per indicare la licenza BSD, una licenza libera non copyleft molto semplice sotto la quale è rilasciata la maggior parte delle componenti dei sistemi citati.
In breve, la licenza consente la redistribuzione del software anche in forma proprietaria, purché venga riconosciuto il merito all'autore.
Collegamenti esterni
- [http://www.apogeonline.com/openpress/libri/545/marshal.html Vent'anni di Unix a Berkeley]
Categoria:Unix
ja:BSD
ko:BSD
simple:Berkeley Software Distribution
Unix
Lo UNIX® (o Unix) è un sistema operativo portabile per computer inizialmente sviluppato da un gruppo di ricerca dei laboratori AT&T e Bell Labs, fra i quali c'erano inizialmente anche Ken Thompson e Dennis Ritchie.
=Storia di Unix=
Unix è nato dall'intelligenza e la passione di alcune menti libere nei Bell Laboratories: dove molti vollero porre fine al progetto, altri lo portarono avanti, senza altro incentivo che quello della ricerca e della curiosità.
Dobbiamo a Unix il concetto di Informatica come scienza autonoma; prima di allora essa era considerata un aspetto pratico delle scienze matematiche, semplice applicazione di postulati teorici.
I Bell Laboratories (anni '60)
Molti credono che Unix sia stato sviluppato grazie a un'intuizione fortunata; l'affermazione non è esatta: il suo sviluppo si deve in parte a un progetto precedente, Multics, abbandonato ben presto dalla direzione dei Bell Labs perché ritenuto troppo complesso.
Multics nacque con presupposti molto avanzati per l'epoca: un sistema operativo in grado di supportare l'esecuzione di applicazioni in timesharing. Si scelse di svilupparlo internamente, dato lo scarso supporto che l'allora produttore di computer dava a questo aspetto. Si chiamava BESYS il sistema operativo che veniva montato di default sulle macchine, e si trattava più che altro di una semplice estensione dell'hardware. BESYS richiedeva un massiccio intervento manuale da parte degli operatori: ogni sequenza di operazioni doveva essere caricata dall'uomo, con grande spreco di tempo.
Fu con l'intento di automatizzare queste operazioni (timesharing), che nacque Multics (Multiplexed Information and Computing Service). Purtroppo il progetto si rivelò troppo complesso, specie per i ricercatori abituati ai sistemi operativi classici e perfettamente lineari. Fu ben presto abbandonato a favore di un altro sistema nettamente più semplice, ma anche molto più modesto: GECOS.
Alcuni ricercatori non ritennero corretta la decisione presa e decisero nonostante tutto di continuare lo sviluppo del progetto. Furono in particolare Ken Thompson e Dennis Ritchie a non arrendersi: fu grazie ai loro sforzi che, su una vecchissima macchina PDP-7, nacque la versione finale di Unics (in seguito Unix). Nome che stava a sottolineare la semplicità del progetto rispetto alla mal gestita complessità di Multics. In seguito al completamento del primo kernel, Thompson e altri ricercatori elaborarono una serie di principi di programmazione, tuttora ritenuti universalmente validi:
# fare in modo che ogni programma faccia una sola cosa e bene
# ci si aspetti che l'output di un programma diventi l'input di un altro
# si sviluppi software con l'idea che esso verrà provato subito: non si esiti a condividere il programma
# si usino degli strumenti appositi nella programmazione e non si cerchi di reinventare la ruota.
L'invenzione del linguaggio C
L'invenzione del linguaggio C costituisce una fase importantissima nella storia di Unix. Il C, sviluppato dallo stesso Thompson nell'arco 1969-1973, ha permesso di portare il kernel su piattaforme diverse dall'originario PDP-7, costituendo di fatto il primo software della storia ad essere in grado di funzionare in ambienti totalmente diversi. Assieme al kernel, che ricordiamo rappresenta il core (nucleo) del sistema operativo, il sistema Unix è stato corredato da una serie di comandi standard per la gestione dei file e degli utenti, comandi che ancora oggi vengono usati nei sistemi operativi moderni.
Le prime applicazioni in azienda (anni '70)
I Bell Laboratories erano di proprietà dell'AT&T (società che gestiva le comunicazioni telefoniche negli Stati Uniti), la quale di fatto quindi deteneva i diritti di Unix. Proprio in quel periodo, all'inizio degli anni settanta, il sistema telefonico statunitense stava subendo una piccola rivoluzione interna: l'utilizzo di mini-computer per la gestione del traffico voce e dati. Questi erano dotati di software di tipo minimale, che permetteva operazioni di manutenzione piuttosto limitate. Ben presto si scoprì come Unix, grazie alla sua concezione moderna e alla sua versatilità, permettesse di fare ai mini-computer operazioni molto più complesse. Per la prima volta, le operazioni di manutenzione potevano essere gestite a livello centrale, senza spedire i tecnici a investigare sul posto ad ogni singolo guasto.
Lo sviluppo di Unix ad opera del mondo universitario (anni '80 e '90)
AT&T non volle avere alcuna royalty sull'utilizzo e la modifica di Unix. Ciò non a fini di beneficenza, come si potrebbe erroneamente pensare, ma per un fatto “politico”. In quanto monopolista, AT&T aveva un range di servizi da offrire al mercato limitato per legge e Unix non costituiva un business direttamente collegato alle telecomunicazioni, anche se sotto certi aspetti lo era. Al centro di forti critiche per via della sua posizione dominante, AT&T permise che il codice sorgente di Unix venisse distribuito gratuitamente per fini di studio presso le Università di tutto il mondo.
Ottenere una copia del sistema operativo era piuttosto semplice e davvero poco costoso: bastava pagare le spese di spedizione del supporto. In breve si formò una comunità mondiale a livello universitario incentrata sullo sviluppo di nuove componenti e applicazioni di Unix. Tutto ciò ricorda in qualche modo l'Open Source moderno: tutto il materiale veniva condiviso ed era rigorosamente a codice aperto. Grazie a questo processo, nel corso degli anni settanta videro la luce le prime 7 versioni del sistema operativo.
Unix costituì un forte aggregatore per la nascente scienza dell'informazione. Di fatto, si può addirittura affermare che fu il suo sviluppo congiunto a definire per la prima volta l'idea di informatica come scienza. Unix ha prodotto inoltre una serie di conseguenze altamente desiderabili in ambito scientifico: la creazione di un ambiente comune all'interno del quale i ricercatori potevano verificare e controllare gli esperimenti; i lavori prodotti si potevano riutilizzare e migliorare; avvenne il passaggio definitivo dal laboratorio isolato a un ambiente di lavoro comunitario, dove tutti potevano contribuire.
Per risolvere i problemi di condivisione del codice, si introdusse per la prima volta la copia di file tra sistemi dislocati in parti diverse del mondo attraverso la linea telefonica. Il sistema venne chiamato UUCP (Unix to Unix Copy) e nonostante venne ben presto surclassato dalla nascente Arpanet (in seguito Internet), costituì un esempio dell'ambiente vivace e produttivo che si era costruito attorno a Unix.
La commercializzazione di Unix
Con lo smembramento di AT&T nel 1984 nelle famose 7 baby-bells, società più piccole che operavano a livello locale, la condivisione gratuita di Unix ebbe fine. Solamente alcune Università, come Berkeley in California, continuarono a sviluppare la loro versione derivata di Unix. AT&T aveva dimesso la propria posizione di operatore dominante ed era diventato un carrier per le chiamate tra i vari stati. La commercializzazione di Unix non conosceva più ostacoli e pertanto Unix System III (basato sulla settima versione) fu la prima release ad essere rilasciata dietro corrispettivo di un prezzo e senza codice sorgente. Seguì pochi anni dopo la versione Unix System V, che includeva il supporto ad altre architetture e l'inserimento dell'editor vi originariamente sviluppato dalla derivazione californiana di Unix, BSD.
Altre società cominciarono a offrire versioni commerciali di Unix. Alcune ottennero un'apposita licenza di utilizzo del codice da parte di AT&T, altre si affidarono al ramo di sviluppo creato dall'Università di Berkeley. Fu appunto da questa derivazione che Bill Joy creò SunOS (ora Solaris e OpenSolaris) e fondò Sun Microsystems nel 1982. Incredibile a dirsi, anche Microsoft creò la propria versione di Unix, che chiamò Xenix. Questa venne in seguito venduta a SCO (Santa Cruz Operation), la quale si adoperò per renderla compatibile con i sistemi Intel 386.
Nel 1984 nacque il primo vero standard di Unix, il SVR4 o System V Release 4, che racchiudeva tutte le innovazioni promosse dalle varie società che avevano commercializzato Unix finora come Sun, BSD, e SCO.
Nel 1993 AT&T decise di vendere tutti i diritti di Unix a Novell, con i quali creò UnixWare, un sistema che integrava la tecnologia alla base di Netware. Il neonato UnixWare si trovò a dover competere con Microsoft Windows NT, ma alla lunga perse la battaglia. Nel 1995 alcuni diritti sullo sviluppo vennero distribuiti a SCO. Non si conosce di preciso quali diritti siano stati ceduti, e la questione è attualmente alla base dell'odierna causa che contrappone le due società.
Unix: la causa di SCO a tutto campo contro Linux (anni 2000)
La nascita di Linux causò non pochi problemi a SCO, che venne schiacciata dalla forte crescita del pinguino da un lato e dalla forza commerciale di Microsoft dall'altro. Decise allora di ricorrere per vie legali contro IBM e altre società che utilizzavano fortemente Linux al centro del proprio business. Le accuse riguardano presunte violazioni di copyright nel kernel di Linux; ciò significa che alcune parti di Linux sarebbero state copiate dal kernel di Unix, di cui SCO afferma di detenere i diritti.
Non è tuttora chiaro né se SCO detenga effettivamente diritti su Unix, né se le accuse sul kernel di Linux siano effettivamente fondate. Tuttora SCO non è stata in grado di dimostrare che una sola linea di codice sia stata copiata da Unix; inoltre, alcuni studi interni alla stessa SCO, trapelati recentemente sotto forma di un'email spedita da un responsabile della società, forniscono l'evidenza che non esistono copiature di codice da un sistema all'altro.
=Unix e Free Software=
La rivoluzione più imponente nel mondo Unix è avvenuta nel 1991 ad opera di Linus Torvalds, che fece conoscere al mondo Unix una seconda giovinezza. Torvalds voleva realizzare un sistema operativo simile a Unix che funzionasse su computer Intel 80386 standard, ed iniziò quindi a sviluppare un kernel chiamato Kernel Linux, inizialmente ispirato a Minix di Andrew Tanenbaum. Il Kernel Linux fu poi unito al Sistema GNU creando GNU Linux.
Un'altra importante famiglia dei sistemi Unix è quella di BSD, di cui fanno parte FreeBSD, NetBSD, OpenBSD e DragonflyBSD.
C'è grande differenza tra le diciture UNIX®, UNIX e Unix:
- UNIX® indica un sistema operativo certificato da The Open Group, consorzio di aziende tra cui IBM, HP e Sun Microsystems. Per essere certificato, il sistema deve essere conforme a specifiche determinate da The Open Group stessa.
- UNIX indica prevalentemente i sistemi BSD, quali FreeBSD, che possono usare questa indicazione per motivi storici
- Con Unix vengono indicati generalmente tutti i sistemi derivati dallo UNIX della AT&T.
Un albero genealogico della famiglia UNIX molto completo e considerato quasi ufficiale, si trova all'indirizzo [http://www.levenez.com/unix/history.html http://www.levenez.com/unix/history.html].
Bibliografia
- Dennis M. Ritchie, Ken Thompson. 1978. "The UNIX Time-Sharing System". The Bell System Technical Journal, vol.57(6) [http://cm.bell-labs.com/cm/cs/who/dmr/cacm.pdf].
Collegamenti esterni
[http://www.e-socrates.org/course/view.php?id=12 Corso libero sui fondamenti di unix]
Categoria:Unix
ja:UNIX
ko:유닉스
ms:UNIX
simple:Unix
th:ยูนิกซ์
TCP/IPNei primi anni settanta, la Defence Advanced Research Project Agency (DARPA) finanziò l'Università di Stanford e la BBN (Bolt, Beranek and Newman) per lo sviluppo di un insieme di protocolli di comunicazione da utilizzarsi per lo sviluppo di reti a commutazione di pacchetto, per l'interconnessione di calcolatori eterogenei.
Fu così che nacque lInternet Protocol Suite i cui due protocolli più noti sono il TCP (Trasmission Control Protocol) e l'IP (Internet Protocol).
Si fa riferimento a questa architettura di rete con la sigla TCP/IP o IP/TCP (quasi mai usata). I creatori di tali protocolli di trasmissione, tuttora utilizzati nel web, sono nello specifico Robert Kahn e Vinton Cerf, a cui l'attuale Presidente degli Stati Uniti George W. Bush ha consegnato la Presidential Medal of Freedom, ovvero la più alta tra le onorificenze civili a stelle e strisce, il 9 Novembre 2005. I due studiosi non sono nuovi a questo genere di premiazioni: all’inizio del 2005 è stato assegnato loro il prestigioso 2004 A.M. Turing Award, equivalente del Premio Nobel nel settore dell’Information Technology. Cerf e Kahn hanno sviluppato lo standard per la trasmissione di pacchetti via web nel lontano 1973, mentre lavoravano a un progetto di sviluppo dei sistemi di comunicazione voluto dalla DARPA (Defense Advanced Research Projects Agency). Attualmente Vint Cerf, collabora con Google alla creazione degli standard per le future applicazioni e nel frattempo si dedica allo sviluppo di nuovi protocolli di comunicazione interplanetaria per il Jet Propulsion Lab della Nasa. Robert Kahn, invece, dopo 13 anni di servizio presso la DARPA è diventato presidente della Corporation for National Research Initiatives (CNRI).
Questi protocolli, utilizzabili gratuitamente da tutti perché di pubblico dominio fin dall'inizio, ottennero un elevato successo (utilizzati da un gruppo di ricercatori per ARPAnet).
Questo genera alcune ambiguità dovute al fatto che il nome più corretto sarebbe Internet Protocol Suite. Per esempio succede di sentir parlare di servizi basati su TCP/IP anche quando in realtà, invece di TCP, viene usato un protocollo alternativo, UDP, anch'esso appartenente all'Internet Protocol Suite.
In genere il TCP viene utilizzato per quelle applicazioni che richiedono un servizio orientato alla connessione, come ad esempio la posta elettronica e il file sharing, mentre l'UDP prende sempre più piede per le applicazioni in tempo reale come lon-line gaming o lo streaming audio e video; la differenza fra i due protocolli risiede nella maggiore affidabilità nel trasporto dei dati di TCP, che offre una serie di servizi appositamente pensati (gestione del flusso, della congestione...), mentre UDP punta molto sulla velocità di trasmissione a scapito della sicurezza.
Si tenga quindi sempre presente che la sigla TCP/IP è di utilizzo talmente comune da essere utilizzata, talvolta, anche quando esistono termini più corretti alternativi.
TCP/IP è l'architettura adottata dalla rete internet. Negli anni novanta, nonostante la sua età, è stata (più o meno paradossalmente) l'unica architettura che ha interessato il mercato, al punto che gli enti di standardizzazione, di fronte al fatto compiuto della sua massiccia diffusione hanno dovuto darle la stessa dignità di ISO/OSI.
categoria:Protocolli di rete
Categoria:Distribuzioni BSDQuesta categoria raccoglie i software abbinati ad un Kernel BSD.
1165
الأحداث الجارية
أحداث
مواليد
وفيات
programy gry sportowe kaway depresja Ksigarnia Internetowa
|
|
|
| :: RELATED NEWS :: |
Hermann Böse
Hermann Böse ( - 4. Mai 1870 in Bremen-Hemelingen; † 17. Juli 1943 in Bremen) war Musiklehrer im Hermann-Böse-Gymnasium. Als überzeug
|
Menne
Menne ist ein Dorf mit ca. 850 Einwohnern in Nordrhein-Westfalen, Deutschland und gehört zur Stadt Warburg, Kreis Höxter im Regierungsbezirk Detmold.
Es liegt ca. 5 km nördlich der Kernstadt Warburg.
Regelmäßige Veranstaltungen
- Schützenfest des Schützenverein Menne e. V. Anfang Juli eines jeden Jahres
- Sportfest des Sportvereins Menne 1922 e.V
|
Wildwasseranlage
Eine Wildwasseranlage als künstliche Wildwasserstrecke kann zum Trainieren und für Wettkämpfe des Wildwasserpaddelns verwendet werden, u.a. für Kanuslalom, Freestyle, Kanurodeo, Playboating, Wildwasserrennsport (Sprints), Hydrospeed und
|
Einsiedelei Sankt Verena
Die Einsiedelei Sankt Verena ist eine nach der Heiligen Verena benannte Eremitage in der Verenaschlucht bei Solothurn.
1442 ist zum ersten Mal ze sant Frenen der Wohnsitz eines Einsiedlers bezeugt, und seit Ende des 18. Jahrhunderts ist die Schlucht ein beliebtes Naherholungsziel.
Noch heute lebt in
|
Die nackte Kanone 33 1/3
Die Nackte Kanone, Originaltitel The Naked Gun, ist ein Kinofilm des Regisseurs David Zucker aus dem Jahr 1988, der aus der Fernsehserie Police Squad! (Die nackte Pistole) hervorging.
Der Film gehört zum Genre Comedy,wobei es hier Elemente des Slapstick-Comedy und der absurden Komödie aufweist. Dieser Stil ist fast allen "ZAZ"-Filmen (Zuc
|
Verenaschlucht
Die Einsiedelei Sankt Verena ist eine nach der Heiligen Verena benannte Eremitage in der Verenaschlucht bei Solothurn.
1442 ist zum ersten Mal ze sant Frenen der Wohnsitz eines Einsiedlers bezeugt, und seit Ende des 18. Jahrhunderts ist die Schlucht ein beliebtes Naherholungsziel.
Noch heute lebt in
|
|
Motorneuron
Unter dem Begriff Motoneuron oder motorisches Neuron werden die efferenten Nervenbahnen zusammengefasst, die die Muskulatur des Körpers innervieren und daher für alle Bewegungsabläufe zuständig sind.
Man unterscheidet das
- untere Motoneuron ("lower motoneuron", LMN oder 2. Motoneuron) und das
- obere Motoneuron ("upper motoneuron", UMN oder 1. Motoneuron
|
O.J. Simpson
Orenthal James "O. J." Simpson ( - 9. Juli 1947 in San Francisco, Kalifornien) ist ein US-amerikanischer American-Football-Star und Schauspieler.
Football
O.J. Simpson war in den siebziger Jahren einer der besten
|
|