SlideShare une entreprise Scribd logo
Systèmes
d'exploitation
Introduction
L’equipe
• Cours:
– Alexandru Radovici (ACS)
• TP:
– Iuliana Marin (FILS)
• Devoir:
– Răzvan Șerban (ACS)
– Ioana Culic (ACS)
• Ressources
– Răzvan Deaconescu, Mihai Carabaș et l’équipe USO et SO
de ACS
2
Les courses de systèmes
SdE 1
SdE 2
SO2 (a ACS)
Espace noyau
Espace utilisateur
API de SE
Utilisation de SE
3
Bibliographie
Andrew Tanenbaum, Modern Operating Systems,
2nd Edition
A. Silberschatz, P. Baer Galvin, G. Gagne, Operating
Systems Concepts, 9th Edition
Michael Kerrisk, The Linux Programming Interface,
Steve Summit, C Programming Notes, http://c-
faq.com/~scs/cclass/notes/
4
Ressources pour le cours SdE
• Site web: http://ocw.cs.pub.ro/courses/sde/
• GitHub issues: https://github.com/upb-
fils/sde/issues
• Diapositives de cours
• Catalogue et calendrier Google
• Les machines virtuelles
• vmchecker
• La documentation
5
Contenu
Cours
• 14 courses
• diapositives
• bibliographie
– Très important de lire
TP
• 12 TP
• Linux
• Programmation en Python
• C’est important de
collabores avec votre
collègues
6
POSIX API Linux
Devoirs
Contenu
• Linux
• Allocation de mémoire
• Python-busybox
• Mini-shell
• Serveur web
Développent
• Linux ou Windows
Subsystem for Linux
• 8-20 heures pur une devoir
– Test des devoirs avec
vmchecker
• Questions sur Github Issues
Les devoirs sont individuelles
7
Examen
• Semestre
– 5 devoirs (8p)
– activité de TP (2p)
• Session d’examen
– épreuve écrite (5p)
• Note
– > 5 passer
8
Hall of Fame
Student Student
Student Student Student Student
Student Student Student Student
Student Student
9
Informatique
10
Informatique
• Matériel
– AM, AO, SM
– Systèmes embarques, Robotique
• Systèmes d’exploitation (ABI)
– SdE 1, SdE 2, RIL
• Compilateurs (toolchain)
– ALF
• Applications
– LP, POO, SDA, IWP, MN, SGI, IHO, Infographie, MTDL, DAPM, GL,
ATI
• Systèmes distribues
– Web Sémantique
11
Connexions avec autres courses
Connaissances requises
• SdE 1
• LP
• SDA
• AM
Connaissances utiles pour
• ALF
• RIL
• Infographie
• SGI
• Systèmes embarques
• Robotique
• DAPM
12
Outils logiciels recommandés
13
Visual Studio Code VirtualBox
Ubuntu LinuxWindows 10
Windows Subsystem for Linux
Andrew S. Tanenbaum
• Américain
• Physicien
• Livre de SdE
• Minix OS
– Mini-OS
– Intel Management
Engine
14
Contenu
• Informatique
• Quelques mots sur SdE
• Introduction en Systèmes
d'exploitation
• Sujets
15
Bibliographie pour aujourd'hui
• Modern Operating Systems
– Chapitre 1
• Operating Systems Concepts
– Chapitre 1
16
Exemples de SEusagegénéral
Windows
Mac OS
Linux
FreeBSD,
OpenBSD
 Orbis OS
Dédiés
 IOS
(Cisco)
 JUNOS
(Juniper)
 FortiOS
(Fortinet)
Mobile
 iOS
 Android
