SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
110 Définition et rôles
INF3173
Principes des systèmes d’exploitation
Jean Privat
Université du Québec à Montréal
Hiver 2021
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 1 / 31
Plan
1 Définition des systèmes d’exploitation
2 Rôles d’un système d’exploitation
3 Bibliothèques et démons
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 2 / 31
Définition des systèmes d’exploitation
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 3 / 31
Définition des systèmes d’exploitation
Questions essentielles
• C’est quoi ?
• À quoi ça sert ?
• Comment c’est fait ?
Problèmes
• Pas de définition formelle parfaite
• Pas de liste précise des rôles, des tâches ou des composantes
→ Ça évolue en fonction des besoins et des ressources
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 4 / 31
Tentative de définition
Un système d’exploitation est une couche logicielle qui sert
d’intermédiaire entre les utilisateurs et les ressources matérielles de
l’ordinateur et qui offre un environnement d’exécution aux
programmes qui se veut efficace, robuste et utilisable.
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 5 / 31
Composantes d’un ordinateur
Grossièrement, un ordinateur comporte…
Du « matériel »
Processeur, mémoire, disques, périphériques, etc.
Un « système d’exploitation »
Qui semble (un mal) nécessaire pour
• Configurer le matériel
• Installer et exécuter des applications
Exemples: Windows, Debian, MacOS, Android
Des « programmes d’application »
Les vrais logiciels utiles à l’utilisateur
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 6 / 31
Système d’exploitation : deux points de vue
Clé en main (avec programmes système)
• C’est le point de vue grand public
• Inclut toute sorte de programmes : shells, interfaces graphiques,
utilitaires de base, outils de configuration, etc.
Espace disque recommandé pour une installation normale
• Debian 10 ≈ 10Go d’espace disque
• Windows 10 ≈ 32Go d’espace disque
Noyau seul
• C’est le point de vue du cours
• Seulement la couche logicielle toujours en cours d’exécution
• Exemple: Linux (qui servira d’exemple dans le cours)
• Espace disque: Debian linux-image-5.7.0-2-amd64 ≈ 300 Mo
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 7 / 31
Composantes d’un ordinateur : vision de
l’utilisateur
Système
bancaire
Montage
vidéo
Navigateur
web
Compilateur Éditeur de
textes
Interprète de
commandes
Système d’exploitation
(noyau)
Dispositifs physiques
Programmes
d’application
Logiciels
systèmes
Matériel
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 8 / 31
Composantes d’un ordinateur : notre vision
Système
bancaire
Montage
vidéo
Navigateur
web
Compilateur
Éditeur
de
textes
Interprète
de
commande
Système d’exploitation (noyau)
Matériel
Vision du SE = notre vision
• Une seule catégorie de
programmes
• Pas d’accès direct entre les
programmes et le matériel
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 9 / 31
Composantes d’un système d’exploitation
Qu’a-t-on le droit de mettre dans un système d’exploitation ?
1998 Microsoft face à la justice américaine
• Abus de position dominante à cause des restrictions empêchant
la désinstallation d’Internet Explorer.
• Source Wikipedia
2020 Microsoft Edge impossible à désinstaller
• Source
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 10 / 31
Rôles d’un système d’exploitation
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 11 / 31
SE = Couche d’abstraction
Abstrait la machine
• Cache certains détails que l’utilisateur n’a pas à connaître pour
exploiter la machine
• Présente à l’utilisateur une machine virtuelle facile à utiliser et à
programmer
• Offre toute sorte de services abstraits: gestion des fichiers,
communication entre programmes, etc.
Connaît
• Connaît les détails internes intimes de la machine
• Utilise les services concrets (matériels) de la machine
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 12 / 31
SE = Couche d’abstraction
Matériel
Système d’exploitation
Applications
demandes de
services abstraits
demandes de
services concrets
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 13 / 31
SE = Couche d’abstraction
Pour les applications ?
• Pas besoin d’être spécifique à chaque matériel possible
→ Y compris du matériel qui n’existe pas encore
• Mais peuvent devenir spécifique à un système d’exploitation
→ Développer des applications portables entre différents systèmes
d’exploitation est plus difficile
Pour les matériels ?
• Développement de pilotes (driver) spécifiques au système
d’exploitation
• Mais tous les systèmes d’exploitation sont pas égaux
→ Version de système d’exploitation non maintenu, matériel
discontinué, effort de développement non rentable
On y reviendra
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 14 / 31
SE = Couche d’abstraction
Source de Linux v5.7
$ du -sh * | sort -hr | head
626M drivers
134M arch
50M Documentation
45M include
42M fs
40M sound
39M tools
33M net
10M kernel
5,9M lib
Plus de 70% du code source dans drivers et arch.
Question. Expliquer la commande Unix
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 15 / 31
Jouer à Doom sur PC dans les années 90
• DOS n’offrait pas d’abstraction pour les cartes son
• Chaque jeu vidéo devait gérer entièrement un ensemble fixé de
cartes sons
• L’utilisateur voyait des détails matériels: IRQ, DMA, etc.
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 16 / 31
SE = Gestionnaire de ressources
Répartir efficacement les ressources limitées
• Temps CPU
• Mémoire
• Périphérique (ex. disques, réseau, imprimante, webcam, etc.)
→ Quelles politiques adopter ?
→ Quels mécanismes mettre en œuvre ?
Faire cohabiter pacifiquement plusieurs processus et
utilisateurs (et matériels)
• Protection mémoire
• Gestion des droits
• Respect des répartitions des ressources
→ Comment imposer ça ?
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 17 / 31
Gestion des processus
• Création et destruction des processus
• Décider de l’attribution processeur aux processus
• Suspendre et continuer les processus
• Permettre la synchronisation et la communication des processus
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 18 / 31
Gestion de la mémoire
• Répartir la mémoire entre les processus
• Gérer l’espace libre et les demandes de mémoire
• Décider du passage en mémoire distante
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 19 / 31
Gestion des fichiers
• Création, manipulation et destruction des fichiers et répertoires
• Gestion de l’espace disque libre
• Gestion des droits
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 20 / 31
Gestion des périphériques
• Gestion de la mémoire, cache, tampons, IRQ, DMA
• Pilotes spécifiques
• Gestion de l’énergie (batterie)
• Répartition des ressources entre processus (bande passante
disque, réseau, etc.)
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 21 / 31
Bibliothèques et démons
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 22 / 31
Exclusivité du SE ?
Besoins
• Abstraire du matériel
• Offrir des services
• Gérer des ressources
Des approches existent déjà
• Bibliothèques logicielles
• Services, démons, serveurs
Qu’est-ce qui rend les systèmes d’exploitation différents ?
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 23 / 31
Bibliothèques logicielles
C’est quoi?
Composantes logicielles prêtes à l’usage par des programmes
• Exemple: bibliothèque cryptographique
• Compilées ou non, statiques ou dynamiques (.so, .dll)
• Offrent une interface abstraite aux programmes (API/ABI)
Avantages
• Permet de factoriser du bon comportement
• Mise à jour indépendante des bibliothèques dynamiques
partagées
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 24 / 31
Services, démons, serveurs
C’est quoi?
Processus s’exécutant en arrière-plan qui répondent à des requêtes
• Servent aussi à gérer l’activité de périphériques
• Exemple: serveur d’impression
• Offrent des services abstraits via des mécanismes de
communication entre processus
Avantages
• Permet de sous-traiter du bon comportement
• Mise à jour indépendante des logiciels
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 25 / 31
Exclusivité du SE
Qu’est-ce qui rend les systèmes d’exploitation différents ?
Les privilèges
Le système d’exploitation a le monopole de privilèges exclusifs
• Tout accès au matériel passe nécessairement par lui
• Toute allocation de ressource à un logiciel sera respectée
→ Sauf, bien sûr, si le système d’exploitation autorise des formes
de contournement
En pratique
Bibliothèques et services vont souvent encapsuler des services
système pour harmoniser, simplifier (ou complexifier) les choses
• En informatique, on aime résoudre les problèmes en ajoutant un
nouveau niveau d’abstraction
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 26 / 31
Exemple: le son
1 Un jeu vidéo a besoin de son
2 Il utilise la bibliothèque libsdl
3 libsdl expose une API portable entre différents systèmes
4 libsdl peut utiliser libpulse pour jouer les sons
5 libpulse simplifie la communication avec pulseaudio
6 via des services systèmes d’IPC (interprocess communication)
7 pulseaudio est un serveur de son (démon) qui gère la
configuration complexe des éléments audio de l’ordinateur
8 pulseaudio utilise la bibliothèque libasound2
9 qui simplifie l’utilisation des services de son de Linux
10 cela via des services système dédiés
11 ALSA (Advanced Linux Sound Architecture) est un morceau
(sous-système) du noyau Linux
12 qui peut accéder à la carte son
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 27 / 31
1. jeu
3. libsdl
5. libpulse
7. pulseaudio
9. libasound2
Linux 11. ALSA
12. carte son
2
4
8
6
10
Version simplifiée sans la libc ni libdl.
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 28 / 31
Exemple: le son
Le système d’exploitation isole les processus
Un processus ne peut agir directement
• sur un périphérique
• sur un autre processus
→ il doit passer par le système d’exploitation
Questions
Un processus pourrait-il…
• Utiliser directement libpulse sans passer par libsdl ?
• Faire de l’IPC directement avec pulseaudio sans passer par
libpulse ?
• Communiquer directement avec pulseaudio sans passer par des
services du noyau d’IPC ?
• Utiliser les services noyau d’ASLA sans passer libasound2 ?
• Agir sur la carte son sans passer par des services du noyau ?
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 29 / 31
Analogie : Le SE est le gouvernement de
l’ordinateur
Il ne sert à rien en soi
• Pas directement utile à l’utilisateur
Il permet la cohabitation pacifique entre
• Les différents programmes
• les différents utilisateurs
• les différents matériels
Il possède les capacités d’imposer cette cohabitation
• Il a le monopole de privilèges particuliers
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 30 / 31
Mécanismes et politiques
Reste une question : comment on fait ça ?
• Mécanismes : quels sont les moyens à mettre en oeuvre
• Politiques : quelles sont les règles à appliquer
Séparer les deux questions permet plus de souplesse
• D’une part fournir des mécanismes de base
• D’autre part concevoir
→ il est possible d’adapter les politiques sans devoir tout refaire
Philosophie Unix
Le plus souvent:
• Le noyau
→ Expose des mécanismes simples ou élémentaires
• Les programmes et les administrateurs système
→ Définissent des politiques
→ Les implémentent à l’aide des mécanismes
Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 31 / 31

