0% ont trouvé ce document utile (0 vote)
18 vues52 pages

Introduction Systeme d'Exploitation-VR

Transféré par

bellafkih.ayoub11
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • noyau,
  • abstraction,
  • performance,
  • bootstrapping,
  • multi-utilisateurs,
  • algorithme d'ordonnancement,
  • mémoire secondaire,
  • ressources,
  • architecture logicielle,
  • système d'exploitation en tant…
0% ont trouvé ce document utile (0 vote)
18 vues52 pages

Introduction Systeme d'Exploitation-VR

Transféré par

bellafkih.ayoub11
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • noyau,
  • abstraction,
  • performance,
  • bootstrapping,
  • multi-utilisateurs,
  • algorithme d'ordonnancement,
  • mémoire secondaire,
  • ressources,
  • architecture logicielle,
  • système d'exploitation en tant…

Systèmes d’Exploitation I

Chapitre I :

Introduction aux systèmes


d'exploitation
Est-ce qu'il y a une définition d'un
OS ?

OS I 3
Introduction

Un système d'exploitation (Operating System OS) :
–un programme qui gère le hardware


Selon les exigences des équipements des OS différents
–Serveurvs. Ordinateur Portable vs. Supercalculateur
–Smartphone vs. Téléviseur vs. Console de jeux


Système complexe = décomposé en unité plus simple à
modéliser et implémenter
OS I 4
Introduction
● Un « ordinateur »
(computer system) est
constitué essentiellement
de
1)Hardware
2)OS

4)Utilisateurs

OS I 5
Introduction

Le hardware
–CPU + Mémoires + périphériques d'E/S
–→ Ressources du système


Le applicatifs
–Compilateur/navigateurs/Jeux/…

des utilisateurs


L'OS
–Contrôle le hardware et coordonne son utilisation par les différents
applicatifs des utilisateurs.

OS I 6
L'OS de point de vue de
l'utilisateur

● La plupart des utilisateurs utilisent des équipements


mono-utilisateurs
–Les ressources sont monopolisées par un seul utilisateur

● De point vue de l'utilisateur : l'objectif de l'OS est


d'optimiser la facilité de l'utilisation de l’équipement
–Peu d'attention est donnée aux performances du système

→ des OS optimisés pour un seul utilisateur

OS I 7
L'OS de point de vue de
l'utilisateur

● Dans l'industrie et la recherche, un utilisateur utilise un


terminal pour accéder à des serveurs/calculateurs...
–Au même moment d'autres utilisateurs accèdent à ces
équipements via d'autres terminaux.

peuvent s'échanger des messages.

→ De point vue de l'utilisateur : L'objectif de l'OS est le


partage équitable des ressources (CPU/Mémoire/…)
entre les utilisateurs

OS I 8
L'OS de point de vue de
l'utilisateur

Facilité de l'utilisation de l’équipement

De point vue de l'utilisateur

Partage équitable des ressources

OS I 9
L'OS de point de vue de système
● L'OS est vue comme un dispatcher de ressources
–Temps CPU

–Périphériques d'E/S

● Gère les requêtes et les conflits des différent


programmes/utilisateurs qui demandent l'accès à
ces ressources.

OS I 10
Est-ce qu'il y a une définition d'un OS ?

● Le terme « système d'exploitation » couvre un grand


nombre de fonctionnalités
–Une grande diversité d'architecture d'équipement ayant besoin
d'un OS (supercalculateurs → smartphones → capteurs)

● Loi de Moore : nombre de transistors dans un CPU


double tous les 18 mois

augmentations

OS I 11
Loi ou Conjoncture de Moore
● Gordon Moore

est un docteur en chimie et en


physique, un chef d'entreprise
américain.

Noyce et Andrew Grove de la société


Intel en 1968, premier fabricant
mondial de microprocesseurs.

empirique portant son nom, la loi de


Moore, le 19 avril 1965

–Source : wikipedia

OS I 12
Est-ce qu'il y a une définition d'un OS ?

● Non : il n'y a pas une définition consensuelle


–Selon Prof. Avi Silberschatz (Professor of Computer Science at Yale
University) : « we have no completely adequate definition of an operating

● Est-ce qu'on connaît exactement quels sont les composants


fondamentales d'un OS ? Non
–« we have no universally accepted definition of what is part of the
operating system »

● Une vision simpliste : « the operating system is the one


program running at all times on the computer »

OS I 14
Quels sont les constituants d'un OS ?

