Si macOS est Unix, et que Linux a été inspiré d’Unix, alors sur quoi Windows est-il basé et pourquoi a-t-il été implémenté ainsi par Bill Gates ?


Il'y a une énorme quantité de dépendance de chemin dans la façon dont Windows, OS X et Linux sont arrivés à exister tels qu'ils sont.

Dans la stratégie initiale de Bill Gates, conçue dans les années 1970, Unix devait être le cœur de la plate-forme Microsoft. La version d'Unix de Microsoft, appelée Xenix, a été publiée pour la première fois en 1980 (avant MS-DOS). Elle est rapidement devenue la variante la plus populaire d'Unix, mais comme tous les systèmes Unix, elle nécessitait un matériel beaucoup plus avancé que les systèmes d'exploitation bas de gamme comme CP/M.


MS-DOS était essentiellement une copie de CP/M, que Microsoft a acquis pour pouvoir accorder une licence de Microsoft Basic à IBM. Microsoft avait déjà accordé une licence de Microsoft Basic à Commodore et à Apple, donc l'accord avec IBM n'était qu'un accord parmi d'autres, et MS-DOS n'était pas considéré comme un OS stratégique. Ce n'était qu'un palliatif jusqu'à ce que le matériel grand public devienne assez puissant pour faire fonctionner Xenix.

En 1982, un séisme juridique a conduit Bill Gates à changer complètement la stratégie de Microsoft et à abandonner Unix, malgré le fait que Microsoft était le principal vendeur d'Unix à l'époque. Le séisme a été l'éclatement du Bell System. Si AT&T avait accordé tant de licences pour Unix, y compris à Microsoft, c'est parce que l'accord lui accordant le monopole du téléphone aux États-Unis lui interdisait également de se lancer dans le commerce des ordinateurs ou des logiciels. Avec la fin du monopole, cette interdiction a également pris fin.


Bill Gates a compris que l'entrée d'AT&T affaiblirait gravement tous les autres vendeurs d'Unix (comme cela a été le cas, ce qui a conduit à ce que l'on appelle les "guerres d'Unix"), et a donc immédiatement commencé à chercher des alternatives. Le partenariat avec IBM offrait une opportunité, ainsi Microsoft et IBM ont accepté de collaborer sur un successeur de MS-DOS appelé OS/2.

En plus d'OS/2, Microsoft avait décidé de proposer une interface graphique pour MS-DOS, appelée Windows, afin d'empêcher l'émergence d'une menace concurrentielle avant qu'OS/2 ne soit terminé. L'idée était que Windows et OS/2 auraient des interfaces graphiques similaires, et que Windows comblerait le fossé entre MS-DOS et OS/2.

Une autre influence est venue du côté du matériel. OS/2 était étroitement couplé à l'architecture x86 des PC, et à la fin des années 1980, il était devenu largement admis que les processeurs RISC finiraient par remplacer les architectures CISC alors dominantes (VAX, x86 et 68k). Tourné vers l'avenir, Microsoft a profité de l'incompétence de la direction de DEC pour engager les meilleurs développeurs de logiciels de DEC. Ils ont été chargés de concevoir un nouveau système d'exploitation qui pourrait fonctionner sur du matériel non PC et qui serait capable d'émuler OS/2 ainsi que MS-DOS et Unix/POSIX. Cet OS devait être vendu sous le nom d'OS/2 version 3.0.

Alors que l'OS/2 classique ne parvenait pas à s'imposer sur le marché, Windows prenait un essor inattendu. Windows était moins puissant et moins fiable, mais présentait les avantages d'une moindre exigence en matière de ressources, d'une meilleure compatibilité avec les logiciels MS-DOS et de meilleures performances sur le matériel bas de gamme. Le succès de Windows a entraîné un autre changement dans la stratégie de Microsoft. Pour éviter de perdre les développeurs Windows, Microsoft a proposé d'ajouter une API Windows 32 bits à NT, qui fonctionnerait parallèlement à l'API OS/2. La direction d'IBM craignait qu'une API Windows 32 bits (détenue par Microsoft) ne sape l'API OS/2 (détenue par Microsoft et IBM), et a donc refusé.

Face au risque de perdre les développeurs Windows lorsque le matériel deviendrait suffisamment puissant pour que MS-DOS/Windows soit remplacé, Microsoft a refusé d'accepter la position d'IBM. En conséquence, les deux sociétés se séparèrent, IBM prenant le classique OS/2 2.0, réservé aux PC, et Microsoft prenant NT. Une API Windows 32 bits a été ajoutée à NT, la prise en charge d'OS/2 étant reléguée aux logiciels 16 bits hérités d'OS/2, et l'OS a été transformé d'OS/2 3.0 en Windows NT.

Windows NT 3.1 est sorti en 1993, mais MS-DOS/Windows 3.x/9x ont continué à dominer le marché des PC des années 1990. Le matériel n'était tout simplement pas assez puissant pour un système d'exploitation plus avancé comme NT (surtout lors de l'exécution de logiciels MS-DOS hérités, qui fonctionnaient beaucoup plus rapidement sous la conception moins sûre et moins robuste de Windows 3.x/9x). Au début des années 2000, le matériel a finalement rattrapé le logiciel, et Windows NT est finalement sorti sous une forme grand public, sous le nom de Windows XP. Avec cette sortie, MS-DOS/Windows 3.x/9x est finalement mort et le système d'exploitation Windows tel que nous le connaissons est devenu le système d'exploitation dominant sur PC.

L'histoire d'Apple est également assez complexe, impliquant Steve Jobs qui a été forcé de quitter Apple, qui a embauché des gens pour développer un système d'exploitation dérivé de Mach appelé NextStep (qui fonctionnait à l'origine sur l'architecture 68k), puis qui a été ramené chez Apple et qui a conçu une prise de contrôle inversée. Comme pour Windows, le système d'exploitation Mac classique a été complètement remplacé par un nouveau système d'exploitation, qui a été commercialisé sous le même nom que l'ancien. Il se trouve que le nouvel OS implémente une API Unix (un serveur en mode noyau pour le micro-noyau Mach), mais il s'agit surtout d'un dérivé de Mach.