Contenu connexe

Similaire à 110-definition.pdf

Programmation de systèmes embarqués : BeagleBone Black et Linux embarqué
Programmation de systèmes embarqués : BeagleBone Black et Linux embarquéProgrammation de systèmes embarqués : BeagleBone Black et Linux embarqué
Programmation de systèmes embarqués : BeagleBone Black et Linux embarquéECAM Brussels Engineering School
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptMahdiHERMASSI1
 
Cours SE linux
Cours SE linuxCours SE linux
Cours SE linuxIdriss22
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.pptDenisKouakou1
 
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdfcoursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdfRihabBENLAMINE
 
Introduction système d'exploitation-chapitre 1-cours 1
Introduction système d'exploitation-chapitre 1-cours 1Introduction système d'exploitation-chapitre 1-cours 1
Introduction système d'exploitation-chapitre 1-cours 1AitAddiHajar
 
Cours SE IAG Système d'exploitation Windows - IPSET.pdf
Cours SE IAG Système d'exploitation Windows - IPSET.pdfCours SE IAG Système d'exploitation Windows - IPSET.pdf
Cours SE IAG Système d'exploitation Windows - IPSET.pdfMedBechir
 
Cour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarCour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarAnouar Sghaier
 
Install Party Linux (Université Constantine 2) - Clic Club
Install Party Linux (Université Constantine 2) - Clic ClubInstall Party Linux (Université Constantine 2) - Clic Club
Install Party Linux (Université Constantine 2) - Clic ClubAdel Belbekri
 
