Systèmes
d'exploitation
Introduction
L’equipe
• Cours:
– Alexandru Radovici
• TP:
– Ioana Culic
• Devoir:
– Alexandru Vochescu
– Ioana Culic
• Ressources
– Răzvan Deaconescu, Mihai Carabaș et l’équipe USO et SO
de ACS
2
Règles du cours
• Nous vous conseillons de venir au cours
• Si vous venez en classe, vous devez respecter
ces règles
– démarrez votre caméra vidéo pendant toute la
durée du cours (sauf les pauses)
– soyez attentif et posez le plus de questions
possible
3
Les courses de systèmes
SdE
SdE 2
AO
4
LP SDA
FPGA
MCU
AM
Bibliographie
Andrew Tanenbaum, Modern Operating Systems, 2nd Edition
A. Silberschatz, P. Baer Galvin, G. Gagne, Operating Systems Concepts,
9th Edition
Nicholas H.Tollervey, Programming withMicroPython, O’Reilly, 2017
Simon Monk, Programming the BBC micro:bit: Getting Started with
MicroPython, 1st edition
Steve Klabnic, Carol Nichols, The Rust Programming Language,
https://doc.rust-lang.org/book/
5
Ressources pour le cours SdE2
• Site web: http://ocw.cs.pub.ro/courses/sde2/
• GitHub issues: https://github.com/UPB-FILS-
SdE2/questions/issues
• Diapositives de cours
• Catalogue et calendrier Google
• Les machines virtuelles
• La bibliographie
6
Vous avez besoin
• Une carte micro:bit v2
• Linux
– Windows Subsystem for Linux
– Machine Virtuelle (VirtualBox, wmware)
• Compte sur Github
– nom real et photo real
7
Contenu
Cours
• 14 courses
• diapositives
• bibliographie
– Très important de lire
TP
• 12 TP
• Linux
• Programmation en Python
et MicroPython
• Programmation en Rust
• C’est important de
collabores avec votre
collègues
8
Devoirs
Contenu
• Linux
• Micro:bit mini shell
• SE DOS:bit
• Communication
Interprocessus
• Planificateur
Développent
• Linux ou Windows
Subsystem for Linux
• 8-20 heures pur une devoir
– Test des devoirs avec github
classroom
• Questions sur Github Issues
Les devoirs sont individuelles
9
Vous saurez
10
Linux
Tock
MS DOS
Examen
• Semestre
– 6 devoirs (8p)
– activité de TP* (2p)
• Session d’examen
– épreuve écrite (5p)
• Note
– > 5 passer
* l'utilisation de matériel est un plus
11
Matériel plus règles
• Vous n'avez pas de devoirs copiés
• Vous avez au moins 10 présences au TP
• L'activité de TP signifie
– rejoignez et restez avec la caméra vidéo démarrée
pendant tout le TP
– soumettez votre travail de TP à temps
– ne soyez pas en retard plus de 15 minutes
12
Hall of Fame
Student Student
Student Student Student Student
Student Student Student Student
Student Student
13
Informatique
14
Outils logiciels recommandés
15
Visual Studio Code
VirtualBox
Ubuntu Linux
Windows 10
Windows Subsystem for Linux
Chrome ou Edge
Andrew S. Tanenbaum
• Américain
• Physicien
• Livre de SdE
• Minix OS
– Mini-OS
– Intel Management
Engine
16
Contenu
• Quelques mots sur SdE
• Introduction en Systèmes
d'exploitation
• Sujets
17
Bibliographie pour aujourd'hui
• Modern Operating Systems
– Chapitre 1
• Operating Systems Concepts
– Chapitre 1
18
Système Informatique
19
Système Informatique
20
MATERIEL
21
Materiel
• Processeur (CPU)
– exécute le code (instructions)
• Mémoire du travail (RAM)
– mémorise les données et le code pour les programmes
• Bus des données
– fait la connexion entre le CPU, le RAM et les périphériques E/S
• Périphériques (entrée/sorties - E/S, input/output - I/O)
– communication avec l’extérieur: utilisateur, autres systèmes, etc.
• Espace de stockage (disque, flash, ROM, NVRAM)
– programmes (à partir de laquelle les processus seront faits)
– données pour les processus
– information pour les utilisateurs (fichiers)
22
Types de systèmes informatiques
Microcontrôleur
• Fréquence basse (MHz)
• Petit espace de stockage (Mo)
• RAM limitée (Ko)
• Faible consommation
d'énergie
• Pas cher
L'ordinateur
• Fréquence élevée (GHz)
• Grand espace de stockage
(dizaines de Go)
• Grande RAM (Go)
• Consommation d'énergie plus
élevée
• Chers
23
Carte micro:bit v2
24
Carte micro:bit v2
25
PC
26
PC
27
PILE DE PROGRAMMES
Exemples pour la carte de développement Micro:bit
28
Bare Metal
29
Cadre (framework)
30
Système d’exploitation
31
SYSTEME D’EXPLOITATION
32
Qu'est-ce qu’un SE?
• un programme
• vue de haut en bas: extension de la machine
physique
• vue de bas en haut: gestionnaire des
ressources physiques
• écrit en C ou Rust
• transparent pour l'utilisateur (il marche)
33
La structure de SE
• Noyau (kernel)
– gérer les ressources
physiques
– fournit une interface
standard pour les
applications
• Programmes de base
– fournit une interaction
utilisateur avec le noyau et
le matériel
– exemples: creation de
fichiers, access des donnes
sur la resaeu
34
Windows
• Microsoft
• le plus utilisé pour les
systèmes de bureau
• La version plus récente:
Windows 10 (pour PC,
tablettes et mobiles)
• Windows Server 2012
R2 (pour serveurs)
35
macOS
• Apple
• Seulement pour les
systèmes Mac (Mac Pro,
Mac Mini, MacBook)
• Approximative 9-10%
pour Desktop
• La version plus récente:
macOS 11 “Big Sur”
36
Linux
• Linus Torvalds et Greg
Kroah-Hartman (personnes
principales)
• open source
• distributions de Linux
• approximative 1-2% pour
Desktop
• Utilisé pour les serveurs
• Utilisé pour dispositifs
intégrée et mobiles
(Android et autres)
37
Autres SE
38
Zephyr
• Open source
• Linux en miniature
• pour les dispositifs
• Binaire unique
• Lancé en 2016
• zephyrproject.org
39
Tock
• Open source
• Mini système
• pour les dispositifs
• développé à Rust
• Lancé en 2016
• www.tockos.org
40
STRUCTURE DE SE
41
La pile de systèmes informatiques
Noyau (kernel)
Programmes de base, bibliothèques de bas niveau
Les bibliothèques
Applications
Mode superviseur
Mode utilisateur
42
La structure de SE (monolithique)
OSCE, fig. 2.13, pg. 69 43
SE monolithique vs. SE micronoyau
https://en.wikipedia.org/wiki/Microkernel
44
SE monolithique vs. SE micronoyau
Monolitique
• Efficient
• Communication par appel
de fonction entre les
components
• Moins flexible
• Grand TCB (Trusted
Computing Base) - design
moins sécurisé
Micronoyau
• est plus lent
(communication entre
services)
• plus modulaire
• Réduite TCB (design plus
sécurise)
45
MS DOS
46
TockOS
47
Linux
48
Ressources pour le cours SdE2
• Site web: http://ocw.cs.pub.ro/courses/sde2/
• GitHub issues: https://github.com/UPB-FILS-
SdE2/questions/issues
• Diapositives de cours
• Catalogue et calendrier Google
• Les machines virtuelles
• La bibliographie
49
Mot clés
• SE
• Noyau (kernel)
• Mode superviseur
• Mode utilisateur
• CPU
• Mémoire
• Bus de données
• Processus
• Mémoire virtuelle
• Espace utilisateur
• Espace noyau
• Appel de système
• Noyau monolithique
• Micronoyau
• Programmes de base
• Interface Utilisateur
50
Questions
51

