Ce qui est le grain


  Share  
|

Avant que nous obtenions en avant de nous-mêmes, jetons un coup d'oeil au rôle du grain dans le logiciel d'exploitation. Dans la plupart des logiciels d'exploitation, y compris UNIX et Windows, le grain est logiciel spécial ce de divers éléments extrêmement importants de commandes de la machine. Le grain se repose entre les différents programmes courants et le matériel lui-même. Exécutant de diverses fonctions de ménage critiques pour le logiciel d'exploitation et agissant en tant que liaison entre les programmes user-level et le matériel, le grain sert un rôle critique. Beaucoup de grains, y compris ceux trouvés dans des systèmes d'UNIX et de Windows, incluent les dispositifs suivants de noyau :

  • Commande de processus et de fil. Les préceptes de grain que les programmes courent et quand ils fonctionnent en créant de divers processus et fils dans ces processus. Un processus n'est rien davantage qu'une certaine mémoire assignée à un programme courant, et les fils sont différents jets d'exécution dans un processus. Le grain orchestre de divers processus et leurs fils de sorte que les programmes multiples puissent fonctionner simultanément et d'une manière transparente sur la même machine.

  • Contrôle de transmission d'interprocessus. Quand un processus doit envoyer des données à un autre processus ou au grain lui-même, il peut utiliser de divers dispositifs de communication d'interprocessus de la plupart des grains pour envoyer des signaux et des données.

  • Commande de mémoire. Le grain assigne la mémoire aux programmes courants, et libère cette mémoire quand on ne l'exige plus. Cette commande de mémoire est mise en application dans la fonction de gestion de la mémoire virtuelle du grain, qui utilise l'espace de RAM physique et d'entraînement dur pour stocker l'information pour des processus courants.

  • Commande de système de fichiers. Le grain commande tout l'accès à la commande dure, soustrayant les cylindres et les secteurs crus de la commande dans une structure de système de fichiers.

  • L'autre commande de matériel. Le grain contrôle l'interface entre de divers éléments de matériel, tels que le clavier, la souris, la vidéo, l'acoustique, et les dispositifs de réseau ainsi les divers programmes peuvent les utiliser pour des opérations d'entrée et de rendement.

  • Commande d'interruption : Quand les divers composants de matériel de la machine ont besoin de l'attention (par exemple, un paquet arrivant sur l'interface de réseau) ou d'une rencontre de programme un événement habituel (par exemple, division par zéro), le grain est responsable de déterminer comment manipuler les interruptions résultantes. En prenant soin de l'interruption lui-même employant le grain codez ou envoyant l'information à un processus particulier à l'affaire avec lui, le grain continue le système fonctionner sans à-coup.

Avec ces dispositifs, le grain est tout au sujet de commande : se reposer aux interstices des programmes utilisateur et du matériel et contrôle ce qui se produit sur la machine.

Pendant qu'il fonctionne, le grain se fonde sur des protections de matériel-niveau mises en application dans l'unité centrale de traitement du système. En employant la protection de matériel-niveau, le grain essaye de sauvegarder ses propres structures de données critiques de manipulation accidentelle ou délibérée par des processus user-level sur la machine. La plupart des CPUs incluent des dispositifs de matériel ont laissé le logiciel sur le système exploité à différents niveaux de privilège. L'espace mémoire et d'autres éléments de logiciel extrêmement sensible (comme le grain) ne peuvent pas être consultés par le code fonctionnant à un niveau moins-important (par exemple, processus d'utilisateur). Sur x86-compatible CPUs, ces différents niveaux de sensibilité s'appellent les anneaux, et la gamme de l'anneau 0, le niveau le plus sensible, pour sonner 3, le moindre niveau sensible. Comme il court différent charge, l'unité centrale de traitement commute entre ces différents niveaux selon la sensibilité du logiciel particulier s'exécutant actuellement.

Pour les logiciels d'exploitation de Linux et de Windows, seulement les anneaux 0 et 3 sont employés ; les autres options soutenues par x86 CPUs (c.-à-d., les anneaux 1 et 2) ne sont pas utilisés. Le grain lui-même, dans Linux et Windows, fonctionne en anneau 0. En fait, courant en anneau 0 définit donné chargent en tant qu'étant au niveau de grain. Si vous courez en anneau 0, vous pouvez accéder à toutes les structures de mémoire du grain, et êtes donc au même niveau que le code de grain. Les processus de mode d'utilisateur fonctionnent en anneau 3, et, dans la plupart des conditions, ne peuvent pas accéder à l'espace de grain directement. En comptant sur l'anneau 0 et l'anneau 3, tout le logiciel sur la machine est vraiment divisé à deux mondes différents : mode de grain (fonctionnant en anneau 0) et mode d'utilisateur (fonctionnant en anneau 3). Pour non-x86 CPUs, les logiciels d'exploitation utilisent des concepts analogues pour sonner 0 et anneau 3 mis en application dans le matériel de CPU's. Presque tout l'appui de CPUs une certaine notion d'un mode privilégié, où le grain vit, et de a nonprivileged le mode pour des processus d'utilisateur.

Ainsi, votre logiciel d'exploitation se compose vraiment de deux mondes : mode d'utilisateur et mode de grain. Est le mode d'utilisateur ce que vous typiquement voyez et agissez l'un sur l'autre avec dessus une base de jour en jour sur votre système, car il inclut les programmes vous courez, comme une coquille de commande, un GUI, un mail server, ou un éditeur de texte. L'autres monde, mode de grain, mensonges silencieusement sous l'accès de gestion d'opération entière au matériel et choses généralement de contrôle. Quand un système initialise, le grain est chargé en la mémoire et commence l'exécution en anneau 0, créant de ce fait le premier monde (mode de grain). Après que le grain s'obtienne d'installer dans la mémoire, il active les divers processus d'utilisateur-mode qui permettent à différents utilisateurs d'accéder au système et d'exécuter des programmes, créant de ce fait le monde d'utilisateur-mode.

Il est important de noter que le mode de grain est un concept très différent des permissions de racine ou d'administrateur. Quand un administrateur court une commande, un programme donné s'exécute dans le mode d'utilisateur ; c'est-à-dire, en anneau 3. De la perspective du grain, l'administrateur est juste un autre utilisateur, quoiqu'important, mais encore quelqu'un qui vit en anneau 3.

Quand la plupart de course de programmes, commandent parfois doit passer du mode d'utilisateur dans le mode de grain, comme quand le programme doit agir l'un sur l'autre avec le matériel pour imprimer à l'écran, recevant un paquet, ou une autre action. Quand ceci se produit, la main est très soigneusement passée du mode d'utilisateur au mode de grain, par les interfaces étroitement commandées. Le logiciel qui met en application cette transition de l'anneau 3 à l'anneau 0 désigné sous le nom d'une porte d'appel, car il agit en tant que porte pour des processus d'utilisateur-mode dans le logiciel vivant en mode de grain.

Quand les administrateurs demandent une liste de programmes courants à l'aide des outils comme l'UNIX picoseconde, le lsof, ou les commandes supérieures ou Windows Chargent le directeur, elles exécutent une commande du mode d'utilisateur, qui demande le grain pour énumérer tous les processus courants. Le grain saisit des données de ses structures de données de grain-mode, répond à la commande d'utilisateur-mode avec l'information appropriée, et les processus courants sont montrés. De même, l'administrateur ou les utilisateurs pourrait demander une liste de dossiers dans un annuaire. Le grain répond avec l'information appropriée. Ou, vous pourrait rechercher qui les ports de TCP ou de UDP sont en service, ou si l'interface de réseau est en mode promiscueux. Vous pourriez même courir un contrôleur d'intégrité de dossier pour voir si un quelconque de vos dossiers de système critiques a été changé avec un utilisateur-mode RootKit. Toutes ces interactions, et bien plus, se fondent sur le grain pour déterminer le statut de la machine. C'est comment il est tout supposé de travailler. Le grain prend soin des affaires, et chacun est heureux.

c'est un article supplémentaire par Rafaël Kwan


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions