Systèmes d'exploitation pgommery@iut-troyes.univ-reims.fr
Historique des systèmes d'exploitation 1) Première Génération 1950-1960 2) Seconde Génération 1958-1968 3) Troisième Génération 1960-1970 4) Quatrième Génération 1970 à nos jours
Première génération 1950-1960 Matériel à base de tubes - très peu fiable (durée de quelques heures entre les pannes) - très encombrant et très lent Mode d'exploitation · l'utilisateur écrit un programme en langage machine · il réserve la machine pour une durée déterminée · l'utilisateur rentre son programme en mémoire "à la main" · il l'exécute immédiatement · si exécution non conforme à l'attente · exécution pas à pas, modifications éventuelles · nouvel essai jusqu'à satisfaction ou fin du temps réservé Mode d'exploitation peu économique d'un matériel coûteux à cause de : - la durée d'entrée des programmes - la durée de mise au point
Deuxième génération 1958 - 1968 "Traitement par lots" Amélioration du matériel - mémoire à tores de ferrite - transistors et circuits imprimés - apparition et diversification des périphériques - électromécaniques - lecteurs de cartes perforées - lecteurs/perforateurs de rubans - imprimantes - télétypes - cartes magnétiques - tambours magnétiques - bandes magnétiques
Deuxième génération 1958 - 1968 "Traitement par lots" Mode d'exploitation : travaux groupés en lots (trains de travaux) par un opérateur chargement de l'utilitaire (ou compilateur) nécessaire à un lot chargement du lot sur le lecteur de cartes lancement de l'exécution du lot enchaînement des travaux
Traitement par lots Description d'un travail cartes de contrôle : cartes perforées spéciales - lisibles uniquement par le moniteur d'enchaînement - utilisées pour donner des directives d'enchaînement et délimiter des étapes - pour lui donner certains renseignements * nom d'utilisateur, temps maximum * assignation de fichiers logiques - pour lui passer les commandes - pour délimiter les fins d'étapes ou de travaux
Traitement par lots Exemple de structure d'un paquet de cartes : - carte de début de travail - carte de début de compilation - cartes du programme source (instructions) - carte de fin de compilation - carte de début d'exécution - cartes de données - carte de fin de d'exécution - carte de fin de travail
Premiers systèmes d'exploitation - initialisation du système : "bootstrap" puis séquence câblée - Moniteur d'enchaînement des travaux avec Job Control Language - sous-programmes d'entrées/sorties pour *Alléger la tâche des programmeurs * Partager les périphériques de mémoire secondaire * Éviter les mauvais usages des périphériques - Contrôle et gestion des temps d'exécution pour * tuer les programmes trop longs * permettre la facturation - Protection mémoire pour éviter la destruction du système
Conclusions sur le traitement par lots Améliorations · taux d'utilisation du processeur amélioré car diminution des temps d'entrées/sorties · simplification de la programmation (plus d'entrées/sorties physiques à programmer) Insuffisances · un seul compilateur à la fois · zone utilisateur restreinte inutilement par le compilateur · processeur inutilisé pendant les entrées/sorties:
Troisième génération (1960/1970) Multiprogrammation et Temps partagé Amélioration du matériel · processeurs spécialisés d'entrées/sorties · accroissement des possibilités des machines et des périphériques · protection mémoire par zones · pagination ou segmentation · sauvegarde et restauration cablée des contextes de processus Entrées/sorties en mode différé (techniques de minimisation des attentes dues aux E/S) · tamponnement des E/S
Tamponnement des entrées/sorties Trois activités en parallèle · lecture et mise sur disque d'un programme C · exécution d'un programme B · éditions des résultats (en parasite) d'un programme A.
MULTIPROGRAMMATION Plusieurs activités progressent en parallèle · Une activité garde le CPU jusqu'à la prochaine demande d'E/S · Traitement des fins d'E/S du processeur grâce aux interruptions
MULTIPROGRAMMATION Conditions pour la multiprogrammation : mémoire centrale assez grande pour plus d'un programme temps d'affectation du processeur à une activité faible Avantages de la multiprogrammation · bonne gestion des ressources (CPU, mémoire, périph.) · temps de réponse correct pour les travaux courts Inconvénients · complexité du matériel et du système d'exploitation · partage et protection des ressources
TEMPS PARTAGE Objectif : retour à l'interactivité de l'exploitation porte ouverte Travail à partir d'un terminal interactif refonte totale de l'interface utilisateur/système multiprogrammation avec mécanisme garantissant un temps de réponse acceptable (quelques secondes) : allocation du processeur aux usagers à tour de rôle et pour un "quantum" de temps à chaque fois La fin du quantum est signalée par une interruption horloge
TEMPS PARTAGE
Quatrième Génération (1970- maintenant) Réseaux / Système répartis Amélioration du matériel - apparition des composants à haute intégration (1969 premier microprocesseur) - développement des matériels et techniques de transmission de données Intégration poussée des fonctions de communication dans les systèmes - Réseaux d'ordinateurs hétérogènes faiblement couplés (OSI, INTERNET) - Réseaux locaux : interconnexion de plusieurs ordinateurs au moyen d'une voie à haut débit (10 megabits/sec) ETHERNET 1975 .
Systèmes d'exploitation répartis Objectifs Disposer en local pour les opérations courantes de la totalité de la puissance d'un microprocesseur Rechercher une meilleure adéquation de l'architecture matérielle à celle de l'application traitée. Exemple : une fonction par machine Assurer par l'existence de nombreux processeurs une meilleure résistance aux pannes Partager des ressources distribuées. Exemples : accès à un logiciel distant accès à un périphérique spécial géré par une autre machine accès à des services communs coûteux · serveurs de fichiers · serveurs d'impression · serveurs d'applications
Définitions Systèmes mono-utilisateur et multi-utilisateur Systèmes monotâche et multitâche Systèmes mono-utilisateur et multi-utilisateur
Systèmes pour PC 1969 - Première mouture d'UNIX – En assembleur - Monoposte 1973 - Unix en language C – Multipostes, Multitâches. 1974 - CP/M 1981 - MS/DOS et l'IBM PC 1982 - Unix et NFS – Ouverture sur les réseaux. 1984 - MS/DOS 3.1 avec une base réseau NETBIOS. 1986 - Advanced NetWare de Novell. Windows 1.0, introduction d'IPX 1987 - OS/2, Windows 2.0, NetWare 2.11 1988 - MS/DOS 4.0. Rupture entre IBM et Microsoft 1991 - Linux 0.01 1992 - Windows 3.11, NetWare 4 1993 - NT Server 3.1 1994 - Linux 1.0 1995 - Windows 95, NT 3.51, Linux sur Alpha 1996 - NT4, NetWare 4.11 1997 - NetWare 5.0 natif TCP/IP 1998 - NT4 TSE, Windows 98, Unix à presque 30 Ans, mais n'est toujours pas uniformisé 1999 - Windows 98SE 2000 - Windows 2000, Windows ME 2001 - Windows XP 2002 - Linux Noyau 2.4
Autres Systèmes PC MS LAN MANAGER IBM LAN SERVER OS/2 WARP BANYAN VINES PICK PROLOGUE NEXT BeOS CITRIX WINDOWS CE
Lien Internet sur l'histoire de la micro-informatique : Http://duffet.com/technique/chrono.htm