0% ont trouvé ce document utile (0 vote)
54 vues51 pages

Csi 3531 Module 1

Ce document présente une introduction aux systèmes d'exploitation, en expliquant l'organisation des ordinateurs, y compris le processeur, la mémoire et les entrées/sorties. Il décrit également le rôle des systèmes d'exploitation dans la gestion des ressources, l'exécution des programmes et l'interaction avec les utilisateurs via des interfaces comme CLI et GUI. Enfin, il aborde les techniques de communication pour les E/S et les opérations du système d'exploitation, y compris les appels système et le mode double pour la protection des ressources.

Transféré par

Sékou Doucouré
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 PPT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
54 vues51 pages

Csi 3531 Module 1

Ce document présente une introduction aux systèmes d'exploitation, en expliquant l'organisation des ordinateurs, y compris le processeur, la mémoire et les entrées/sorties. Il décrit également le rôle des systèmes d'exploitation dans la gestion des ressources, l'exécution des programmes et l'interaction avec les utilisateurs via des interfaces comme CLI et GUI. Enfin, il aborde les techniques de communication pour les E/S et les opérations du système d'exploitation, y compris les appels système et le mode double pour la protection des ressources.

Transféré par

Sékou Doucouré
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 PPT, PDF, TXT ou lisez en ligne sur Scribd

CSI3531 Module 1 -

Introduction/survol du SE
Lecture: Chapitre 1 et 2 (Silberchatz)

Objectif:
 Faire un survol rapide l’organisation des
ordinateurs – le processeur (UCT), la mémoire,
et l’entrée/sortie, architecture et opérations
générales.
 Introduire les système d’exploitations afin de
comprendre son rôle et ses fonctions
principales
1
Organisation
Système
informatique
Système d’exploitation

2
Contrôleurs
d’appareil
Mémoire UCT
Bus
Matériel

Organisation
Système
informatique
Système d’exploitation

3
Matériel principal
 Processeur (UCT)
 Mémoire principale (mémoire réelle, RAM)
 Contient le code et les données
 Modules E/S (Contrôleurs E/S, processeurs E/S...)
 matériel (avec registres: ports E/S) pour transport des données
entre UCT et périphériques comme:
• mémoire secondaire (ex: disques rigides)
• clavier, écran...
• Équipement de communication

 Interconnexion (ie: Bus)


 pour
communication
entre processeur(s),
mémoire et
modules E/S

4
Contrôleurs
d’appareil
Mémoire UCT
Bus
Matériel

Structure
de mémoire Mémoire
secondaire
Organisation Mémoire
principale
Système
informatique
Système d’exploitation

5
Structure de mémoire
 Mémoire principale
 Accessible directement par l’UCT
 Un programme doit être en mémoire principale pour
être exécuté par l’UCT
 La mémoire principale n’est pas assez grande pour
contenir tous programmes et données
 La mémoire principale est volatile – son contenu
change à la perte de puissance ou au redémarrage.
 Mémoire secondaire
 Contient de grandes quantités de données/fichiers, de
façon permanente.

 En générale, un hiérarchie existe pour les


appareils de mémoire qui varie selon vitesse,
coût, grandeur et volatilité.

6
Hiérarchie des appareils de mémoire

7
Organisation hiérarchique de la mémoire

8
Contrôleurs
d’appareil
Mémoire UCT
Bus Par
Structure E/S interruption
Matériel
d’E/S direct
Structure DMA
de mémoire Mémoire
secondaire
Organisation Mémoire
principale
Système
informatique
Système d’exploitation

9
Structure du contrôleur E/S

 Données du bus sont tamponnées dans le(s) registre(s) “data


register” (ports E/S)
 Le registre “Status/Control” contient:
 l’information sur le statut de l’opération E/S
 l’information de contrôle venant de l’UCT
 Le circuit “I/O logic” interagit avec l’UCT via le bus.
 Contient la logique spécifique à l’interface de chaque dispositif
10
Techniques de communication pour E/S
 3 techniques sont possibles:
 E/S programmées
• N’utilise pas d’interruptions. L’UCT doit attendre
après chaque opération d’E/S
 E/S déclenchées par interruptions
• L’UCT peut exécuter du code pendant
l’opération E/S: il est interrompu lorsque
l’opération est terminée.
 Accès direct à la mémoire (DMA)
