2009-08-28 5 views
1

Un livre sur la programmation Unix ditprocessus système sous Unix

Le processus init ne meurt jamais. C'est un processus utilisateur normal, pas un processus système dans le noyau, comme le swapper, bien qu'il fonctionne avec des privilèges de super-utilisateur.

Qu'est-ce qui fait qu'un processus est un processus système? Le processus système est-il intégré au code noyau? Tous les processus système sont-ils exécutés avec des privilèges de superutilisateur?

Répondre

2

Le livre fait probablement référence à des processus qui s'exécutent entièrement en mode noyau. Dans certaines versions d'Unix, il n'y a pas de fichier exécutable qui implémente ces processus - le noyau "fausse" une entrée dans la liste des processus (et/ou des threads), juste pour planifier, et quelque chose pour le CPU temps de. Dans d'autres implémentations, est un exécutable, mais qui appelle un appel système qui ne retourne jamais. IOW, c'est votre première interprétation ("incorporé dans le code du noyau").

0

Je pense qu'il y a une confusion entre le processus en mode noyau et le processus avec des privilèges de super-utilisateur.

Le livre veut probablement dire que init ne s'exécute pas en mode noyau, mais fonctionne toujours avec des privilèges super-administratifs. J'espère avoir raison.

Il existe deux types de modes: les modes utilisateur et noyau. Tous les types d'appels système s'exécutent en mode noyau afin qu'ils aient accès aux fonctionnalités du système d'exploitation.

En savoir plus sur Protected Mode

Questions connexes