SdE 2 - Introduction

  • 1.
  • 2.
    L’equipe • Cours: – AlexandruRadovici • TP: – Ioana Culic • Devoir: – Alexandru Vochescu – Ioana Culic • Ressources – Răzvan Deaconescu, Mihai Carabaș et l’équipe USO et SO de ACS 2
  • 3.
    Règles du cours •Nous vous conseillons de venir au cours • Si vous venez en classe, vous devez respecter ces règles – démarrez votre caméra vidéo pendant toute la durée du cours (sauf les pauses) – soyez attentif et posez le plus de questions possible 3
  • 4.
    Les courses desystèmes SdE SdE 2 AO 4 LP SDA FPGA MCU AM
  • 5.
    Bibliographie Andrew Tanenbaum, ModernOperating Systems, 2nd Edition A. Silberschatz, P. Baer Galvin, G. Gagne, Operating Systems Concepts, 9th Edition Nicholas H.Tollervey, Programming withMicroPython, O’Reilly, 2017 Simon Monk, Programming the BBC micro:bit: Getting Started with MicroPython, 1st edition Steve Klabnic, Carol Nichols, The Rust Programming Language, https://doc.rust-lang.org/book/ 5
  • 6.
    Ressources pour lecours SdE2 • Site web: http://ocw.cs.pub.ro/courses/sde2/ • GitHub issues: https://github.com/UPB-FILS- SdE2/questions/issues • Diapositives de cours • Catalogue et calendrier Google • Les machines virtuelles • La bibliographie 6
  • 7.
    Vous avez besoin •Une carte micro:bit v2 • Linux – Windows Subsystem for Linux – Machine Virtuelle (VirtualBox, wmware) • Compte sur Github – nom real et photo real 7
  • 8.
    Contenu Cours • 14 courses •diapositives • bibliographie – Très important de lire TP • 12 TP • Linux • Programmation en Python et MicroPython • Programmation en Rust • C’est important de collabores avec votre collègues 8
  • 9.
    Devoirs Contenu • Linux • Micro:bitmini shell • SE DOS:bit • Communication Interprocessus • Planificateur Développent • Linux ou Windows Subsystem for Linux • 8-20 heures pur une devoir – Test des devoirs avec github classroom • Questions sur Github Issues Les devoirs sont individuelles 9
  • 10.
  • 11.
    Examen • Semestre – 6devoirs (8p) – activité de TP* (2p) • Session d’examen – épreuve écrite (5p) • Note – > 5 passer * l'utilisation de matériel est un plus 11
  • 12.
    Matériel plus règles •Vous n'avez pas de devoirs copiés • Vous avez au moins 10 présences au TP • L'activité de TP signifie – rejoignez et restez avec la caméra vidéo démarrée pendant tout le TP – soumettez votre travail de TP à temps – ne soyez pas en retard plus de 15 minutes 12
  • 13.
    Hall of Fame StudentStudent Student Student Student Student Student Student Student Student Student Student 13
  • 14.
  • 15.
    Outils logiciels recommandés 15 VisualStudio Code VirtualBox Ubuntu Linux Windows 10 Windows Subsystem for Linux Chrome ou Edge
  • 16.
    Andrew S. Tanenbaum •Américain • Physicien • Livre de SdE • Minix OS – Mini-OS – Intel Management Engine 16
  • 17.
    Contenu • Quelques motssur SdE • Introduction en Systèmes d'exploitation • Sujets 17
  • 18.
    Bibliographie pour aujourd'hui •Modern Operating Systems – Chapitre 1 • Operating Systems Concepts – Chapitre 1 18
  • 19.
  • 20.
  • 21.
  • 22.
    Materiel • Processeur (CPU) –exécute le code (instructions) • Mémoire du travail (RAM) – mémorise les données et le code pour les programmes • Bus des données – fait la connexion entre le CPU, le RAM et les périphériques E/S • Périphériques (entrée/sorties - E/S, input/output - I/O) – communication avec l’extérieur: utilisateur, autres systèmes, etc. • Espace de stockage (disque, flash, ROM, NVRAM) – programmes (à partir de laquelle les processus seront faits) – données pour les processus – information pour les utilisateurs (fichiers) 22
  • 23.
    Types de systèmesinformatiques Microcontrôleur • Fréquence basse (MHz) • Petit espace de stockage (Mo) • RAM limitée (Ko) • Faible consommation d'énergie • Pas cher L'ordinateur • Fréquence élevée (GHz) • Grand espace de stockage (dizaines de Go) • Grande RAM (Go) • Consommation d'énergie plus élevée • Chers 23
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
    PILE DE PROGRAMMES Exemplespour la carte de développement Micro:bit 28
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
    Qu'est-ce qu’un SE? •un programme • vue de haut en bas: extension de la machine physique • vue de bas en haut: gestionnaire des ressources physiques • écrit en C ou Rust • transparent pour l'utilisateur (il marche) 33
  • 34.
    La structure deSE • Noyau (kernel) – gérer les ressources physiques – fournit une interface standard pour les applications • Programmes de base – fournit une interaction utilisateur avec le noyau et le matériel – exemples: creation de fichiers, access des donnes sur la resaeu 34
  • 35.
    Windows • Microsoft • leplus utilisé pour les systèmes de bureau • La version plus récente: Windows 10 (pour PC, tablettes et mobiles) • Windows Server 2012 R2 (pour serveurs) 35
  • 36.
    macOS • Apple • Seulementpour les systèmes Mac (Mac Pro, Mac Mini, MacBook) • Approximative 9-10% pour Desktop • La version plus récente: macOS 11 “Big Sur” 36
  • 37.
    Linux • Linus Torvaldset Greg Kroah-Hartman (personnes principales) • open source • distributions de Linux • approximative 1-2% pour Desktop • Utilisé pour les serveurs • Utilisé pour dispositifs intégrée et mobiles (Android et autres) 37
  • 38.
  • 39.
    Zephyr • Open source •Linux en miniature • pour les dispositifs • Binaire unique • Lancé en 2016 • zephyrproject.org 39
  • 40.
    Tock • Open source •Mini système • pour les dispositifs • développé à Rust • Lancé en 2016 • www.tockos.org 40
  • 41.
  • 42.
    La pile desystèmes informatiques Noyau (kernel) Programmes de base, bibliothèques de bas niveau Les bibliothèques Applications Mode superviseur Mode utilisateur 42
  • 43.
    La structure deSE (monolithique) OSCE, fig. 2.13, pg. 69 43
  • 44.
    SE monolithique vs.SE micronoyau https://en.wikipedia.org/wiki/Microkernel 44
  • 45.
    SE monolithique vs.SE micronoyau Monolitique • Efficient • Communication par appel de fonction entre les components • Moins flexible • Grand TCB (Trusted Computing Base) - design moins sécurisé Micronoyau • est plus lent (communication entre services) • plus modulaire • Réduite TCB (design plus sécurise) 45
  • 46.
  • 47.
  • 48.
  • 49.
    Ressources pour lecours SdE2 • Site web: http://ocw.cs.pub.ro/courses/sde2/ • GitHub issues: https://github.com/UPB-FILS- SdE2/questions/issues • Diapositives de cours • Catalogue et calendrier Google • Les machines virtuelles • La bibliographie 49
  • 50.
    Mot clés • SE •Noyau (kernel) • Mode superviseur • Mode utilisateur • CPU • Mémoire • Bus de données • Processus • Mémoire virtuelle • Espace utilisateur • Espace noyau • Appel de système • Noyau monolithique • Micronoyau • Programmes de base • Interface Utilisateur 50
  • 51.