• Un block de données est transféré directement
à/de la mémoire sans passer par l’UCT
11
Interruption pour l’E/S

12
Fonctionnement de l’ordinateur moderne

13
Contrôleurs
d’appareil
Mémoire UCT
Bus Par
Structure E/S interruption
Un seul * Matériel
d’E/S direct
Multi processeur
Architecture Structure DMA
processeur Mémoire
de mémoire
secondaire
Grappes Organisation Mémoire
Distribués principale
Système
informatique
Système d’exploitation

14
Architecture de systèmes informatiques
 Systèmes avec un seul processeur
 Du PDA à l’ordinateur central
 Presque tous on des processeurs spécialisé pour
graphiques, E/S
• Ceci n’est pas considéré comme multi-processeur
 Systèmes multiprocesseurs
 Débit de traitement accru
 Économies d’échelle
 Fiabilité accru
 Multitraitement asymétrique
• Chaque processor est donné une tâche spécifique
 Multitraitement symétrique (le plus commun)
• Tous processeurs accomplissent toutes tâche du SE
 Grappes, systèmes distribués

15
Contrôleurs
d’appareil
Mémoire UCT
Bus Par
Structure E/S interruption
Un seul * Matériel
d’E/S direct
Multi processeur
Architecture Structure DMA
processeur Mémoire
de mémoire
secondaire
Grappes Organisation Mémoire
Distribués principale
Système Interface
Services d’utilisateur
informatique C’est GUI ou CLI
Système d’exploitation quoi?
Vue de
l’utilisateur

16
Vue abstraite des composantes d’un
système informatique

17
Perspectives de l’utilisateur d’un ordinateur
 Ceci est mon système, il n’y a que moi qui l’utilise
 i.e. PC dont un utilisateur monopolise
 Le SE maximise le travail (ou le jeu) de l’utilisateur
 Le SE conçu pour l’utilisation facile, non pas pour
l’utilisation de ressource.
 Systems portatifs – petite demande au niveau matériel
 Ceci est le grand ordinateur sacré, je suis chanceux d’avoir du
temps d’UCT
 i.e l’ordinateur central ou le mini-ordinateur
 L’ES est conçu pour maximiser l’utilisation des ressources
(UCT, mémoire, E/S)
 Le partage des ordinateurs
 i.e. les stations de travails branchés à un réseau de servers
 Ressources dédiées et partagées
 ES balance les besoins individuelles avec les besoins
d’utilisation des ressources
 Quoi? Il y a un ordinateur à l’intérieur.
 Systèmes imbriqués conçu pour rouler avec un minimum
18 d’intervention
Pourquoi des systèmes d’exploitation?
Quand il y a plusieurs utilisateurs/programmes
desservis:
 i.e. Le grand ordinateur sacré
 Qui obtient les ressources? quand?
 Chaque utililisateur/application est permit de faire
quoi?
 Comment facturer les utilisateurs?
Ok, ok, on doit gérer plusieurs utilisateurs/programme,
mais qu’arrive-t-il avec un seul utilisateur? (i.e. pour
mon PC)
 Abstraction du matériel
 Veut toujours pouvoir rouler plusieurs
programmes.
19
Que font les systèmes d’exploitations?
 Donnez une ou deux phrase qui résume le role du
SE.
 Le SE est le programme le plus impliqué avec le
matériel
• Abstraction du matériel
 Le SE fait l’allocation des ressources
• Gère toutes les ressources
• Compose avec les conflits de demandes pour
l’utilisation efficace et juste des ressources
 Le SE est un programme de contrôle
• Contrôle l’exécutions des programmes (i.e.
processus) pour éviter les erreurs et mauvaise
utilisation de l’ordinateur.

20
La définition du système
d’exploitation
 Alors, c’est quoi le système d’exploitation?
 Pas de définition universel accepté
 “Tout ce que le fournisseur livre lors de la
commande d’un SE” est une première
approximation
 Mais ceci varie beaucoup.
 “Le programme qui roule tout le temps” est celui
utilisé dans ce cours
 Ceci est le noyau
 Tout autre programme est un programme système
(livré avec le SE) ou un programme d’application.
 Que veut dire « rouler tout le temps »? Quand je
