Понятие последовательного вычислительного процесса, или просто процесса, является одним из основных при рассмотрении операционных систем. Напомним, что под последовательным мы понимаем такой процессор, в котором текущая команда выполняется после завершения предыдущей. В современных процессорах мы стал киваемся с ситуациями, когда возможно параллельное выполнение нескольких команд. Это делается для повышения скорости вычислений. В этих процессорах параллелизм достигается двумя основными способами — организацией конвейер ного механизма выполнения команды и созданием нескольких конвейеров. Одна ко в подобных процессорах аппаратными решениями обязательно достигается ло гическая последовательность в выполнении команд, предусмотренная программой.
Концепция процесса предполагает два аспекта: во-первых, он является носителем данных и, во-вторых, он собственно и выполняет операции, связанные с обработ кой этих данных. Концепция процесса преследует цель выработать механизмы распределения и уп равления ресурсами.
В первых вычислительных системах любая программа могла выполняться только после полного завершения предыдущей. Поскольку эти первые вычислительные системы были построены в соответствии с принципами, изложенными в извест ной работе Яноша Джона фон Неймана, все подсистемы и устройства компьютера управлялись исключительно центральным процессором. Центральный процессор осуществлял и выполнение вычислений, и управление операциями ввода-вывода данных. Соответственно, пока осуществлялся обмен данными между оперативной памятью и внешними устройствами, процессор не мог выполнять вычисления.
Введение в состав вычислительной машины специальных контроллеров позволи ло совместить во времени (распараллелить) операции вывода полученных данных и последующие вычисления на центральном процессоре. Однако все равно процес сор продолжал часто и долго простаивать, дожидаясь завершения очередной опера ции ввода-вывода.
Процесс может находиться в активном и пассивном (не активном) состоянии. В активном состоянии процесс может конкурировать за ресурсы вычислительной системы, а в пассивном состоянии он известен системе, но за ресурсы не конкурирует (хотя его существование в системе и сопряжено с пре доставлением ему оперативной и/или внешней памяти). В свою очередь, активный процесс может быть в одном из следующих состояний:
- выполнения — все затребованные процессом ресурсы выделены (в этом состоя нии в каждый момент времени может находиться только один процесс, если речь идет об однопроцессорной вычислительной системе);
- готовности
- блокирования, или ожидания, — затребованные ресурсы не могут быть предо ставлены, или не завершена операция ввода-вывода.