System d\'exploitation
System d\'exploitationSystem d\'exploitation
System d\'exploitationThắng Thao
 

Similaire à 110-definition.pdf (20)

Cours se chap1_2
Cours se chap1_2Cours se chap1_2
Cours se chap1_2
 
Install party
Install partyInstall party
Install party
 
Programmation de systèmes embarqués : BeagleBone Black et Linux embarqué
Programmation de systèmes embarqués : BeagleBone Black et Linux embarquéProgrammation de systèmes embarqués : BeagleBone Black et Linux embarqué
Programmation de systèmes embarqués : BeagleBone Black et Linux embarqué
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).ppt
 
Cours SE linux
Cours SE linuxCours SE linux
Cours SE linux
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt
 
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdfcoursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf
 
SdE 2 - Introduction
SdE 2 - IntroductionSdE 2 - Introduction
SdE 2 - Introduction
 
Cours linux
Cours linuxCours linux
Cours linux
 
Cours se chap1
Cours se chap1Cours se chap1
Cours se chap1
 
Introduction système d'exploitation-chapitre 1-cours 1
Introduction système d'exploitation-chapitre 1-cours 1Introduction système d'exploitation-chapitre 1-cours 1
Introduction système d'exploitation-chapitre 1-cours 1
 
Cours SE IAG Système d'exploitation Windows - IPSET.pdf
Cours SE IAG Système d'exploitation Windows - IPSET.pdfCours SE IAG Système d'exploitation Windows - IPSET.pdf
Cours SE IAG Système d'exploitation Windows - IPSET.pdf
 