17
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)
18
macOS
• Apple
• Seulement pour les
systèmes Mac (Mac Pro,
Mac Mini, MacBook)
• Approximative 9-10%
pour Desktop
• La version plus récente:
macOS 10.14 “Mojave”
19
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)
20
Autres SE
21
Processus de démarrage
Machine Boot
•x86: BIOS / UEFI
•ARM: Addressee de start
Bootloader
•x86: Lilo, GRUB2, Syslinux, NLDR, Windows Boot Manager
•ARM: U-Boot, Barebox
System d'exploitation
•Windows
•Linux
Interface Utilisateur (UI/GUI)
•Windows: Windows Explorer - explorer.exe
•Linux: XFCE, GNOME, KDE, ...
22
Qu'est-ce qu’un SE?
OSCE, fig. 1.1, pg. 4 23
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
• transparent pour l'utilisateur (il marche)
24
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
25
Système d'ordinateur
• Système physique (matériel) + système
d’exploitation et applications
• Les programmes pour écrier et compiler des
programmes (toolchain)
• Interconnexion avec autres systèmes
• Ordinateurs personales, serveurs et systèmes
embarques IoT (Internet of Things)
26
MATERIEL
27
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)
28
Processeur et mémoire
OSCE, fig. 1.7, pg. 16
29
Magistrale
https://en.wikipedia.org/wiki/Bus_%28computing%29
30
Example
31
Mémoire
OSCE, fig. 1.11, pg. 28
32
SYSTEME D’EXPLOITATION
33
Shell
• Interface entre l’utlisateur et le systeme
d’exploitation
• CLI ou GUI
• PowerShell / Bash vs. Windows Explorer /
GNOME / KDE
• un processus qui permet de démarrer d'autres
processus
– “shell spawns a process”
34
Les processus
• sont créés à partir d'un programme exécutable
• un programme en cours d'exécution
– l'idee de runtime
• données et code en mémoire, execute par le CPU
• a des ressources associées: espace d'adressage
mémoire, fichiers ouverts, sockets
• SE offre protection et communication entre les
processus
• certains systèmes offrent des hiérarchies de
processus
35
La mémoire d’un processus
https://en.wikipedia.org/wiki/Virtual_address_space
36
Memorie virtuelle
• un processus voir un espace mémoire virtuel (l'espace
mémoire n'existe pas réellement)
– Le processus pense que toute la mémoire lui
appartient
• La mémoire matérielle est différente de la mémoire de
processus
• Les processus utilisent des adresses de mémoire virtuelle
• La mémoire matérielle utilise des adresses de
mémoire physique
• Le SE associe la mémoire physique à la mémoire virtuelle
37
Fils d’execution
• un processus peut avoir plusieurs des fils
d’exécution
• les fils d’exécution partagent l'espace
d'adressage de la mémoire virtuelle
• autoriser un processus à effectuer plusieurs
tâches avec les mêmes données
• permet l'utilisation de matériel
multiprocesseur
38
Accès simultané et synchronisation
• les threads et les processus peuvent entrer en
concurrence pour accéder aux mêmes
ressources (données dans la mémoire)
• les accès simultanés peuvent entraîner une
corruption des données ou des blocages
• la synchronisation permet un accès
réglementé et conséquent aux ressources
39
Modes d'exécution
• Le processeur a deux modes d'exécution
• Mode superviseur
– Actions privilégiées
– C'est le mode utilisé par le SE pour s'exécuter
• Mode utilisateur
– L'accès direct au matériel n'est pas autorisé
– L'espace adresse mémoire ne peut pas être modifié
– C'est le mode utilisé pour les applications
• Le noyau este le intermédiaire pour:
– l'accès des processus au matériel
– l'accès des processus aux ressources
• Appel système
– la transition du mode utilisateur au mode noyau
40
Appel système
OSCE, fig. 1.10, pg. 22
41
Appels système
OSCE, fig. 2.6, pg. 56 42
Fichiers
• Unité de stockage (du point de vue du
programme)
• Ouvert et utilisé par les processus
• Fichier sur le disque (statique) et fichier ouvert
(dynamique, dans un processus)
– Fichier sur le disque: nom, dimension, droits,
horodatage
• Fichier ouvert: poignée de fichier, curseur de
fichier, droits d’ouverture, accès au fichier
43
STRUCTURE DE SE
44
La pile de systèmes informatiques
Noyau (kernel)
Programmes de base, bibliothèques de bas niveau
Les bibliothèques
Applications
Mode superviseur
Mode utilisateur
45
Noyau (kernel)
• Est le Systeme d’Exploitation
– Windows (WindowsNT) ntoskrnl.exe
– GNU/Linux et Android Linux Kernel
– Mac OS X et iOS: XNU
• chargé au démarrage, il lance le premier(s)
programme
• fournit des appels système
• gère les ressources matérielles
• sécurise l'intégrité du système
46
La structure de SE (monolithique)
OSCE, fig. 2.13, pg. 69 47
SE monolithique vs. SE micronoyau
https://en.wikipedia.org/wiki/Microkernel
48
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)
49
Machines virtuelles
OSCE, fig. 2.17, pg. 74 50
Windows
51
Linux
52
Minix 3
53
FreeRTOS
54
TockOS
55
Ressources pour le cours SdE
• Site web: http://ocw.cs.pub.ro/courses/sde/
• GitHub issues: https://github.com/upb-
fils/sde/issues
• Diapositives de cours
• Catalogue et calendrier Google
• Les machines virtuelles
• vmchecker
• La documentation
56
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
57
Questions
58

