Système

Aperçu d'un système d'exploitation

Jean-Luc Antoine - 26/06/2002

Windows 3.1 était défini par abus de langage comme un système d'exploitation alors que c'était une surcouche du DOS. Par contre, les MS-DOS, PC-Dos et DR-Dos sont des systèmes d'exploitation contrairement à Windows qu'on ne pouvait que qualifier d'interface graphique. Il était quand même multi-application ce qui permettait de charger plusieurs programmes en mémoire. Avec Windows 95, un grand pas est franchi : c'est un vrai système d'exploitation, tirant parti du multitâche préemptif. Cette technologie a déjà fait ses preuves depuis fort longtemps avec le système OS/2. Pour mieux comprendre Windows 95, il peut être intéressant de découvrir le fonctionnement interne.
Windows 95 n'est pas un unique logiciel mais un ensemble de programmes servant d'intermédiaires entre l'utilisateur et sa machine. Pour des raisons d'ergonomie, son interface est graphique. Ce système permet de charger plusieurs programmes en mémoire comme son ancètre. Il doit gérer les ressources de manière optimale : processeur, mémoire, périphériques. Si plusieurs processus en mémoire (programmes en cours d'exécution) tentent d'accéder au même moment à la même ressource, la priorité sera donnée à l'un alors que l'autre sera mis temporairement en attente. Pour que le système puisse gérer tous les nouveaux périphériques connectés ayant des caractéristiques physiques bien spécifiques, des pilotes (dits aussi drivers) prennent en charge de manière transparente ces périphériques. Un périphérique étant souvent plus lent que la machine, des tampons internes permettent de ne pas bloquer la machine lors de tels accès. Ainsi un document à imprimer sera envoyé au gestionnaire d'imprimantes et sitôt fait le programme pourra continuer son exécution. Pendant ce temps, le gestionnaire d'imprimantes enverra les données au pilote de l'imprimante, et sitôt fait le programme continue son exécution. Pendant ce temps, le gestionnaire continue d'envoyer ses données à l'imprimante, cette opération pouvant prendre un temps non négligeable, mais l'ordinateur reste disponible et non bloqué.

Tâches et parallélisme

Ceci conduit à considérer deux notions : les tâches et le parallélisme. Une tâche peut être n'importe quel traitement : un calcul, un affichage, une impression, ... Des tâches n'accédant pas aux mêmes données ni ressources, c'est à dire des tâches indépendantes, peuvent être exécutées simultanément (ex: un calcul et une impression), en respectant quand même une relation de précédence, certaines tâches devant s'exécuter avant d'autres. La possibilité d'une exécution simultanée de tâches définit le parallélisme.

Fiabilité et stabilité du système

Des mécanismes internes permettent d'éviter les blocages du système lors des demandes d'accès aux mêmes ressources par plusieurs processus. De même, toujours pour des raisons de fiabilité et de sécurité, les programmes n'ont pas accès à l'intégralité du système : chaque programme possède sa propre zone mémoire réservée (allouée); s'il tente d'accéder à une zone ne lui appartenant pas, le système refusera l'accès et déclenchera une erreur. Certains logiciels mal programmés peuvent ne plus répondre à l'utilisateur. ce dernier peut quand même les supprimer tout en laissant le système dans un état stable, contrairement à Windows 3.1 où il était préférable de redémarrer windows. Sous Win 95, le système a le contrôle total du matériel d'où la stabilité. C'est un mode dit "protégé" de fonctionnement du processeur qui permet cette prouesse.

préemptif

Pour des performances optimales, il faut maintenir le plus grand taux d'utilisation du processeur. Windows 95 utilise un système de priorités internes : les processus de plus haute priorité, telle une gestion d'erreur critique, sont exécutés de préférence par rapport à ceux de faible priorité tels des programmes en tâche de fond. La priorité d'un programme peut faiblement varier au cours de son exécution. La plus grande majorité des programmes est gérée de façon circulaire : le système va leur donner successivement la main pendant un bref laps de temps ce qui donne l'impression que ces programmes sont exécutés en parallèle. L'idéal est d'obtenir le meilleur compromis entre le temps de traitement et le temps de réponse. Il faut savoir que le multitâche préemptif ne peut pas être utilisé avec des applications 16 bits, c'est à dire des applications pour Windows 3.1. Seules des applications dites "32 bits" peuvent en bénéficier.

32 bits et mémoire virtuelle

Le mode protégé couplé à une exécution 32 bits offre de multiples avantages. La mémoire peut être adressée linéairement ce qui supprime les contraintes connues depuis bien longtemps sous Dos, à savoir la limite des 640 Ko de mémoire conventionnelle. La mémoire est gérée plus abstraitement : si la configuration dispose de peu de Ram, le système peut utiliser un fichier d'échange sur disque qui servira à simuler de la mémoire vive. Ce point est très intéressant en terme de réduction de coûts, mais l'utilisation de mémoire virtuelle sur disque réduit notablement les performances au niveau du temps d'accès et de la vitesse d'exécution. Néanmoins, les accès disques peuvent s'effectuer en 32 bits si le matériel s'y prête. A titre de comparaison, en accès 32 bits deux fois plus de données sont lues sur disque qu'en accès 16 bits. Les processeurs 386 DX ou supérieurs peuvent tirer profit de cette architecture. Les applications compilées spécialement pour Windows 95 utilisent des instructions pour tirer parti du mode 32 bits ce qui les accélère fortement.

Server Info
Remote Info
Compress

Batchs
BootSector
Droit
Accessoire GFA
On Now
Ecran plasma
Système d'exploitation
Son
Unités
Scripting
Multilingue
Site Web
Bruit et son
Architecture Google


4K
Color picker
TaskList
Backup files
Mini Port Scanner
Website To CHM
PixyDemo
Web password recovery
4KWebServer
Kill Popup
VBE decoder
Script Optimizer
Database Password Recovery
Class
Ini
EMail validator
Graphical Class
MP3 Info
Pinger Class
IP ranger class
SoftwareMetering
Path Validator
Time Stamper Class
LoggerCLS
HTA
Keyword Ranking
DOM Explorer
HTA-Notepad
PixyPortManager
Other
flashMessage
Kill Popup
VBE decoder (fixed)
Error Codes
Maze generator
Char counter
HTML To Word
ICQ Choose User
ScreenSaver Password decoder
Mp3Playlister - singleList
Long Filename To Short
Trace Math
Dump Hexa File
Self modifying script
Mp3Playlister - multiList
HTANoid
PixyWebServer
Python
Progress indication

©2002 Jean-Luc Antoine. All Rights Reserved. Scripts or any other material on this website may not be redistributed or put as part of ANY collection (script archives, CDs etc) without prior written permission. Permission granted to use and modify any of the scripts found on InterClasse.com