Systèmes
d'exploitation
Introduction
L’equipe
• Cours:
– Alexandru Radovici
• TP & Devoir:
– Alexandru Radovici
– Cristiana Andrei
• 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
Deux parcours
SdE 2 - Normal
• Matériel
– micro:bit v2
• Programmation
– Programmation en Java
– POO
– Pointeurs
• Langage utilisée
– Rust
• Note maximale
– 10
SdE 2 - simplifiée
• Matériel
– micro:bit v2 (simulateur)
• Programmation
– Programmation minimale en
Java
• Langage utilisée
– Blocks et Python
• Note maximale
– 7
5
Apres le premier TP
Teodora MIU
Andrei RADU
Amalia SIMION
Mihai NEAGU
Catalin PATRASCU
Eren IBRAIM
Vlad NECULAI
Ana LASCU
Liza BATCHE
Amir AL SAKBAN
Alexandra NEGOITA
Catinca RIOSANU
Alexandru CHINGARU
Alexandra LIFERI
6
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/
7
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
8
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
9
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
10
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
11
Vous saurez
12
Linux
Tock
MS DOS
Examen
• Semestre
– 6 devoirs (8p)
• Session d’examen
– épreuve écrite (6p)
• Note
– > 5 passer
* l'utilisation de matériel est nécessaire
13
Règles
• Vous n'avez pas de devoirs copiés
• Vous avez au moins 11 présences au TP
14
Hall of Fame
Student Student
Student Student Student Student
Student Student Student Student
Student Student
15
Informatique
16
Outils logiciels recommandés
17
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
18
Contenu
• Quelques mots sur SdE
• Introduction en Systèmes
d'exploitation
• Sujets
19
Bibliographie pour aujourd'hui
• Modern Operating Systems
– Chapitre 1
• Operating Systems Concepts
– Chapitre 1
20
Système Informatique
21
Système Informatique
22
MATERIEL
23
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)
24
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
25
Carte micro:bit v2
26
Carte micro:bit v2
27
PC
28
PC
29
PILE DE PROGRAMMES
Exemples pour la carte de développement Micro:bit
30
Bare Metal
31
Cadre (framework)
32
Système d’exploitation
33
SYSTEME D’EXPLOITATION
34
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)
35
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
36
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)
37
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”
38
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)
39
Autres SE
40
Zephyr
• Open source
• Linux en miniature
• pour les dispositifs
• Binaire unique
• Lancé en 2016
• zephyrproject.org
41
Tock
• Open source
• Mini système
• pour les dispositifs
• développé à Rust
• Lancé en 2016
• www.tockos.org
42
STRUCTURE DE SE
43
La pile de systèmes informatiques
Noyau (kernel)
Programmes de base, bibliothèques de bas niveau
Les bibliothèques
Applications
Mode superviseur
Mode utilisateur
44
La structure de SE (monolithique)
OSCE, fig. 2.13, pg. 69 45
SE monolithique vs. SE micronoyau
https://en.wikipedia.org/wiki/Microkernel
46
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)
47
MS DOS
48
Tock
49
Linux
50
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
51
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
52
Questions
53

SdE2 - Introduction

  • 1.
  • 2.
    L’equipe • Cours: – AlexandruRadovici • TP & Devoir: – Alexandru Radovici – Cristiana Andrei • 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.
    Deux parcours SdE 2- Normal • Matériel – micro:bit v2 • Programmation – Programmation en Java – POO – Pointeurs • Langage utilisée – Rust • Note maximale – 10 SdE 2 - simplifiée • Matériel – micro:bit v2 (simulateur) • Programmation – Programmation minimale en Java • Langage utilisée – Blocks et Python • Note maximale – 7 5
  • 6.
    Apres le premierTP Teodora MIU Andrei RADU Amalia SIMION Mihai NEAGU Catalin PATRASCU Eren IBRAIM Vlad NECULAI Ana LASCU Liza BATCHE Amir AL SAKBAN Alexandra NEGOITA Catinca RIOSANU Alexandru CHINGARU Alexandra LIFERI 6
  • 7.
    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/ 7
  • 8.
    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 8
  • 9.
    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 9
  • 10.
    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 10
  • 11.
    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 11
  • 12.
  • 13.
    Examen • Semestre – 6devoirs (8p) • Session d’examen – épreuve écrite (6p) • Note – > 5 passer * l'utilisation de matériel est nécessaire 13
  • 14.
    Règles • Vous n'avezpas de devoirs copiés • Vous avez au moins 11 présences au TP 14
  • 15.
    Hall of Fame StudentStudent Student Student Student Student Student Student Student Student Student Student 15
  • 16.
  • 17.
    Outils logiciels recommandés 17 VisualStudio Code VirtualBox Ubuntu Linux Windows 10 Windows Subsystem for Linux Chrome ou Edge
  • 18.
    Andrew S. Tanenbaum •Américain • Physicien • Livre de SdE • Minix OS – Mini-OS – Intel Management Engine 18
  • 19.
    Contenu • Quelques motssur SdE • Introduction en Systèmes d'exploitation • Sujets 19
  • 20.
    Bibliographie pour aujourd'hui •Modern Operating Systems – Chapitre 1 • Operating Systems Concepts – Chapitre 1 20
  • 21.
  • 22.
  • 23.
  • 24.
    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) 24
  • 25.
    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 25
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
    PILE DE PROGRAMMES Exemplespour la carte de développement Micro:bit 30
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
    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) 35
  • 36.
    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 36
  • 37.
    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) 37
  • 38.
    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” 38
  • 39.
    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) 39
  • 40.
  • 41.
    Zephyr • Open source •Linux en miniature • pour les dispositifs • Binaire unique • Lancé en 2016 • zephyrproject.org 41
  • 42.
    Tock • Open source •Mini système • pour les dispositifs • développé à Rust • Lancé en 2016 • www.tockos.org 42
  • 43.
  • 44.
    La pile desystèmes informatiques Noyau (kernel) Programmes de base, bibliothèques de bas niveau Les bibliothèques Applications Mode superviseur Mode utilisateur 44
  • 45.
    La structure deSE (monolithique) OSCE, fig. 2.13, pg. 69 45
  • 46.
    SE monolithique vs.SE micronoyau https://en.wikipedia.org/wiki/Microkernel 46
  • 47.
    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) 47
  • 48.
  • 49.
  • 50.
  • 51.
    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 51
  • 52.
    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 52
  • 53.