9. Évolution historique et catégories de systèmes
9.1 Générations
- 1945-1955 — tubes à vide. Programmation par câblage ou supports primitifs; aucun SE moderne.
- 1955-1965 — transistors et systèmes par lots. Machines plus fiables, grands ordinateurs centraux, premiers systèmes d'exploitation et langages comme FORTRAN.
- 1965-1980 — circuits intégrés et multiprogrammation. Plusieurs programmes résident en mémoire; le CPU peut exécuter l'un pendant qu'un autre attend une E/S.
- Ère des microprocesseurs et ordinateurs personnels. Apparition de MS-DOS, d'Apple et de l'IBM PC, puis évolution des familles Windows.
Les premiers environnements personnels multitâches pouvaient être non préemptifs : une application devait céder volontairement le CPU. La préemption permet au système d'interrompre une activité et d'en choisir une autre, ce qui renforce le contrôle de l'ordonnancement.
Les diapositives distinguent sommairement les lignées Windows : les versions 1.x, 2.x et 3.x reposaient davantage sur la coopération des applications; Windows 95/98/Me a fait évoluer ce modèle; la lignée Windows NT est devenue la base des versions modernes avec un multitâche préemptif et une protection plus structurée.
9.2 Coévolution matériel-logiciel
Les SE évoluent avec le matériel. Une nouvelle capacité matérielle — protection mémoire, interruption, multiprocesseur, virtualisation — rend possibles de nouveaux mécanismes. Inversement, les besoins des systèmes influencent la conception des processeurs et contrôleurs.
9.3 Catégories de systèmes
- Ordinateurs personnels : interaction, compatibilité et réactivité pour un utilisateur.
- Serveurs : débit, disponibilité, partage de services et gestion de nombreux clients.
- Systèmes embarqués : fonction spécialisée, ressources limitées et intégration à un appareil.
- Systèmes temps réel : respect d'échéances; dans un système temps réel dur, dépasser une échéance peut être une défaillance.
- Systèmes mobiles : énergie limitée, capteurs, radios, mobilité et contraintes thermiques.
- Multiprocesseurs : parallélisme réel, partage de mémoire et coordination entre coeurs.
Pour comparer deux catégories, demander : quelles ressources sont rares? quels délais importent? quel niveau de disponibilité est requis? quelles fautes sont acceptables? quel compromis domine entre débit, latence, énergie et sûreté?