Operating System

publicité
INFOR 101
Chapitres 5 et 6
Marianne Morris
1
Discussion du devoir # 2

La solution du devoir No. 2 est à la
page Web du cours!
2
Les parties du système de
l’ordinateur

L’architecture Von Neumann a 4 unités
fonctionnelles




Mémoire
Entrée/Sortie
Unité arithmétique et logique
Unité de contrôle
3
Figure 5.18
The Organization
of a Von Neumann
Computer
4
Figure 5.2
Components of the Von Neumann Architecture
5
Figure 5.14
Typical Machine Language Instruction Format
6
Figure 5.16
Organization of the Control Unit Registers and Circuits
7
Instructions Von Neumann






LOAD
STORE
ADD
JUMP
COMPARE
JUMPTGT
(pages 220-223)
8
Instructions Von Neumann

Exercices:

Quelles sont les instructions Von Neumann
utilisées pour:



Charger deux valeurs de la mémoire au
registre, les additionner et les sauvegarder
dans une nouvelle adresse dans la mémoire
Comparer deux valeurs
Soustraire deux valeurs
9
Instructions Von Neumann

Charger deux valeurs de la mémoire au registre, les
additionner et les sauvegarder dans une nouvelle
adresse dans la mémoire



LOAD
ADD
STORE
10
Instructions Von Neumann

Comparer deux valeurs


LOAD
COMPARE
11
Instructions Von Neumann

Soustraire deux valeurs



LOAD
SUBTRACT
STORE
12
Chapitre 6

Objectifs:



Logiciels – Machine virtuelle
Systèmes d’exploitation
Assembleurs et langage assembleur
13
Introduction

Il est bien difficile de travailler
directement (sans interface) avec le
matériel « hardware »


Ordinateur Von Neumann
Une interface entre l’utilisateur et
l’ordinateur pour rendre l’ordinateur
plus usable

Windows XP
14
Introduction

Le rôle de l’interface:




Cacher les détails du matériel de
l’utilisateur
Présenter l’information sans montrer la
structure interne du système
Accéder les ressources facilement
Prévenir des dégâts au matériel, au
programme et aux données
15
Machine virtuelle




Non, ce n’est pas de la Science fiction 
Intermédiaire entre l’utilisateur et l’ordinateur
(matériel)
Environnement virtuel qui ne permet à
l’utilisateur de voir l’architecture interne de
l’ordinateur
Services et ressources créées par les logiciels
du système et qui sont visibles à l’utilisateur
16
Figure 6.1
The Role of System Software
17
Logiciels du système


Une collection de plusieurs programmes:
Systèmes d’exploitation




Contrôler le fonctionnement de l’ordinateur
Communiquer avec l’utilisateur
Déterminer ce que l’utilisateur veut
Activer les programmes et les logiciels de
l’utilisateur pour exécuter ses commandes
18
Systèmes d’exploitation
« Operating System »

Un ensemble de programmes
responsables de la liaison entre les
ressources matérielles d'un ordinateur
et les applications de l'utilisateur
(traitement de texte, jeu vidéo…) .
19
Systèmes d’exploitation
« Operating System »

Il assure le démarrage de l'ordinateur,
et fournit aux programmes applicatifs
des interfaces standardisées pour les
périphériques (parties physiques,
matérielles de l’ordinateur).
20
Figure 6.2
Types of System Software
21
Logiciels du système

Interface (Graphical User Interface - GUI)

Un environnement graphique est, en
informatique, ce qui est affiché en mode pixel au
moniteur d’ordinateur et sur lequel l'utilisateur peut
agir avec différents périphériques d'entrée comme
le clavier, la souris, etc. Des images, des animations
(en 2 ou 3 dimensions), et même des vidéos
peuvent être rendues à l'écran.
22
Logiciels du système

Services de langage


Assembleurs, compilateurs et interpréteurs
Permettent à l’utilisateur de réaliser des
programmes en langage plus évolués et
d’exécuter ces programmes
23
Logiciels du système

Gestion de la mémoire


Gérer l'espace mémoire alloué à chaque
application et à chaque usager
Gestion des informations

Fournir un certain nombre d'indicateurs
permettant de diagnostiquer le bon
fonctionnement de la machine
24
Logiciels du système

Gestion des entrées/sorties

