# Windows 3.0

Windows 3.0 est la troisième version du système d'exploitation avec interface graphique de Microsoft Windows. Lancée le 22 mai 1990, elle inclut par rapport à la version précédente des améliorations significatives, notamment au niveau de l'interface et au niveau de la gestion de la mémoire grâce aux capacités des processeurs Intel 80286 et 80386.
Ce programme se lançait depuis l'invite de commande MS-DOS à l'aide de la commande win. Il se présentait comme une surcouche graphique pour MS-DOS, tout comme les versions précédentes de Windows. Cependant, son lancement remplaçait aussi quelques routines du DOS par des routines Windows notamment au niveau de la gestion des ressources mémoire. C'est la dernière version qui propose une compatibilité parfaite avec les applications écrites pour les versions précédentes de Windows.
Pour ce qui est de l'aspect graphique le système de gestion des programmes MS-DOS était remplacé par un gestionnaire de programmes basé sur un système d'icônes et sur un système de gestion de fichier sous forme de listes appelé Winfile. Le lancement d'applications était ainsi grandement simplifié. MS-DOS restait l'interface principale, depuis laquelle on lançait Windows.
Le panneau de configuration avait été refondu en imitant celui de Mac OS. Il contenait en un seul point les réglages du système ainsi qu'un panneau de commande simple régissant l'apparence de l'interface.
Quelques applications étaient fournies telles le Bloc-notes ou le Write (prédécesseur de WordPad), déjà présentes sur les versions précédentes ainsi que la calculatrice et Paintbrush, l'ancêtre de Paint. Le jeu fourni jusque-là, Reversi était complété par un jeu tout nouveau, le Solitaire.

## Les modes d'exécution

Il existe trois modes de fonctionnement du système. Windows 3.0 dispose de trois noyaux différents qui prennent en charge les améliorations apportées par les processeurs 80286 et 80386 :
* Mode réel :
    Ce mode correspond à l'exécution de code natif sur le 8086/8088 et 80186. Les processeurs 80286 et supérieurs peuvent opérer dans ce mode d'exécution. Mais ils n'accèdent alors qu'à un maximum de 1 Mo de mémoire de façon directe (plus avec des pilotes EMS mais à travers des fenêtres d’accès).
* Mode standard :
    Ce mode correspond au mode protégé du 80286. Il est moins avancé conceptuellement que le mode protégé du 80386. Ce mode permet un accès direct à la mémoire de 16 Mo, la mémoire virtuelle ainsi que la protection (séparation de l'espace mémoire des processus rendant impossible la corruption de la mémoire par un autre programme). C'est l'apparition du concept d'espace noyau et d'espace utilisateur sur la gamme de processeurs x86.
* Mode 386 étendu :
    Ce mode correspond au mode protégé apparu sur les processeurs 80386. Il conserve les avantages du mode standard avec en plus un linéaire de la mémoire sur 32 bits donnant ainsi accès à 4 Go de mémoire théorique. Cette génération de mode protégé permet aussi l'utilisation de l'environnement Virtual86 qui permet à des programmes écrits pour le mode réel de fonctionner directement sans adaptation. Ils peuvent accéder à des segments mémoire et à des périphériques exactement comme ils le feraient avec le mode réel, sans aucune restriction imposée normalement par le mode protégé.
Ainsi chaque processus DOS lancé sur la machine s'exécute de manière autonome dans des machines virtuelles séparées sans connaître l'existence des autres applications lancées, alors que les applications Windows graphiques sont mélangées au sein d'un même fil d'exécution (thread) et partagent donc le même espace mémoire. Une application Windows peut donc mettre en danger une autre application Windows alors que les applications DOS sont (en théorie) isolés entre elles.
Une compatibilité ascendante existe. Il est ainsi possible d'utiliser par exemple le noyau 80286 sur un ordinateur équipé d'un processeur 80386 mais l'opération inverse n'est pas possible. Windows 3.0 est le dernier système d'exploitation de la firme Microsoft qui supporte le processeur 8086 équipant les premiers IBM-PC.
La sélection du mode approprié au lancement de Windows est gérée par la commande win.com. Elle détecte automatiquement le mode le plus approprié lors de son lancement. Il est tout de même possible de forcer l'usage d'un mode particulier à l'aide d'un switch lors de l'appel de la commande :
* win /R : Lance Windows en mode réel
* win /S : Lance Windows en mode standard
* win /3 : Lance Windows en mode étendu 386
Le multitâche fut rendu possible puisque les programmes écrits en mode texte pour MS-DOS pouvaient y être lancés dans une fenêtre (possibilité déjà offerte, mais limitée dans Windows 2.1 pour 386). À cette époque, la plupart des programmes restaient d'ailleurs encore écrits pour le DOS.

## Les extensions multimédia (Windows 3.0a)

Les extensions multimédia ont été lancées à la fin 1991 pour les ordinateurs équipés de Windows dès leur vente (versions OEM). Ces versions tardives de Windows 3.0 possédaient en plus de l'originale un lecteur de CD audio ainsi qu'un support de base pour une entrée et une sortie audio. Le format General MIDI n'étant pas encore très répandu, une application nommée le Midi mapper permettait de réaffecter au vol les canaux MIDI.
Toutes ces fonctions ont ensuite été ajoutées dans Windows 3.1.
* ↑ « https://hardcoresoftware.learningbyshipping.com/p/003-klunder-college »