Contenu connexe

Tendances

SdE 10 - Threads
SdE 10 - ThreadsSdE 10 - Threads
SdE 10 - Threads
Alexandru Radovici
 
SdE 4 - Processus
SdE 4 - ProcessusSdE 4 - Processus
SdE 4 - Processus
Alexandru Radovici
 
SdE 3 - System de fichiers
SdE 3 - System de fichiersSdE 3 - System de fichiers
SdE 3 - System de fichiers
Alexandru Radovici
 
SdE 2 - System de fichiers
SdE 2 - System de fichiersSdE 2 - System de fichiers
SdE 2 - System de fichiers
Alexandru Radovici
 
SdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortieSdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortie
Alexandru Radovici
 
SdE 5 - Planification
SdE 5 - PlanificationSdE 5 - Planification
SdE 5 - Planification
Alexandru Radovici
 
SdE 9 - Threads
SdE 9 - ThreadsSdE 9 - Threads
SdE 9 - Threads
Alexandru Radovici
 
SdE 8 - Memoire Virtuelle
SdE 8 - Memoire VirtuelleSdE 8 - Memoire Virtuelle
SdE 8 - Memoire Virtuelle
Alexandru Radovici
 
SdE 7 - Gestion de la Mémoire
SdE 7 - Gestion de la MémoireSdE 7 - Gestion de la Mémoire
SdE 7 - Gestion de la Mémoire
Alexandru Radovici
 
SdE 4: Processus
SdE 4: ProcessusSdE 4: Processus
SdE 4: Processus
Alexandru Radovici
 
SdE 7 - Memoire Virtuelle
SdE 7 - Memoire VirtuelleSdE 7 - Memoire Virtuelle
SdE 7 - Memoire Virtuelle
Alexandru Radovici
 
SdE 6 - Planification
SdE 6 - PlanificationSdE 6 - Planification
SdE 6 - Planification
Alexandru Radovici
 
SdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoireSdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoire
Alexandru Radovici
 
SdE 2 - Introduction
SdE 2 - IntroductionSdE 2 - Introduction
SdE 2 - Introduction
Alexandru Radovici
 
SdE2 - Introduction
SdE2 - IntroductionSdE2 - Introduction
SdE2 - Introduction
Alexandru Radovici
 
Présentation unix linux
Présentation unix linuxPrésentation unix linux
Présentation unix linux
Emmanuel Florac
 
Initiation Linux
Initiation LinuxInitiation Linux
Initiation Linux
Amaury Khelifi
 
Présentation Unix/Linux (mise à jour 2016)
Présentation Unix/Linux (mise à jour 2016)Présentation Unix/Linux (mise à jour 2016)
Présentation Unix/Linux (mise à jour 2016)
Emmanuel Florac
 
ALF1 - Introduction
ALF1 - IntroductionALF1 - Introduction
ALF1 - Introduction
Alexandru Radovici
 
ALF - Introduction
ALF - IntroductionALF - Introduction
ALF - Introduction
Alexandru Radovici
 

Tendances (20)

SdE 10 - Threads
SdE 10 - ThreadsSdE 10 - Threads
SdE 10 - Threads
 
SdE 4 - Processus
SdE 4 - ProcessusSdE 4 - Processus
SdE 4 - Processus
 
SdE 3 - System de fichiers
SdE 3 - System de fichiersSdE 3 - System de fichiers
SdE 3 - System de fichiers
 
SdE 2 - System de fichiers
SdE 2 - System de fichiersSdE 2 - System de fichiers
SdE 2 - System de fichiers
 
SdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortieSdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortie
 
SdE 5 - Planification
SdE 5 - PlanificationSdE 5 - Planification
SdE 5 - Planification
 
