Vous êtes sur la page 1sur 8

05/01/2023

Architecture des ordinateurs Plan


Systèmes d’exploitation
GE/GIM S1
◼ Notion de programmes, processus, systèmes
d'exploitation

◼ Interfaces utilisateurs

◼ Fichiers

◼ Processus

2/57

Définitions
Définitions

Programme : Logiciel :
Un logiciel est un ensemble de programmes
Un programme est une séquence d'instructions dédié à une tâche spécifique
pouvant être effectuée par un ordinateur.
Exemple: 1 Exemple: logiciel de comptabilité.
1/ Demande un entier x à l'utilisateur
2/ Demande un entier y à l'utilisateur Processus :
3/ Calcule x+y et le met dans la variable z Un processus est une instance d'un
4/ Affiche z programme en cours d'exécution.
4/57

3/57

Schéma classique d'un Schéma de fonctionnement


ordinateur d'un ordinateur
Un ordinateur est constitué de :
disque dur
carte réseau ◼ Un (ou plusieurs) processeur, unité de calcul, chargé d'exécuter
toute instruction demandée par un processus.
souris ◼ La mémoire, chargée de mémoriser les données et la suite des
instructions à effectuer de chacun des processus.
processeur/mémoire
◼ Des périphériques d'entrée : clavier, souris, ...
◼Des périphériques de sortie : écran (via une carte vidéo), haut-
mémoire
clavier parleur (via la carte son), ...
écran
◼ Entrée + sortie : disque dur, carte réseau,...
Chaque événement lié à un périphérique doit en principe
5/57 être communiqué à un des processus 6/57

Systèmes d'exploitation Systèmes d'exploitation

Système d’exploitation ❑ Le système d'exploitation est un intermédiaire


❑ Le système d'exploitation (SE, en anglais Operating entre la machine et l’utilisateur
System ou OS) est un ensemble de programmes
responsables de la liaison entre les ressources ❑ La fonction du SE est de masquer la complexité
matérielles d'un ordinateur (Hardware) et les
du matériel et de proposer des instructions plus
applications de l'utilisateur (traitement de texte, jeu
vidéo...) (Software). simples à l’utilisateur.
❑ Il assure le démarrage de l'ordinateur, et fournit aux
❑ Le SE est un ensemble de programmes qui
programmes applicatifs des interfaces standardisées
pour l’accès aux périphériques. contrôlent les composants de l’ordinateur,
Exemple:
Quand on appuie sur une touche du clavier, c'est le système
7/57 8/57
d'exploitation qui reçoit cet événement et le renvoie au bon processus.

1
05/01/2023
Systèmes d'exploitation Différents systèmes
d'exploitation

Windows 95 MAC OS « Classic »


Windows NT

Windows 98
MAC OS X
Windows 2000 SunOS
Windows Me

DOS
Windows XP
LINUX/ Unix

Windows Vista

9/57 10/57

Classification suivant la MONOTÂCHE

gestion des processus


DOS
MULTITÂCHE
COOPÉRATIF
◼ Monotâche: le système ne gère qu'un seul
processus à la fois (DOS) Windows 95
Windows 98 MAC OS « Classic »
LINUX
◼ Multitâche coopératif: il peut y avoir
plusieurs processus, mais le passage d'un Windows Me

processus à un autre est laissé à l'utilisateur Windows NT


Windows 2000
(MacOS classique)
Windows XP MAC OS X
◼ Multitâche préemptif: les processus Windows 7
SunOS

s'exécutent « simultanément » (Mac OS X, Windows Vista


familles Unix/Linux et Windows, ...) Windows 10
MULTITÂCHE PRÉEMPTIF
12
11/57 Les systèmes modernes sont tous multitâches préemptifs

Classification suivant le nombre Classification suivant le nombre


d'utilisateurs d'utilisateurs
MONO-UTILISATEUR
◼ Mono-utilisateur : un seul utilisateur peut DOS
utiliser le système à un instant donné Windows 95 Unix

◼ Multi-utilisateurs : plusieurs utilisateurs MAC OS « Classic »


Windows 98
peuvent utiliser le système simultanément, Windows NT
Windows Me LINUX
→ normalement chaque utilisateur n'a accès
Windows 2000 MAC OS X
qu'à ses processus, sauf le « super-utilisateur »
➢ Conséquence pratique: en système multi-utilisateurs, on Windows 10 SunOS
Windows Vista
doit s'identifier (se « loguer ») avant d'entrer dans le
système, cette identification se fait en général avec un Windows XP MULTI-UTILISATEURS
mot de passe.
13/57 14/57