joue au Tetris, Tetris est exécuté par l’UCT – non?
21
Programmes systèmes
 Font-ils partie du système d’exploitation
 Tout ce qui n’est pas dans le noyau, mais livré avec le SE
 Tous dépend du SE et du fournisseur
 Peut donner plusieurs services systèmes, i.e. les
commandes UNIX (CLI) sont des programmes systèmes pour
accomplir des tâches systèmes.
 La grande partie de la perspective du SE par l’utilisateur est
définie par les programmes systèmes, pas directement par
les appels systèmes au noyau.

22
Programme systèmes
 Les programmes systèmes (aussi appelé
programmes utilitaires) donnent un environnement
pour le développement et l’exécution de
programme. Les services:
 Gestions de fichiers – i.e. copy, rm, ls, mkdir
 Information d’état – i.e. ps, who, regedit
 Modification de fichiers - éditeurs
 Service de langage de programmation – i.e. cc, javac
 Chargement et exécution de programmes – loaders,
débuggeurs
 Communications – ssh, ftp
 Programmes d’application – fureteurs, pages
électroniques, jeux

23
Services offerts aux programmes d’utilisateurs
 Opérations d’entrée/sortie
 L’accès au matériel se fait par le noyau pour le
programme exécutant
 Communications
 Communication entre programmes d’un même
ordinateur ou avec ceux d’autres ordinateur
 Peut se faire avec la mémoire partagée ou des
messages
 Composer avec les erreurs
 Détection
• Erreurs du matériel (internes ou externes): la mémoire,
défaillance d’un dispositif E/S
• Erreurs du logiciel: débordements, interdiction d’accès à
une case mémoire
• Impossibilité pour SE de satisfaire requête
 Réaction: juste rapporter l’erreur à l’application,
24 essayer de nouveau l’opération, suspendre l’application
Services pour assurer efficacité et bon
fonctionnement
 Allocation et gestion des ressources
 Nécessaire pour desservir plusieurs utilisateurs et
plusieurs programmes
 Certaines ressources ont leur code de gestion
spécifique:
• UCT, mémoire principale, système de fichier
 D’autres sont gérés via un code général – E/S
 Comptabilité
 Statistiques sur l’usage des ressources par les
utilisateurs
 Protection et sécurité
 Empêcher les intrus (usagers non autorisés)
d’accéder au système
 Empêcher les usagers d’accéder aux ressources qui
ne leur sont pas destinées
25
Interface pour utilisateurs - CLI
Interface de ligne de commande (CLI - Command Line
Interface) permet une entré de commande
directement du clavier
 L’interpréteur de commande est un program qui lit
les commandes tapés par l’utilisateur
• Souvent appelé le « shell » (terminologie UNIX)
 L’exécution d’une commande se fait une de deux
façon
• L’interpréteur exécute la commande
• Des instructions de programmation permettent à
l’interpréteur d’exécuter des programmes « shell »
• La command est utilisé pour démarrer un programme
séparé (e.g. un programme système)

26
Interface pour utilisateurs - GUI
 Interface conviviale qui représente une surface de bureau
 Avec souris, clavier, et moniteur
 Icônes représentent fichiers, programmes, actions, etc.
 Inventé au Xerox PARC

 Beaucoup de systèmes comprennent des interfaces CLI et


GUI.
 Microsoft Windows est GUI avec un CLI “command”
shell
 Apple Mac OS X contient l’interface GUI “Aqua” et un
noyau UNIX et donc le “shell”
 Solaris et Linux sont CLI avec des interfaces optionelles
GUI (Java Desktop, KDE)
 Quelle interface préférez-vous?

27
Interfaces du SE
 CLI et GUI – interfaces pour l’usager
 Quelles sont les autres interfaces du système
d’exploitation?
 Interface pour porgrammes qui roulent sur
l’ordinateur et font des demandes de services
du SE
• L’interface d’appel de système
 Interface au matériel
• Interruptions, pilotes contrôleurs d’appareil

28
Contrôleurs
d’appareil
Mémoire UCT
Bus Par
Structure E/S interruption
Un seul * Matériel
d’E/S direct
Multi processeur
Architecture Structure DMA
processeur Mémoire
de mémoire
secondaire
Grappes Organisation Mémoire
Distribués principale
Système Interface
Services d’utilisateur
Gestion informatique C’est GUI ou CLI
E/S Gestion Système
quoi?
Processus d’exploitation
Gestion Vue de
mémoire Opération l’utilisateur
Mode
double