SdE 9 - Threads
SdE 9 - ThreadsSdE 9 - Threads
SdE 9 - Threads
 
SdE 8 - Memoire Virtuelle
SdE 8 - Memoire VirtuelleSdE 8 - Memoire Virtuelle
SdE 8 - Memoire Virtuelle
 
SdE 7 - Gestion de la Mémoire
SdE 7 - Gestion de la MémoireSdE 7 - Gestion de la Mémoire
SdE 7 - Gestion de la Mémoire
 
SdE 4: Processus
SdE 4: ProcessusSdE 4: Processus
SdE 4: Processus
 
SdE 7 - Memoire Virtuelle
SdE 7 - Memoire VirtuelleSdE 7 - Memoire Virtuelle
SdE 7 - Memoire Virtuelle
 
SdE 6 - Planification
SdE 6 - PlanificationSdE 6 - Planification
SdE 6 - Planification
 
SdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoireSdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoire
 
SdE 2 - Introduction
SdE 2 - IntroductionSdE 2 - Introduction
SdE 2 - Introduction
 
SdE2 - Introduction
SdE2 - IntroductionSdE2 - Introduction
SdE2 - Introduction
 
Présentation unix linux
Présentation unix linuxPrésentation unix linux
Présentation unix linux
 
Initiation Linux
Initiation LinuxInitiation Linux
Initiation Linux
 
Présentation Unix/Linux (mise à jour 2016)
Présentation Unix/Linux (mise à jour 2016)Présentation Unix/Linux (mise à jour 2016)
Présentation Unix/Linux (mise à jour 2016)
 
ALF1 - Introduction
ALF1 - IntroductionALF1 - Introduction
ALF1 - Introduction
 
ALF - Introduction
ALF - IntroductionALF - Introduction
ALF - Introduction
 

Similaire à SdE 1 - Introduction

chapitre0.pptx
chapitre0.pptxchapitre0.pptx
chapitre0.pptx
BenFradjHajer1
 
1514117367383.pptx
1514117367383.pptx1514117367383.pptx
1514117367383.pptx
BenFradjHajer1
 
1514117367383.pptx
1514117367383.pptx1514117367383.pptx
1514117367383.pptx
MahdiHERMASSI1
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt
DenisKouakou1
 
Cours système d’exploitation S1 - IG IPSET.pdf
Cours système d’exploitation S1 - IG IPSET.pdfCours système d’exploitation S1 - IG IPSET.pdf
Cours système d’exploitation S1 - IG IPSET.pdf
MedBechir
 
System d\'exploitation
System d\'exploitationSystem d\'exploitation
System d\'exploitation
Thắng Thao
 
Diapositive du système d'exploitation-2-1.pdf
Diapositive du  système d'exploitation-2-1.pdfDiapositive du  système d'exploitation-2-1.pdf
Diapositive du système d'exploitation-2-1.pdf
DannyMukoka
 
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
MedBechir
 
Lin08 formation-linux-debian-administration
Lin08 formation-linux-debian-administrationLin08 formation-linux-debian-administration
Lin08 formation-linux-debian-administration
CERTyou Formation
 
Cours Linux , bases de l'administration linux
Cours Linux , bases de l'administration linuxCours Linux , bases de l'administration linux
Cours Linux , bases de l'administration linux
AdiliKarim
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
MedBechir
 
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdfCours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
MedBechir
 
cours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdfcours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdf
Souha Bennani
 
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
 
Cours_OS 1.pptx
Cours_OS 1.pptxCours_OS 1.pptx
Cours_OS 1.pptx
SahbiKraiem1
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
Sana Aroussi
 
Formation Informatique base et généralités
Formation Informatique base et généralitésFormation Informatique base et généralités
Formation Informatique base et généralités
Sinovatia
 
Embarquer Linux et des systèmes libres, méthodes et apports
Embarquer Linux et des systèmes libres, méthodes et apportsEmbarquer Linux et des systèmes libres, méthodes et apports
Embarquer Linux et des systèmes libres, méthodes et apports
guest3be047
 
Cours système d’exploitation partie1
Cours système d’exploitation partie1Cours système d’exploitation partie1
Cours système d’exploitation partie1
manou2008
 
