SEII - ch1 - PROCESSUS
SEII - ch1 - PROCESSUS
SEII - ch1 - PROCESSUS
I.1. Définitions
I.1.1. Système informatique
L’ensemble matériels et logiciels dans une architecture à processeur constitue ce qu’on appelle un Système
Informatique (SIQ) auxquels on rajoute les programmes d’applications et les utilisateurs (Figure I-1).
o Le matériel : toute architecture à microprocesseur regroupant une UC, une MC, des périphériques
d’E/S, ... et constituant l’ensemble des ressources de base du SIQ.
o Les programmes d’applications : regroupent les utilitaires aidant à la mise au point des programmes
(Assembleurs, compilateurs, éditeurs de liens, …) ainsi que les SGBD, les applications PAO,
bureautiques, …
o Ces applications consomment des ressources pour pouvoir résoudre le problème visé.
o L’utilisateur : inclut toute entité demandant un service de la machine, que ce soit un être humain,
un ordinateur, un capteur ou une architecture à microprocesseur (robot, machine FAO,
surveillance, …),... etc.
I.1.2. Système d’exploitation (SE)
C’est la partie la plus importante d’un système informatique. Il est constitué d’un ensemble de
programmes agissant comme interface entre l’utilisateur et le matériel. Son but principal est de rendre
le système informatique plus pratique à utiliser d’une manière efficace et optimale.
Ensemble de Programmes : un SE est un environnement constitué de plusieurs modules dont
chacun a une fonction bien déterminée (éditeurs de liens, chargeurs, scheduler (ordonnanceur),
protection et sécurité, gestion des ressources, …). Mais ceci n’empêche plus qu’une partie d’un SE soit
implémentée physiquement ou câblée (la table des pages, l’instruction TAS (ou XCHG), …)
Utilisation Pratique (Notion de la machine virtuelle) : la machine est censée être utilisée par
des utilisateurs non forcément spécialistes, voire même des néophytes. Cependant l’intercation directe
avec elle nécessite une connaissnace des moindre détails du matériel ce qui rend l’utilisation du matériel
difficile et fastidieuse. Le SE s’interface entre l’utilisateur et la machine pour fournir un environnement
plus commode à lui et le détacher au maximum possible de toute connaissance technique du matériel
en fournissant une interface Homme Machine plus intuitive, plus conviviale et plus pratique. Ainsi
Applications
SGBD, Bureautique, PAO, FAO, …
Système d’Exploitation
{Modules}
Machine physique
UC, MC, Périph E/S, …
l’utilisateur aura l’impression que la machine avec laquelle il s’interagit est celle offerte par le SE non
plus la matériel qu’il voit.
Utilisation efficace et optimale : le SE doit contrôler le comportement des différentes
applications des utilisateurs et celui des périphs d’E/S pour garder le SIQ dans un état cohérent en
évitant les erreurs et les utilisations incorrectes de la machine par ces programmes. De plus, il doit
appliquer une stratégie d’allocation des ressources (matérielles ou logicielles) rigoureuse pour en
optimiser l’exploitation (les performances du système). Il doit appliquer également une stratégie de
sécurité gardant le SIQ loin de tout accès non autorisé (Mode d’execution, groupes d’utilisateurs,
cryptage de données, …)
L’architecture de base d’un ordinateur est celle définie par Von Neumann se basant essentiellement sur :
- Quatre composants matériels : le processeur central (CPU) pour l’exécution, la mémoire centrale
pour le stockage des données, l’unité d’échanges pour la communication avec le monde extérieure et
l’ensemble des bus pour véhiculer les données et les commandes entre les différents composants
(Figure I-2).
- Codage et stockage des programmes est données dans la mémoire centrale : l’idée innovante de
Von Neumann réside dans la possibilité de concevoir un jeu d’instructions dédié à un processeur. Tout
comme les données, ces instructions seront codés en binaire. Au moment de l’exécution, la totalité du
programme avec ses données seront chargés en mémoire.
CPU MC Unité
d’échanges
Bus de données
Bus d’adresses
Bus de commandes
I.3. Programme
C’une suite ordonnée d’instructions. L’instruction est l’élément indivisible du programme constituant la
plus petite unité atomique du langage.
I.4. Processeur
2
Système d’Exploitation, 3ème Année licence - décembre 2020
I.5. Ressources
On appelle une ressource tout élément qui contribue à la progression de l’exécution d’un programme.
Certaines ressources relèvent aux matériels : le CPU, la mémoire, les périphs d’E/S, … d’autres de nature
logicielle : des variables, des procédures, des applications, des processus systèmes, …
Une ressource peut être consommée par un programme en cours d’exécution suivant le modèle suivant :
Demander( type_ressource, qté_demandée) ;
<Utiliser(ressource) >;
Libérer(type_ressource, qté_allouée) ;
Selon le degré de partageabilité d’une ressource on distingue des ressources N_ partageable et d’autres
critiques non partageables.
Ressource N_partageable : accepte au maximum N accès simultané (mémoire, lecture disque, …).
Ressource critique : ne tolère aucun partage avec d’autres (le processeur, imprimante, fichier en
écriture, variable globale, procédure non réentrante, ..)
On distingue aussi des ressources banalisées, existant en plusieurs copies identiques (espace mémoire
ou espace disque, …), et d’autres non banalisées (un fichier nommé, terminal, …)
il y a aussi des ressources physiques ayant une existence physique réelle dans le système informatique
(RAM, CPU, imprimante, …) et d’autres logiques ou virtuelles créées par le système d’exploitation ( port
réseau, mémoire virtuelle, …).
I.6. Processus
3
Système d’Exploitation, 3ème Année licence - décembre 2020
1 5
2
Prêt Actif
6
3
4 Bloqu
* Création – Destruction
* Blocage – réveil
* Suspension – Reprise
* Modification de la priorité
Certaines opérations sont invocables par le processus lui-même (création, destruction, …) d’autres sont
réservées au SE (scheduler, dispatcher, chargeur, …)
I.6.3. Notion de tâche et thread
Lorsqu’un processus présente un code un petit peu long ou compliqué, il peut être décortiqué en un
ensemble d’unités de traitements élémentaires ayant une cohérence logique dont la fonction est bien
déterminée. Cette unité est appelée une tâche.
Ainsi un process séquentiel P de N tâches peut être écrit comme suit : P = T1 T2 T3 …. TN
Une tâche « ti » a une date « début d’exécution (dti) » et une « date de fin d’exécution (fti) »
4
Système d’Exploitation, 3ème Année licence - décembre 2020
X := A+B ; parend ;
X :=A+B Y :=A*B
X :=A+B Parbegin
Y := A*B ;
X := X + Y ; X := A+B ;Y := A*B ;
Y :=A*B parend ;
Fin X := X+Y
X := X + Y
X := X+Y Fin
Processus parallèle
Processus séquentiel
5
Système d’Exploitation, 3ème Année licence - décembre 2020
I.7. Conclusion
Un système d’exploitation est un ensemble de programmes agissant comme interface entre l’utilisateur
et le matériel. Son but principal est de fournir à l’user une machine virtuelle plus pratique à utiliser en
optimisant la gestion et le contrôle des ressources.
Un processus est l’acteur le plus importante dan su système d’exploitation, il désigne un programme en
cours d’exécution. A l’inverse d’un programme, un process est une entité dynamqiue capable de modifier
l’état de son environnement.
Un process a une durée de vie au sein du système, elle commence par une cération et se termine par
une mort (destruction). Durant sa vie, il peut être prêt à l’execution mais il lui manque le CPU. Un fois
choisi par le scheduler, il passe à l’état actif détenant le CPU qui l’exécute. Il peut passer à l’état bloqué s’il
demande une ressource qu n’est pas encore disponible.
Pour pouvoir s’exécuter, un rpocess a besoin de ressources telles que l’espace mémoire, des fichiers, …
mais aussi, il a besoin duCPU pour pouvoir s’exécuter.
Une ressource est toute entité système permettant la progression de l’execution d’un processus.
La consommation de ressource par un process doit passer obligatoirement par une demande du
système qui, selon la disponibilité, accorde au process demandeur la quantité demndée, sinon il met le
process à l’état bloqué.
Références:
1. Principes des systèmes d’exploitation, Abraham Silberchatz
2. Architecture des machines et des systèmes informatiques, Alain Cazes
3. Architecture des systèmes informatiques, S. Ait Aoudia
4. Cours système d’exploitation I