Autres différences entre les Interfaces utilisateurs


systèmes.
◼ Système portable (linux, NetBSD) tournant sur

plusieurs types d'ordinateurs vs système non L'interface utilisateur régit la communication


portable, lié à une certaine architecture (Windows entre l'utilisateur et l'ordinateur.
95, MacOS, ...)
On va distinguer deux types d'interfaces:
◼ Système libre (Linux,NetBSD, FreeBSD) vs
◼ La ligne de commande
système commercial (Windows, SunOS, MacOS)
◼ L'environnement fenêtré : mode graphique

◼ Unix (Linux, SunOS, Mac OS X) vs Non Unix

.....
15/57 16/57

3
05/01/2023

Ligne de commande (1) Ligne de commande (2)


Exemple d'interface en ligne de commande
◼ L'écran ne contient que du texte (shell sous linux)

◼ L'utilisateur tape du texte en utilisant le clavier

◼ L'utilisateur peut taper des commandes qui


lancent des processus.

Ces processus affichent du texte et peuvent aussi


demander à l'utilisateur d'en entrer.

17/57 18/57

Environnement fenêtré (2)


Environnement fenêtré

◼L'utilisateur utilise le clavier et une souris


pour entrer ses données

◼ L'affichage sur l'écran se fait en mode

graphique. Plusieurs fenêtres se partagent


l'écran et peuvent être déplacées avec la 4 fenêtres

souris. Les fenêtres peuvent être liées à des


processus différents.

19/57 20/57

Windows 98 Windows Vista

21/57 22/57

Linux / KDE Linux / gnome

23/57 24/57

5
05/01/2023
Mac OS X Ligne de commande dans un
environnement fenêtré
La ligne de commande peut encore être
utilisée en mode fenêtré

Sous Unix: xterm,


konsole,....

Sous Windows :
Invite de commande
: « cmd »

25/57 26/57

Processus

Un processus correspond à l'exécution d'un programme.


Dans un système multi-tâches préemptif, plusieurs
processus peuvent s'exécuter en même temps.
Chaque processus prend des ressources à la machine :
temps processeur (CPU time : temps de traitement),
mémoire, entrées-sorties, ...
Certains processus peuvent se partager de la mémoire.
Lorsque toute la mémoire d'un processus est partagée,
on parle de thread.

27/57 28/57

Processus (2) Gestion des processus


Sous windows, Gestionnaire de tâches :

Dans un système multi-utilisateurs, chaque


