Win3x.Org

Windows & DOS Community

Pourquoi IBM a-t-il choisi MS/DOS ?

Répondre   Page 1 sur 1  [ 7 messages ]
Auteur Message
gm86
Sujet du message : Pourquoi IBM a-t-il choisi MS/DOS ?
Publié : 17 juin 2011 21:36
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 465
Inscription : 01 sept. 2008 19:07
 
Avant l'avènement du PC d'IBM avec PC/DOS, le système d'exploitation le plus répandu pour micro-ordinateur était le CP/M de Digital Research. Chaque type de machine équipée d'un BIOS adéquat pouvait faire tourner sa propre version.
Lorsque IBM créa son célèbre micro-ordinateur dans le plus grand des secrets, il fit appel à des fournisseurs pour respecter le délai d'un an, chose nouvelle dans la société. Microsoft fut d'emblé sollicité pour le BASIC (logiciel en ROM). Il est souvent raconté que Microsoft conseilla à IBM de contacter Digital Research pour le système d'exploitation. Soit-disant, Gary Kildall préférant piloter son avion, les gens d'IBM furent reçus par l'avocat de la société et par la femme du président qui refusèrent de signer la clause de non-divulgation. Ils seraient donc retourner voir Microsoft. Bill Gates, son président, ne laissa pas l'occasion lui échapper et accepta de fournir aussi le système d'exploitation. Microsoft acheta le QDOS écrit par Tim Paterson de Seattle Computer Products comme système compatible CP/M pour microprocesseur 8086. Une fois adapté au PC d'IBM, MS/DOS fut rapidement livré à IBM sous le nom de PC/DOS. Or, aucune clause d'exclusivité était signée et Microsoft put proposer, par la suite, MS/DOS aux constructeurs de compatibles IBM. La société imagina un système de vente forcée pour avoir le monopole : baisser le prix des licences à condition d'en compter une par ordinateur vendu, qu'il soit accompagné par MS/DOS ou pas. La taxe Microsoft naquit.

Cette histoire de rendez-vous manqué chez Kildall fait peut-être parti du folklore de l'histoire de l'informatique. N'oublions pas que CP/M, au contraire du DOS, existait pour toute sorte de micro-ordinateur. Je vous invite à lire l'extrait de l'article trouvé au lien suivant : http://www.laurent-bloch.org/Livre-Syst ... tml#toc224
Citation :
En 1981, IBM lançait son propre micro-ordinateur, le PC. Il était construit autour du processeur Intel 8088, une version dégradée du 8086 : le 8086 avait des mots de 16 bits et un bus de données d'une largeur de 16 bits, le 8088 des mots de 16 bits mais un bus de 8 bits. Les stratèges de la compagnie ont certainement compris que CP/M, doté d'un vrai langage de développement, PL/1 Subset G, et qui évoluait vers un système d'exploitation multi-utilisateurs, MP/M, représentait à terme une concurrence dangereuse pour les « vrais » ordinateurs qui constituaient leur cheval de bataille. De surcroît, CP/M pouvait « tourner » sur plusieurs types de processeurs, ce qui donnait à ses utilisateurs la liberté du choix de leur fournisseur de matériel, une caractéristique non souhaitée par le département marketing d'IBM. C'est pourquoi le PC n'a pas été lancé avec CP/M, qui lui aurait parfaitement convenu, mais avec un système bien plus rudimentaire et dépourvu de langage de développement décent, MS/DOS produit par Microsoft... La légende racontera une histoire de rendez-vous manqué.


Dernière modification par Big Monstro le 07 mars 2015 18:03, modifié 1 fois.
Lien mort réparé grâce à Internet Archive

_________________

C:\ONGRTLNS.W95


Haut
Profil Citer
Pierreblinux
Sujet du message : Re: Pourquoi IBM a-t-il choisi MS/DOS ?
Publié : 18 juin 2011 09:51
 
 
Si le DOS était fermé aux ordinateurs IBM, ça faisait un plus que les autres n'ont pas aussi, non?
Comme un Mac et son MacOS X.


