Le système est multiprogrammé : plusieurs programmes coexistent en mémoire centrale et utilisent le processeur pour effectuer
des calculs et le DMA pour réaliser les opérations d'entrées sorties. On distingue en mémoire centrale un programme particulier
: le système d'exploitation, chargé en mémoire haute avec le vecteur d'interruptions. Le premier rôle du
système d'exploitation
dans un système multiprogrammé est de gérer le partage de la machine physique et des ressources matérielles entre les différents
programmes. Cette gestion doit assurer l'équité d'accès aux ressources matérielles et assurer également que les accès des
programmes à ces ressources s'effectuent correctement (protection des
ressource
s). Plus précisément, la gestion du partage de la machine physique et des ressources matérielles doit permettre de répondre
aux questions suivantes :
- partage du processeur unique : parmi tous les programmes chargés en mémoire centrale, lequel doit s'exécuter ?
- partage de la mémoire centrale : comment allouer la mémoire centrale aux différents programmes. Comment assurer la protection
entre ces différents programmes utilisateurs ? Comment protéger le système d'exploitation des programmes utilisateurs ? Par
protection, on entend ici veiller à ce qu'un programme donné n'accède pas à une plage mémoire allouée à un autre programme.
- partage des périphériques
Le second rôle du système d'exploitation est de faciliter l'accès à la machine physique pour l'utilisateur de celle-ci. En
effet sur une machine physique brute, pour réaliser par exemple une opération d'entrées sorties, il est nécessaire de connaître
la manière dont le périphérique est géré (DMA, interruption ?). De même pour faire exécuter un programme, il faut charger
celui-ci en mémoire centrale et connaître la manière dont l'allocation des mots mémoire est gérée. Ceci est fastidieux et
compliqué pour l'utilisateur de la machine.
Le système d'exploitation offre à l'utilisateur une interface destinée à masquer les caractéristiques matérielles. Cette interface
est composée d'un ensemble de primitives qui gèrent elles-mêmes les caractéristiques matérielles sous-jacentes et offrent
un service à l'utilisateur. Un utilisateur souhaitant réaliser une opération d'entrées sorties fait appel à une primitive
unique ECRIRE sans se soucier du type de gestion associée au périphérique. C'est la primitive qui prendra en charge la spécificité
du périphérique. L'ensemble des primitives offertes par le système d'exploitation crée une machine virtuelle au dessus de
la machine physique plus simple d'emploi et plus conviviale. On distingue deux types de primitives : les appels systèmes et
les commandes.
C'est un ensemble de programmes qui réalise l'interface entre le matériel de l'ordinateur et les utilisateurs. Il a deux objectifs
principaux :
- construction au-dessus du matériel d'une machine virtuelle plus facile d'emploi et plus conviviale
- prise en charge de la gestion de plus en plus complexe des ressources et partage de celle-ci
Comme son nom le suggère, le système dexploitation a en charge l'exploitation de la machine pour en faciliter l'accès, le
partage et pour l'optimiser