Admin bd chapitre1_architecturebd_oracle
Admin bd chapitre1_architecturebd_oracleAdmin bd chapitre1_architecturebd_oracle
Admin bd chapitre1_architecturebd_oracle
IsimmSpotted
 

Similaire à SdE 1 - Introduction (20)

chapitre0.pptx
chapitre0.pptxchapitre0.pptx
chapitre0.pptx
 
1514117367383.pptx
1514117367383.pptx1514117367383.pptx
1514117367383.pptx
 
1514117367383.pptx
1514117367383.pptx1514117367383.pptx
1514117367383.pptx
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt
 
Cours système d’exploitation S1 - IG IPSET.pdf
Cours système d’exploitation S1 - IG IPSET.pdfCours système d’exploitation S1 - IG IPSET.pdf
Cours système d’exploitation S1 - IG IPSET.pdf
 
System d\'exploitation
System d\'exploitationSystem d\'exploitation
System d\'exploitation
 
Diapositive du système d'exploitation-2-1.pdf
Diapositive du  système d'exploitation-2-1.pdfDiapositive du  système d'exploitation-2-1.pdf
Diapositive du système d'exploitation-2-1.pdf
 
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
 
Lin08 formation-linux-debian-administration
Lin08 formation-linux-debian-administrationLin08 formation-linux-debian-administration
Lin08 formation-linux-debian-administration
 
Cours Linux , bases de l'administration linux
Cours Linux , bases de l'administration linuxCours Linux , bases de l'administration linux
Cours Linux , bases de l'administration linux
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdfCours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
 
cours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdfcours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.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é
 
Cours_OS 1.pptx
Cours_OS 1.pptxCours_OS 1.pptx
Cours_OS 1.pptx
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
Formation Informatique base et généralités
Formation Informatique base et généralitésFormation Informatique base et généralités
Formation Informatique base et généralités
 
Embarquer Linux et des systèmes libres, méthodes et apports
Embarquer Linux et des systèmes libres, méthodes et apportsEmbarquer Linux et des systèmes libres, méthodes et apports
Embarquer Linux et des systèmes libres, méthodes et apports
 
Cours système d’exploitation partie1
Cours système d’exploitation partie1Cours système d’exploitation partie1
Cours système d’exploitation partie1
 
Admin bd chapitre1_architecturebd_oracle
Admin bd chapitre1_architecturebd_oracleAdmin bd chapitre1_architecturebd_oracle
Admin bd chapitre1_architecturebd_oracle
 

Plus de Alexandru Radovici

SdE2 - Pilot Tock
SdE2 - Pilot TockSdE2 - Pilot Tock
SdE2 - Pilot Tock
Alexandru Radovici
 
SdE2 - Systèmes embarquées
SdE2 - Systèmes embarquéesSdE2 - Systèmes embarquées
SdE2 - Systèmes embarquées
Alexandru Radovici
 
SdE2 - Planification, IPC
SdE2 - Planification, IPCSdE2 - Planification, IPC
SdE2 - Planification, IPC
Alexandru Radovici
 
MDAD 6 - AIDL and Services
MDAD 6 - AIDL and ServicesMDAD 6 - AIDL and Services
MDAD 6 - AIDL and Services
Alexandru Radovici
 
MDAD 5 - Threads
MDAD 5 - ThreadsMDAD 5 - Threads
MDAD 5 - Threads
Alexandru Radovici
 
MDAD 4 - Lists, adapters and recycling
MDAD 4 - Lists, adapters and recyclingMDAD 4 - Lists, adapters and recycling
MDAD 4 - Lists, adapters and recycling
Alexandru Radovici
 
MDAD 3 - Basics of UI Applications
MDAD 3 - Basics of UI ApplicationsMDAD 3 - Basics of UI Applications
MDAD 3 - Basics of UI Applications
Alexandru Radovici
 
MDAD 2 - Introduction to the Android Framework
MDAD 2 - Introduction to the Android FrameworkMDAD 2 - Introduction to the Android Framework
MDAD 2 - Introduction to the Android Framework
Alexandru Radovici
 
MDAD 1 - Hardware
MDAD 1 - HardwareMDAD 1 - Hardware
MDAD 1 - Hardware
Alexandru Radovici
 
MDAD 0 - Introduction
MDAD 0 - IntroductionMDAD 0 - Introduction
MDAD 0 - Introduction
Alexandru Radovici
 
