Les Systèmes d’exploitation (2IDL – FS Tétouan) PDF

Summary

Ce document présente un cours sur les systèmes d'exploitation, avec une introduction à Unix et Linux pour les étudiants de la 2IDL – FS Tétouan. Il aborde des sujets comme le fonctionnement de base des systèmes d'exploitation, les concepts fondamentaux et les différents types de shell. Le cours est donné par la Pr. Zaynab El Khattabi.

Full Transcript

Année académique : 2024/2025 2IDL – FS Tétouan Les Systèmes d’exploitation Introduction à Unix/Linux Pr. Zaynab El Khattabi UNIX ▪ Le système d'exploitation Unix est un logiciel pilote les dispositifs matériels et reçoit des instructions de l'utilisateur ou d'autres logiciels. ▪ C’est u...

Année académique : 2024/2025 2IDL – FS Tétouan Les Systèmes d’exploitation Introduction à Unix/Linux Pr. Zaynab El Khattabi UNIX ▪ Le système d'exploitation Unix est un logiciel pilote les dispositifs matériels et reçoit des instructions de l'utilisateur ou d'autres logiciels. ▪ C’est un groupe de programmes qui facilitent l'utilisation d'un ordinateur. Il s'agit d'un logiciel qui reçoit des sollicitations pour employer les ressources de la machine comme le disque dur pour stocker de la mémoire, ou des périphériques pour établir une communication visuelle ou auditive. Le shell ✓ Si les récentes distributions de Linux permettent de faire abstraction de la saisie d’instructions texte en offrant des environnements graphiques attrayants, Il est inenvisageable pour un professionnel de Linux de ne pas connaître le fonctionnement de l’interpréteur de commandes et des principales commandes qui lui sont associées. ✓ L’interpréteur de commandes, permet d’exécuter des instructions que vous saisissez au clavier ou au sein d’un script et vous en retourne les résultats. ✓ Cet interpréteur est un programme appelé shell. Le shell signifiant coquille, est ce qui « entoure » le noyau : le moyen de l’utiliser à l’aide de commandes. C’est donc une interface fonctionnant en mode texte entre le noyau Linux et les utilisateurs (avancés), voire les applications. Histoire ▪ Unix a été développé en 1969 par un groupe d'employés d'AT&T Ken Thompson, Dennis Ritchie, Douglas McIlroy, et Joe Ossanna chez Bell Labs ▪ Il existe différentes variantes Unix disponibles sur le marché. Solaris Unix, AIX, HP Unix et BSD en sont quelques exemples. ▪ Linux est également une version d'Unix disponible gratuitement. ▪ Plusieurs personnes peuvent utiliser un ordinateur Unix en même temps; Unix s'appelle donc un système multi-utilisateur. ▪ Un utilisateur peut également exécuter plusieurs programmes en même temps. Unix est donc un environnement multitâche. Histoire Les familles d’Unix ▪ Du point de vue de l’utilisateur, les divers UNIX se ressemblent beaucoup. ▪ Du point de vue de l’administration, les divers UNIX ont chacun des spécificités (les commandes liées au hardware varient, on trouve des extensions propres à chaque constructeur). ▪ Il existe principalement deux versions de base d'Unix: ▪ AT&T System V ▪ Berkeley Software Distribution (BSD) ▪ La grande majorité de toutes les variantes d'Unix est construite sur une de ces deux versions. Les principales différences entre les deux sont les utilitaires disponibles et la structure d’implémentation des fichiers. Histoire Linux ▪ En 1991 Linus Torvalds, un étudiant finlandais, a commencé à travailler sur un système Unix- like, appelé Linux. ▪ À l'origine, le terme Linux ne désignait que le noyau de système d'exploitation Linux. Puis, l'usage du terme Linux s'est répandu pour décrire tant le noyau Linux que le système d'exploitation au sens large, qui contenait plus de logiciels issus du projet GNU que du projet Linux. ▪ La force de Linux réside dans son homologation progressive, qui permet aux logiciels d'être librement distribuables sans condition. ▪ La seule exigence pour l'utilisateur final est que toutes les modifications apportées au logiciel de base, doivent être rendues disponibles pour d'autres gens de la Communauté, ce qui permet au logiciel d'évoluer à un rythme incroyablement rapide. ▪ La licence sous la quelle est distribué Linux s'appelle la GNU Public License(GPL) ▪ Depuis les années 2000, le noyau Linux est aussi très largement utilisé sans être accompagné de logiciels GNU. C'est notamment le cas d'Android Histoire Unix vs Linux ▪ UNIX est protégé par un copyright, seules les grandes entreprises sont autorisées à utiliser le nom UNIX, IBM AIX, Sun Solaris et HP-UX sont tous des systèmes d’exploitation UNIX. ▪ La plupart des systèmes UNIX sont de nature commerciale. ▪ Linux est un clone d’Unix écrit à partir de zéro par Linus Torvalds avec l’aide d’une équipe de hackers à travers le net. ▪ Linux est juste un noyau entouré par plusieurs applications et systèmes de gestion, par contre les systèmes d’exploitation UNIX sont considérés comme des systèmes d’exploitation complets. ▪ Linux est gratuit. Vous pouvez le télécharger à partir d’Internet ou de le redistribuer sous licences GNU. ▪ De l’autre côté. La plupart des systèmes UNIX d’exploitation ne sont pas libres. Histoire Unix vs Linux ▪ « Logiciel libre » [free software] désigne des logiciels qui respectent la liberté des utilisateurs. En gros, cela veut dire que les utilisateurs ont la liberté d'exécuter, copier, distribuer, étudier, modifier et améliorer ces logiciels. ▪ Il ne s’agit pas de gratuité: ▪ Vous pouvez avoir payé pour obtenir une copie d'un logiciel libre ou vous pouvez l'avoir obtenu gratuitement. Mais quelle que soit la manière dont vous vous l'êtes procuré, vous avez toujours la liberté de copier et de modifier le logiciel et même d'en vendre des copies. Histoire Unix vs Linux Les quatre libertés essentielles: Un programme est un logiciel libre s’il a les quatre libertés essentielles : ✓ la liberté de faire fonctionner le programme comme vous voulez, pour n'importe quel usage (liberté 0) ; ✓ la liberté d'étudier le fonctionnement du programme, et de le modifier pour qu'il effectue vos tâches informatiques comme vous le souhaitez (liberté 1) ; l'accès au code source est une condition nécessaire ; ✓ la liberté de redistribuer des copies, donc d'aider les autres (liberté 2) ; ✓ la liberté de distribuer aux autres des copies de vos versions modifiées (liberté 3) ; en faisant cela, vous donnez à toute la communauté une possibilité de profiter de vos changements ; l'accès au code source est une condition nécessaire. Histoire Unix vs Linux Des exemples de systèmes UNIX: 1.HP-UX 2.IBM AIX 3.SolairsSun 4.Mac OS X 5.IRIX Des exemples de distributions Linux: 1.RedhatEnterprise Linux 2.Fedora Linux 3.Debian Linux 4.Suse Enterprise Linux 5.Ubuntu Linux Histoire: Unix Histoire: Linux Architecture d’Unix Architecture d’Unix Le concept principal qui réunit toutes les versions d'Unix est le suivant: ▪ Kernel: ▪ Le noyau est le composant central d’un système d’exploitation ▪ Il gère la communication entre le matériel et le logiciel. Il est responsable de tâches telles que la gestion de la mémoire, la planification des processus, les pilotes de périphériques, les appels système et la sécurité. ▪ Shell: ▪ un programme qui fournit une interface utilisateur pour interagir avec le système d’exploitation. Il permet aux utilisateurs d’exécuter des commandes, d’exécuter des programmes, de manipuler des fichiers et d’accéder aux fonctionnalités du système. ▪ Le shell peut être graphique ou textuel, il utilise une syntaxe standard pour toutes les commandes. ▪ C Shell, Bourne Shell et KornShell sont les plus célèbres disponibles avec la plupart des variantes Unix. Architecture d’Unix Le concept principal qui réunit toutes les versions d'Unix est le suivant: ▪ Commandes et utilitaires: ▪ Il existe diverses commandes et utilitaires pour les différentes activités de gestion de fichiers, de processus,… (cp, mv, cat et grep, …). ▪ Il y a plus de 250 commandes standard, plus nombreux autres fournis par des logiciels tiers. ▪ Toutes les commandes sont accompagnées de différentes options ▪ Fichiers et répertoires: ▪ Toutes les données d'Unix sont organisées en fichiers. ▪ Tous les fichiers sont ensuite organisés en répertoires. ▪ Ces répertoires sont ensuite organisés en une structure arborescente appelée système de fichiers. Architecture d’Unix ▪ Les Shells les plus répandus: shell program description Bourne shell sh Disponible sur tte plateforme Unix C shell csh Shell developpé pour BSD Korn shell ksh Bourne shell amélioré par AT&T Bourne Again shell bash Shell distribué avec Linux: version améliorée de sh et csh ▪ Par défaut, le shell associé à un compte d'utilisateur dans Ubuntu est Bourne-Again Shell(Bash); ▪ Toutes les commandes saisies par un utilisateur dans un émulateur de terminal sont traitées par Bash. ▪ Ubuntu inclut aussi l'interpréteur Bourne Shell(sh). D'autres shells, comme Z Shell (zsh) ou C-Shell (csh), peuvent être installés facilement à l'aide de son gestionnaire de paquets CLI :Interface en Lignes de Commandes Le Shell d'un système d'exploitation peut prendre deux formes distinctes: ▪ Interface en ligne de commande (Eng-CLI:Command Line Interface en anglais): ▪ Cela fonctionne à partir d'instructions en mode texte. ▪ Shell graphique fournissant une interface graphique pour l'utilisateur (Eng-GUI: Graphical User Interface). CLI :Interface en Lignes de Commandes ✓ Une interface de ligne de commande (CLI) est une interface basée sur du texte dans laquelle on peut saisir des commandes qui interagissent avec le système d'exploitation d'un ordinateur. ✓ La CLI fonctionne à l'aide du shell par défaut, qui se trouve entre le système d'exploitation et l'utilisateur. ✓ Pas besoin de cartes graphiques performantes, ni d’extrêmes quantités de mémoire. ✓ Les tâches peuvent être automatisées dans des scripts de langage interprété. ✓ Accès à distance: Les applications CLI consomment souvent moins de ressources réseau que les applications graphiques. Cela rend les applications CLI adaptées aux systèmes dotés de capacités matérielles limitées ou aux environnements serveur distants. Les modes d’accès au shell Deux méthodes d'accès au Shell sont possibles en fonction de ressources matériels disponibles, du système d'exploitation ou du paramétrage utilisé: ▪ Le mode console qui affiche un Shell unique en plein écran, c'est l'interface homme- machine de base du système d'exploitation (accessible au démarrage du système). ▪ Le mode terminal qui émule une console et qui affiche en général le Shell dans une portion de l'écran. Le terminale shell Le Shell affiche à l’écran lorsqu’il fonctionne : ▪ Une chaîne de caractères affiche que le Shell attend que l’utilisateur tape quelque chose au clavier; c’est le prompt. ▪ Un curseur qui va se déplacer au fur et à mesure de la saisie des commandes ▪ L’invite (prompt) fournit des informations sur le terminal et votre position dans le système de fichiers. Le terminale shell ✓ root : c’est le nom de connexion, ou login de l’utilisateur, actuellement connecté au terminal ✓ localhost: c’est le nom d’hôte (hostname), le nom logique de la machine raccordée au terminal ✓ /home/username : c’est la position actuelle du shell dans le système de fichiers ✓ Le caractère de terminaison peut avoir d’autres significations : $ indique qu’on exécute les commandes en mode utilisateur et non administrateur # indique que l’utilisateur est l’administrateur root qui a tous les pouvoirs. ~ indique qu’on est dans le répertoire personnel. Les commandes : syntaxe ▪ Saisir une commande shell via la syntaxe: Commande [Options] [Paramètres] ▪ Commande: Le nom de la commande. ▪ Options: Les options permettent de changer le comportement de la commande, il peut s’agir d’une seule option ou plusieurs en même temps. ▪ Paramètres: Les informations nécessaires au fonction de la commande. Les crochets [ et ] signifient que les options ou les paramètres sont optionnelles. (dans certaines commandes, c’est obligatoire) Les commandes : syntaxe ▪ Il existe une documentation électronique accessible pendant le fonctionnement du système: ▪ c’est l’aide en ligne. La commande donnant l’aide est man. Elle donne accès aux pages de manuel des commandes Unix. ▪ Syntaxe de la commande man: man [options] commande avec en particulier comme option: ▪ man [numero de section] commande ▪ man[-s numero de section] commande 1: Commandes normales ▪ Le numéro de section représente les rubriques 2: Appels systèmes 3: Fonctions de programmation C de l’aide en ligne 4: Périphériques et pilotes 5: format de fichiers 6: Jeux 7: Divers

Use Quizgecko on...
Browser
Browser