ULTRIX

UltrixUltrix (ufficialmente scritto in maiuscolo ULTRIX) era il marchio dei sistemi Unix nativi della Digital Equipment Corporation (DEC). Nonostante ultrix sia il termine latino per “vendicatore”, il nome fu scelto solo per il suo suono.

Storia

Lo sviluppo iniziale di Unix avvenne su apparecchiature DEC, in particolare i sistemi DEC PDP-7 e PDP-11. I computer DEC successivi, come i loro sistemi VAX, furono anche piattaforme popolari sulle quali eseguire Unix; il primo porting su VAX, UNIX/32V, fu completato nel 1978 (il VAX era stato rilasciato appena nell’Ottobre 1977). Comunque DEC fornì il suo sistema operativo proprietario, VMS, per lungo tempo prima di riconoscere Unix.

Elemento chiave nel portare Unix all’interno della compagnia, lo Unix Engineering Group (UEG) di DEC fu avviato da Bill Munson con Jerry Brenner e Fred Canter, entrambi del DEC premier Customer Service Engineering group, con Bill Shannon (dalla Case Western Reserve University), e Armando Stettner (dai Bell Labs). Altri membri successivi dell’UEG furono Joel Magid, Bill Doll e Jim Barclay reclutati da svariati gruppi di marketing e gestione prodotto della DEC.

Il team UEG, sotto la direzione di Canter, rilasciò V7M, una versione modificata di Unix 7th Edition.

BSD

Shannon e Stettner lavorarono al supporto a basso livello della CPU e dei driver di periferica inizialmente su UNIX/32V ma si spostarono rapidamente per concentrarsi a lavorare con il 4BSD dell’Università della California, Berkeley. Bill Joy della Berkeley venne nel New Hampshire per lavorare con Shannon e Stettner a confezionare una nuova release di BSD che incorporasse il supporto CPU e driver dell’UEG, e per fare degli sviluppi e dei test dell’ultimo minuto su altre configurazioni disponibili negli stabilimenti DEC. Collateralmente, i tre realizzarono una versione test finale sul VAX principale utilizzato dal gruppo di sviluppo di VMS. Non ci furono commenti degli sviluppatori VMS i cui terminali li salutarono la mattina successiva con un prompt di login Unix… la macchina dell’UEG fu la prima ad eseguire il nuovo Unix, etichettato 4.5BSD sul tape che Bill Joy portò via con se al termine del lavoro. L’idea era che 5BSD sarebbe stata la successiva versione – gli avvocati dell’università pensarono che sarebbe stato meglio chiamarla 4.1BSD. Dopo il completamento di 4.1BSD, Bill Joy lasciò Berkeley per lavorare alla Sun Microsystems. In seguito Bill Shannon lasciò il New Hampshire per unirsi a lui. Armando Stettner rimase alla DEC e più tardi concepì ed avviò il progetto Ultrix.

Incidentalmente, il VAX principale dell’UEG, chiamato decvax, era anche uno dei nodi centrali delle reti UUCP e Usenet. Fu il primo sistema a collegare, in tempo reale per email ed articoli news Usenet, la costa orientale degli Stati Uniti a quella occidentale, la Duke University (duke) e la UC Berkeley (ucbvax). In seguito, dopo che furono aggiunte delle capacità di compressione alle netnews, decvax fu collegato anche all’Europa (Università Vrije di Amsterdam) e poi all’Australia (Università di Melbourne), effettuando chiamate almeno due volte al giorno.

Armando Stettner suggerì a Bill Doll durante una conversazione in corridoio che fosse ora per la DEC di rendere disponibile ai clienti un prodotto Unix nativo VAX. Fu fatta una proposta a Bill Munson che in seguito presentò l’idea a Ken Olsen. Si dice che Olsen afferrò una placca di licenza Unix, la sbattè sul petto di qualcuno e disse “facciamolo”. Così cominciò Ultrix.

V7M

Il primo prodotto Unix nativo di DEC fu V7m (la “m” sta per modificato) o V7M11 per PDP-11 e fu basato su Unix 7th Edition dei Bell Labs. Fu sviluppato dall’UEG originale: Fred Canter, Jerry Brenner, Armando Stettner, Bill Burns, Mary Anne Cacciola e Bill Munson, anche se il lavoro principale fu quello di Fred e Jerry; conteneva numerose fix al kernel incluso il supporto per data space e instruction space separati, un notevole lavoro sull’hardware error recovery, e molti driver di periferica. Molto lavoro venne dedicato a produrre una release che si avviasse in maniera affidabile da svariati tape drive e disk drive. V7m fu molto rispettato nella comunità Unix. L’UEG si evolse nel gruppo che più tardi sviluppò Ultrix.

La prima release

La prima release di Ultrix fu Ultrix-32, basato su 4.2BSD con alcune features non relative al kernel provenienti da System V, e fu rilasciata nel tardo 1984. Ultrix-32 era principalmente un parto della mente di Armando Stettner. Il suo scopo era offrire uno Unix nativo per VAX supportato ufficialmente da DEC. Incorporava anche molti script e molte modifiche ereditate dall’esperienza UUCP/Usenet fatta su decvax. In seguito, Ultrix-32 incorporò il supporto per DECnet e per altri protocolli proprietari DEC, come il LAT. Non supportava invece il VAXclustering.

