Per contrastare il sistema operativo rivale (OS/2 adesso veniva considerato così…) Microsoft lavorò alla versione 3.1 del suo sistema operativo Windows. Rispetto alla precedente versione vi erano numerosi miglioramenti nel supporto multimediale e nel sistema in generale. Una delle innovazioni di questa versione fu il supporto ai font scalabili TrueType. Inoltre, venne rimosso il supporto alla “modalità reale” che limitava l’utilizzo ai soli microprocessori 80286 e successivi.
Successivamente Microsoft rilasciò Windows 3.11 che includeva un miglioramento nella gestione delle reti. Poteva essere eseguito in modalità “386 avanzata” e richiedeva un microprocessore 80386. Per questo motivo venne rilasciata inizialmente in versione “Windows for Workgroups”. Sia Windows 3.1 che Windows 3.11 ebbero un buon successo e in breve tempo Microsoft dominò il mercato delle interfacce grafiche per computer. Ormai per sviluppare software commerciale ci si affidava unicamente alle Windows API, che divennero un vero standard.
La differenza tra le due versioni era, essenzialmente:
- Windows 3.1 = veste grafica ricca di colore e supporto audio
- Windows 3.11 = possibilità di creare una rete Intranet per collegare più computer tra loro
Tuttavia, la Microsoft non si fermò e continuò lo sviluppo del suo Windows NT che arrivò in versione beta nel luglio 1992. Venne presentato alla Professional Developer Conference di San Francisco con il nome Microsoft Windows NT 3.1. Il numero di versione identico all’attuale sistema operativo era solo una strategia di marketing per far credere che Windows NT fosse un sistema operativo parallelo a Windows 3.1. Alla conferenza, Microsoft, annunciò anche lo sviluppo futuro di un sistema operativo (nome in codice Chicago) che potesse unire Windows 3.1 e Windows NT. Sfortunatamente questo sistema operativo non ci fu in quanto lo scopo proposto si ottenne solo con l’arrivo di Windows XP.
Windows NT, come anche OS/2, richiedeva un hardware troppo potente e disponeva di pochi device driver a causa della difficoltà nel programmare il suo HAL (Hardware Abstraction Layer). Anche le Hardware-House non vollero sostenere i costi di sviluppo in quanto Windows NT era un sistema poco diffuso. Anche gli utenti non sentivano l’esigenza di cambiare, Windows NT aveva la stessa interfaccia grafica di Windows 3.1 ed era inferiore a OS/2 (per grafica). Ci fu così una fase di stallo sia per Windows NT che per OS/2. L’unico che continuava a guadagnare quote di mercato era Windows 3.1.
Microsoft aveva fatto un buon lavoro con il suo Windows NT, era perfetto per il mercato dei Server LAN grazie alle opzioni avanzate di networking e all’ottimo file system NTFS. Dal 1993 iniziarono a diffusi sempre più questi server e le successive versioni di Windows NT 3.5 e 3.51 contribuirono all’ascesa di Microsoft anche in questo segmento del mercato. In Windows NT venne sostituita l’API a 16 bit (Win16) di Windows 3.1 in favore di una nuova API a 32 bit: la Win32. Questa nuova API venne implementata in tre modi diversi:
- Versione per Windows NT
- Versione ridotta chiamata Win32s per l’installazione su Windows 3.1
- Versione per un futuro sistema operativo (Chicago)
Si assicurò, così, una compatibilità completa tra tutte le versioni del suo sistema operativo.