1. Evolution des systèmes d'exploitation

1.1. Les Mainframes

1.2. Les Minis

1.3. UNIX : Un accident historique

1.4. Les Micro-ordinateurs
1.4.1. La première culture informatique
1.4.2. Deuxième culture : UNIX
1.4.3. Troisième culture : micro ordinateurs
1.4.4. Rappel : Mécanisme de Feedback positif
1.4.5. Feedback positif en informatique avec progiciels

1.5. Evolution historique du marché des micro-ordinateurs et de leurs OS
1.5.1. Le début du feedback positif en micro-informatique : APPLE
1.5.2. Première mutation du feedback positif en micro-informatique : CP/M
1.5.3. µP 16 bits
1.5.4. Deuxième mutation du feedback positif en micro-informatique : entrée d'IBM sur le marché des micro ordinateurs
1.5.5. Les IBM-PC-Compatibles
1.5.6. Première réaction d’IBM : IBM-AT
1.5.7. Deuxième réaction d’IBM : l'opération /2
1.5.7.1. Feedback positif au niveau matériel
1.5.7.1.1. Feedback positif au niveau matériel : les drivers pour périphériques
1.5.7.2. Le succès du Compaq 386 et ses conséquences
1.5.8. Une résistance au feedback positif : le Macintosh de Apple
1.5.8.1. Le DTP
1.5.8.2. API (Application Programming Interface)
1.5.9. Stratégie de Microsoft après échec d'OS/2 : de Windows1 à Windows3
1.5.9.1. Domination de Microsoft
1.5.10. Processeurs RISC
1.5.10.0. RISC et Stations de travail
1.5.10.1. RISC et PC's
1.5.10.1.1. IBM : Accord IBM/Apple/Motorola
1.5.10.1.1.1. Atouts (A.) et Faiblesses (F.) des 3 associés
1.5.10.1.1.2. Les objectifs de l'accord
1.5.10.1.1.3. OS Orienté Objet
1.5.10.1.1.4. Personnalités multiples
1.5.10.1.2. Microsoft : Windows NT, Windows 95
1.5.10.1.2.1. Windows NT
1.5.10.1.2.2. Transition entre Windows 3 et Windows NT ?
1.5.10.1.2.3. Windows 95
1.5.10.1.2.4. Différence entre Windows 95 et Windows 3
1.5.10.1.2.5. Aspects Materiels de NT : accord stratégique DEC-MS
1.5.10.1.3. Intel : P6
1.5.10.1.4. Epilogue

1.6. Les Systemes Ouverts (open systems)

1.7. Windows NT et UNIX

1. Evolution des systèmes d'exploitation

1.1. Les Mainframes

• A l'origine, il n'y avait pas d'OS. On programmait directement le matériel dans son langage machine.
• IBM a créé le marché des ordinateurs pour la comptabilité des grandes entreprises. Il a ainsi très vite dominé avec plus de 60% du marché. Les mainframes (exemples récents: IBM OS/390, ES 9000) sont des machines très chères, occupant tout un local climatisé.
• Les premiers OS étaient la propriété du constructeur de matériel. On parle d'OS propriétaires. A ce stade, tous les types d'ordinateur avaient un OS différent (et ce même pour un même constructeur; un ordinateur = un OS).
• Les interfaces : Tout OS évolué est architecturé en plusieurs couches. Ces différentes couches ont pour rôle principal de permettre un système de dialogue universel entre un programme (software) et le matériel (hardware) sans que le programmeur n'ait à se soucier du fonctionnement du matériel. Pour permettre le dialogue entre ces différentes couches d'abstraction, on utilise des interfaces, c'est-à-dire des librairies de fonctions et procédures.
• Ensuite, IBM a conçu, pour le 360, l'idée de constituer une famille d'ordinateur. A l'intérieur de la famille, les ordinateurs ont le même langage machine, le même OS. Passer à un modèle plus puissant dans la même famille permet de sauvegarder les investissements en logiciel (qui sont écrits sur mesure par des programmeurs).
• Avec la génération suivante, 370, IBM a introduit la compatibilité ascendante, dont le principe consiste à ne modifier les interfaces que par addition : les investissements en logiciel sont à nouveau sauvegardés.
• Ces deux développements sont intéressants pour le client, mais aussi pour le constructeur : la sauvegarde des investissements ne vaut que si l'on reste chez le même fournisseur. Les clients sont en fait « prisonniers » du constructeur.
• Tous ces OS sont essentiellement « monotâches » on exécute les programmes en « mode batch » : un à la fois.
• La multiprogrammation consiste à charger simultanément en Ram le code de plusieurs programmes différents et à partager l'accès au CPU. Il s'agit d'utiliser le CPU même pendant qu'un programme ne fait que des opérations d'entrée/sortie, comme imprimer.
• Le partage du temps (time sharing). Il s'agit d'une évolution de la multiprogrammation. On peut pour la première fois connecter plusieurs terminaux (donc plusieurs utilisateurs) à l'ordinateur central (CPU). Chaque utilisateur a un accès quasi immédiat à l'ordinateur : le cycle de débugage passe de la journée à quelques minutes (1° démocratisation).
• OS multitâches. Une seconde évolution s'est greffée sur la multiprogrammation : toute tâche ou processus (dont l'exécution est gérée par l'OS) peut en lancer un autre.
• Naissance des IBM Compatibles (mainframe) : Un ingénieur de chez IBM qui avait construit le dernier modèle d'ordinateur fut empêché de lancer cette nouvelle version, plus performante, sous prétexte qu'il fallait d'abord amortir les autres modèles. Il a quitté IBM et a fondé AMDAHL. Pour avoir un plus grand marché potentiel il a fait des « IBM compatibles » qui utilisent les mêmes services de l'OS et le même langage machine : les clients d'IBM peuvent passer à AMDAHL sans devoir récrire leurs programmes. Il n'en a pas été empêché par IBM car ce dernier était dans le collimateur des lois antitrust (anti-monopole).

1.2. Les Minis