SdE 11 - Reseau
SdE 11 - ReseauSdE 11 - Reseau
SdE 11 - Reseau
Alexandru Radovici
 
SdE 8 - Synchronisation de execution
SdE 8 - Synchronisation de executionSdE 8 - Synchronisation de execution
SdE 8 - Synchronisation de execution
Alexandru Radovici
 
ALF 6 - Parser
ALF 6 - ParserALF 6 - Parser
ALF 6 - Parser
Alexandru Radovici
 
ALF 5 - Parser
ALF 5 - ParserALF 5 - Parser
ALF 5 - Parser
Alexandru Radovici
 
ALF 4 - Grammaires
ALF 4 - GrammairesALF 4 - Grammaires
ALF 4 - Grammaires
Alexandru Radovici
 
ALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et LexerALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et Lexer
Alexandru Radovici
 
ALF 1 - Automates finis
ALF 1 - Automates finis ALF 1 - Automates finis
ALF 1 - Automates finis
Alexandru Radovici
 
DAPM 1 - Introduction
DAPM 1 - IntroductionDAPM 1 - Introduction
DAPM 1 - Introduction
Alexandru Radovici
 
ALF 1 - Introduction
ALF 1 - IntroductionALF 1 - Introduction
ALF 1 - Introduction
Alexandru Radovici
 

Plus de Alexandru Radovici (19)

SdE2 - Pilot Tock
SdE2 - Pilot TockSdE2 - Pilot Tock
SdE2 - Pilot Tock
 
SdE2 - Systèmes embarquées
SdE2 - Systèmes embarquéesSdE2 - Systèmes embarquées
SdE2 - Systèmes embarquées
 
SdE2 - Planification, IPC
SdE2 - Planification, IPCSdE2 - Planification, IPC
SdE2 - Planification, IPC
 
MDAD 6 - AIDL and Services
MDAD 6 - AIDL and ServicesMDAD 6 - AIDL and Services
MDAD 6 - AIDL and Services
 
MDAD 5 - Threads
MDAD 5 - ThreadsMDAD 5 - Threads
MDAD 5 - Threads
 
MDAD 4 - Lists, adapters and recycling
MDAD 4 - Lists, adapters and recyclingMDAD 4 - Lists, adapters and recycling
MDAD 4 - Lists, adapters and recycling
 
MDAD 3 - Basics of UI Applications
MDAD 3 - Basics of UI ApplicationsMDAD 3 - Basics of UI Applications
MDAD 3 - Basics of UI Applications
 
MDAD 2 - Introduction to the Android Framework
MDAD 2 - Introduction to the Android FrameworkMDAD 2 - Introduction to the Android Framework
MDAD 2 - Introduction to the Android Framework
 
MDAD 1 - Hardware
MDAD 1 - HardwareMDAD 1 - Hardware
MDAD 1 - Hardware
 
MDAD 0 - Introduction
MDAD 0 - IntroductionMDAD 0 - Introduction
MDAD 0 - Introduction
 
SdE 11 - Reseau
SdE 11 - ReseauSdE 11 - Reseau
SdE 11 - Reseau
 
SdE 8 - Synchronisation de execution
SdE 8 - Synchronisation de executionSdE 8 - Synchronisation de execution
SdE 8 - Synchronisation de execution
 
ALF 6 - Parser
ALF 6 - ParserALF 6 - Parser
ALF 6 - Parser
 
ALF 5 - Parser
ALF 5 - ParserALF 5 - Parser
ALF 5 - Parser
 
ALF 4 - Grammaires
ALF 4 - GrammairesALF 4 - Grammaires
ALF 4 - Grammaires
 
ALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et LexerALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et Lexer
 
ALF 1 - Automates finis
ALF 1 - Automates finis ALF 1 - Automates finis
ALF 1 - Automates finis
 
DAPM 1 - Introduction
DAPM 1 - IntroductionDAPM 1 - Introduction
DAPM 1 - Introduction
 
ALF 1 - Introduction
ALF 1 - IntroductionALF 1 - Introduction
ALF 1 - Introduction
 

Dernier

Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
Friends of African Village Libraries
 
Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
Txaruka
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
Txaruka
 
1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif
NadineHG
 
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGESGUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
DjibrilToure5
 
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
Editions La Dondaine
 

Dernier (6)

Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
 
Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
 
