Système d’exploitation I Theorie - 1EXP1A-T - PDF
Document Details
Uploaded by Deleted User
Haute École Bruxelles-Brabant
2024
null
M. Bastreghi (MBA), M. Codutti (MCD)
Tags
Summary
These lecture notes provide an introduction to operating systems, focusing on the theoretical foundations and key concepts. The document covers basic terminology and the role of the operating system kernel. The target audience are undergraduate computer science students studying operating systems.
Full Transcript
Système d’exploitation I – Théorie 1EXP1A-T M. Bastreghi (MBA) M. Codutti (MCD) Haute École Bruxelles-Brabant Département des Sciences Informatiques Campus de l’École Supérieure d’Informatique Année académique 2024 / 2025 1 Intro...
Système d’exploitation I – Théorie 1EXP1A-T M. Bastreghi (MBA) M. Codutti (MCD) Haute École Bruxelles-Brabant Département des Sciences Informatiques Campus de l’École Supérieure d’Informatique Année académique 2024 / 2025 1 Introduction Présentation du cours Premiers pas 1.1 – Présentation du cours crédit image But du cours Se familiariser avec : ⋄ l’utilisation d’un système informatique ⋄ certaines fonctionnalités d’un noyau Note Les systèmes informatiques sont variés. Nous souhaitons vous familiariser à un environ- nement de type PC classique doté de clavier, écran et souris. HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 4 / 25 Système d’exploitation Avec quel système ? Windows MacOS Linux Unix Android Les notions que nous allons voir sont communes à ces OS Note OS = Operating System = Système d’Exploitation HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 5 / 25 Système d’exploitation Linux ⋄ Créé en 1991 par Linus Torvald ⋄ open source −→ peut être étudié en détail car sa conception et son code sont publics. ⋄ Les exemples montrés au cours théorique seront sur Linux. Note Linux étant open source, cela fait déjà de lui un bon candidat pour l’étude, mais ce n’est pas son seul atout. C’est un système polyvalent qui équipe plus de 90% des plus gros serveurs dans le monde. Cela fait de lui un candidat très intéressant à étudier. HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 6 / 25 Système d’exploitation La famille Linux HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 7 / 25 Système d’exploitation Vocabulaire ⋄ Noyau (kernel) : partie d’un système d’exploitation qui gère les ressources d’un ordinateur (CPU, RAM,...) ⋄ Distribution : ensemble cohérent de logiciels, assemblés autour du noyau Linux ⋄ OS : Système d’exploitation parfois synonyme de noyau, parfois de noyau et du logiciel qui l’entoure (Appels Système, Système Windows) Note Parmi les distributions Linux les plus connues : Debian, Ubuntu, Mint, Arch Linux, open- SUSE, RedHat... HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 8 / 25 Découpage Le cours (24 heures) Le laboratoire (36 heures) Le cours théorique ⋄ 1re partie : interagir avec un OS support au laboratoire : on apprend à créer, modifier, supprimer et retrouver des fichiers et dossiers ⋄ 2e partie : on entre dans le noyau gestion de processus, gestion d’espace disque (libre, occupé), problématiques de blocage... HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 9 / 25 Découpage Le cours (24 heures) Le laboratoire (36 heures) Le laboratoire Vous donnera l’occasion de vous exercer dans deux environnements différents un peu beaucoup HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 10 / 25 Interagir avec un OS GUI ou console ? ⋄ intéragir avec une interface fenêtrée est très lent ⋄ reproduire une séquence d’opérations à la souris est fastidieux et source d’erreurs ⋄ nous allons privilégier l’interface console Note L’apprentissage de la ligne de commande pourra vous sembler plus lent au début par rapport à l’utilisation de l’interface graphique, mais cette tendance va s’inverser avec l’habitude. HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 11 / 25 Interagir avec un OS L’interface console ⋄ Nécessite un terminal et la connaissance des commandes qui permettent d’obtenir des informations et d’agir sur le système. ⋄ Les commandes ont une multitude de paramètres offrant une grande souplesse d’utilisation. ⋄ L’automatisation de tâches compliquées devient possible avec des scripts de commandes. HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 12 / 25 Se familiariser à la notion de Noyau Vue simplifiée Le noyau d’un Système d’exploitation est composé de bouts de code responsables de gérer les ressources du Système informatique Dans une vue très simplifiée le Noyau est responsable de ⋄ assigner la RAM aux processus qui s’exécutent (où les mettre ? faire de la place ?)... ⋄ assigner le CPU à un processus à la fois pour que tous puissent s’exécuter Note Ceci ne permet pas de voir le résultat de l’exécution de nos instructions à moins de se contenter de lire le binaire en RAM... HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 13 / 25 Se familiariser à la notion de Noyau Système Informatique Un système informatique est composé ⋄ d’une partie matérielle essentielle : RAM, CPU ⋄ d’une partie matérielle périphérique : périphériques ⋄ d’une partie logicielle : instructions, valeurs Note ⋄ RAM - Random Access Memory - Mémoire vive, volatile ⋄ CPU - Central Processing Unit - avec Unité de Calcul et Unité de Commande. Le CPU exécute les instructions qui se trouvent en RAM/ROM ⋄ périphériques - disques, terminal, carte réseau, souris,... ⋄ ROM - Read Only Memory - Mémoire morte, non Volatile HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 14 / 25 Se familiariser à la notion de Noyau Rôles assurés par le noyau 1 ordonnanceur - attribuer le processeur à un des processus présents...Lequel ? 2 chargeur du système - charger le code de l’OS en RAM 3 chargeur de programmes - attribuer, partager et sécuriser l’accès des processus à la mémoire RAM 4 pilotes - permettre l’échange sécurisé avec le matériel périphérique (disque, terminal, carte réseau, souris, imprimante,...) 5 systèmes de fichiers - organiser l’espace disque (NTFS, FAT, exFAT, ext) et en sécuriser l’accès 6... HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 15 / 25 Se familiariser au Noyau Note ⋄ L’ordonnanceur fait partie du Noyau, c’est la partie du code de l’OS qui s’occupe d’allouer le processeur à un des processus présents en mémoire. Nous allons lui dédier un chapître entier. ⋄ La mémoire RAM étant volatile, elle doit être réinitialisée à chaque démarrage. Cette étape se nomme chargement du système d’exploitation. ⋄ Tout programme devra également être chargé en mémoire pour pouvoir être exécuté. Les chargeurs ont un rôle fondamental dans un OS. ⋄ Les systèmes de fichiers posent de multiples défis intéressants à leurs concepteurs. Nous leur dédierons une partie de notre étude en Bloc1 et Bloc2. HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 16 / 25 Évaluation Le cours (40%) Le laboratoire (60%) ⋄ Bilan ⋄ Bilan ⋄ Examen ⋄ Examen Note Consultez la fiche de l’UE pour les détails HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 17 / 25 1.2 – Premiers pas crédit image Le terminal Familiarisons-nous avec l’interface commande inspirée de Unix. ⋄ Linux et MacOS offrent cette possibilité nativement ⋄ L’utilitaire libre Git-Bash pour Windows, permet de disposer d’un environnement similaire sur Windows. HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 19 / 25 Le terminal Exemple >> ps PID TTY TIME CMD 16959 pts/2 00:00:00 bash 20512 pts/2 00:00:00 ps ⋄ La commande ps exécutée dans le terminal nous montre les programmes qui tournent pour nous, associés à ce terminal. ⋄ En plus de la commande ps que nous venons d’exécuter, on remarque la présence de bash. HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 20 / 25 Le terminal Définitions ⋄ shell (interpréteur de commandes) : nom donné à tout programme qui reçoit les commandes tapées au clavier et se charge de les exécuter ⋄ bash : un exemple de shell. Note ⋄ Autres shells : sh, bsh, csh, zsh... ⋄ Le shell lit l’entrée standard ⋄ Souvent nous parlerons d’entrée standard plutôt que de clavier HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 21 / 25 Commandes Syntaxe d’une commande ⋄ commence par un nom d’exécutable (ou programme) (ps, ls, echo, less...) ⋄ suivi par des paramètres et/ou options, ces dernières souvent précédées par un - Note ▷ ps - présente un cliché instantané des processus en cours ▷ ls - liste le contenu d’un dossier/répertoire ▷ echo - affiche une ligne de texte ▷ less - permet de lire un fichier, quitter avec q HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 22 / 25 Commandes Note Exemples d’utilisation : ▷ ps -ax - utilisée avec les options a et x permet de lister tous les processus qui tournent sur ce système et non seulement ceux qui sont attachés à la console et qui vous appartiennent. ▷ ls /home - utilise le paramètre /home, et liste le contenu du répertoire /home ▷ ls -l /home - utilise l’option l et le paramètre /home, et liste en format long le contenu du répertoire /home ▷ echo texte - utilise le paramètre texte et affiche ce dernier ▷ less /etc/passwd - utilise le paramètre /etc/passwd et lit le fichier correspondant Note Spécifier un nom de fichier en commençant par le caractère / revient à spécifier un chemin absolu. Nous reviendrons sur cette notion un peu plus tard. HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 23 / 25 À l’aide ! man, help, info Comment obtenir des explications sur les commandes (utilité, utilisation, options, paramètres...) ⋄ man ps - pages de manuel man linux (q pour quitter) ⋄ info ps - complémentaire à man ⋄ ps --help - aide affichée par la commande Note Les pages de manuel sont réparties en 9 sections dont la 1 et la 8 documentent les commandes : ▷ 1 - commandes utilisateur ▷ 8 - commandes administrateur Pour plus de détails, voir la commande man man HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 24 / 25 Prêts ? N’hésitez pas à déja parcourir les pages man des commandes que nous avons cité et vous familiariser avec leur format et contenu. Cela deviendra un de vos outils les plus importants. Si vous ne possédez pas encore le moyen de vous connecter à un terminal linux, utilisez Git-Bash ou encore, consultez les pages man qui sont également accessible sur le web. Vous n’avez donc aucune raison d’attendre. D’autres commandes suivront très rapidement, soyez prêts à vous documenter ;) HE2B - ESI 2023 – 2024 1EXP1A – Ch. 1 : Introduction 25 / 25