Le développement des minis est lié au constructeur DEC (Digital Equipment Corporation). Les premiers minis de DEC sont la série des PDP. Les différents PDP ne formaient pas une famille, les modèles successifs étaient incompatibles entre eux.
Les minis sont moins chers : il peut être acquis par un département d'une entreprise ou un service d'une université. Ce ce dernier cas qui sera le terrain qui permettra l'apparition de UNIX. En effet ils peuvent être gérés à convenance, y compris en modifiant le système d'exploitation.

1.3. UNIX : Un accident historique

A la même époque que l'apparition des minis il y eu un projet d’OS multitâche non-propriétaire, nommé Multics, réalisé par une collaboration d'entreprises et d'universités. Il n'a pas eu un grand succès car il était trop 'lourd'. Un des participants à Multics était AT&T (American Telegraph & Telephone) qui, à l'époque, avait le monopole des télécommunications aux Etats Unis.
Lorsque ATT a abandonné sa collaboration à Multics, deux ingénieurs qui avaient été assigné à ce projet ont eu le désir de réaliser un OS multitâche sur des principes plus simples. Ils ont développé ce projet (qui deviendra UNIX) sans mandat d'ATT, en profitant de la grande liberté d'initiative qui existait à l'époque.
Unix est le 1° OS caractérisé par la portabilité et l'ouverture.
• Portabilité
Une première version fut réalisée en langage machine, comme tous les OS précédents. Mais la 2° version fut écrite en langage évolué (en C, langage conçu par les créateurs de UNIX dans le but d’écrire un UNIX portable). Pour le "porter" sur un autre ordinateur (ayant un langage machine différent), il suffit de récrire la partie dépendante du matériel et de recompiler le tout.
Un avantage de la portabilité de Unix : quand Unix fut conçu, les universités possédaient des minis mais souvent de marques différentes. La portabilité de l'OS était donc très utile pour les universitaires qui faisaient des échanges de programmes entre eux. UNIX éveilla ainsi un grand intérêt.
• Ouverture
L'ouverture de UNIX n'a pas été planifiée : AT&T (American Telegraph & Telephone) du fait de son monopole en télécommunications, ne pouvait pas commercialiser UNIX mais n'a pas mis d'obstacles à sa distribution.
• BSD
Il existait un foisonnement de versions de UNIX. Mais assez rapidement l'UNIX universitaire de référence a été le BSD (Berkeley Software Distribution). Berkeley est le campus de San Francisco de l'université de Californie.


1.4. Les Micro-ordinateurs

Vers 1975, nous assistons à la naissance de micro-ordinateurs qui sont le résultat de deux facteurs, un technique, l'autre culturel.
a) Facteur technique :
Existence des micro processeurs qui sont des circuits "universels" dans le sens où ils sont des circuits intégrés programmables, produits en grande série. Au départ ils n'avaient pas été conçus pour les micro-ordinateurs mais étaient des micro-contrôleurs. Intel avait des commandes en petite quantité pour des petits circuits spécialisés et, par souci de rentabilité, a eu l'idée de produire en grande série un circuit intégré programmable (au lieu de plusieurs petites séries de circuits spécialisés).

b) Facteur culturel :
Des bricoleurs sont à l'origine des micro ordinateurs (Homebrew Club). Les premiers micro ordinateurs vendus l'étaient sous forme de kit à monter soi-même (ex: Apple I).
Ensuite il y a eu des des ordinateurs 'complets' comme Apple II, TRS 80, Commodore, Sinclair (en GB).
La situation ainsi créée a changé la nature de l'utilisation de l'informatique. Pour la mettre en lumière j'utilise la notion de 'culture informatique'.
En gros il y en a 3 :

1.4.1. La première culture informatique

La première culture informatique est celle liée aux mainframes et se caractérise par une organisation très hiérarchique. Avant l'apparition du time-sharing la plupart des gens qui travaillent avec les mainframes sont des professionnels payés.

1.4.2. Deuxième culture : UNIX

Cette 2ème culture se caractérise par le fait que tout est accessible et librement échangeable entre personnes compétentes. L'OS est une boîte à outils disponible et modifiable si nécessaire. Les "informaticiens" sont des producteurs/consommateurs, ils forment une communauté d'auto producteurs qui s'échangent gratuitement leurs inventions. Cette culture est la même que la culture internet d'origine, car internet a été développé sur UNIX.

1.4.3. Troisième culture : micro ordinateurs

Cette 3ème culture se distingue par le fait qu'elle n'est plus relativement homogène, comme les deux premières, mais subdivisée en 3 catégories de gens assez différenciées : des consommateurs/utilisateurs, des producteurs de progiciels et les producteurs de matériel. Les progiciels sont des logiciels « produits » "prêts à porter" vendus à de nombreux exemplaire par opposition aux logiciels "confection sur mesure" adaptés pour une utilisation particulière (en général dans une entreprise). Il existait déjà des progiciels, mais pour les micro-ordinateurs, ils sont dominants. Le progiciel s'impose en micro-informatique car un logiciel "sur mesure" coûterait beaucoup plus cher que le micro-ordinateur matériel.
Cette distribution différente des fonctions des personnes et des produits va avoir des effets spécifiques sur l'évolution des micro-ordinateurs.

1.4.4. Rappel : Mécanisme de Feedback positif

Exemple du feedback négatif :
Le thermostat. Si la température baisse, le thermostat commande plus de chaleur au chauffage. En chauffant, on diminue l'écart. La réaction va en sens inverse de l'écart pour arriver à la stabilisation.
Exemple du feedback positif :
Soit un crayon sur la pointe : quand le crayon perd son équilibre et commence à tomber, l'écart s'agrandit et continue à s’agrandir jusqu’à ce que le crayon soit tombé à l’horizontale et arrive à la stabilisation . La réaction va dans le même sens que l'écart, évolution va vers les extrêmes pour arriver à la stabilisation.

1.4.5. Feedback positif en informatique avec progiciels

