Vous êtes sur la page 1sur 19

21/09/2019

Université Sidi Mohamed Ben Abdellah


Faculté des Sciences Dhar El Mehraz
Département d'Informatique
SMI S3
Cours de :

Système d’Exploitation I
Pr. Mostafa HARTI
E-mail : mostafa.harti@usmba.ac.ma
2019-2020

M. HARTI 2

1
21/09/2019

Systèmes d’Exploitation

Chapitre 1 :
Introduction

M. HARTI 3

Architecture d'un ordinateur

M. HARTI 4

2
21/09/2019

Rôle et interface d'un système


d'exploitation
• Un système d'exploitation est un ensemble de fonctions,
mises en œuvre par logiciel, permettant d'offrir à ses
utilisateurs une version plus abstraite de la machine
(physique) sous-jacente (machine virtuelle)
• La machine virtuelle est définie par une interface, composée
d'un ensemble d’appels système.

M. HARTI 5

Exemples des systèmes d’exploitation


• Microsoft Windows (plusieurs versions)
• Mac OS (aujourd’hui dérivée de BSD)
• GNU/Linux
• BSD (Berkely Software Distribution — plusieurs
variantes)
• GNU/Hurd
• OS/360, CP/M, OS/2, BS2000, Amiga OS, . . .
• Sur des systèmes embarqués : iOS, Android (basé sur
Linux), Firefox OS (basé sur Linux), Windows Mobile,
Maemo, Symbian
M. HARTI 6

3
21/09/2019

Interface d'un système d'exploitation