Permettre d'unifier et de contrôler l'accès
des programmes aux ressources
matérielles par l'intermédiaire des pilotes
(appelés également gestionnaires de
périphériques ou gestionnaires
d'entrée/sortie).
25
Logiciels du système

Gestion du processeur


Gérer l'allocation du processeur entre les
différents programmes grâce à un algorithme
d'ordonnancement
Gestion de l'exécution des applications

Exécution des applications en leur affectant les
ressources nécessaires à leur bon fonctionnement.
Il permet à ce titre de «tuer» une application ne
répondant plus correctement
26
Logiciels du système

Gestion des fichiers

Gérer la lecture et l'écriture dans le
système de fichiers et les droits d'accès
aux fichiers par les utilisateurs et les
applications.
27
Sommaire

Les logiciels du système et les systèmes
d’exploitation sont responsables de la
gestion de:




Service de langage
Mémoire, informations, entrées/sorties
Processeur
Applications, fichiers, droits de sécurité
28
Figure 6.2
Types of System Software
29
Langage assembleur

Langage de Machine




Système binaire
Adresses numériques de la mémoire
Difficile à modifier
Difficile de créer des données
30
Langage assembleur

Langage assembleur




Surmonter les faiblesses des langages de
machine
Créer un environnement plus facile pour
l’utilisateur
Dans le passé, c’était un langage de
deuxième génération
Aujourd’hui, c’est considéré comme
langage de bas niveau
31
Figure 6.3
The Continuum of Programming Languages
32
Langage assembleur

Programme source


Programme objet


En langage assembleur
En langage de machine
Assembleur

Traduit le programme source en programme objet
33
Figure 6.4
The Translation/Loading/Execution Process
34
Langage assembleur

Avantages de l’utilisation de langage
assembleur plutôt que le langage de
machine



Utiliser des instructions plutôt que des
valeurs binaires
Utiliser des adresses symboliques de la
mémoire plutôt que des adresses binaires
Pseudo opérations et création des données
35
Figure 6.6
Structure of a Typical Assembly Language Program
36
Langage assembleur
Exemple

Algorithmic operations
Set the value of i to 1 (line 2).
:
Add 1 to the value of i (line 7).
37
Langage assembleur
Exemple

Assembly language translation
LOAD
STORE
:
INCREMENT
:
I:
.DATA
ONE: .DATA
ONE --Put a 1 into register R.
I
--Store the constant 1 into i.
I
--Add 1 to memory location i.
0
1
--The index value. Initially it is 0.
--The constant 1.
38
Langage assembleur
Exemple

Arithmetic expression
A=B+C–7
(Assume that B and C have already been
assigned values)
39
Langage assembleur
Exemple

Assembly language translation
LOAD
ADD
SUBTRACT
STORE
:
A:
.DATA
B:
.DATA
C:
.DATA
SEVEN: .DATA
B
C
SEVEN --R
A
0
0
0
7
--Put the value B into register R.
--R now holds the sum (B + C).
now holds the expression (B + C - 7).
--Store the result into A.
--These data should be placed after the
HALT.
--The constant 7.
40
Langage assembleur
Exercice

Problem


Read in a sequence of non-negative
numbers, one number at a time, and
compute a running sum
When you encounter a negative number,
print out the sum of the non-negative
values and stop
41
Figure 6.7
Algorithm to Compute the Sum of Numbers
42
Figure 6.8 Assembly Language Program to
Compute the Sum of Nonnegative Numbers
43
Traduire et charger

Avant d’exécuter un programme source

Assembleur


Traduit le langage assembleur symbolique en
langage de machine
Chargeur

Lire des instructions du fichier objet et les
garde dans la mémoire pour l’exécution
44
Traduire et charger

Rôle de l’assembleur




Convertir les op codes au système binaire
Convertir les adresses symboliques en
valeurs binaires
Performer des services commandés par les
pseudo ops
Mettre les instructions traduites dans un
fichier pour futur usage
45
Systèmes d’exploitation


Traduire, charger ou exécuter un
programme
Types de commandes au système



Ligne de texte tapé au pupitre
Options d’un menu qui peuvent être
cliquées en utilisant la souris
Toutes commandes sont examinées
pour le système d’exploitation
46
Fonctions du système
d’exploitation





Gérer l’interface d’utilisateur
Procéder et activer un programme
Contrôler l’accès aux fichiers
Allouer les ressources efficacement
Détecter les erreurs et les impasses
« deadlock »
47
Interface

Le système d’exploitation



Attendre les commandes de l’utilisateur
Si la commande est légale, le système active le
logiciel approprié de façon que celui-ci aurait son
tour pour exécuter
Types d’interface


À base de texte
Graphique
48
Figure 6.15
User Interface
Responsibility of the
Operating System
49
Sécurité et protection du
système

Les systèmes d’exploitation doivent

Prévenir les gens non autorisés d’utiliser
l’ordinateur


Utilisation de ID et de mot de passe
Prévenir les utilisateurs autorisés d’avoir
accès à des ressources ou des fichiers pour
lesquels ils n’ont pas d’autorisation

Utilisation de liste d’autorisation
50
Allouer les ressources
efficacement

Le système d’exploitation assure que


Plusieurs processus exécutent en même
temps
Le processeur est toujours occupé


Une file de processus prêts à être exécutés
N’importe quand le processeur est en attente,
le système lui assigne un processus de la file
d’attente
51
Bon usage des ressources

Deadlock



Deux processus, chacun garde les
ressources dont l’autre a besoin
Ni l’un ni l’autre ne finira jamais!
Les systèmes d’exploitation doivent


Prévenir les « deadlocks »
Dépanne les « deadlocks »
52
Figure 6.24
Some of the Major Advances in Operating Systems Development
53
Sommaire

Langage assembleur


Machine virtuelle


Plus facile que le langage de machine
Environnement virtuel qui rend plus facile
d’utiliser l’ordinateur et le matériel
Système d’exploitation

Intermédiaire entre le matériel
informatique et l’utilisateur
54
Téléchargement