Le prix de revient d'un progiciel est essentiellement le fait de l'écrire, la (re)production est plus ou moins gratuite (la preuve en est que le piratage de logiciels devient un des soucis des producteurs).
L'intérêts économiques du producteur de progiciels sera d'écrire d'abord pour la marque la plus répandue (pour avoir le plus de clients potentiels pour un même effort de production). L'acheteur/consommateur aura tendance à acheter la marque d'ordinateurs pour laquelle il existe le plus grand choix de progiciels.
Dès que l'on a une prédominance de la configuration progiciels/consommateurs un phénomène de feedback positif se met en place: la marque d'ordinateurs la plus répandue attire plus de producteurs de progiciels; et de ce fait attire plus d'acheteurs. S'il n'y a pas d'autre facteur en jeu on aboutit assez rapidement à une situation de monopole pour la marque la plus répandue au départ.
Pour éviter que vous ne reteniez une erreur, je précise tout de suite que l'on verra par les développements ultérieurs que les vrais paramètres du feedback positif en informatique ne sont pas les marques d'ordinateurs mais les interfaces : Langage Machine et interfaces de programmation (API's).



1.5. Evolution historique du marché des micro-ordinateurs et de leurs OS


1.5.1. Le début du feedback positif en micro-informatique : APPLE

Le feedback positif, c'est-à-dire la tendance "spontanée" au monopole, a d'abord fonctionné en faveur de APPLE mais n'a pas abouti à cause de 2 facteurs. Le premier facteur est que les APPLE][ étaient bien les plus désirés car les meilleurs, mais ils étaient aussi plus chers que les autres marques. Ce fut un frein au monopole.
C'est dans ce contexte que le premier tableur, le logiciel VISICALC (avant cela les tableurs n'existaient pas; ni pour mainframes, ni pour minis), a été développé pour L'APPLE][. Le tableur a été la première « killer application » : une application pour laquelle on achète l'ordinateur pour pouvoir l'utiliser : il permet aux PME d'informatiser leur comptabilité. Les micro ordinateurs sont ainsi sortis de la catégorie des jouets.

1.5.2. Première mutation du feedback positif en micro-informatique : CP/M

Le deuxième facteur est l'apparition du premier OS non-propriétaire, le CP/M de Digital Research. Il était « semi portable » dans le sens qu'il était lié au langage machine du processeur 8080 d'Intel, mais il y avait d'autres processeurs avec un langage machine en compatibilité ascendante avec lui, comme le Z80 de Zilog. L'APPLE ][ utilisait un autre processeur, le 6502, mais la plupart des autres micro-ordinateurs utilisaient un 8080 ou compatible. Globalement ce marché était plus grand que celui d'APPLE. Il est alors très rapidement apparu que ce qui est important dans le mécanisme de feedback positif ce n'est pas la marque du matériel mais l'interface de programmation : le langage machine et l'OS. Le mécanisme de feedback positif a commencé à jouer en faveur de CP/M.
Pour résister, APPLE a proposé une carte d'extension (comportant un Z80) pour permettre à ses ordinateurs APPLE II d’être CP/M-compatibles.

1.5.3. µP 16 bits

En 1981, le marché des ordinateurs se transforme complètement lors de l'apparition d'un nouvel élément technique: le passage à la génération des µP 16 bits : Intel 8086.
Beaucoup de nouveaux fabricants entrent sur le marché des micro-ordinateurs. Il sort alors des dizaines de modèles (marques) qui fonctionnent avec un µP 8086 et la nouvelle version CP/M de 16 bits.

1.5.4. Deuxième mutation du feedback positif en micro-informatique : entrée d'IBM sur le marché des micro ordinateurs