Haut
Citer
SuperKoko
Sujet du message : Re: Pourquoi IBM a-t-il choisi MS/DOS ?
Publié : 06 juil. 2011 17:29
Membre inscrit
Hors-ligne
 
Messages : 25
Inscription : 23 avr. 2007 23:54
 
Citation :
N'oublions pas que CP/M, au contraire du DOS, existait pour toute sorte de micro-ordinateur.
Ce n'est pas tout à fait exact.
En 1981, CP/M n'existait que pour l'architecture du 8080 et compatibles (comme le Z80). Plus tard, il fut "porté" au 8086 et au 68000. L'API de CP/M étant définie au niveau assembleur, les programmes doivent, en théorie, être modifiés pour tourner sur de nouvelles architectures de CPU. Le 8086 est une exception, puisque le code source assembleur peut être converti automatiquement du 8080 au 8086.

CP/M existait déjà sur de multiples ordinateurs dont le matériel était différent (mis à part le CPU). Pour ce faire, CP/M séparait l'OS en deux couches BIOS, dépendant de l'ordinateur, et BDOS, indépendant de l'ordinateur.
Le BIOS implémentait des routines telles que l'affichage de caractères à l'écran et l'écriture directe de secteurs sur disquette.

Non seulement Tim Paterson reprit l'idée de la séparation BIOS/BDOS pour QDOS, mais il créa une API totalement "compatible" (après traduction par logiciel automatique au niveau du code source assembleur) avec le CP/M pour 8080/Z80. Tim Paterson ajouta quelques fonctionnalités pour obtenir de meilleures performances.
  • Système de fichiers FAT12 (dérivé du FAT8 de l'altair BASIC) bien mieux pensé que celui de CP/M, puisque la FAT tenant dans un seul secteur, elle était lue une seule fois, ce qui évitait des allers-et-retours de tête de lecture.
  • Possibilité de lire et écrire plusieurs enregistrements 128 octets simultanément dans un fichier avec une nouvelle API (INT 21h/AH=27h, INT 21h/AH=28h).
La séparation IO.SYS/MSDOS.SYS permit ensuite à Microsoft de porter MS-DOS à des sytèmes qui n'étaient pas 100% compatible avec l'IBM PC, un peu comme CP/M était porté à de multiples ordinateurs basés sur le 8080/Z80.
Le BIOS stocké en ROM de l'IBM PC et compatibles simplifia beaucoup la tâche de Microsoft, puisque l'essentiel du travail d'IO.SYS était déjà fait dans la ROM de l'ordinateur.

Tim Paterson explique très bien ses choix sur son blog:
<http://dosmandrivel.blogspot.com/>

En pratique, l'architecture de l'IBM PC étant beaucoup plus puissante que celle des vieux ordinateurs 8 bits, l'outil de conversion du code source assembleur fut très peu utilisée, les développeurs préférant redévelopper les applications.
Citation :
I myself took advantage of translation compatibility. The development tools I had written, such as the assembler, were originally 8-bit programs that ran under CP/M (CDOS). I put them through the translator and came up with 16-bit programs that ran under DOS. These translated tools were included with DOS when shipped by SCP. But I don’t think anyone else ever took advantage of this process.
Ensuite, MS/PC-DOS 2.x rajouta une toute nouvelle API (tout en conservant l'ancienne), très inspirée d'UNIX (Microsoft imaginait des réseaux basés sur des clients MS-DOS et des serveurs Xenix), basée sur des descripteurs de fichier hérités dans les processus enfant, alloués de manière déterministe, avec STDIN/STDOUT/STDERR pour fd=0,1,2, et avec open/read/write/lseek/close indépendants de la taille des secteurs (offsets multiples d'un octet), un système de fichiers hiérarchique, un répertoire courant hérités de père en fils, des chemins d'accès absolus ou relatifs, et le fameux antislash à la place du slash, sur ordre d'IBM qui voulait que slash reste l'indicateur de paramètre sur la ligne de commande. Microsoft n'aimant pas cette idée, garda toujours la possibilité d'utiliser slash dans les chemins d'accès (de MS-DOS 2.x à Windows 7), et fournit une option SWITCHES dans config.sys pour changer le caractère introduisant les paramètres sur la ligne de commande. Cette option fut conservée jusqu'à MS-DOS 3.3 (http://www.ctyme.com/intr/rb-2752.htm), il faut dire que la plus grosse part du développement de MS-DOS 4 fut réalisée par IBM tandis que Microsoft travaillait plutôt sur OS/2 1.0.

J'ai trouvé un vieux document audio de 1989 ou Bill Gates explique qu'il a suggéré l'idée du PC à IBM, et ce avant le développement de CP/M-86 ou QDOS, en voyant dès le départ un modèle ouvert à la concurrence, avec les développeurs d'application bénéficiant du système standardisé.
Je ne peux pas dire si c'est vrai ou non, étant donné que ça vient de Bill Gates, mais bon, c'est toujours intéressant à écouter:
<http://csclub.uwaterloo.ca/media/1989%2 ... 0Microsoft>


Haut
Profil Citer
gm86
Sujet du message : Re: Pourquoi IBM a-t-il choisi MS/DOS ?
Publié : 12 juil. 2011 21:17
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 465
Inscription : 01 sept. 2008 19:07
 
SuperKoko a écrit :
En 1981, CP/M n'existait que pour l'architecture du 8080 et compatibles (comme le Z80).
En effet. C'est pourquoi l'Apple II (processeur 6502) pouvait être équipé d'une carte CP/M.
SuperKoko a écrit :
Microsoft n'aimant pas cette idée, garda toujours la possibilité d'utiliser slash dans les chemins d'accès (de MS-DOS 2.x à Windows 7), et fournit une option SWITCHES dans config.sys pour changer le caractère introduisant les paramètres sur la ligne de commande. Cette option fut conservée jusqu'à MS-DOS 3.3.
Cette option du CONFIG.SYS ne fut malheureusement documentée que pour MS/DOS 2.0. Elle s'appelle SWITCHAR=.


----
Publié : Mardi 01 Novembre 2011 14:40:35

J'aimerais revenir brièvement sur le sujet.
SuperKoko a écrit :
La séparation IO.SYS/MSDOS.SYS permit ensuite à Microsoft de porter MS-DOS à des sytèmes qui n'étaient pas 100% compatible avec l'IBM PC, un peu comme CP/M était porté à de multiples ordinateurs basés sur le 8080/Z80.
En effet, IBM conçut une machine avec des composants venant de l'extérieur accompagnée d'un système d'exploitation PC/DOS écrit par une entreprise tierce, Microsoft (le CP/M-86 de Digital Research vint plus tard et à un prix élevé). L'erreur d'IBM est de ne pas avoir fait signer de clause d'exclusivité à ce dernier. Or, le BIOS de l'IBM PC fut facilement dupliqué par rétro-ingénierie. Plusieurs constructeurs fabriquèrent alors des machines plus ou moins compatibles et se tournèrent à leur tour vers Microsoft pour le système d'exploitation. Ironiquement, MS/DOS (dérivé du PC/DOS réservé à IBM) devint indépendant de tout constructeur à l'image de CP/M. Microsoft en profita pour proposer un prix compétitif pour sa redevance par machine vendue et non par licence achetée.

La différence entre MS/DOS et CP/M est que ce premier se cantonna aux compatibles IBM.
SuperKoko a écrit :
En pratique, l'architecture de l'IBM PC étant beaucoup plus puissante que celle des vieux ordinateurs 8 bits, l'outil de conversion du code source assembleur fut très peu utilisé, les développeurs préférant redévelopper les applications.
J'ajouterais que beaucoup de programmes outrepassaient les limites de CP/M (cf. MS-DOS avancé de Ray Duncan) et ne pouvaient être traduits mécaniquement.

_________________

C:\ONGRTLNS.W95


Haut
Profil Citer
SuperKoko
Sujet du message : Re: Pourquoi IBM a-t-il choisi MS/DOS ?
Publié : 03 nov. 2011 15:32
Membre inscrit
Hors-ligne
 
Messages : 25
Inscription : 23 avr. 2007 23:54
 
Citation :
L'erreur d'IBM est de ne pas avoir fait signer de clause d'exclusivité à ce dernier. Or, le BIOS de l'IBM PC fut facilement dupliqué par rétro-ingénierie.
As-tu une référence?

De mes recherches, j'ai trouvé que le manuel de référence technique d'IBM contenait, non seulement les spécifications du hardware, mais aussi du BIOS, et même le listing du code source assembleur commenté du BIOS. Je ne vois pas quel travail de rétro-ingéniérie a été fait.
Il me semble qu'IBM a volontairement autorisé les clones, en s'imaginant qu'il resterait l'autorité de référence... Jusqu'à ce qu'il sente que le contrôle lui échappait et tente avec le PS/2, de reprendre le contrôle, alors que cela ne fit que de le couler davantage, puisqu'IBM devenait moins compatible PC que les clones.

Référence: ftp://ftp.oldskool.org/pub/misc/IBM5160TechRef.pdf

Les listing assembleur du BIOS commencent à la page 328.


Haut
Profil Citer
gm86
Sujet du message : Re: Pourquoi IBM a-t-il choisi MS/DOS ?
Publié : 03 nov. 2011 16:01
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 465
Inscription : 01 sept. 2008 19:07
 
Très bonne remarque.
En fait, le BIOS de l'IBM PC était protégé par Copyright.
Ceux qui souhaitaient le dupliquer purent contourner cette restriction en formant deux équipes qui ne devaient pas se rencontrer : la première fournissait une description aussi détaillée que possible de ce que faisait le BIOS à la seconde, qui ne l'avait jamais étudié, afin qu'elle puisse écrire une version suffisamment différente mais fonctionnelle. Cette méthode fonctionna : le BIOS du PC n'est pas complexe mais sa programmation reste délicate (synchronisations, répétitions après erreur, etc).
Cet usage de la rétro-ingénierie est brièvement expliqué dans le Macmillan, le PC de Scott Mueller.
Cf. http://www.pearson.fr/resources/titles/ ... pitre1.pdf

IBM fournissait des schémas précis de son PC ainsi que le désassemblage du BIOS. Les constructeurs de compatibles pouvaient donc copier le PC mais la partie logicielle restait la propriété d'IBM.


P.S. : vous m'avez indiqué le lien à la documentation du PC/XT. Celle du PC original est disponible ici, en trois parties :
http://www.retroarchive.org/dos/docs/
Le site indique IBM PC/XT Technical Reference v2.02, Part x of 3 mais c'est une erreur de leur part. Liens directs :
http://www.retroarchive.org/dos/docs/ib ... v202_1.pdf
http://www.retroarchive.org/dos/docs/ib ... v202_2.pdf
http://www.retroarchive.org/dos/docs/ib ... v202_3.pdf

_________________

C:\ONGRTLNS.W95


Haut
Profil Citer
SuperKoko
Sujet du message : Re: Pourquoi IBM a-t-il choisi MS/DOS ?
Publié : 06 nov. 2011 21:16
Membre inscrit
Hors-ligne
 
Messages : 25
Inscription : 23 avr. 2007 23:54
 
Je n'avais pas pensé au copyright.
J'en apprends tous les jours!


Haut
Profil Citer
Afficher : Trier par : Ordre :
Répondre   Page 1 sur 1  [ 7 messages ]
Revenir à « Documentations et tutoriels »
Aller :