(appels système)
• Exemple :
• API (Application Programming Interface) POSIX (normalisation
de l'interface des systèmes UNIX)
– Exécution des programmes en multi-tâche (partage du
processeur)
– Stockage d'informations (fichiers, répertoires)
– Entrées/sorties
– Communication et synchronisation entre programmes
(messages, sémaphores, tubes/pipes)
– Gestion du temps (alarmes, accès au temps système)

M. HARTI 7

Intérêts d'un système d'exploitation


• Interface
– Abstraction du matériel : pas à connaitre le processeur, les
timers, les contrôleurs de périphériques
– Portabilité des sources des applications :
• Gestion des ressources
– Processeur : progression de plusieurs calculs en parallèle
– Périphériques : utilisation en parallèle avec les applications

M. HARTI 8

4
21/09/2019

Problèmes posés par le multi-tâche


• Partage de ressources par plusieurs
programmes
• Types de ressources
– Processeur
– Mémoire
– Périphériques

M. HARTI 9

Partage des ressources


• Un seul processeur, plusieurs programmes
– Arrêt et reprise d'un programme :
Sauvegarde et restauration du contexte d'exécution du programme
Synchronisation : mécanismes pour suspendre un programme et le
réveiller ensuite
Allocation du processeur (ordonnancement) : choix du programme à
exécuter à un instant donné
– Notion de processus
• Partage de la mémoire
– Allocation de la mémoire : où loger un nouveau programme en
mémoire quand d'autres sont déjà chargés ?
– Synchronisation des accès à la mémoire
– Cohabitation avec l'ordonnancement
– Protection

M. HARTI 10

5
21/09/2019

• Partage des périphériques


– Synchronisation des accès aux périphériques
– Exemple : comment éviter qu'un utilisateur lance une impression
pendant qu'un autre est en train d'imprimer ?

M. HARTI 11

Quelques repères historiques

M. HARTI 12

6
21/09/2019

Quelques repères historiques

• Années 50 à 60 : séquencement de travaux (batch)


• 1970 : premier microprocesseur commercialisé (Intel 4004)
• Années 60 - 70 :
– Systèmes à partage de temps : Multics, simplifié plus tard pour
donner naissance aux Unix (Unics en 1969)
• Années 1980 : réseaux
• Depuis les années 1990 : systèmes embarqués, multi-cœurs

M. HARTI 13

Les différentes catégories des systèmes


1. Monotâche

2. Multitâche

Le système d'exploitation attribue à tour de rôle à chaque processus un laps


de temps pour qu'il s'exécute partiellement. (multiprogrammaing ou temps
partagé).
Donne l'impression que tous les programmes s'exécutent simultanément
M. HARTI 14

7
21/09/2019

Variantes du Multitâche
• Multitâche coopératif

• Multitâche préemptif

M. HARTI 15

Variantes du Multitâche
• Multiutilisateur

• Multithreading

M. HARTI 16

8
21/09/2019

Les différentes catégories des systèmes

3. Multiprocesseur
Un système multiprocesseur rassemble plusieurs CPU sur un même ordinateur. Ces
processeurs ont accès à la même mémoire et aux mêmes ressources

M. HARTI 17

Les différentes catégories des systèmes


4. Multiordinateur

M. HARTI 18

9
21/09/2019

L’avenir des systèmes d’exploitation


• Micro-noyaux : factoriser les tâches d’un noyau en un noyau
minimal, et des programmes autonomes. Il consiste à déplacer
l’essentiel des fonctions du noyau vers l’espace utilisateur.C' est très
intéressante en théorie mais s’avère difficile en pratique (Mach,
GNU Hurd, Minix 3, . . . )

• Virtualisation : Faire tourner un système complet sur une simulation


logicielle d’une machine (machine virtuelle). C’est également une
vieille idée (OS/360 des années 60) qui est aujourd’hui de nouveau
utilisé pour cloisonner des applications.
M. HARTI 19

Historique des systèmes Unix

M. HARTI 20

10
21/09/2019

Unix, Linux et Posix


• POSIX
– Interface utilisateur et interfaces logicielles
– Suite de tests de conformité
– Défini à l’époque des adresses 32 bits
• Linux
– Variable d’environnement POSIXLY_CORRECT
– indique si une commande doit ou non être conforme
POSIX
– deux comportements
– Normes payantes : conformité « dans la plupart des
cas »

M. HARTI 21

Historique Unix
• Le SE Unix est né d’un échec du super système Multics (des
Laboratoires Bell) en 1965-69.
• Écrit en langage C (à l’époque les SE étaient écrits en assembleur)
– portabilité installation + facile sur les différentes machines
• le SE est écrit dans un langage de haut niveau (+ lent mais +
portable)
• accès aux sources des programmes du SE (on peut faire évoluer le
SE sur un site local sans attendre la prochaine version)
• l’interface utilisateur est simple
• les appels systèmes sont réutilisables pour l’écriture de commandes
(SE en mode texte <> Window en mode fenêtrage)
• le SGF est hiérarchique multi-utilisateurs et multi-tâches (temps
partagé)

M. HARTI 22

11
21/09/2019

Unix
• Pour des raisons légales, unix peut avoir plusieurs
noms selon les constructeurs
– Unix (Bell/ATT) Aix (IBM)
– Ultrics (Digital)
– Xénix (pour les PC Microsoft)
– Linux (version PC)
• Le langage de commandes ne fait pas partie du
noyau. Dans l’organisation en pelures du SE, il fait
partie de l’enveloppe la plus externe d’où son
nom de shell.
– On peut changer de shell facilement

M. HARTI 23

Caractéristiques générales du système Unix

• Multi-utilisateurs et Multitâches : plusieurs utilisateurs peuvent


accéder simultanément au système et exécuter un ou plusieurs
programmes.
• Temps partagé : les ressources du processeur et du système sont
réparties entre les utilisateurs.
• Système de fichiers hiérarchique : plusieurs systèmes de fichiers
peuvent être rattachés au système de fichiers principal ; chaque
système de fichiers possède ses propres répertoires.
• Entrées-Sorties intégrées au système de fichiers : les périphériques
sont représentés par des fichiers, ce qui rend le système indépendant
du matériel et en assure la portabilité ; l’accès aux périphériques est
donc identique à l’accès aux fichiers ordinaires.
• Gestion de la mémoire virtuelle : un mécanisme d’échange entre la
RAM et le disque dur permet de pallier un manque de RAM et
optimise le système

M. HARTI 24

12
21/09/2019

Caractéristiques générales du système Unix

• Processus réentrants : les processus exécutant le même programme


utilisent une seule copie de celui-ci en RAM.
• Interface utilisateur interactive (shell) : elle est constituée d’un
programme séparé du noyau permettant à l’utilisateur de choisir son
environnement de travail. Elle intègre un langage de commandes
très sophistiqué (scripts).

M. HARTI 25

Structure du système UNIX

M. HARTI 26

13
21/09/2019

Structure du système UNIX

• Le noyau gère les tâches de base du système :


– La gestion des ressources
– La gestion des processus
– La gestion des fichiers
– La gestion des Entrées/Sorties

• L’utilisateur communique avec le noyau par l'intermédiaire d'un SHELL.


• Les shells les plus connus sont :
BOURNE SHELL KORN-SHELL
C-SHELL TC-SHELL

• Les utilitaires sont des outils d'interfaçage avec le


système, de programmation et de communication

M. HARTI 27

Arborescence et système de fichiers


• La gestion de l’espace disque et du stockage des données repose sur
des fichiers, qui sont rangés dans des répertoires ( hiérarchie
arborescente)
• Windows possède une structure identique.
• Dans l’environnement UNIX, il n’y a pas de nom pour les unités
disques, alors que c’est le cas sous Windows (C:, D:, etc.).
• La hiérarchie UNIX est déployée sur l’ensemble des disques,
comme un « filet » recouvrant l’ensemble des unités de stockage.
Les branches de l’arborescence sont réparties sur les différents
disques ou partitions de disques.
• L’association entre une branche et un disque se nomme un système
de fichiers, ou FS, pour File System.

M. HARTI 28

14
21/09/2019

Arborescence et système de fichiers

• Un système de fichiers peut être monté ou démonté (on monte ou


démonte la branche de l’arbre)
• Ce principe de la hiérarchie arborescente constituée de l’association
de plusieurs branches autonomes et localisées sur des disques
différents a été étendu au réseau.
• Un file system peut être présent sur un disque local de l’ordinateur
ou sur un disque distant qui se trouve sur un autre ordinateur. Ce
système de fichiers qui utilise le réseau est appelé « système de
fichiers NFS » (Network Filesystem) .

M. HARTI 29

Différents environnements de commandes

• Les shells sont des logiciels qui font l’interface entre l’utilisateur et
le cœur du système d’exploitation (le noyau ou kernel )
« interpréteur de commandes »
• UNIX propose différents shells.(Windows ne possède qu’une
interface graphique) .
• Le terme « shell sous UNIX » s’applique principalement aux
interfaces en ligne de commandes.
• On peut choisir entre le Bourne Shell (bsh), le Korn Shell (ksh), le
C-Shell (csh), le Bourne Again Shell ou shell Linux (bash), et
d’autres shells moins courants.

M. HARTI 30

15
21/09/2019

Les processus

• Ils correspondent aux tâches qui sont en cours d’exécution.


• UNIX définit une hiérarchie de processus pour gérer les applications
qui se déroulent simultanément
• un processus initial (init) est activé au démarrage de l’ordinateur
• À son tour, il lance l’activation des différents logiciels de gestion du
système (gestion des disques, gestion du réseau, gestion des
connexions, etc.), qui eux-mêmes lancent d’autres tâches propres à
chaque utilisateur. Dans cette hiérarchie, un processus qui en
engendre un second est appelé processus père. Le processus
engendré est appelé processus fils.
• L’administrateur peut faire de même sur l’ensemble des processus.
Un processus père peut être à l’origine de nombreux processus fils
et, à leur tour, ces processus fils peuvent avoir de nombreux
processus fils… Si vous supprimez un processus, vous supprimez
toute sa « descendance » et arrêtez par conséquent les programmes
associés à ces processus. Exemple : si vous détruisez le processus
init (père de tous les processus), vous arrêtez votre ordinateur.
M. HARTI 31

Les distributions Linux

• Slackware : distribution originale, toujours utilisée par les


développeurs
• Red Hat : distribution de référence dans le monde anglo-saxon.
L’installation des logiciels y est simplifiée grâce aux RPM (Red Hat
Package Manager). Ces paquetages fournissent les logiciels déjà
compilés, la documentation associée, ainsi qu’un système de
dépendance permettant d’installer automatiquement les autres
logiciels nécessaires..
• Debian: Complète et efficace, on peut la paramétrer selon ses
besoins grâce aux « scripts » d’installation, ce qui en fait une
distribution de choix pour les développeurs Linux. Cette distribution
utilise son propre format de paquetage, « .deb »..

M. HARTI 32

16
21/09/2019

Les distributions Linux

• SuSE : Cette distribution d’origine allemande est basée sur la


distribution Slackware.Elle utilise les paquetages de la Red Hat.
• Mandriva. Cette distribution française très bien finie est la plus
facile à installer. Tout est fait pour simplifier le travail d’un
utilisateur final. Son interface graphique d’installation se rapproche
de ce que les utilisateurs trouvent habituellement avec Windows. La
reconnaissance des périphériques est automatique. La distribution
Mandriva-linux-one est une variante qui s’exécute en mémoire,
directement à partir du CD-ROM.
• Fedora: Cette distribution est une version gratuite conçue et
soutenue par Red Hat.
• CentOS: C’est une version gratuite dérivée de la Red Hat. Elle est
entière compatible avec les versions commerciales de Red Hat.
• Ubuntu: Cette distribution basée sur la distribution Debian reprend
les différents outils de celle-ci et propose un installateur Graphique.
• .

M. HARTI 33

Les distributions Linux

• Knoppix. Cette distribution ne nécessite aucune installation sur le


disque dur. Il suffit de démarrer sur le CD-ROM pour se retrouver
sous Linux.
• Gentoo Linux. Cette distribution gère le noyau et chaque paquetage,
grâce à leur version source. Le noyau est compilé lors de
l’installation, ce qui optimise le système selon le matériel détecté

M. HARTI 34

17
21/09/2019

Comment démarrer une session

• Etablir une connexion


Login : harti
password :
Exécution du fichier d'initialisation ( La connexion est effectuée, le
système attend les commandes)
• $ taper une commande
• man commande : manuel d’une commande (help détaillé)
• Commande --help : help simplifié
• Syntaxe d’une commande : commande [ -options ] [paramètre(s)]
Exemple
ls –l /home/harti : lister le contenu du sous-repertoire harti
contenu dans le repertoire /home
date : date du système
who : Qui est connecté?
M. HARTI 35

Quelques commandes

• pwd: Où suis je ?
• passwd : Changer le mot de passe
• cat /etc/passwd : Liste des comptes existants
• cat /etc/group : Liste des groupes existants
• su tp1 : basculer vers le compte tp1
• su : basculer vers le compte root ( ununto : sudo su )
• groupadd gr1: creation d’un groupe gr1
• useradd u1 –g gr1: création d’un nouvel utilisateur u1 appartenant
au groupe existant gr1
• passwd tp1: changer le mot de passe de tp1
• userdel -r u1: suppression de l’utilisateur u1 avec ses fichiers
personnels

M. HARTI 36

18
21/09/2019

Quelques commandes

• groupdel gr1 : suppression du groupe gr1


• N.B: avec Ubunto adduser fonctionne en interactif ( -m création du
home_directory)

M. HARTI 37

19

Vous aimerez peut-être aussi