On assiste alors à un "Coup de Théâtre" : IBM entre sur le marché des micro ordinateurs. Auparavant, IBM détenait 65% du marché des Mainframes mais méprisait la micro informatique. Ce fut une décision de dernière minute, sans compétence interne. De ce fait, contrairement à son habitude, IBM n'a pas pris le temps de former une équipe mais a racheté une petite société ayant étudié un 80xx/CP/M. Après avoir négocié avec Digital Research pour avoir une licence CP/M moins cher, IBM s'adresse à Bill Gates de la firme Microsoft (connu à cette époque pour son interpréteur BASIC) et lui demande un OS. Bill Gates n'en a pas mais répond positivement. Il connaît une petite société qui en a un (semblable mais incompatible avec le CP/M 16 bits). Il rachète cette société et propose ainsi ce qui deviendra le MS-DOS à IBM. Le nom d'IBM et sa réputation ont été suffisants pour lancer ce nouveau produit. Malgré sa médiocrité (L'IBM-PC utilise un µP 8088 avec un bus de donnes de 8 bits au lieu du 8086 avec un bus de donnes de 16 bits utilisé par la plupart des autres), celui-ci a connu un succès commercial massif. En quelques mois, le marché est complètement retourné. Le feedback positif joue maintenant en faveur de IBM-PC/MS-DOS. MS-DOS remplace le CP/M comme OS dominant.

1.5.5. Les IBM-PC-Compatibles

Pour pouvoir survivre sur le marché, beaucoup de producteurs se sont alors mis à produire des 'IBM-PC-Compatibles'. Les premiers PC dits compatibles ne l'étaient pas suffisamment beaucoup car certains programmes (surtout des jeux) ne se contentaient pas de l'interface de programmation standard, c'est-à-dire le langage machine et l’operating system, mais faisaient des accès directs à du matériel (périphériques) pour gagner en rapidité. Pour avoir des PC 'compatibles à 100%', il a fallu utiliser des périphériques avec les mêmes interfaces que l'IBM-PC. Le critère "suprême" de compatibilité était le jeu écrit par Microsoft, "Flight Simulator", car il était le plus 'intrusif' dans le matériel.
Dès que cette compatibilité à 100% a existé, l’ensemble des ventes des IBM-compatibles a rapidement dépassé les ventes de IBM.

1.5.6. Première réaction d’IBM : IBM-AT

En 1984 IBM a lancé un nouvel modèle, l’IBM AT = Advanced Technology (avec un 80286). Pendant environ un an IBM avait de nouveau une position dominante pour le haut de gamme. Après un an, sont apparus sur le marché des PC qui étaient AT-compatibles.

1.5.7. Deuxième réaction d’IBM : l'opération /2

En 1987 IBM a lancé l'opération /2 qui comportait 2 volets : les PS/2 pour le matériel et OS/2 pour le système d'opération.
Les PS/2 étaient divisés en 2 catégories : le bas de gamme avec un bus AT (à part l'aspect extérieur, la seule innovation était l'introduction des disquettes 3,5''), et le haut de gamme avec un bus MCA (Micro Channel Architecture) que IBM voulait exclusif et pour cela protégé par des brevets. IBM voulait se réserver le haut de gamme, plus rémunérateur.
OS/2 (une collaboration entre MS et IBM) qui allait en principe avec les PS/2 était un OS effectivement très supérieur à DOS au point de vue technique (un vrai multitâche).
Malgré ces supériorités, l'opération fut un échec.
Pour OS/2 il y eut plusieurs causes :
a. D'abord un retard d'environ un an avant sa distribution.
b. Il fallait beaucoup plus de RAM pour OS/2 que pour DOS (4Mby au lieu de 1Mby) et les RAM étaient relativement chères. En effet, à cette époque les RAM ont connu des prix stables pendant plusieurs années alors que les prix en matériel informatique chutent d'habitude régulièrement.
c. Un manque de progiciels (à cause du FBP).
d. Un manque de drivers pour les périphériques (voir ci-dessous : FBP pour le matériel). Dès lors ceux qui achetaient OS/2 se retrouvaient par exemple bloqués car leurs imprimantes ne fonctionnaient plus. Les seules qui avaient des drivers étaient des nouvelles, haut de gamme, donc très chères.
Pour le matériel : bien que le bus MCA soit effectivement très supérieur (au point de vue technique : autoconfiguration) au bus AT, il était totalement incompatible avec le bus AT. De plus (voir ci-dessous : FBP pour le matériel) il y avait peu de cartes MCA disponibles et elles étaient chères.

1.5.7.1. Feedback positif au niveau matériel

Si je l'ai exposé pour le progiciel, où il est apparu en premier lieu; le feed-back positif existe aussi pour les producteurs de matériels périphériques, comme les imprimantes ou de cartes d'extension.

1.5.7.1.1. Feedback positif au niveau matériel : les drivers pour périphériques

Pour les périphériques il y a un facteur supplémentaire : pour pouvoir être utilisés ils ont besoin d'un 'pilote' ('driver' en anglais) qui est un programme spécialisé/ Dans le modèle en couches il se situe entre l'OS et le périphérique. Il comporte donc 2 interfaces : la 1° (au dessus) avec l'OS et qui est définie (et rendue publique) par le producteur de l'OS; et la 2° (en dessous) avec le matériel et qui est définie par le producteur du périphérique. Sauf pour des interfaces où les producteurs se mettent d'accord sur standard commun et public (comme l'IDE, maintenant PATA et SATA, pour les disques durs) l'interface avec le matériel n'est en général connue que par le producteur du périphérique, qui souvent refuse de la communiquer. Le driver et donc en général écrit par le producteur du périphérique (et livré avec le périphérique sur une disquette, maintenant CD). Mais, détail important, il ne le fait le plus souvent que pour l'OS dominant.
Ce cas particulier du FBP a donc comme effet que l'OS dominant jouit de la qualité d'avoir des drivers pour tous les matériels périphériques. C'est donc un travail que le propriétaire de l'OS dominant n'a pas à faire : les producteurs de matériels périphériques le font pour lui. Pour les autres OS, ou bien il n'y en pas (cas ici d'OS/2); où ils doivent se débrouiller pour essayer d'en écrire un (ce qui sera le cas pour Linux)

1.5.7.2. Le succès du Compaq 386 et ses conséquences

Les problèmes d'OS/2 et de MCA auraient peut-être pu se résoudre avec le temps. Mais une décision stratégique d'un autre acteur a fait que ce temps a manqué. La stratégie de la plupart des constructeurs d'IBM-compatibles était "comme IBM, mais moins cher". La firme COMPAQ (COMPAtibilité Qualité) était devenue leader de ce marché avec la stratégie "comme IBM, mais meilleur" (la plupart du temps les 'IBM' les plus performants étaient des Compaq). Cette option stratégique s'est radicalisée au moment de l'opération /2 d'IBM : au lieu d'attendre le modèle suivant d'IBM pour le copier (comme le faisaient tous les autres constructeurs de compatibles), Compaq a décidé de miser sur le fait que le véritable critère de la compatibilité n'était pas "IBM" mais l'interface de programmation (langage machine x86 et MS-DOS) au niveau logiciel et l'interface du bus (bus AT) au niveau matériel. Pendant qu'IBM est aux prises avec les difficultés de l'opération /2, Compaq sort un PC avec un µP 386 (avant IBM, les PS/2 haut de gamme restaient avec un 286) et un bus AT.
Même si MCA et OS/2 étaient techniquement supérieurs, les applications sous DOS (les seules qui existaient "vraiment") des utilisateurs étaient plus rapides avec les 386 de Compaq.
Au total seules les grandes entreprises "TOUT IBM" (1ère culture) ont acheté des PS/2 avec OS/2 en nombre.
Cette victoire de Compaq a eu des conséquences importantes :
• la consécration de la compatibilité ascendante comme 'incontournable' (ce que Microsoft retiendra et appliquera)
• la consécration de l'interface de programmation (langage machine x86 et MS-DOS) comme critère de cette compatibilité
• la consécration des "propriétaires" de ces interfaces (Intel et Microsoft) comme acteurs dominants de l'informatique. Cette prise conscience ne s'est faite qu'avec un certain délai. Elle est maintenant symbolisée par l'expression "Wintel" qui ne correspond à aucune structure. Intel et Microsoft sont deux sociétés totalement indépendantes, elles collaborent par n écessité.
• Pendant longtemps le marché des PC's est resté coincé avec un bus ISA et un Operating System DOS lamentables au niveau technique. Par la suite Compaq a essayé d’imposer un nouveau standard de bus étendu (EISA = Extended ISA) compatible avec l'ISA=AT. Mais cela n'a pas marché car il était trop cher et il n'y avait pas assez de cartes (mêmes problèmes que pour MCA, l'incompatibilité en moins).
OS/2 et EISA ont eu une diffusion limitée (presque uniquement pour les serveurs). L'étendue de l'échec de MCA est illustrée par le fait qu'IBM a essayé par la suite d'inciter des constructeurs d'IBM-compatibles d'adopter MCA. Seul Olivetti avait répondu, mais c'était trop tard : aucun succès.

1.5.8. Une résistance au feedback positif : le Macintosh de Apple

D'après ce que j'ai raconté sur le feedback positif on devrait s'attendre à ce que le marché des micro-ordinateurs soit à 100% des IBM-compatibles. Or ce n'est pas le cas, il est d'environ 90%. Qu'est ce qui permet de résister au feedback positif ? Pour le savoir je vais examiner le cas du Macintosh qui représente la plus grosse part des 10% qui manquent.
Jusqu'en 1984, Apple gardait encore une partie du marché avec l'Apple II. Complètement dépassé au niveau des performances brutes, l'Apple II avait survécu pour 2 raisons principales :
1) il avait pratiquement le monopole de l'équipement des écoles primaires américaines grâce à leur facilité d'utilisation. De plus c'était un marché " captif " dans le sens où la majorité des logiciels didactiques étaient écrits pour lui.
2) Les utilisateurs de Apple ont très fidèles à la marque.
Cela a permis à Apple de survivre mais dans une position défensive sans avenir. Lorsque Steve Jobs, le co-fondateur de Apple, visite le " PARC " ( Palo Alto Research Center) qui est le centre de recherche de la firme XEROX il trouve ce qu'il lui faut : une avancée dans la facilité d'utilisation.
La firme Xerox était l'inventeur du procédé de photocopie par xérographie, c'est-à-dire sur papier ordinaire. Avec cette invention dont ils avaient l’exclusivité, ils ont fait fortune et peuvent dès lors se permettre de payer un centre de recherche sans en attendre des résultats immédiats.
Ce centre de recherche a eu une productivité extraordinaire et est à la base d'une grande partie de l'informatique actuelle. C'est là qu'on a développé les interfaces utilisateurs graphiques, les Langages Orientés Objets, Ethernet. Mais XEROX a été incapable d'exploiter ces avancées au point de vue commercial.
En s'inspirant des principes de base des GUI et LOO, Apple lance sur le marché le LISA. Celui-ci n'a pas été un échec mais n'a eu qu'un " succès d'estime " car il était trop cher.
Un an après, en 1984 (l'année où IBM sort son IBM-AT), Apple sort le Macintosh qui est en fait un LISA simplifié, moins cher. C’est le premier GUI grand public sur le marché. Le traitement de texte MacWrite (inclus dans le prix du Mac) utilise le " WYSIWIG " (What You See Is What You Get = ce que vous voyez est ce vous obtenez), cela signifie que, profitant du fonctionnement en mode graphique, la présentation du texte à l'écran est la même que celle qui sortira à l’imprimante.

1.5.8.1. Le DTP

Lors de sa sortie le Macintosh développe assez rapidement un public d'enthousiastes. Mais son véritable succès, son entrée dans l'univers professionnel, c'est faite par le développement du Desk Top Publishing (DTP). Cela a été le résultat d'une action concertée entre Apple, Adobe et Aldus.
Apple a produit la 'LaserWriter', la première imprimante PostScript.
Adobe a développé le langage de programmation PostScript qui permet de décrire un document graphique (y compris du texte) à l'aide courbes mathématiques (sans dimensions) au lieu de 'pixels' : ce document est donc indépendant de la résolution. C'est (le driver de) l'appareil (écran ou imprimante) qui convertit le document en pixels d'après sa résolution. Le même document peut donc être affiché à l'écran (72dpi) (dpi = dots per inch = points par pouce) imprimé sur une 'LaserWriter' (300dpi) ou une imprimante professionnelle à 4000 ou 6000 dpi.
Aldus a produit le premier logiciel de mise en page (PageMaker).
La combinaison des 3 a transformé le métier de l'édition. A cette époque, pour publier en DTP, il faut un Macintosh.
La différence de fonctionnalité entre le Macintosh et les PC's sous DOS est telle qu'il n'y a pas de concurrence directe : le mécanisme de feedback positif perd de son efficacité. Ce sont deux marchés différents.

1.5.8.2. API (Application Programming Interface)

La notion d'API a été nommée et structurée par Apple. C'est une interface de programmation pour les programmeurs d'applications dont le but est d'isoler l'interface de programmation par rapport au matériel. Je rappelle que l'on vu avec les IBM-compatibles que souvent les programmeurs allaient programmer directement dans le matériel pour que le programme s'exécute plus vite. Apple a lancé une campagne systématique pour convaincre les programmeurs d'utiliser l'API officielle au lieu de programmer directement dans le matériel. Apple parle explicitement d'Evangélisation et d' "évangélistes" c'est à dire des employés d'Apple dont la mission était de convaincre les programmeurs d'utiliser l'API . Apple a utilisé un argument "massue" : si le programme respecte l'API, il fonctionnera sur le matériel suivant. Apple a pu exiger que les programmeurs utilisent API car Apple avait le monopole du matériel. Rappelons qu'il n'y a pas de compatibles MacIntosh, car Apple a verrouillé la possibilité de faire des clones en incluant de nombreuses données dans la ROM et en la brevetant. En effet, toutes les primitives de dessin graphique se trouvent en ROM. Apple a le monopole du matériel, ce qui lui permet de contrôler l'évolution de cette interface.

1.5.9. Stratégie de Microsoft après échec d'OS/2 : de Windows1 à Windows3

MS (Microsoft) a comme stratégie de développer un OS avec GUI pour PC, semblable au Macintosh.
MS connaît les avantages des GUI (Graphical user Interface). Il sait qu’un interface graphique est rentable car même si les Macintosh sont plus chers au départ que les PC, le prix de revient "total" est inférieur pour les entreprises car le temps d'apprentissage des employés-utilisateurs est plus court.
Au niveau des applications, MS est depuis longtemps un éditeur de logiciels pour Macintosh. C’est MS qui a développé Word et Excel pour les Macintosh, où ils sont dominants dès 1985, quand ils n'existaient pas encore pour PC.
Annoncé en 1983, MS sort Windows 1 en 1985 : il fonctionne en " sur-couche " au dessus de DOS. Mais les PC à cette époque ne sont pas assez puissants (8088 ou 80286). Les résultats sont trop lents et rend le logiciel peu agréable à utiliser. Les fonctions sont faibles en comparaison des Macintosh, c'est un GUI mais les fenêtres sont contiguës pas superposées. En 1987 Windows 2 ajoute des fenêtres superposables mais c'est toujours trop lent.
Constatant l'échec de l'opération /2 MS centre tout son effort sur la lignée Windows : la compatibilité ascendante est essentielle.
Sorti en 1990, Windows 3 est un succès. Il apparaît à l'époque des PC avec un µP 386 qui commence à avoir une puissance possible pour un interface utilisateur graphique. Les fonctionalitées sont meilleures même s'il reste cependant beaucoup de limitations si on les compare au Macintosh. Mais par rapport au MS-DOS c'est beaucoup mieux.
MS abandonne l'OS/2 à IBM, qui tentera encore pendant des années à l'imposer. La collaboration MS-IBM est terminée. IBM, qui tentera encore pendant des années à imposer contre Windows, devient l'ennemi de MS.

1.5.9.1. Domination de Microsoft

Si Windows 3 est un succès, en tant qu'OS; c'est un SUPER SUCCES pour MS. Non seulement il garde la position dominante pour l'OS, il le devient aussi pour les applications sur PC.
Avant, en DOS, il y avait des firmes dominantes en traitement de textes (WordPerfect), en tableurs (Lotus 123) et en bases de données ( Dbase-Ashton Tate). Après, en Windows, MS domine maintenant toute la bureautique avec MS OFFICE : WORD, EXCEL, ACCESS. (Rappel : MS avait été dominant dans les logiciels pour MACINTOSH).
C'est une étape cruciale vers la position actuelle de domination 'toutes catégories' de Microsoft.

1.5.10. Processeurs RISC

L'occasion suivante d'échapper au FBP a été une innovation technique, dont il a été question au cours de STOR : l'apparition des processeurs RISC. Ce qui importe ici ce sont deux aspects des RISC par rapport aux CISC :
1 : à 'technologie' (c'est-à-dire : dimensions des tracés les plus petits sur le silicium) égale un processeur RISC permet des performances de l'ordre de deux fois plus rapides qu'un CISC
2 : le langage machine ne peut pas être en compatibilité ascendante avec un langage machine CISC

1.5.10.0. RISC et Stations de travail

Les stations de travail (Workstations) sont des ordinateurs 'individuels' comme les micro-ordinateurs, mais conçus pour un travail technique/scientifique. Par exemple la CAO = 'Conception Assistée par Ordinateur' (= CAD = 'Computer Assisted Design'). Ils sont apparus peu après les PC's, et étaient basés sur les micro- processeurs 680x0 de Motorola, qui permettaient d'utiliser un OS multitâche (essentiellement des variétés de UNIX), ce qui n'était pas praticable avec les 8086/8088 d'Intel.
Lorsque les RISC sont apparus, il n'y a pas eu de problème : UNIX étant un OS portable, les stations de travail sont passées à des processeurs RISC sur une durée d'environ un an (entre la première station de travail RISC, les SPARC de Sun, et la disparition des dernières stations de travail CISC du marché). L'avantage des performances était trop grand, et pour les OS et applications il suffisait, en gros, de recompiler.

1.5.10.1. RISC et PC's

Dans le domaine des PC's la situation était tout autre à cause du fait que DOS/Windows3 était très directement lié au langage machine et à la structure des x86 d'Intel. Devant cet obstacle à la migration il y a eu 3 stratégiees différentes de la part des 3 principaux acteurs de l'univers PC : dans l'ordre : IBM, Microsoft et Intel.

1.5.10.1.1. IBM : Accord IBM/Apple/Motorola

Pour IBM les RISC sont l'occasion rêvée de reprendre le contrôle du marché des PC's, après l'échec de l'opération /2. Le facteur 2 dans les performances devrait permettre de passer outre aux impératifs de la compatibilité ascendante. Ipour mettre tous les atouts dans son jeu, il effectue un renversement d'alliance. L'ex-alliance "IBM-MS-Intel" contre "Apple-Motorola" devient "IBM-Apple-Motorola" contre "MS-Intel" .

1.5.10.1.1.1. Atouts (A.) et Faiblesses (F.) des 3 associés

IBM
A.) a conçu des processeurs RISC performants: les Power pour WS (RS 6000)
F.) les Power ne sont pas des µP, mais des 'multi-puce' ; il peine avec les OS
APPLE
A.) travaille à un OS 100% objet (projet "Pink")
F.) n'a pas de µP performant (les Motorola 680x0 se sont fait dépasser en performance par les Intel 80x86, et les Motorola 88000 sont décevants)
MOTOROLA
A.) a l'expérience de fabrication de µP
F.) n'a pas d'architecture RISC compétitive (les 88000 sont un échec)

