Ce qui est le grain
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 :
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
|
|||||
|