Question

Je suis nouveau à l'architecture informatique et de design. Ma question était un programme de haut niveau Le jeu d'instructions sont exécutées dans CPU un après l'autre. Est-il même comporte des instructions du système d'exploitation en tête lors de l'exécution de ces instructions?. Par exemple: Si dans le processeur 2 GHz il y a 2 * 10 ^ 9 instructions qui peuvent être exécutées en 2 * 10 ^ 9 cycles d'horloge. Ensuite, le système d'exploitation prend toujours environ 1 * 10 ^ 9 instructions pour exécuter par seconde. Est-ce là-dessus toujours et seulement encore 1 * 10 ^ 9 instructions sont disponibles gratuitement pour l'exécution d'autres programmes planifiés personnalisés pour exécuter?

Est-ce que cela signifie des systèmes d'exploitation doivent toujours avoir en moins d'instructions pour exécuter que possible afin qu'il puisse accueillir plus d'autres programmes à exécuter?

Était-ce utile?

La solution

Oui aux deux questions, dans les limites.

D'abord, oui, si le système d'exploitation utilise 1e9 instructions / sec, il n'y a que des instructions 1e9 / sec à gauche.

Deuxièmement, oui, vous aimeriez que réduire autant que possible; il est appelé "frais généraux".

Les « limites » sont que le système d'exploitation ne fait de bonnes choses pour vous. Prenons, par exemple, miltitasking, où le système d'exploitation vous permet d'exécuter plusieurs programmes en même temps, en partageant le processeur d'entre eux. D'une part, il y a les frais généraux impliqués. D'autre part, sans que vous souhaitez soit quitter le ralenti de la machine pendant de longues périodes où aucun programme pourrait fonctionner, ou vous auriez à simuler vous multi-tâches - qui prendrait au moins autant que le système d'exploitation instructinos serait

Autres conseils

Pour développer un peu sur la réponse de M. Martin: (attention, cela est très simplifié) Le travail de l'OS est de gérer ces choses que le programme ne veut pas Odo pour lui-même - comme les interruptions d'E / S poignée et planifier plusieurs tâches à partager la machine. Dans un monde parfait sur une machine exécutant un programme d'application, le programme aurait le contrôle de la CPU jusqu'à ce qu'il avait besoin de l'OS pour faire quelque chose pour elle, comme lire l'enregistrement suivant d'un fichier de disque (qui appelle les « services » en couches pour comprendre quel disque, quel fichier, qui enregistrent, quel octet et calculer quel bloc de disque sur lequel la piste de demander vient du contrôleur de disque. une machine « vraie » typique a aussi un tas de tâches de fond en cours d'exécution, en gardant l'écran mise à jour, la lecture de l'horloge , vérification des nouveaux messages, téléchargement de patches, etc. C'est là priorités entrent en jeu. certaines tâches sont exécutées à faible priorité, parce que nous ne nous soucions pas quand ils sont faits, comme la mise à jour de l'icône de la barre système de Windows pour la notification de nouveaux messages. d'autres tâches sont exécutées à une priorité, mais sont très courts, comme suit la souris sur l'écran et le changer à partir d'un pointeur à une main. Gardez à l'esprit qu'une tâche typique ne fait que quelques centaines instructions avant d'avoir besoin un service de système d'exploitation et d'aller dormir pendant qu'il arrive. Les grandes applications peuvent avoir des centaines de milliers de « instructions », mais encore une fois passer une partie de thir le temps d'attente pour quelque chose d'autre, d'un bouton poussoir ou l'entrée du clavier à une réponse à partir d'une recherche de base de données sur une autre machine. Les applications les plus gourmandes CPU comme le calcul Pi à un million de décimales peuvent consommer 99,9% du processeur pendant de longues périodes, mais le système d'exploitation va interrompre périodiquement juste pour voir si quelque chose doit d'autre à faire. Retour dans les jours de DOS (1980), le programme pourrait effectivement prendre la qui CPU pendant un certain temps, mais si elle avait besoin de le lire serait ou écrire ou le type quelque chose à l'écran, ont comme le BIOS pour le faire, à moins que le programme était écrit à faire CESTI ces opérations de base. Une partie de c'est comment les jeux informatiques répondent, en faisant les opérations spécifiques nécessaires pour modifier l'écran directement, et lire directement à partir du clavier ou de la souris tampons périphériques, sans passer par le système d'exploitation. Si tout va bien, je ne vous ai pas confondu plus ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top