1.5.10.1.1.2. Les objectifs de l'accord

a. Le PowerPC (PPC), un µP basé sur la technologie RISC Power d'IBM, et produit par Motorola.
b. TALIGENT, une filiale commune IBM-APPLE dont le but est de produire la base d'un OS 100% orienté objet (voir ci-dessous)
c. Réalisation d'une plateforme commune comportant le niveau matériel basé sur PPC et une base d'OS
d. Au dessus de cette base commune des 'personnalités multiples' (voir ci-dessous) : l'une, dérivée d'OS/2, pour IBM, l'autre, dérivée du MacOS, pour Apple

1.5.10.1.1.3. OS Orienté Objet

Notions de couches, modularité en mieux : l'unité de base est l'objet. Un objet a un comportement, on ne sépare pas les procédures et les données. L'idée principale de la programmation O.O. est la notion d'héritage : on ajoute un comportement à un objet, on le complète d'un comportement supplémentaire qu'il ne pouvait faire avant. Ces comportements sont encapsulés dans un objet, on hérite de l'objet dont on ne connaît pas le code. Comme la notion d'objets semble très bonne, on s'est posé la question de la création d'un OS Orienté Objet.

Pour ce faire il faut un noyau orienté objet. Ecrire un programme devient dans ce cas moins une opération d'écrivain qu'une opération d'assemblage. On revient à la première idée de UNIX (mais le fond de Unix est orienté texte). Reste très difficile à réaliser.
Remarque: Il y eut une filiale commune IBM-APPLE, TALIGENT (voir plus haut : Accord IBM/Apple/Motorola), dont le but était de produire la base d'un OS 100% orienté objet. Ce fut un échec et Taligent fut liquidé.
L'OS de NEXT (fondé par Steve Jobs) est actuellement l'OS le plus "Orienté Objet". Le Next est écrit en "Objective C", langage plus orienté objet, plus radical que C++. La programmation sur "Next" est la plus facile qui soit. Next en tant qu'ordinateur a chuté. Dès lors, ils ont abandonné le matériel et sont restés 100% software, utilisés sur les SUN. La "niche" pour Next est le développement interne d'application, les logiciels qui ne sont pas à vendre, qui sont réservés à certaines entreprises, tout ce qui incorpore le savoir-faire professionnel. Le coût de développement avec Next est moindre car les heures de programmation sont réduites. Exemple : "traders"/marchés financiers, Golden Boys, transactions financières. Aujourd'hui, devant les difficultés de Apple, on a appelé Steve Jobs à la rescousse. Celui-ci a fait racheter Next par Apple. On parle de transformer Next sous forme de Rhapsody.