29
Opérations du système d’exploitation
 Le SE fonctionne à base d’interruptions
 Les interruptions proviennent du matériel ET du
logiciel
 Clique de souris, division par zéro, demande de
service du SE
 Interruption de minuterie (temps de processus fini),
erreur d’accès à la mémoire (processus veut en
modifier un autre ou le SE).
 Certains opérations devront se faire seulement
par un programme fiable.
 Accéder le matériel, registres de gestion de la
mémoire.
 Un programme maléfique d’utilisateur pourrait
endommager d’autres processus, voler le système,

 Solution: opération en mode double.
30
Le mode usager et le mode noyau
 Opération en mode double permet au ES de se
protéger ainsi que d’autres composantes
 Mode usager et mode noyau (ou supervision)
 Bit mode se retrouve dans le matériel
• Distingue le mode (usager ou noyau)
• Certaines instructions sont privilégiées
• Appel au SE change le mode à noyau et le retour
de l’appel le rechange au mode usager.

31
Transition du mode usager au mode noyau
 Minuterie empêche les processus de s’accaparer du
système
 Un interruption après un délai de temps
 SE décrémente un compteur
 Lorsque le compteur est zéro, change de processus ou
termine le processus.
 Configurer avant de donner le contrôle au processus
pour reprendre le contrôle ou terminé le programme.

32
L’appel système
 L’interface qui offre les services du SE au
programmes
 Control de processus:
• pour exécuter un programme.
 Gestion de fichier:
• création/ouvrir/lire/écrire un fichier, liste d’un répertoire.
 Gestion d’appareil:
• demande/relâche d’un appareil
 Gestion d’information:
• gestion de l’heure, attributs des processus et fichiers
 Communication:
• ouvrir/fermer un connexion, envoyer/recevoir des
messages

33
Appel système (suite)
 Normalement écrit avec langage de programmation
haut niveau (par exemple le C).
 Implémenter avec l’interruption logicielle
 L’interruption logicielle change le bit mode au mode
noyau et fait appel au sous-programme approprié selon
un tableau d’appels systèmes et le numéro
d’interruption
• Exemple Linux:
http://docs.cs.up.ac.za/programming/asm/derick_tut/syscalls
.html
 À la fin du sous-programme, le mode redevient le
mode usager et des valeurs sont retournées au
programme appelant.
34
API de l’appel système

35
Comment accéder aux appels systèmes
 Accéder souvent par les programmes avec une interface de
programmation d’application (API) et non pas l’appel système
directement
 APIs commun:
 Win32 pour Windows
 API POSIX pour systèmes POSIX
• UNIX, Linux et MAC OS X
 API Java pour la machine virtuelle Java (JVM)
 Le programme appelant ne connait rien au sujet le l’implémentation
de l’appel système.
 Obéit tout simplement au normes de l’API: paramètres à fournir,
valeurs de retour, et opération désirée
 Les détails de l’interface du SE sont cachés derrière l’API.
• Géré par la bibliothèque de l’API (ensemble de fonctions fournit avec
le compilateur)
 36 Possible d’utiliser les appels système directement
Exemple de l’API standard en C
 La fonction printf() qui fait un appel
système write()

37
Opérations principales du système d’exploitation (SE)
 Gestion de processus
 Un processus avec un fil d’exécution comprend un seul compteur de
programme
 Le SE gère les ressouces requises par les processus
• UCT, mémoire, E/S, fichiers
• Données d’initialisation
Le SE gères les activités des processus: création et

destruction, interactions entre processus, etc.
 Gestion de la mémoire
 La gestion de mémoire détermine quel processus et à quel moment il
occupe la mémoire afin d’optimiser l’utilisation de l’UCT et la
réponse de l’ordinateur aux utilisateurs
 Gestion de la mémoire secondaire
 Le SE donne une vue uniforme et logique de l’information stocké en
mémoire secondaire
 Système de fichier, mémoire de masse
 Le sous-système E/S
 Un rôle du SE est de cacher les différentes particularités des
