2015-02-06 2 views
3

Я думал, что счетчик программ является частью аппаратного обеспечения. Я смущен, прочитав следующее. Может ли кто-нибудь разложить разницу?Программный счетчик процесса

Однопоточный процесс имеет один программный счетчик, указывающий следующую команду для выполнения. (Темы описаны в главе 4.) Выполнение такого процесса должно быть последовательным. CPU выполняет одну команду процесса за другим, пока процесс не завершится. Кроме того, в любое время одна команда не более , выполненная от имени процесса. Таким образом, хотя два процесса могут быть , связанные с одной и той же программой, они, тем не менее, считаются двумя отдельными последовательностями исполнения . Многопоточный процесс имеет несколько счетчиков программ , каждый из которых указывает на следующую команду для выполнения для данного потока.

ответ

3

Как вы сказали, «программный счетчик» (также называемый «указатель инструкции») является частью аппаратного обеспечения; более конкретно, это регистр процессора. Вся цель этого регистра - указывать на текущую инструкцию в памяти, которая выполняется процессором. После выполнения этой команды ПК изменяется, чтобы указать на следующую команду, которая должна быть выполнена.

Большинство современных операционных систем сегодня многозадачны. Это по существу означает, что они могут одновременно запускать несколько процессов. Однако, если у вас есть только один процессор, вы не можете выполнить больше, чем процесс одновременно, верно? Чтобы создать иллюзию того, что одновременно с одним процессором выполняется несколько процессов, многозадачные операционные системы очень быстро переключаются между запущенными процессами: они продвигают один процесс, приостанавливают его, а затем продвигают какой-то другой процесс и т. Д. , все это в доли секунды.

Для реализации этого механизма операционная система должна иметь соответствующие структуры для поддержания текущего состояния всех запущенных процессов. Одним из наиболее важных значений, которые должна поддерживать операционная система в этих структурах, является текущее значение ПК для процесса, которое указывает, где в его программном коде оно выполняется в настоящий момент.

3

Это правда. Существует один программный счетчик, который является регистром адресов памяти. Однако операционная система фактически создает счетчики программ для каждого процесса и контролирует их потоки с помощью этих ПК. Это планирование, которое является основной особенностью ОС.

6

Каждый процессор имеет один счетчик аппаратной программы. Каждый поток имеет счетчик программ VALUE, который загружается только в счет аппаратной программы при выполнении потока.

Процесс может иметь несколько аппаратных счетчиков программ, если они выполняются в нескольких системах обработки. Каждый поток может работать на отдельном процессоре и иметь программный счетчик на этом процессоре.

+0

Я чувствую, что это отвечает на вопрос, который задает ОП, в то время как Пабло объясняет концепцию ПК и мультипрограммирование. – CapturedTree

Смежные вопросы