1.5.10.1.1.4. Personnalités multiples

IBM a essayé de réaliser un OS avec micro-noyaux qui aurait permis l'utilisation de différents OS (installés comme couches supérieures). Ce fut un échec. Beaucoup de problèmes de compatibilité existent, un des plus connus est que les processeurs Intel sont "little endian" (bit de poids le plus faible en premier), les autres types de processeurs sont "big endian".

1.5.10.1.2. Microsoft : Windows NT, Windows 95


1.5.10.1.2.1. Windows NT

Pour Microsoft le succès du projet d'IBM serait une catastrophe. Après le passage de DOS à Windows 3, MS dominait tout le marché des PC mais était strictement confiné au marché des PC. En effet DOS et Windows 3 ne sont pas du tout portables et restent liés à la plate-forme Intel et au matériel x86. A cette époque tout le monde pensait que les µP Cisc étaient définitivement moins puissants que les µP Risc et donc en train de perdre petit à petit leur suprématie. Pour éviter de se retrouver en position d'infériorité, MS a décidé de lancer Windows NT (= New Technology), un OS tout à fait portable. Avec Windows NT, a deux objectifs : échapper au carcan Cisc (x86) pour les PC's; et mettre son OS partout, quel que soit le domaine de l'informatique (y compris les serveurs et stations de travail).
Windows NT a été conçu et réalisé par un transfuge de DEC, qui avait déjà conçu l'OS "VAX" de DEC et voulait concevoir un successeur plus performant. DEC ayant refusé, MS s'est chargé de le reprendre. En effet à l'époque, MS n'avait aucune compétence en OS portable. Cela explique donc que Windows NT n'a rien à voir avec Windows 3. Windows NT est un successeur plus performant de "VAX", tandis que Windows 3 est une excroissance GUI au-dessus de DOS.