appareils de l’utilisateur
38
Contrôleurs
d’appareil
Mémoire UCT
Bus Par
Structure E/S interruption
Un seul * Matériel
d’E/S direct
Multi processeur
Architecture Structure DMA
processeur Mémoire
de mémoire
secondaire
Grappes Organisation Mémoire
Distribués principale
Système Interface
Services d’utilisateur
Gestion informatique C’est GUI ou CLI
E/S Gestion Système
quoi?
Processus d’exploitation
Gestion Vue de
mémoire Opération l’utilisateur
Mode Machine
double Questions virtuelle Structure
conceptions
Saveurs
différentes
Micro Couche
39 Modules
noyau
Conception et réalisation des SEs
 La conception du SE est principalement affecté par le choit
de matériel et du type de système
 En lot, temps-partagé, un utilisateur, multi-utilisateurs,
distribués, temps-réel, usage général
 Besoins d’utilisateurs versus besoins des système
 Besoins d’utilisateurs – facile à utilisé, facile à
apprendre, fiable, et rapide
 Besoins de système – facile à concevoir, simple à réalisé
et entretenir, ainsi que flexible, fiable, sans erreur, et
efficace.
 Implémentation
 Traditionnellement en assembleur
 Aujourd’hui, surtout en C, avec des petites sections en
assembleur (pilotes, manipulation de registres)

40
Structure du système
 Structure interne des SEs varient
 Puisque les besoins varient
 Matériel simple, fonctions simples
 Structure monolithique simple
 Plus de resources et fonctions complexes
 Structure de courches
 MS-DOS et UNIX traditionnel sont des SEs monolithiques qui
utilsent une structure de couches.
 Encore plus de ressources et fonctions, avec un focus à la
conception flexible et élégante
 Structure de micronoyau (micro-kernel) (MACH, QNX, Windows NT)
 Flexibilité et efficacité
 Structure modulaire (Solaris, Windows NT)

41
Structure UNIX: peu de couches

42
Machines virtuelles: le problème et la
solution
 Comment permettre de rouler différents SE sur
une seule machine physique?
 Pas évident, car chaque SE demande accès
direct au matériel
 SOLUTION: Un programme qui crée une
couche qui met à disposition plusieurs
machines physiques virtuelles
 Sur chacune, nous pouvons rouler un SE
différent

43
Modèle de système
(a) Une seule mach. réelle et un seul noyau
(b) plus. mach. virtuelles et plus. noyaux

44
Fonctionnement
 Le système VM laisse exécuter normalement les
instructions non privilégiées
 Les appels au système sont exécutés par le système
VM et les résultats sont passés à la machine virtuelle
sur laquelle le processus exécute

45
Avantages
 Chaque machine virtuelle peut utiliser un SE
différent!
 En théorie, on peut bâtir des machines
virtuelles sur des machines virtuelles!
 Protection complète, car les machines
virtuelles sont complètement isolées les unes
des autres
 Un nouveau SE peut être développé sur une
machine virtuelle sans déranger les autres

46
Implémentations

 Le concept de VM est très utilisé pour


permettre de rouler un SE sur un autre
 P.ex. SUN, Apple, Linux permettent de rouler
Windows sur leur plateforme,
 Ils doivent fournir à Windows un
environnement que Windows reconnaît comme
son environnement Intel usuel

47
VMWARE sur Linux

48
Machine virtuelle de Java

49
Ce dont nous n’allons pas étudier
 Système distribués
 Systèmes en temps réel imbriqué
 Systèmes multimédia
 Ordinateurs de poche
 Poste à poste (peer to peer)
 Système d’exploitation WEB

50 Fall 2008
Contrôleurs
d’appareil
Mémoire UCT
Bus Par
Structure E/S interruption
Un seul * Matériel
d’E/S direct
Multi processeur
Architecture Structure DMA
processeur Mémoire
de mémoire
secondaire
Grappes Organisation Mémoire
Distribués principale
Système Interface
Services d’utilisateur
Gestion informatique C’est GUI ou CLI
E/S Gestion Système
quoi?
Processus d’exploitation
Gestion Vue de
mémoire Opération l’utilisateur
Mode Machine
double Questions virtuelle Structure
conceptions
Saveurs
différentes
Micro Couche
51 Modules
noyau

Vous aimerez peut-être aussi