● Procès antitrust contre Microsoft (justice


américaine): Windows® offre des fonctionnalités ne
faisant pas partie d'un OS (Internet Explorer) →
concurrence déloyale
–La vente couplée de Windows et d'Internet Explorer a eu pour
effet de laminer la concurrence, et particulièrement Netscape.

● Les OS des smartphone inclus en plus du noyau


(kernel) un middelware (iOS/Android)
–Des APIs pour les développeurs

OS I 16
Noyau (Kernel) + Programmes Systèmes + Applications = ?

Noyau

OS
Programmes Systèmes

Applications

OS I 17
Architecture des machines

OS I 18
Architecture des machines
● Un ordinateur à usage générale (general purpose computer) contient
– Un ou plusieurs CPUs
– Des contrôleurs au niveau de chaque équipements (device)
– Un bus relie le tout à la mémoire

OS I 19
Architecture des machines
Le CPU échange des
données avec la mémoire

Pour cela il utilise deux


registres

● MAR : memory address


register → contient
l'adresse mémoire du
prochain R/W

●MBR : memory buffer


register
→ contient les données

OS I 20
Architecture des machines
● Mise sous tension de la machine → démarrage d'un bootstrap
program

● Le bootstrap program :
–Un programme aussi simple que possible, connu sous le nom de
firmware/micro-code.

–Enregistré
dans la Read Only Memory (ROM) ou Electrically Erasable
Read Only Memory

EPROM= ROM programmable qui peut être effacé et réutilisée

–Initialise
les équipements (Registre CPU, contenu de la mémoire,...)
→ Charge le noyau de l'OS (kernel) dans la mémoire.

OS I 21
Architecture des machines

● Une fois que le noyau (kernel) est chargé et


exécuté, il peut fournir ses services au
système et aux utilisateurs.

–Les systèmes basés sur UNIX lancent après le


démarrage le processus « init ».
● Init lance à son tour d'autre processus.

–À ce stade, l'OS est complètement démarré, et il


attends l'occurrence d'un quelconque événement.
OS I 22
Architecture des machines

● L’occurrence d'un événement est signalé


par une interruption logicielle ou matérielle

–Le hardware peut déclencher une interruption à


tous moments en envoyant un signal au CPU.

–Un programme peut déclencher une interruption en


exécutant un appel système.

OS I 23
Architecture des machines
Structure de stockage

● Le CPU charge les instructions uniquement de la mémoire principale,


donc tous les programmes doivent être enregistrés en mémoire

● Les ordinateurs à usage générale (General-Purpose Computers)


exécutent leurs programmes à partir d’une mémoire réinscriptible (re-
writable) appelée RAM (Random-Access Memory) → mémoire
principale

● Le CPU interagit avec la mémoire à travers des séquences de load et


store.
–L'instruction load copie une mot mémoire de la mémoire principale vers un
registre interne du CPU

OS I 24
Architecture des machines
Structure de stockage

Idéalement, nous voudrions que les programmes et leurs
données soient d'une manière permanente en mémoire →
Ceci est évidement impossible car :
–Lataille de la mémoire principal est insuffisante pour accueillir tous les
programmes et leurs données.

éteint la machine.

→ Les machines sont équipées de mémoires secondaires qui


étendent les capacités de la mémoire principal
–Stockage permanent
–Grande capacité

OS I 25
Architecture des machines
Hiérarchie de mémoire

OS I 26
Architecture des machines
Hiérarchie de mémoire

● Mémoire principale (RAM)


–Programmes doivent être « chargés » dans la RAM
pour être exécutées

la RAM dans des registres

● Or :
–La RAM est volatile

OS I 27
Architecture des machines
Hiérarchie de mémoire
● D'autres mémoires volatiles ont des tailles réduites,
sont rapides et ont un coût par bit élevé
–Registres

● Mémoires non-volatiles (permanentes) ont des tailles


importantes, lentes et ont un coût réduit par bit
–Disque magnétique
–Disque optique

OS I 28
Architecture des machines
les E/S

● Une large portion du code des OS est dédiée à la


gestion des E/S à cause de la variété de types d'E/S.

● Un ordinateur à usage générale est formé


–de CPU(s)

bus commun.
● Un contrôleur est en charge d'un type spécifique de périphérique.
● Selon le type de contrôleur, plusieurs équipements peuvent y être

–Par exemple : 7 périphériques peuvent être attaché simultanément au


contrôleur d’équipement small computer-systems interface ( SCSI )