Dato il licenziamento Unix Western Electric/AT&T, DEC (e gli altri) erano costretti a vendere licenze per soli file binari. Una considerevole parte del lavoro ingegneristico fu dedicata a rendere il sistema relativamente flessibile e configurabile nonostante la sua natura binary-only.

Dopo che Ultrix-32 completò la sua prima fase di testing presso i clienti betatester, Armando Stettner si trasferì nella costa occidentale per aiutare Steve Bourne ad avviare la struttura della Workstation System Engineering di DEC, un gruppo di sviluppo avanzato concentrato su grafica e workstations. Da lì, egli proseguì a concepire, scrivere il primo statuto, ed aiutare nella formazione della Open Software Foundation. Armando poi lavorò in un gruppo molto piccolo da cui si generò il primo prodotto workstation RISC di DEC, la DECstation 3100 basata su processore MIPS.

In conclusione, DEC offrì i suoi sistemi operativi Unix nativi marchiati Ultrix su tre piattaforme: i minicomputer PDP-11 (dove Ultrix era uno dei molti sistemi operativi disponibili da DEC), i computer basati su VAX (dove Ultrix era una delle due scelte primarie di OS) e i server e workstation denominati DECstation e DECserver (dove Ultrix era la sola scelta di sistema operativo offerta). Si noti che i sistemi DECstation usavano processori MIPS e precedettero i sistemi basati su DEC Alpha, di molto successivi.

V7m in seguito fu rinominato Ultrix-11, per costituire una famiglia insieme a Ultrix-32, ma man mano che il PDP-11 usciva dalla scena Ultrix-32 divenne noto semplicemente come Ultrix. Quando le versioni MIPS di Unix furono rilasciate, le versioni VAX e MIPS vennero rispettivamente denominate VAX/ULTRIX e RISC/ULTRIX. Molta enfasi ingegnieristica fu posta sulla supportabilità e sull’affidabilità nelle operazioni includendo lavoro continuativo sul supporto della CPU e dei driver di periferica (che fu, per la maggior parte, anche inviato alla UC Berkeley), il supporto all’hardware failure ed ai ripristini con miglioramenti nei messaggi di testo degli errori, la documentazione, ed il lavoro generale sia a livello di kernel che di programmi di sistema. Più tardi Ultrix-32 incorporò alcune features da 4.3BSD e incluse DECnet in aggiunta al TCP/IP standard, e sia l’SMTP che il protocollo Mail-11 di DEC.

E’ da notare che Ultrix implementava funzioni di inter-process communication (IPC) presenti in SystemV (named pipes, messaggi, semafori e memoria condivisa). Mentre lo Unix convergente dell’alleanza tra Sun e AT&T, rilasciato nel tardo 1996, inserì features BSD all’interno di System V, DEC prese il meglio da System V e lo aggiunse ad una base BSD.

Originariamente, sulle workstation VAX, Ultrix-32 aveva un ambiente desktop chiamato UWS, Ultrix Workstation Software, che era basato su una versione di X Window System. Più tardi fu aggiunta la versione 11 di X Window (X11), largamente diffusa, utilizzando un look and feel chiamato DECwindows che fu ideato per imitare il look and feel del sistema UWS. Inoltre DECwindows offriva anche il look and feel di Motif.

Ultrix girava su sistemi multiprocessore sia della famiglia VAX che DECsystem. Il kernel supportava il symmetric multiprocessing ma non era interamente multithreaded essendo basato sul lavoro pre-Ultrix di Armando Stettner e sui primi lavori di George Goble alla Purdue University. Come risultato, c’era un libero utilizzo del locking e alcuni task potevano essere eseguiti solo da specifiche CPU (es. l’elaborazione degli interrupt). Ciò non era raro in altre implementazioni SMP di quel tempo (come per SunOS). Purtroppo Ultrix fu lento a supportare molte delle capacità nuove o emergenti che si trovavano nei sistemi Unix avversari (ad esempio, non supportò mai le librerie shared o gli eseguibili linkati dinamicamente; fu in ritardo nell’implementare bind e le librerie e chiamate di sistema 4.3BSD, in particolare le librerie matematiche; ecc.) e soffrì di alcuni problemi, in particolare problemi di integrità del filesystem, non avendo mai adottato il filesystem 4.3BSD e le relative fix.

Ultima release

Come parte del suo affidamento ad OSF, DEC sostituì Ultrix come propria offerta Unix con OSF/1 per Alpha, chiudendo lo sviluppo di Unix su piattaforme MIPS e VAX. OSF/1 era stato precedentemente venduto in una versione per l’architettura MIPS nel 1991, ma non fu mai considerato o pubblicizzato come prodotto maturo. OSF/1 aveva un kernel basato su Mach con molte delle features mancanti in Ultrix. Nuovamente, l’UEG (che adesso stava per Ultrix Engineering Group) lavorò per far girare bene il nuovo Digital Unix basato su OSF/1 sull’hardware DEC, con l’affidabilità e la gestibilità che la gente si era abituata ad aspettarsi dai sistemi operativi DEC.

L’ultima major release di Ultrix fu la versione 4.5 del 1995, che supportava tutti i VAX e le DECstation precedentemente già supportati. Ci furono in seguito alcune patch di compatibilità legate al supporto Y2K.

Fonte: Wikipedia

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.