A Environnement Linux
Par Matt • 26 Septembre 2018 • 916 Mots (4 Pages) • 658 Vues
...
des ressources équitables : veiller au partage équitable des ressources entre tous les processus.
• Interface avec le matériel : passage par des fichiers spéciaux gérés par le SE pour accéder à une ressource matériel (disque dur, lecteur de disquettes,...)
• Gestion de la mémoire : partage correct de la RAM entre processus.
• Gestion des fichiers : Unix fournit un mécanisme de protection des fichiers.
Tout est encré dans le noyau
Schéma d’exploitation
Shell : interpréteur de commandes Unix (vérifie, interprète les commandes, exécute et renvoie les réponses). Le Shell envoie des appels au noyau en fonction des requêtes des utilisateurs noyau : couche logicielle la plus interne du S.E Unix dédiée à la gestion des composants matériels : processeur, mémoire, périphérique et s’occupe de donner aux logiciels une interface pour utiliser le matériel.
Autour du noyau gravite un certain nombre d’utilitaires.
Noyau
Couche logicielle la plus interne du S.E Unix dédiée à la gestion des composants matériels : processeur, mémoire, périphrérique et s’occupe de donner aux logiciels une interface pour utiliser le matériel.
Développé en langage C
Comme tous les programmes informatiques, le noyau Linux est écrit sous forme de code source, et doit être transformé en binaire exécutable pour être compris par le microprocesseur.
Dans la mesure où le code source du noyau Linux contient une très grande quantité de fonctionnalités, l’utilisateur peut choisir de n’intégrer que celles qui lui sont utiles ou les mieux adaptées (de nombreuses fonctionnalités sont concurrentes) : c’est l’étape de configuration du noyau
La grande majorité des distributions GNU/Linux installent un noyau précompilé qui répond aux besoins des postes de travail et serveurs. Il est donc rare qu’un utilisateur de Linux ait à compiler un noyau.
La compilation permet d’adapter le noyau à des besoins spécifiques comme le support de matériels peu répandus, l’activation de fonctionnalités expérimentales ou l’adaptation à des plates-formes particulières comme des systèmes embarqués.
Le code source du noyau Linux est disponible sur le site kernel.org
Shell
L’interpréteur de commandes est l’interface entre l’utilisateur et le système d’exploitation, d’où son nom anglais <<shell>>, qui <<coquille>>.
Le shell est ainsi chargé de faire l’intermédiaire le système d’exploitation et l’utilisateur grâce aux lignes de commandes saisies par ce dernier. Son rôle consiste ainsi à lire la ligne de commande, interpréter sa signification, exécuter la commande, puis retourner le résultat sur les sorties.
Le shell est ainsi un fichier exécutable chargé d’interpréter les commandes, de les transmettre au système et de retourner le résultat. Il existe plusieurs shells, sh (appelé <<Bourne shell>>), bash (<<Bourne again shell>>), csh (<<C shell>>), Tcsh (<<Tenex C shell>>), ksh (<<Korn shell>>) et zsh (<<Zero shell>>). Leur nom correspond généralement au nom de l’exécutable.
Le shell par défaut est précisé dans le fichier de configuration /etc/passwd dans le dernier champ de la ligne correspondant à l’utilisateur.
Chaque exécution d’une ligne de commande crée un processus.
Le shell s’initialise en lisant sa configuration globale (dans un fichier du répertoire /etc/), puis en lisant la configuration propre à l’utilisateur (dans un fichier caché, dont le nom commence par un point, situé dans le répertoire de base de l’utilisataeur, c’est-à-dire /home/nom_de_l_utilisateur/.fichier_de_configuration), puis il affiche une invite de commande (en anglais prompt) comme suit :
machine:/repertoire/travail$
...