Il travolgente successo di Windows mette definitivamente, e paradossalmente, in crisi gli accordi tra Microsoft e IBM per lo sviluppo di OS/2, e non solo quelli. Per capire fino in fondo la situazione contingente, però, è necessario evidenziare che Microsoft, nell’ultimo biennio degli anni ‘80, oltre al DOS, a Windows e ad OS/2, ha all’attivo un’altra serie di progetti afferenti al mondo dei sistemi operativi, sulla spinta di due elementi primari: le nuove CPU basate su architettura RISC, profondamente diverse da quelle x86/CISC di Intel, e l’avanzata dei sistemi UNIX like negli ambiti professionali e di rete.
L’idea di Gates è quello di un “portable OS” e a guidarne la progettazione è David Cutler padre di VMS per VAX, che dopo aver dato l’addio a Digital, in seguito alla cancellazione del progetto Prism/MICA di cui era Team Lead, entra in Microsoft nel 1988.
David N. Cutler
Cutler, che come unica condizione pone quella di portare con se parte del Team originale di VMS, comincia a lavorare ad un sistema minimale basato su kernel ibrido che identifica con “NT”.
Sulle origini di tale sigla, in una intervista del decennio successivo, Cutler afferma con ironia che essa deriva da VMS++ (forma auto incrementale del linguaggio C++): aumentando ogni singola lettera dell’acronimo VMS di una unità si ottiene WNT. Pur non avendo un significato ufficiale, però, verosimilmente la sigla “NT, deriva da “N-Ten”, l’emulatore della CPU Intel i860 sul quale era iniziato lo sviluppo del progetto, così come sostenuto anche da Mark Lucovsky, stretto collaboratore di Cutler.
Ad esclusione del Kernel, molto viene preso in “prestito” dal lavoro fatto per OS/2, dando così vita a quello che viene comunemente indicato come “branch 3” o “filone 3” di OS/2, da non confondere con OS/2 Warp 3.0, evoluzione unilaterale di IBM del “branch 2”. Il nuovo ramo eredita anche le API di programmazione e viene inizialmente chiamato OS/3, poi OS/2 ver. 3 e, infine, codename OS/2 NT.
Con il successo dirompente di Windows 3.x e l’ambizioso OS/2 NT in cantiere, Microsoft ed IBM seppelliscono definitivamente la joint venture relativa allo sviluppo di OS/2, rilasciano nel 1991 la versione 1.30, l’unica versione retail della casa di Redmond, personalizza in alcune sue componenti come, ad esempio, Lan Manager.
Microsoft OS/2 1.3, l’unica versione commercializzata direttamente da BigM
A questo punto Microsoft è libera di concentrarsi su OS/2 NT che diventa Windows NT ed “NT” assume il significato odierno di New Technology, così come affermato da Andrew Pollack nell’articolo Microsoft Widens Its Split With I.B.M. Over Software, apparso sul New York Times il 27 luglio 1991:
Reflecting their widening split with I.B.M., Microsoft executives said they would no longer call a new operating system they are working on OS/2 3.0. Rather, the new operating system will be named Windows NT, standing for New Technology. And Windows NT will not be able to run programs written for OS/2, as had previously been planned.
La differenza però non è soltanto nel nome. Infatti da NT vengono eliminate le API di OS/2 in favore di una versione a 32bit di quelle di Windows, Win32 API, e dall’HTFS (il file system di OS/2) si passa all’NTFS. Microsoft delinea, inoltre, i contorni della sua nuova strategia relativa ai sistemi operativi:
“Microsoft envisioned the creation of Windows NT, a portable operating system capable of supporting multiprocessors, true pre-emptive multitasking, full 32-bit access, multithreading, shared memory, security and crash protection, among a host of other important features. DOS and 16-bit Windows would be supported as host environments. (Podanoffsky)”
La maggior parte del Team precedentemente dedicato ad OS/2 passa sotto la guida di Cutler, e Windows NT viene re-ingegnerizzato in modo da poter eseguire molte delle applicazioni Win16 e DOS, affiancando il già pianificato supporto a quelle basate sulle API POSIX.
NT Origin
Le scelte di Microsoft sollevano non poche perplessità, sia per l’abbandono di OS/2 sia a causa dello stretto legame di NT con VMS, sistema che risale al 1977. Ma la nuova strada è segnata e anche ad IBM non resta che adeguarsi, continuando a sviluppare in proprio OS/2 che, grazie ad accordi precedenti ancore in essere è in grado di eseguire applicazioni per Windows 3.x sfruttando una versione “embedded” di Windows. Addirittura BigBlue rilascia l’edizione speciale OS/2 2.x per Windows che utilizza l’eventuale ambiente Microsoft già presente sul proprio sistema.
E’ curioso far notare che Microsoft, dopo aver abbandonato ufficialmente OS/2, ha cercato di cancellare ogni legame con esso, tant’è che, quasi sempre, OS/2 viene associato ad IBM e si fatica a credere che la casa di Redmond fosse coinvolta nel suo sviluppo.
Nonostante ciò, fino a Windows 2000 vengono forniti due tool per eseguire le applicazione OS/2 a 16 bit in ambiente testuale e quelle grafiche OS/2 della serie 1.x (Presentation Manager add-on for NT). Tali tool sono frutto del lavoro di un sottoinsieme del Team originale di BigM dedicato ad OS/2 che, contestualmente all’inizio dello sviluppo di NT, aveva continuato a supportare OS/2 1.x.
Windows NT viene ufficialmente rilasciato nel Maggio del 1993 nella versione RTM (Release to Manufacturing) e ad Agosto raggiunge gli utenti consumer nelle versioni NT 3.1 e NT 3.1 Advanced Server. La release di partenza è la 3.1, andando a creare un parallelo con Windows DOS-based, mentre le piattaforme supportate sono l’x86, DEC Alpha e MIPS (processori R3000 e R4000). Come ogni prima release, NT 3.1 soffre di problemi funzionali e di affidabilità, uniti ad una richiesta di risorse hardware superiori alla media e alla scarsità di software e dei driver specifici. Tutto ciò relega NT 3.1 ad una stretta nicchia di professionisti, restando praticamente sconosciuto alla maggioranza dell’utenza business e consumer.
Windows NT 3.1
Ma Microsoft non è nuova a situazioni difficili ed è già al lavoro su NT 3.5, nelle edizioni Workstation e Serverottimizzata per i contesti di rete. Lo sviluppo della nuova versione (rilasciata nel 1994) non è però coordinata da Cutler, bensì da Jim Allchin che, nel biennio precedente, si è occupato del progetto CAIRO.
Jim Allchin
Cairo è un nuovo tipo di sistema operativo in grado di organizzare i file non solo attraverso il loro nome, ma soprattutto attraverso il loro contenuto, abbattendo definitivamente il concetto di “localizzazione” e rendendo trasparente all’utente finale il fatto che i file siano sul PC locale o in rete (in futuro WinFS). Microsoft si accorgere, però, di essersi divisa su troppi fronti e CAIRO si trasforma ben presto in un incubatore di una serie di tecnologie per le nuove versioni di Windows e il relativo Team si fonde con quello originale di NT.
Windows NT 3.5
Il primo NT (3.5) sotto la direzione di Allchin è una ottimizzazione della versione precedente, andando a migliorare le prestazioni e la stabilità operativa, oltre a ridurre sensibilmente le risorse minime richieste (ora sono sufficienti 12 Mb di RAM). Dal punto di vista tecnologico, troviamo l’ultima release di Object Linking and Embedding (OLE), il supporto a VFAT, al 3D OpenGL e le edizioni specifiche per le piattaforme RISC-based: Alpha AXP, R4x00 MIPS. Per il supporto a PowerPc e a SPARC bisogna attendere Maggio del 1995 con NT 3.51 che, inoltre, migliora sensibilmente le performance di NTFS.