processus a un propriétaire, c'est en général
l'utilisateur qui a lancé le processus.
En principe seul le propriétaire peut arrêter son
processus (+ l'administrateur).
Chaque processus est en général identifié par un
numéro unique (“PID”) ou par le nom de la
commande qui l'a lancé
29/57 30/57

Gestion de processus (2)


Sous linux/gnome (moniteur système) : Gestion des processus (3)

Sous unix, on peut aussi gérer les processus en ligne


de commande :
ps donne la liste des processus (taskmgr pour
Windows)
kill permet de terminer («tuer») un processus
Un processus peut être lancé via la ligne de
commande, tout en gardant la main, en utilisant le
caractère “&”
Exemple : « nedit & »
31/57 32/57

7
05/01/2023

Gestion des processus (4) Fichiers....


ex % mon_prog & Rappels:
[1] 15802
◼ La mémoire (RAM) permet de sauvegarder des
Exemple d'utilisation de % ps données tant que l'ordinateur reste allumé
la ligne de commande PID
14554
TTY
pts/2
TIME
00:00:00
CMD
zsh → données NON persistantes
15802 pts/2 00:00:03 mon_prog
◼ Le disque dur garde les données même après
15806 pts/2 00:00:00 ps

% kill 15802 extinction, de plus il a une capacité plus


[1] + terminated ./mon_prog importante que la mémoire (de l'ordre de
% ps 500Go au lieu de 2Go).
PID TTY TIME CMD → nécessité d'organiser au mieux ces données
14554 pts/2 00:00:00 zsh
15813 pts/2 00:00:00 ps
33/57 34/57

Fichier Organisation des fichiers


QLKJSQJKLQJKLQ
Les données sur les mémoires de SJQKSJSQKSJQKS
QLJSQLKJSQKLJS
◼ L'organisation des fichiers sur un support
masses sont généralement QKLJSQKLSQJQKS
JSQKJSQKJSQqsdls
physique est appelé système de fichiers.
organisées en fichiers. qdjjdsqkdsqjkqskjd02
92383298?DNSHBS ◼ Les premiers systèmes de fichiers consistaient

Un fichier est une séquence


DJKDSHSDJKSZHE
ZQZAE221O132I123 en un simple ensemble de fichiers, non rangés.
d'octets mémorisée dans un
01230123U1230132
00312913093203901 ◼ Dans tous les systèmes de fichiers actuels, les
29132091320931093
support auquel sont associés des 2103219EZIOZIOZU fichiers sont regroupés en répertoires, et comme
attributs comme le nom, la date
EIEZUIEZUEIZEUIZ
ZUEIEZUEZIUEZ
un répertoire peut contenir d'autre répertoires
de dernière modification,... → structure arborescente.
nom: MONFICHIER
dernière modif: hier

35/57 36/57

arborescence des fichiers Arborescence classique sous unix


répertoire / sous unix
racine \ sous windows

/
fic1 fic2 fic3 rep1 fic4

chemin relatif de fic7


dans /rep1/rep2 bin lib dev usr home
⚫ Linux : rep4/fic7
⚫ Windows : rep4\fic7 rep2 fic5 rep3

chemin absolu de fic7:


rep4 fic4 bin dupont
/rep1/rep2/rep4/fic7 lib
\rep1\rep2\rep4\fic7
fic6 fic7 37 38

Arborescence classique sous windows (vista) Emplacement des différents


périphériques de stockage
c:\
◼ Un ordinateur peut avoir plusieurs
périphériques contenant des fichiers: plusieurs
disques durs, lecteurs de disquette, CDROM,
Program Files Windows Users DVD, clés USB....
◼ Sous Unix chacun des périphériques est un

chemin dans l'arborescence: / pour le disque dur


Internet Explorer System32 dupont principal, /cdrom, /floppy, /usbdisk,
/mnt/disk2, ....
(on parle de montage d'un périphérique sur un
répertoire)
Desktop Mes documents
39 40/57

9
05/01/2023
Emplacement des différents Arborescence
périphériques de stockage des fichiers
/
◼ Sous windows chaque périphérique est associé Chaque processus peut se déplacer
dans l'arborescence des fichiers.
à une lettre, qu'il faut rajouter au début du . désigne alors le répertoire
fic1 fic2 fic3 rep1 fic4 courant
chemin du fichier pour avoir le chemin complet .. désigne le répertoire courant
du fichier, précédé du caractère ':' Exemple: si on est dans le
répertoire /rep1/rep2 alors .
c: pour le disque dur rep2 fic5 rep3 désigne /rep1/rep2 et .. désigne
/rep1
principal permet d'avoir des chemins relatifs
rep4 fic4 pour n'importe quel fichier de
a: pour le lecteur de disquette l'arborescence.
par exemple le chemin relatif de
d: e: f: ..... z: pour les autres fic6 fic7 fic4 par rapport à /rep1/rep2 est
../../fic4
Exemple de chemin complet:
C:\Windows\System32\winevt\Logs\Application.evtx
41/57 42/57

Majuscules et minuscules
Attributs des fichiers (1)
dans les noms de fichiers
A un fichier est associé certains attributs :
◼ Sous Unix, on distingue les majuscules et ◼ Un nom
minuscules (respect de la “casse”) : “FICHIER” et
“fichier” sont considérés comme 2 noms ◼Certaines dates: date de dernière modification,
différents date de création, date de dernier accès

◼ Sous windows au contraire, les majuscules et ◼Certains droits donnés à certains utilisateurs :
les minuscules sont indifférenciées droit en lecture, écriture, ...

43/57 44/57

Attributs des fichiers (2) Attributs des fichiers (3)


Sous Windows Vista Sous Unix (interface: linux/gnome)

45/57 46/57

Systèmes de fichiers (1) Systèmes de fichiers (1)

Le type du système de fichiers spécifie comment


sont organisés les fichiers sur le support physique. 1 2 3 4 5 6 7 8

◼ Le support physique est partagé en blocs


10 11 12 13 14 15 16 17
16
19 20 21 22 23 24 25 26
17 28 29 30 31 32 33 34 35
◼ Un fichier est constitué de plusieurs blocs pas
58 37 38 39 40 41 42 43 44
59 46 47 48 49 50 51 52 53
forcément consécutifs. La taille des blocs est fixe 5 55 56 57 58 59 60 61 62
64 65 66 67 68 69 70 71
pour chaque système de fichier et est de l'ordre de un fichier constitué de 73 74 75 76 77 78 79 80

4ko (1ko = 1024 octets = 8192 bits). 5 blocs non contigus

47/57 48/57

11
05/01/2023

Systèmes de fichiers (2) Types de fichiers (1)

◼ Les fichiers peuvent différer par leur contenu:


Il existe différents types de systèmes de fichiers: texte, image, vidéo, son...
◼ Windows: FAT16, FAT32, NTFS ◼ Les fichiers ayant le même type de contenu

◼ Linux: ext2, ext3, ReiserFS


peuvent différer par le format utilisé: par
Ils sont plus ou moins efficaces, en particulier exemple PNG et JPEG sont deux formats
dans l'allocation des blocs pour chaque fichier. d'images.
(en FAT16 et FAT32, nécessité de défragmenter → dans les deux cas les fichiers sont de type
régulièrement) différent

49/57 50/57

Types de fichiers (2) Types de fichiers (3)

A chaque type de fichiers correspond en général La détection du type de fichier peut se faire :
un type de logiciel permettant de lire/éditer ce ◼ Via le nom du fichier, et en particulier son extension:
fichier. file.doc → fichier word
file.txt → fichier texte
Exemples:
file.png → fichier png
◼ Traitement de Texte (Word, OpenOffice, ...)
◼ Via le contenu du fichier : en général les formats de
pour un fichier doc fichiers spécifient que le début du fichier est une suite
◼ Lecteur PDF (Acroread, kpdf, xpdf, ...) pour un d'octets spéciale
fichier PDF (Portable Document Format) Exemple : les 2e/3e/4e caractères d'une image PNG sont
“P”,”N” et “G” => ce n'est pas toujours le cas !
51/57 52/57

Type de fichiers (4) Fichiers exécutables (1)

◼ Le type des fichiers peut aussi parfois être donné Les fichiers exécutables sont les fichiers contenant
explicitement : un programme. Ils sont de deux types :
◼ Les scripts : fichiers textes contenant directement

C'est le cas des images reçues par e-mail, ou le programme source


visualisées sur Internet (spécification MIME : une ◼Les “binaires” contenant du code exécutable par la

image png est spécifiée de type image/png) machine. Ce code incompréhensible est généré à
partir d'un “code source” qui lui est lisible
=> Reconnaissance semi-automatique du format

53/57 54/57

Fichiers exécutables (2) Scripts (1)

Les scripts contiennent directement leur


Sous windows les noms de scripts « MSDOS » « source » : c'est une suite de commandes
sont terminés par l'extension “.BAT”, les basiques.
exécutables binaires par “.EXE”, “.MSI”, ...
La source dépend du langage utilisé, en général
on utilise le même langage que celui utilisé pour
Sous Unix les fichiers exécutables peuvent avoir l'environnement en ligne de commande:
n'importe quel nom (extension comprise), mais − MSDOS sous windows (fichier .BAT)
ils doivent avoir l'attribut « exécutable ».
− Shell (sh) sous linux

55/57 56/57

13
05/01/2023

Scripts (2) Fichier exécutable binaire (1)

Il existe d'autre langages de scripts: Ils sont générés par des compilateurs qui transforment un
◼ perl fichier source en un fichier exécutable.
◼ tcl Il existe des compilateurs dans de nombreux langages:
◼ python ◼ assembleur (langage compliqué, proche du processeur)
◼ PHP (pages web dynamiques)
◼ C
◼ ...
◼ C++
Un script a besoin de l'interpréteur pour ◼ Java
fonctionner: cmd.exe pour MSDOS, /bin/sh ◼ Fortran
pour le shell, /usr/bin/perl pour perl, etc....
◼ ....
57/57 58/57

Fichier exécutable binaire (2) Fichiers d'archive


Certains fichiers sont appelés “archives” : un seul fichier
◼Les fichiers exécutables binaires contiennent du code va en contenir plusieurs.
directement exécutable par le processeur Exemple : .zip, .rar, .tar, .tar.gz, etc....
◼ Ils n'ont pas besoin de programme extérieur pour ◼Avantages: On ne manipule qu'un seul fichier au lieu de
fonctionner plusieurs, et en général le fichier d'archive est moins
◼ Il peuvent avoir besoin de librairies dynamiques volumineux que les fichiers qu'il contient (car le format
(fichier .dll sous windows, fichiers .so sous linux) utilise la compression)
◼ Un fichier exécutable binaire ne fonctionne en général ◼ Inconvénients: il faut en général le bon logiciel pour
que pour une certaine machine (PC) sous un certain pouvoir extraire des fichiers d'une archive (par exemple
système (linux/windows). Des exceptions existent ... WinZip pour “zip”, Winrar pour “rar”, etc). Mais des
alternatives gratuites et complètes existent !
59/57 60/60

15

Vous aimerez peut-être aussi