1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif
 
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGESGUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
 
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
 

SdE 1 - Introduction

  • 2. L’equipe • Cours: – Alexandru Radovici (ACS) • TP: – Iuliana Marin (FILS) • Devoir: – Răzvan Șerban (ACS) – Ioana Culic (ACS) • Ressources – Răzvan Deaconescu, Mihai Carabaș et l’équipe USO et SO de ACS 2
  • 3. Les courses de systèmes SdE 1 SdE 2 SO2 (a ACS) Espace noyau Espace utilisateur API de SE Utilisation de SE 3
  • 4. Bibliographie Andrew Tanenbaum, Modern Operating Systems, 2nd Edition A. Silberschatz, P. Baer Galvin, G. Gagne, Operating Systems Concepts, 9th Edition Michael Kerrisk, The Linux Programming Interface, Steve Summit, C Programming Notes, http://c- faq.com/~scs/cclass/notes/ 4
  • 5. Ressources pour le cours SdE • Site web: http://ocw.cs.pub.ro/courses/sde/ • GitHub issues: https://github.com/upb- fils/sde/issues • Diapositives de cours • Catalogue et calendrier Google • Les machines virtuelles • vmchecker • La documentation 5
  • 6. Contenu Cours • 14 courses • diapositives • bibliographie – Très important de lire TP • 12 TP • Linux • Programmation en Python • C’est important de collabores avec votre collègues 6 POSIX API Linux
  • 7. Devoirs Contenu • Linux • Allocation de mémoire • Python-busybox • Mini-shell • Serveur web Développent • Linux ou Windows Subsystem for Linux • 8-20 heures pur une devoir – Test des devoirs avec vmchecker • Questions sur Github Issues Les devoirs sont individuelles 7
  • 8. Examen • Semestre – 5 devoirs (8p) – activité de TP (2p) • Session d’examen – épreuve écrite (5p) • Note – > 5 passer 8
  • 9. Hall of Fame Student Student Student Student Student Student Student Student Student Student Student Student 9
  • 11. Informatique • Matériel – AM, AO, SM – Systèmes embarques, Robotique • Systèmes d’exploitation (ABI) – SdE 1, SdE 2, RIL • Compilateurs (toolchain) – ALF • Applications – LP, POO, SDA, IWP, MN, SGI, IHO, Infographie, MTDL, DAPM, GL, ATI • Systèmes distribues – Web Sémantique 11
  • 12. Connexions avec autres courses Connaissances requises • SdE 1 • LP • SDA • AM Connaissances utiles pour • ALF • RIL • Infographie • SGI • Systèmes embarques • Robotique • DAPM 12
  • 13. Outils logiciels recommandés 13 Visual Studio Code VirtualBox Ubuntu LinuxWindows 10 Windows Subsystem for Linux
  • 14. Andrew S. Tanenbaum • Américain • Physicien • Livre de SdE • Minix OS – Mini-OS – Intel Management Engine 14
  • 15. Contenu • Informatique • Quelques mots sur SdE • Introduction en Systèmes d'exploitation • Sujets 15
  • 16. Bibliographie pour aujourd'hui • Modern Operating Systems – Chapitre 1 • Operating Systems Concepts – Chapitre 1 16
  • 17. Exemples de SEusagegénéral Windows Mac OS Linux FreeBSD, OpenBSD  Orbis OS Dédiés  IOS (Cisco)  JUNOS (Juniper)  FortiOS (Fortinet) Mobile  iOS  Android 17
  • 18. 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) 18
  • 19. macOS • Apple • Seulement pour les systèmes Mac (Mac Pro, Mac Mini, MacBook) • Approximative 9-10% pour Desktop • La version plus récente: macOS 10.14 “Mojave” 19
  • 20. 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) 20
  • 22. Processus de démarrage Machine Boot •x86: BIOS / UEFI •ARM: Addressee de start Bootloader •x86: Lilo, GRUB2, Syslinux, NLDR, Windows Boot Manager •ARM: U-Boot, Barebox System d'exploitation •Windows •Linux Interface Utilisateur (UI/GUI) •Windows: Windows Explorer - explorer.exe •Linux: XFCE, GNOME, KDE, ... 22
  • 23. Qu'est-ce qu’un SE? OSCE, fig. 1.1, pg. 4 23
  • 24. 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 • transparent pour l'utilisateur (il marche) 24
  • 25. 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 25
  • 26. Système d'ordinateur • Système physique (matériel) + système d’exploitation et applications • Les programmes pour écrier et compiler des programmes (toolchain) • Interconnexion avec autres systèmes • Ordinateurs personales, serveurs et systèmes embarques IoT (Internet of Things) 26
  • 28. 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) 28
  • 29. Processeur et mémoire OSCE, fig. 1.7, pg. 16 29
  • 34. Shell • Interface entre l’utlisateur et le systeme d’exploitation • CLI ou GUI • PowerShell / Bash vs. Windows Explorer / GNOME / KDE • un processus qui permet de démarrer d'autres processus – “shell spawns a process” 34
  • 35. Les processus • sont créés à partir d'un programme exécutable • un programme en cours d'exécution – l'idee de runtime • données et code en mémoire, execute par le CPU • a des ressources associées: espace d'adressage mémoire, fichiers ouverts, sockets • SE offre protection et communication entre les processus • certains systèmes offrent des hiérarchies de processus 35
  • 36. La mémoire d’un processus https://en.wikipedia.org/wiki/Virtual_address_space 36
  • 37. Memorie virtuelle • un processus voir un espace mémoire virtuel (l'espace mémoire n'existe pas réellement) – Le processus pense que toute la mémoire lui appartient • La mémoire matérielle est différente de la mémoire de processus • Les processus utilisent des adresses de mémoire virtuelle • La mémoire matérielle utilise des adresses de mémoire physique • Le SE associe la mémoire physique à la mémoire virtuelle 37
  • 38. Fils d’execution • un processus peut avoir plusieurs des fils d’exécution • les fils d’exécution partagent l'espace d'adressage de la mémoire virtuelle • autoriser un processus à effectuer plusieurs tâches avec les mêmes données • permet l'utilisation de matériel multiprocesseur 38
  • 39. Accès simultané et synchronisation • les threads et les processus peuvent entrer en concurrence pour accéder aux mêmes ressources (données dans la mémoire) • les accès simultanés peuvent entraîner une corruption des données ou des blocages • la synchronisation permet un accès réglementé et conséquent aux ressources 39
  • 40. Modes d'exécution • Le processeur a deux modes d'exécution • Mode superviseur – Actions privilégiées – C'est le mode utilisé par le SE pour s'exécuter • Mode utilisateur – L'accès direct au matériel n'est pas autorisé – L'espace adresse mémoire ne peut pas être modifié – C'est le mode utilisé pour les applications • Le noyau este le intermédiaire pour: – l'accès des processus au matériel – l'accès des processus aux ressources • Appel système – la transition du mode utilisateur au mode noyau 40
  • 41. Appel système OSCE, fig. 1.10, pg. 22 41
  • 42. Appels système OSCE, fig. 2.6, pg. 56 42
  • 43. Fichiers • Unité de stockage (du point de vue du programme) • Ouvert et utilisé par les processus • Fichier sur le disque (statique) et fichier ouvert (dynamique, dans un processus) – Fichier sur le disque: nom, dimension, droits, horodatage • Fichier ouvert: poignée de fichier, curseur de fichier, droits d’ouverture, accès au fichier 43
  • 45. La pile de systèmes informatiques Noyau (kernel) Programmes de base, bibliothèques de bas niveau Les bibliothèques Applications Mode superviseur Mode utilisateur 45
  • 46. Noyau (kernel) • Est le Systeme d’Exploitation – Windows (WindowsNT) ntoskrnl.exe – GNU/Linux et Android Linux Kernel – Mac OS X et iOS: XNU • chargé au démarrage, il lance le premier(s) programme • fournit des appels système • gère les ressources matérielles • sécurise l'intégrité du système 46
  • 47. La structure de SE (monolithique) OSCE, fig. 2.13, pg. 69 47
  • 48. SE monolithique vs. SE micronoyau https://en.wikipedia.org/wiki/Microkernel 48
  • 49. 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) 49
  • 56. Ressources pour le cours SdE • Site web: http://ocw.cs.pub.ro/courses/sde/ • GitHub issues: https://github.com/upb- fils/sde/issues • Diapositives de cours • Catalogue et calendrier Google • Les machines virtuelles • vmchecker • La documentation 56
  • 57. 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 57