OS I 29
Architecture des machines
les E/S

● Le contrôleur de périphérique maintien un buffer


(mémoire) local pour y stocker temporairement
les données émises/reçues par périphérique.

● Un OS utilise un pilote de périphérique (device


driver) pour chaque contrôleur de périphérique.

● Le pilote est l’intermédiaire entre le contrôleur de


périphérique et l'OS.

OS I 30
Structure et Concepts de Base des
Systèmes d'Exploitation

OS I 31
Finalité des OS
● Un OS fournit l'environnement nécessaire pour
que les programme puissent s’exécuter.

● Pour cela, l'OS :


–Alloue les ressources matérielles et logicielles pour
satisfaire les besoins des programmes.
mieux
adaptée à leurs besoins que celle fournie directement

OS I 32
Le système d'exploitation en tant que
machine virtuelle
Hardware

API

Applicatons

1- Enrober le matériel avec une couche de logiciel qui gère


l'ensemble du système.

2- Présenter au programmeur une API (Applicaton


Programming interface, interface de programmaton
d'applicaton)

OS I 34
Le système d'exploitation en tant que
machine virtuelle
● Un disque est composé de cylindres,
qui contiennent chacun autant de pistes
qu'il y a de têtes placées verticalement.

● Les pistes se divisent en secteurs,


le nombre de secteurs étant compris
entre 8 et 32.

● Tous les secteurs contiennent le même


nombre d'octets.

OS I 35
Le système d'exploitation en tant que
machine virtuelle

● La plupart des programmeurs ne veulent


pas se soucier de la programmation des
disques durs. Ils veulent une abstraction
simple de haut niveau :
–considérer par exemple que le disque contient des
fichiers nommés ;

écriture ;

OS I 37
Le système d'exploitation en tant que
machine virtuelle

● La partie machine virtuelle des systèmes


d'exploitation
–soustraitle matériel au regard du programmeur
–offre une vue simple et agréable de fichiers

OS I 38
Le système d'exploitation en tant que
gestionnaire de ressources
● Les ordinateurs modernes se
composent de processeurs, de
mémoires, d'horloges, de disques, de
moniteurs, d'interfaces réseau,
d'imprimantes, et d'autres
périphériques qui peuvent être
utilisés par plusieurs utilisateurs en
même temps.

● Le travail du système d'exploitation


consiste à ordonner et contrôler
l'allocation des processeurs, des
mémoires et des périphériques entre
les différents programmes qui y font
appel.

OS I 40
Le système d'exploitation en tant que
gestionnaire de ressources

Imaginez ce qui se produirait si trois programmes qui
s'exécutent sur un ordinateur essayaient simultanément
d'imprimer leurs résultats sur la même imprimante.
–Les premières lignes imprimées pourraient provenir du programme 1,
les suivantes du programme 2, puis du programme 3 et ainsi de suite.


Le système d'exploitation peut éviter ce chaos potentiel en
transférant les résultats à imprimer dans un fichier tampon
sur le disque.
→ Lorsqu'une impression se termine, le système d'exploitation peut
alors imprimer un des fichiers se trouvant dans le tampon.

OS I 41
Systèmes multi-tâches

● La plupart des systèmes


d'exploitation modernes permettent
l'exécution de plusieurs tâches à la
fois
–un ordinateur peut, pendant qu'il exécute
le programme d'un utilisateur, lire les

résultats sur un terminal ou une


imprimante.

● On parle de système d'exploitation


multi-tâches ou multi-programmé
dans ce cas.
OS I 42
Systèmes multi-tâches: les processus

● La notion fondamentale des systèmes d'exploitation


multi-tâches est celle de processus.

● Un processus est une instance de programme en


train de s'exécuter.
–Un processus est représenté par un programme (le code),
–mais également par ses données et par les paramètres

interrompu (pile d'exécution, compteur ordinal...).


→ On parle de l'environnement du programme.

OS I 43
Systèmes multi-tâches: le temps partagé

● La plupart des systèmes d'exploitation multi-tâches


sont implémentés sur un ordinateur ayant un seul
micro-processeur.

● Celui-ci, à un instant donné, n'exécute réellement


qu'un seul processus, mais le système peut le faire
passer d'un programme à un autre

● Ceci donne aux utilisateurs l'impression que tous les


programmes sont exécutés en même temps.

OS I 44
Systèmes multi-utilisateurs
● Comme pour les systèmes multi-tâches, la
multi-utilisation est émulée en attribuant des
laps de temps à chaque utilisateur.

● Naturellement, le fait de basculer d'une


application à l'autre ralentit chacune d'entre
elles et affecte le temps de réponse perçu
par les utilisateurs.

OS I 45
Structure externe des OS
● Le système d'exploitation comporte un certain nombre de routines
(sous-programmes). Les plus importantes constituent le noyau (kernel).

● Il gère les ressources de l’ordinateur et permet aux différents


composants, matériels et logiciels, de communiquer entre eux.

● Le noyau d'un système d'exploitation se compose de quatre parties


principales :
1. le gestionnaire de tâches (ou des processus)/ordonnanceur,
2. le gestionnaire de mémoire,
3. Le gestionnaire de fichiers

4. et le gestionnaire de périphériques d'entrée-sortie.

OS I 46
Le gestionnaire de tâches/ Ordonnanceur

● L’ordonnanceur d’un système


d’exploitation n’a de sens qu’en
système multitâche.

● Il gère l’ordre dans lequel les


instructions de différentes tâches
sont exécutées

● Il est responsable de la sauvegarde


et de la restauration du contexte
des tâches (ce contexte est
constitué des registres
processeurs), appelée également
commutation de contexte.

OS I 47
Ordonnanceur
Commutation de contexte
● Une commutation de contexte (context switch) consiste à sauvegarder
l'état d'un processus pour restaurer à la place celui d'un autre dans le
cadre de l'ordonnancement d'un système d'exploitation multitâche.

● La commutation de contexte invoque au moins trois étapes. Par


exemple, en présumant que l'on veut commuter l'utilisation du
processeur par le processus P1 vers le processus P2 :
–Sauvegarder le contexte du processus P1 quelque part en mémoire (usuellement
sur la pile de P1).

–Restaurer le contexte de P2 dans le processeur, la dernière étape de la restauration


consistant à reprendre l'exécution de P2 à son point de dernière exécution.

OS I 48
Ordonnanceur
● La plupart des ordonnanceurs modernes permettent
d’indiquer sur quel processeur sont exécutées les
tâches.
–Certains
permettent également de migrer des tâches sur d’autres
machines d’une grappe de calcul.

● L’algorithme d’ordonnancement détermine quelle tâche


doit s’exécuter en priorité et sur quel processeur.
–Cetalgorithme doit permettre d’utiliser efficacement les
ressources de la machine

OS I 49
Ordonnanceur
● L’ordonnancement peut être de type coopératif
–Les tâches doivent être écrites de manière à coopérer les unes avec les
autres et ainsi accepter leur suspension pour l’exécution d’une autre tâche.

● L’ordonnancement peut être également de type préemptif .


–L’ordonnanceura la responsabilité de l’interruption des tâches et du choix
de la prochaine à exécuter.

● Certains noyaux sont eux-mêmes préemptifs


–l’ordonnanceur peut interrompre le noyau lui-même pour faire place à une
activité (typiquement, toujours dans le noyau) de priorité plus élevée.

OS I 50
Gestionnaire de mémoire
● Le gestionnaire de mémoire est le sous-
ensemble du système d’exploitation qui
permet de gérer la mémoire de l’ordinateur.

● Sa tâche la plus basique est d’allouer de la


mémoire à des processus lorsqu’ils en ont
besoin.

OS I 51
Gestionnaire de mémoire
● Le gestionnaire de mémoire
–masque la localisation physique de la mémoire (en mémoire vive
ou sur disque dur, dans l’espace de mémoire paginée)

virtuelle.

● Ainsi, tout processus croit manipuler une mémoire


«logique » qui a les propriétés suivantes :
–Lamémoire peut être étendue jusqu’aux capacités théoriques de la
machine ;
, un processus ne peut pas
accéder à la mémoire d’un autre processus (sauf allocations et
autorisations spécifiques).
OS I 52
Gestionnaire de fichiers
● Une des tâches fondamentales du système
d’exploitation est de masquer les
spécificités des disques et des autres
périphériques d’entrée-sortie et d’offrir au
programmeur un modèle agréable et facile
d’emploi.

→ Ceci se fait à travers la notion de fichier.

OS I 53
Le gestionnaire de périphériques
● Le contrôle des périphériques d’entrée-sortie
(E/S) de l’ordinateur est l’une des fonctions
primordiales d’un système d’exploitation.
–Ce dernier doit envoyer les commandes aux
périphériques, intercepter les interruptions, et traiter
les erreurs.

d’emploi entre les périphériques et le reste du


système qui doit être, dans la mesure du possible, la
même pour tous les périphériques, c’est-à-dire
indépendante du périphérique utilisé.
OS I 54
Le gestionnaire de périphériques

De nombreux systèmes d’exploitation


offrent un niveau d’abstraction qui permet
aux utilisateurs de réaliser des entrées-
sorties sans entrer dans le détail du
matériel.
–Ce niveau d’abstraction fait apparaître chaque
périphérique comme un fichier spécial, qui
permettent de traiter les périphériques d’entrée-

OS I 55
L’interpréteur de commandes
● Le système d’exploitation proprement dit est le code qui
permet de définir les appels système.

–Les programmes système tels que les éditeurs de texte, les


compilateurs, les assembleurs, les éditeurs de liens et les
interpréteurs de commandes ne font pas partie du système
d’exploitation.

–Sous sa forme la plus rudimentaire, l’interpréteur de


commandes exécute une boucle infinie qui affiche une invite
(montrant par là que l’on attend quelque chose), lit le nom du
programme saisi par l’utilisateur à ce moment-là et l’exécute.

OS I 56
Les Appels Système
● Les appels système sont des fonctions :
–appelées depuis un programme de l’espace utilisateur ;

–dont le retour est effectué dans le programme appelant dans l’espace


utilisateur.

● En plus d’un changement de mode d’exécution, l’appel


système suppose au moins deux commutations de
contextes :
–Contexte du programme appelant ;
–Contexte du noyau ;

OS I 57
The END

OS I 77

Common questions

Alimenté par l’IA

An operating system manages hardware resources and provides an environment for applications to run. It comprises several components, including the kernel, system programs, and end-user applications. The kernel is crucial as it manages tasks such as scheduling (ordonnanceur), memory, file systems, and input-output devices. It acts as an intermediary between hardware and software layers .

The operating system abstracts the complexities of the storage hardware by providing a file-based interface, allowing programmers to interact with storage as a hierarchy of named files. This abstraction hides the variabilities of physical storage devices, enabling simplified, high-level file operations without needing hardware-level data handling .

If an OS fails to manage I/O resources, conflicting access can occur, such as multiple programs simultaneously attempting to use a single device like a printer. This could lead to jumbled outputs and system chaos. The document highlights how an OS mitigates these issues by directing outputs to intermediate storage, ensuring organized processing and print-order control .

Operating systems use device drivers to manage I/O devices, acting as an interface between the hardware and software. They provide a high-level abstraction by treating devices as files, allowing developers to perform I/O operations without dealing with hardware specifics. This abstraction enables a consistent and simplified programming interface across different devices .

In multi-tasking systems, although a single processor can execute only one task at a time, the OS quickly switches between tasks, creating an illusion of concurrent execution. A process represents an instance of a program being executed and includes program code, data, and execution environment (like stack and instruction counter). This time-sharing strategy is common in systems with a single microprocessor .

The document indicates that there isn't a universally accepted definition of an operating system due to the vast diversity in equipment and functionality requirements. Operating systems cover a broad spectrum of features, catering to different devices such as supercomputers to smartphones, and various functionalities which aren't uniformly agreed upon as part of the OS .

The document describes the operating system as a virtual machine that abstracts hardware complexities, providing programmers with a simplified and consistent interface. This machine virtualization involves wrapping hardware with software layers, offering APIs and a file system abstraction that shields the programmers from low-level hardware operations .

The bootstrap program is a fundamental sequence of instructions loaded during the system startup. Stored in ROM or EEPROM, it initializes hardware settings like CPU registers and memory and loads the kernel into memory. This program, often part of the firmware, is crucial for initiating the operating system's services .

In cooperative scheduling, each task must explicitly yield control to allow others to execute, requiring tasks to be well-behaved in sharing processor time. In contrast, preemptive scheduling allows the scheduler to forcibly interrupt and switch tasks, enabling higher-priority tasks to be addressed promptly. Preemptive kernels offer enhanced responsiveness by allowing even kernel tasks to be interrupted for high-priority activities .

Memory management involves handling physical memory allocations and providing a view of logical memory to processes. The OS abstracts physical memory details, offering processes a logical view. It allows memory to be segmented or paged, ensuring protection and efficient utilization. Processes cannot access each other's memory space without specific permissions, thereby ensuring process isolation and security .

Vous aimerez peut-être aussi