Cour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarCour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouar
 
Edubuntu
EdubuntuEdubuntu
Edubuntu
 
Edubuntu
EdubuntuEdubuntu
Edubuntu
 
Edubuntu
EdubuntuEdubuntu
Edubuntu
 
Install Party Linux (Université Constantine 2) - Clic Club
Install Party Linux (Université Constantine 2) - Clic ClubInstall Party Linux (Université Constantine 2) - Clic Club
Install Party Linux (Université Constantine 2) - Clic Club
 
System d\'exploitation
System d\'exploitationSystem d\'exploitation
System d\'exploitation
 
SdE 1 - Introduction
SdE 1 - IntroductionSdE 1 - Introduction
SdE 1 - Introduction
 
SdE - Introduction
SdE - IntroductionSdE - Introduction
SdE - Introduction
 

Plus de RihabBENLAMINE

presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfRihabBENLAMINE
 
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfTutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfRihabBENLAMINE
 
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfCM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfRihabBENLAMINE
 
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdfRihabBENLAMINE
 
coursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxcoursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxRihabBENLAMINE
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfRihabBENLAMINE
 
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfVirtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfRihabBENLAMINE
 
416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdfRihabBENLAMINE
 
Interace Utilisateur.pdf
Interace Utilisateur.pdfInterace Utilisateur.pdf
Interace Utilisateur.pdfRihabBENLAMINE
 
Bases de données sous Android.pdf
Bases de données sous Android.pdfBases de données sous Android.pdf
Bases de données sous Android.pdfRihabBENLAMINE
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdfRihabBENLAMINE
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfRihabBENLAMINE
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdfRihabBENLAMINE
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfRihabBENLAMINE
 
016834638650_suitechap1.pptx
016834638650_suitechap1.pptx016834638650_suitechap1.pptx
016834638650_suitechap1.pptxRihabBENLAMINE
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfRihabBENLAMINE
 