1.5.10.1.2.2. Transition entre Windows 3 et Windows NT ?

MS a compris depuis longtemps, en tout cas depuis OS/2, qu'il est impératif de se tenir à la compatibilité ascendante. Si on invente un nouveau système différent, les clients ont l'impression qu'ils doivent choisir et éventuellement choisir ailleurs. Et comme Windows NT (API win32) est totalement différent de Windows 3 (API win16), il faut ménager une transition entre les 2 pour que les clients ne s'en rendent pas compte et ainsi ne pas perdre la "base installée".

1.5.10.1.2.3. Windows 95

Windows 95 peut être vu comme un OS hybride qui doit résoudre des contraintes différentes. Voici les 3 contraintes principales de Windows 95 :
• Windows 95 doit être attractif pour les utilisateurs de Windows 3 (car il y aura de nombreux défauts vu la transition pas évidente). Cette contrainte a été satisfaite par un GUI plus performant (très semblable au MAC). La "carotte" a marché, les clients ont été attirés vers Windows 95.
• Windows 95 doit être le plus compatible possible avec Windows 3 (pour ne pas détourner les utilisateurs de programmes Windows3), donc comporter l'API win16.
• Windows 95 doit servir à imposer l'API de Windows NT, win32, présentée comme commune à Windows 95 et Windows NT.
Windows 95 ne peut assurer son rôle que si les applications passent rapidement a l'API win32, bien que l'API win16 fonctionne. Pour cela Microsoft a utilisé l'arme du label "Conçu pour Windows 95", attribué uniquement aux applications utilisant l'API win32, pour obliger les programmeurs à utiliser l'interface win32.
Au départ Windows 95 ne devait avoir qu'un rôle transitoire. Dès que l'API win32 s'est imposée on pourra passer à une version grand public de Windows NT, et passer progressivement d'une base x86 à une base RISC (voir accord DEC/MS ci-dessous).

1.5.10.1.2.4. Différence entre Windows 95 et Windows 3

Windows 3 est un multitâche coopératif. On peut avoir plusieurs tâches en même temps mais les tâches ne sont pas contrôlées par l'OS. Chaque processus laisse l'accès aux autres, la tâche en avant-plan a le contrôle absolu et il n'y a pas de vraie protection de la mémoire pour empêcher les plantages. Windows 3 est situé en surcouche au-dessus de DOS; il faut donc d'abord démarrer DOS avant Windows 3.
Windows 95 est un multitâche préemptif, mais 'à 95%'. Pour garder la compatibilité win16, une partie de l'OS reste basé sur des fonctions DOS (des fonctions en mode réel). On ne doit plus démarrer en DOS mais sans le DOS on ne peut pas tout faire. Une partie du coeur de l'OS n'est pas protégée du tout, il est donc très vulnérable.

1.5.10.1.2.5. Aspects Materiels de NT : accord stratégique DEC-MS

