2017-04-11 4 views
1

Est-ce que tous les process state comme neuf, prêt, en cours d'exécution, en attente et terminé sont reconnus par le noyau operating system ou est-ce pour plus de commodité de compréhension? S'il est reconnu par le système d'exploitation, comment le fera-t-il?L'OS connaît-il l'état du processus?

+0

Ce commentaire est pour les personnes qui ont voté vers le bas. Je veux savoir pourquoi il est voté? Qu'est-ce qui va pas avec ça? – sreepurna

+1

Comment écrire un code à l'endroit où il n'est pas nécessaire ?? Pensez-vous que le débordement de pile est seulement un forum qui est utilisé pour répondre seulement au problème de codage ?? Pensez-vous que les principaux scénarios techniquement profonds sont importants? – sreepurna

+0

Pour un autre point de vue concernant les downvotes: Votre question est vague/peu claire. Vous ne savez pas de quoi vous parlez, avec l'état du processus. En outre, même pas clair quel système d'exploitation vous faites référence. Et ne pas clarifier ce que vous demandez à la fin, par "comment le fera-t-il?" J'ai lu et relu la question plusieurs fois, et je ne sais toujours pas ce que vous demandez. Si vous pensez que vous pouvez le clarifier, vous devriez éditer votre question en conséquence. Mais, pas besoin de se fâcher avec les gens pour downvoting une question. –

Répondre

0

L'état de processus dont vous parlez (contrairement au contexte, ce que l'on appelle un état de processus dans certains documents) est uniquement nécessaire pour l'OS lui-même. C'est un instrument de comptabilité. En tant que tel, il introduit un surcoût dans l'espoir d'obtenir (a.o) un gain de performance à d'autres endroits. Par exemple, en considérant uniquement les processus prêts, le système d'exploitation évite de passer à des processus qui ne céderaient que sur le processus suivant (ce qui générerait des commutations de contexte superflues).

La mise en œuvre du concept peut différer. Pas toujours le PCB a un champ de données explicite pour l'état du processus. Souvent, l'état est implémenté par différentes files d'attente, où les processus sont triés. Parfois, les systèmes d'exploitation ont même une représentation redondante de l'état du processus. La représentation est une question d'efficacité: E.g. si le système d'exploitation recherche un processus prêt (sans se soucier de quoi), une file d'attente a une complexité de O (1) alors qu'une liste de PCB avec des états explicites nécessiterait O (n).

En résumé: Si le système d'exploitation ne connaissait pas les états du processus, ils seraient superflus. De quelle manière l'état est mis en œuvre et comment il est utilisé diffère d'un système à l'autre.

0

Le problème avec la question ici est que le processus énonce un système entièrement spécifique.

Votre première question est en grande partie correcte que les états du système sont en grande partie des constructions pédagogiques pour la «commodité de la compréhension».

Le système d'exploitation doit connaître l'état du processus. Cela est susceptible d'être maintenu de différentes manières, y compris les variables d'état et les files d'attente.