Plus de RihabBENLAMINE (20)

presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdf
 
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfTutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
 
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfCM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
 
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
 
coursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxcoursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptx
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
 
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfVirtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
 
416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf
 
Interace Utilisateur.pdf
Interace Utilisateur.pdfInterace Utilisateur.pdf
Interace Utilisateur.pdf
 
Firebase.pdf
Firebase.pdfFirebase.pdf
Firebase.pdf
 
Bases de données sous Android.pdf
Bases de données sous Android.pdfBases de données sous Android.pdf
Bases de données sous Android.pdf
 
Les Activités.pdf
Les Activités.pdfLes Activités.pdf
Les Activités.pdf
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdf
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdf
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdf
 
016834638650_suitechap1.pptx
016834638650_suitechap1.pptx016834638650_suitechap1.pptx
016834638650_suitechap1.pptx
 
PHP_intro.pdf
PHP_intro.pdfPHP_intro.pdf
PHP_intro.pdf
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdf
 
chapitre-2.pptx.pdf
chapitre-2.pptx.pdfchapitre-2.pptx.pdf
chapitre-2.pptx.pdf
 

110-definition.pdf

  • 1. 110 Définition et rôles INF3173 Principes des systèmes d’exploitation Jean Privat Université du Québec à Montréal Hiver 2021 Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 1 / 31
  • 2. Plan 1 Définition des systèmes d’exploitation 2 Rôles d’un système d’exploitation 3 Bibliothèques et démons Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 2 / 31
  • 3. Définition des systèmes d’exploitation Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 3 / 31
  • 4. Définition des systèmes d’exploitation Questions essentielles • C’est quoi ? • À quoi ça sert ? • Comment c’est fait ? Problèmes • Pas de définition formelle parfaite • Pas de liste précise des rôles, des tâches ou des composantes → Ça évolue en fonction des besoins et des ressources Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 4 / 31
  • 5. Tentative de définition Un système d’exploitation est une couche logicielle qui sert d’intermédiaire entre les utilisateurs et les ressources matérielles de l’ordinateur et qui offre un environnement d’exécution aux programmes qui se veut efficace, robuste et utilisable. Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 5 / 31
  • 6. Composantes d’un ordinateur Grossièrement, un ordinateur comporte… Du « matériel » Processeur, mémoire, disques, périphériques, etc. Un « système d’exploitation » Qui semble (un mal) nécessaire pour • Configurer le matériel • Installer et exécuter des applications Exemples: Windows, Debian, MacOS, Android Des « programmes d’application » Les vrais logiciels utiles à l’utilisateur Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 6 / 31
  • 7. Système d’exploitation : deux points de vue Clé en main (avec programmes système) • C’est le point de vue grand public • Inclut toute sorte de programmes : shells, interfaces graphiques, utilitaires de base, outils de configuration, etc. Espace disque recommandé pour une installation normale • Debian 10 ≈ 10Go d’espace disque • Windows 10 ≈ 32Go d’espace disque Noyau seul • C’est le point de vue du cours • Seulement la couche logicielle toujours en cours d’exécution • Exemple: Linux (qui servira d’exemple dans le cours) • Espace disque: Debian linux-image-5.7.0-2-amd64 ≈ 300 Mo Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 7 / 31
  • 8. Composantes d’un ordinateur : vision de l’utilisateur Système bancaire Montage vidéo Navigateur web Compilateur Éditeur de textes Interprète de commandes Système d’exploitation (noyau) Dispositifs physiques Programmes d’application Logiciels systèmes Matériel Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 8 / 31
  • 9. Composantes d’un ordinateur : notre vision Système bancaire Montage vidéo Navigateur web Compilateur Éditeur de textes Interprète de commande Système d’exploitation (noyau) Matériel Vision du SE = notre vision • Une seule catégorie de programmes • Pas d’accès direct entre les programmes et le matériel Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 9 / 31
  • 10. Composantes d’un système d’exploitation Qu’a-t-on le droit de mettre dans un système d’exploitation ? 1998 Microsoft face à la justice américaine • Abus de position dominante à cause des restrictions empêchant la désinstallation d’Internet Explorer. • Source Wikipedia 2020 Microsoft Edge impossible à désinstaller • Source Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 10 / 31
  • 11. Rôles d’un système d’exploitation Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 11 / 31
  • 12. SE = Couche d’abstraction Abstrait la machine • Cache certains détails que l’utilisateur n’a pas à connaître pour exploiter la machine • Présente à l’utilisateur une machine virtuelle facile à utiliser et à programmer • Offre toute sorte de services abstraits: gestion des fichiers, communication entre programmes, etc. Connaît • Connaît les détails internes intimes de la machine • Utilise les services concrets (matériels) de la machine Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 12 / 31
  • 13. SE = Couche d’abstraction Matériel Système d’exploitation Applications demandes de services abstraits demandes de services concrets Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 13 / 31
  • 14. SE = Couche d’abstraction Pour les applications ? • Pas besoin d’être spécifique à chaque matériel possible → Y compris du matériel qui n’existe pas encore • Mais peuvent devenir spécifique à un système d’exploitation → Développer des applications portables entre différents systèmes d’exploitation est plus difficile Pour les matériels ? • Développement de pilotes (driver) spécifiques au système d’exploitation • Mais tous les systèmes d’exploitation sont pas égaux → Version de système d’exploitation non maintenu, matériel discontinué, effort de développement non rentable On y reviendra Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 14 / 31
  • 15. SE = Couche d’abstraction Source de Linux v5.7 $ du -sh * | sort -hr | head 626M drivers 134M arch 50M Documentation 45M include 42M fs 40M sound 39M tools 33M net 10M kernel 5,9M lib Plus de 70% du code source dans drivers et arch. Question. Expliquer la commande Unix Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 15 / 31
  • 16. Jouer à Doom sur PC dans les années 90 • DOS n’offrait pas d’abstraction pour les cartes son • Chaque jeu vidéo devait gérer entièrement un ensemble fixé de cartes sons • L’utilisateur voyait des détails matériels: IRQ, DMA, etc. Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 16 / 31
  • 17. SE = Gestionnaire de ressources Répartir efficacement les ressources limitées • Temps CPU • Mémoire • Périphérique (ex. disques, réseau, imprimante, webcam, etc.) → Quelles politiques adopter ? → Quels mécanismes mettre en œuvre ? Faire cohabiter pacifiquement plusieurs processus et utilisateurs (et matériels) • Protection mémoire • Gestion des droits • Respect des répartitions des ressources → Comment imposer ça ? Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 17 / 31
  • 18. Gestion des processus • Création et destruction des processus • Décider de l’attribution processeur aux processus • Suspendre et continuer les processus • Permettre la synchronisation et la communication des processus Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 18 / 31
  • 19. Gestion de la mémoire • Répartir la mémoire entre les processus • Gérer l’espace libre et les demandes de mémoire • Décider du passage en mémoire distante Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 19 / 31
  • 20. Gestion des fichiers • Création, manipulation et destruction des fichiers et répertoires • Gestion de l’espace disque libre • Gestion des droits Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 20 / 31
  • 21. Gestion des périphériques • Gestion de la mémoire, cache, tampons, IRQ, DMA • Pilotes spécifiques • Gestion de l’énergie (batterie) • Répartition des ressources entre processus (bande passante disque, réseau, etc.) Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 21 / 31
  • 22. Bibliothèques et démons Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 22 / 31
  • 23. Exclusivité du SE ? Besoins • Abstraire du matériel • Offrir des services • Gérer des ressources Des approches existent déjà • Bibliothèques logicielles • Services, démons, serveurs Qu’est-ce qui rend les systèmes d’exploitation différents ? Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 23 / 31
  • 24. Bibliothèques logicielles C’est quoi? Composantes logicielles prêtes à l’usage par des programmes • Exemple: bibliothèque cryptographique • Compilées ou non, statiques ou dynamiques (.so, .dll) • Offrent une interface abstraite aux programmes (API/ABI) Avantages • Permet de factoriser du bon comportement • Mise à jour indépendante des bibliothèques dynamiques partagées Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 24 / 31
  • 25. Services, démons, serveurs C’est quoi? Processus s’exécutant en arrière-plan qui répondent à des requêtes • Servent aussi à gérer l’activité de périphériques • Exemple: serveur d’impression • Offrent des services abstraits via des mécanismes de communication entre processus Avantages • Permet de sous-traiter du bon comportement • Mise à jour indépendante des logiciels Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 25 / 31
  • 26. Exclusivité du SE Qu’est-ce qui rend les systèmes d’exploitation différents ? Les privilèges Le système d’exploitation a le monopole de privilèges exclusifs • Tout accès au matériel passe nécessairement par lui • Toute allocation de ressource à un logiciel sera respectée → Sauf, bien sûr, si le système d’exploitation autorise des formes de contournement En pratique Bibliothèques et services vont souvent encapsuler des services système pour harmoniser, simplifier (ou complexifier) les choses • En informatique, on aime résoudre les problèmes en ajoutant un nouveau niveau d’abstraction Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 26 / 31
  • 27. Exemple: le son 1 Un jeu vidéo a besoin de son 2 Il utilise la bibliothèque libsdl 3 libsdl expose une API portable entre différents systèmes 4 libsdl peut utiliser libpulse pour jouer les sons 5 libpulse simplifie la communication avec pulseaudio 6 via des services systèmes d’IPC (interprocess communication) 7 pulseaudio est un serveur de son (démon) qui gère la configuration complexe des éléments audio de l’ordinateur 8 pulseaudio utilise la bibliothèque libasound2 9 qui simplifie l’utilisation des services de son de Linux 10 cela via des services système dédiés 11 ALSA (Advanced Linux Sound Architecture) est un morceau (sous-système) du noyau Linux 12 qui peut accéder à la carte son Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 27 / 31
  • 28. 1. jeu 3. libsdl 5. libpulse 7. pulseaudio 9. libasound2 Linux 11. ALSA 12. carte son 2 4 8 6 10 Version simplifiée sans la libc ni libdl. Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 28 / 31
  • 29. Exemple: le son Le système d’exploitation isole les processus Un processus ne peut agir directement • sur un périphérique • sur un autre processus → il doit passer par le système d’exploitation Questions Un processus pourrait-il… • Utiliser directement libpulse sans passer par libsdl ? • Faire de l’IPC directement avec pulseaudio sans passer par libpulse ? • Communiquer directement avec pulseaudio sans passer par des services du noyau d’IPC ? • Utiliser les services noyau d’ASLA sans passer libasound2 ? • Agir sur la carte son sans passer par des services du noyau ? Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 29 / 31
  • 30. Analogie : Le SE est le gouvernement de l’ordinateur Il ne sert à rien en soi • Pas directement utile à l’utilisateur Il permet la cohabitation pacifique entre • Les différents programmes • les différents utilisateurs • les différents matériels Il possède les capacités d’imposer cette cohabitation • Il a le monopole de privilèges particuliers Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 30 / 31
  • 31. Mécanismes et politiques Reste une question : comment on fait ça ? • Mécanismes : quels sont les moyens à mettre en oeuvre • Politiques : quelles sont les règles à appliquer Séparer les deux questions permet plus de souplesse • D’une part fournir des mécanismes de base • D’autre part concevoir → il est possible d’adapter les politiques sans devoir tout refaire Philosophie Unix Le plus souvent: • Le noyau → Expose des mécanismes simples ou élémentaires • Les programmes et les administrateurs système → Définissent des politiques → Les implémentent à l’aide des mécanismes Jean Privat (UQAM) 110 Définition et rôles INF3173 Hiver 2021 31 / 31