Partie 4 : MS-DOS, PC-DOS et les clones
Dans les grandes entreprises, personne n’a jamais été sanctionné pour avoir acheté de l’IBM. Avec l’IBM-PC, il devient alors acceptable pour la première fois pour des grands groupes de s’équiper en micro-ordinateurs.
Rapidement, afin de profiter également de ce nouveau marché en croissance, d’autres enseignes (Xerox, HP, TI,…) décident de vendre à leur tour des micro-ordinateurs tournant sous MS-DOS et achètent l’OS de Microsoft. Pourtant, contrairement à toute attente, les acheteurs découvrent rapidement que ces appareils ne sont pas complétement compatibles avec les programmes IBM-PC.
En effet, sur l’IBM-PC avec DOS, le BIOS (Basic Input Output System), comme pour CP/M, a été séparé du reste du système d’exploitation. Il s’agit de la partie du système d’exploitation qui gère l’interaction avec les différents composants de la machine. Celle-ci est la première chose chargée après l’allumage et effectue également les tests matériels (POST – Power On Self Test).
Les tests matériels du bios, visibles sur la plupart des ordinateurs jusqu’en 2012, année où l’uefi remplace en masse le bios.
Microsoft espérait que les développeurs allaient utiliser les API (Application Program Interface, fonctions incluses dans le système) de MS-DOS pour leurs applications. Cela aurait formé une couche d’abstraction et le système aurait ensuite communiqué avec le matériel via le bios de la machine. Chaque constructeur aurait obtenu une version de MS-DOS avec un BIOS adapté à sa machine et une application écrite pour un DOS aurait été capable de tourner sur tous les appareils MS-DOS, quelle que soit la machine.
Cette idée était raisonnable pour des petites applications en mode texte écrite en BASIC, mais avec l’émergence des logiciels plus évolués tels les traitements de texte ou les tableurs, les API MS-DOS ne suffisent plus et les programmeurs doivent communiquer directement avec le bios IBM voir le matériel pour obtenir des performances raisonnables.
IBM et Microsoft n’avaient par exemple pas imaginé d’utilisation graphique pour le PC autres que l’affichage de quelques graphiques et courbes professionnels, les API associées était donc lente et peu développées. En écrivant directement à la mémoire video, un programme allait entre 5 et 20 fois plus vite pour l’affichage qu’en utilisant les API du BIOS et de MS-DOS.
On est donc arrivé à la situation où, bien qu’elles soient toutes basées sur la même architecture 8086 et tournent sous MS-DOS, un programme évolué devait être réécrit en partie pour chaque machine. L’IBM-PC étant la machine la plus utilisée, la plupart des programmes étaient disponibles uniquement pour celui-ci, du moins dans un premier temps.
En 1981, Rod Canion, Jim Harris et Bill Murto s’intéressent à ce problème et forment Compaq afin de créer un PC-Portable 100% compatible avec l’IBM-PC.
Niveau matériel, aucun souci, le micro-processeur est disponible après d’Intel et tous les autres composants sont disponibles en rayon dans les magasins d’électronique.
Niveau logiciel, une licence MS-DOS peut être obtenu chez Microsoft. Reste le BIOS qui est la propriété d’IBM et sous copyright. L’équipe découvre rapidement que le code source de celui-ci est recopié dans son intégralité dans le manuel d’utilisation de l’IBM-PC. Le problème reste cependant entier, comment copier légalement le bios ?
Documentation technique de l’IBM-PC, décrivant intégralement le BIOS.
Après avoir consulté plusieurs avocats, l’équipe de Compaq décide d’utiliser la rétro-ingénierie. Ils écriront un livre de spécifications où le fonctionnement du bios de l’IBM-PC est décrit dans ses moindres détails (mais sans une ligne de code) puis fourniront ce livre à un nouvel ingénieur qui sera chargé d’écrire le code.
Quelques mois plus tard, le premier clone légal du BIOS de l’IBM-PC est né.
Mais Compaq n’est pas au bout de ses surprises. Les programmes de l’IBM-PC ne tournent toujours pas sur leur machine. Il se trouve que la version de MS-DOS en vente sous licence de Microsoft n’est pas la même que celle fournie par IBM avec l’IBM-PC
En effet, IBM a continué de modifier MS-DOS pour ses besoins et PC-DOS (le dos fourni par IBM) n’est pas 100% compatible avec le MS-DOS originel de Microsoft.
PC-DOS 1.0, pas totalement MS-DOS
Pire, les changements effectués par Microsoft depuis le jour où ils ont fourni MS-DOS à IBM a rendu les systèmes encore plus incompatibles entre eux.
Bill Gates, ne pouvant trop aider Compaq au risque d’endommager sa relation avec IBM, leur fournit tout de même la version de MS-DOS au plus proche de celle d’IBM, cela sera à Compaq de finir le travail.
Le travail de Compaq ira jusqu’à émuler un bug de l’IBM-PC afin d’être compatible avec Microsoft Flight Simulator, programme qui deviendra une référence pour tester la compatibilité des clones avec l’IBM-PC à l’avenir.
Le Compaq Portable est disponible en Janvier 1983 et à sa sortie, il est le seul clone 100% compatible avec l’IBM-PC.
Lorsque, quelques semaines plus tard, IBM met sur le marché l’IBM XT, évolution de l’IBM PC (avec pour la première fois un disque dur qui permet de stocker les données dans la machine et plus sur des disquettes), il se trouve que celui-ci est moins compatible avec l’IBM-PC originel que le Compaq Portable.
« Ibm px xt color » by Ruben de Rijcke – http://dendmedia.com/vintage/ – Own work. Licensed under CC BY 3.0 via Wikimedia Commons –
Compaq est alors plus compatible avec IBM qu’IBM.
A la fin de l’année 1983, Compaq vend plus de versions du système d’exploitation Compaq MS-DOS que d’ordinateurs. Des consommateurs achètent le système d’exploitation pour s’en servir sur d’autres PC.
Compaq MS-DOS
Compaq ne souhaitant pas devenir vendeur logiciel, Microsoft rachète à Compaq les droits sur les modifications qu’ils ont effectuées à Compaq MS-DOS afin de pouvoir intégrer celles-ci aux futures versions de MS-DOS qu’ils fourniront aux autres constructeurs.
Pour résumer la situation, à cette époque, nous avons donc Microsoft qui fournit à IBM les nouvelles versions majeures de MS-DOS.
IBM modifie celles-ci qui sont ensuite distribuées sous le nom de PC-DOS aux clients IBM.
Compaq par rétro-ingénierie récupère les modifications effectuées par IBM, les intègre à Compaq MS-DOS et les transmet à Microsoft.
Microsoft intègre ces modifications aux versions de MS-DOS vendues aux autres constructeurs (et à IBM) afin que leurs machines soient le plus compatible possible avec IBM.
Au final, un grand ensemble de machines toutes « PC-Compatible » entre elles est crée.
Les grands gagnants de cette histoire sont Microsoft et Intel dans un premier temps, qui vendent leurs produits à tous les constructeurs au grand dam d’IBM qui commence déjà à perdre des parts de marché.
Toutefois, Intel se retrouve rapidement dans une situation similaire à celle d’IBM. En effet, AMD, seconde source de processeurs x86 d’IBM, récupérant directement les plans des microprocesseurs tout fait d’Intel, se mette à vendre des processeurs 8088 moins cher que ceux d’Intel aux vendeurs de clones et à prendre également des parts de marché, laissant Microsoft comme seul acteur dominant sans concurrence.