Les workstations sont passées en RISC plus puissants que les CISC. Windows NT est un OS préemptif et portable, intéressant pour les workstations. Assez vite, un accord stratégique DEC-MS a vu le jour :
DEC : a développé le µP Alpha (destiné à toute la gamme des ordinateurs : mainframes, minis, workstations, PC). Le µP Alpha est reconnu en général comme étant le plus puissant mais DEC n'en vend pas beaucoup car ce n'est pas la plate-forme standard.
MS : Windows NT est "portable" mais il faut le porter effectivement sur une plate-forme matérielle.
Avantages de cet accord pour les partenaires : MS distribue Windows NT sur le matériel le plus puissant, et met donc la stratégie d'IBM en échec. DEC bénéficie de la dynamique de marketing de MS.

1.5.10.1.3. Intel : P6

Pour Intel les stratégies d'IBM et de Microsoft sont aussi catastrophiques l'une que l'autre : il perd sa suprématie dans les µP : soit au profit du Motorola/IBM PowerPC, soit au profit du Alpha de DEC.
La solution : copier la stratégie inventée par Nexgen : émuler le langage machine x86 sur un coeur RISC : ce sera le P6, commercialisé d'abord en Pentium Pro (pour usage professionnel) puis en PentiumII (pour usage grand public). (Voir §5.3 du cours d'archi (STOR-TH)).

1.5.10.1.4. Epilogue

C'est la stratégie d'Intel qui a prévalu.
La stratégie d'IBM a donc échoué, car sans différentiel de performances, pas de justification de non-compatibilité. Taligent fut un échec et fut liquidé. La plateforme matérielle commune ne vit jamais le jour. Le seul résultat positif fut que le PowerPC fut un succès pour Apple, les 680x0 furent remplacés par des PowerPC, et les Macintosh furent à nouveau concurrentiels du point de vue puissance. Le langage machine est totalement différent, mais Apple parvint à garder le même OS et la compatibilité.
La stratégie de Microsoft ne fut pas vraiment un échec, mais fut déviée. Le passage rapide de Windows 95 à Windows NT ne se fit pas. D'une part à cause de difficultés : l'interface win32 de Windows 95 n'était pas vraiment la même que l'interface win32 de Windows NT : beaucoup d'applications Windows 95 (surtout des jeux) ne tournaient pas sous Windows NT. Mais comme Intel avait gagné, il n'y avait plus d'urgence. Pour la même raison l'accord DEC-MS ne porta pas vraiment de fruits, et finit par être annulé. Mais, comme dit plus bas, Windows NT eut du succès au niveau serveurs et stations de travail. Et, en fin de compte la transition 'grand public' vers NT se fit sous le nom de Windows XP.

1.6. Les Systemes Ouverts (open systems)

La notion de Systèmes Ouverts est née dans le cadre des mainframes. Dans les années 80, les compagnies pétrolières (Shell, BP), grands utilisateurs de mainframes, se sont associées pour former un groupe de pression et réclamer des systèmes ouverts, c'est-à-dire des OS non-propriétaires et une libre concurrence (pour faire baisser les prix). A l'époque le seul système d'exploitation ouvert existant, était UNIX. Face à cette demande de leurs plus gros clients, les grands constructeurs de mainframes (IBM, DEC) ont proposé des versions UNIX pour leur matériel. Toutes les versions étaient différentes. Il y avait un Unix pour IBM, un Unix pour DEC. La portabilité était donc restreinte. Ce mouvement a servi à faire disparaître des dizaines d'OS propriétaires, seuls les OS propriétaires d'IBM ont subsisté. Après ce mouvement, Unix semblait pouvoir devenir un jour l'OS universel, malgré ses multiples variétés.
Il a existé pendant longtemps deux grands camps en "UNIX" commercial :
• le premier, autour d'AT&T (Unix avec SUN);
• le deuxième, en réaction OSF (Open System Foundation).
Fondation pour les Systèmes Ouverts composée de tous les grands constructeurs ayant encore un OS propriétaire (IBM, DEC, HP)
Les firmes se sont disputées entre elles pour un système ouvert jusqu'à l'annonce de Windows NT par Microsoft, qui pour beaucoup d'utilisateurs est arrivé comme un sauveur : il n'y a plus à choisir : on fait confiance au standard imposé. Unix, depuis s'est nettement plus unifié, mais a perdu le statut de principale solution d'avenir.

1.7. Windows NT et UNIX

L'annonce de Windows NT n'a pas fait disparaître UNIX mais l'a déstabilisé comme solution d'avenir. On assiste à un double mouvement : d'un côté, Unix continue à monter des minis et workstation vers les mainframes (pour remplacer des OS propriétaires) et d'un autre côté, NT tend à dépasser UNIX dans les "bas de gamme". En réalité, il ne s'agit pas de remplacements de UNIX par NT mais il existe de nouveaux secteurs qui sont le résultat de "montée en gamme" à partir d'une base PC. Par exemple : des PC qui se mettent en réseau local PC, en réseau Intranet. Ces bases PC connaissent Windows 95, pas UNIX, et donc pour eux, Windows NT c'est la solution standard, celle qu'on adopte sans se poser de questions. Globalement Windows NT et UNIX ont plus ou moins le même marché. Toutefois comme toujours en informatique, le feed-back positif joue en faveur de Windows NT, les éditeurs de progiciels se tournent vers Windows NT. Actuellement, en UNIX il existe plus de possibilités qu'en Windows NT, mais cela ne durera plus très longtemps et rapidement il existera en Windows NT des choses qui n'existent pas en UNIX. Pour le moment les PC utilisent encore Windows 95 et Windows 98, tandis que Windows NT n'est installé que sur les serveurs et les workstation car le paramétrage est encore trop lourd pour les ordinateurs moyens.
UNIX a cherché à s'unifier. C'était un dernier recours, arrivé trop tard, pour lutter contre Windows NT. XOPEN, qui regroupe tout, a été créé mais la gestion de UNIX a été un flop total. Actuellement il existe un standard "Spec1170" qui regroupe les fonctions d'OS minimales pour porter le nom de UNIX. Il y a aussi un GUI appelé CDE (Common Desktop Environment). UNIX est plus souple, plus extensible que Windows NT mais reste confiné à des emplois spécialisés tandis que Windows NT vise tout le monde.