Понятие процесса
В процессе работы микропроцессор все время выполняет команды, составляющие реализацию алгоритма.
Поток (поток команд) — последовательность команд, выполняемых микропроцессором.
Процесс — поток вместе с ресурсами, выделенными для обеспечения выполнения программы.
Ресурсы — любые средства вычислительной системы, которые могут быть выделены процессу. Например, память, устройства ввода вывода и, конечно, сам процессор. Таким образом, процесс представляет собой поток команд вместе с выделенными ему (процессу) ресурсами.
Вообще говоря, процесс может содержать более одного потока. Тем не менее, выделение ресурсов все равно происходит на уровне процесса, и все потоки, относящиеся к процессу, имеют доступ к выделенным ему ресурсам. В дальнейшем, для простоты изложения, будем рассматривать только однопоточные процессы.
Все процессы можно классифицировать по нескольким параметрам:
  1. По принадлежности к ЦП:
    • внутренние (выполняемые на центральном процессоре);
    • внешние (выполняемые на других процессорах, входящих в вычислительную систему.
  2. По принадлежности к ОС:
    • системные (выполняющие функции ОС);
    • пользовательские.
  3. По генеалогическому признаку:
    • порождающие;
    • порожденные.
  4. По динамическому признаку:
    • последовательные;
    • параллельные;
    • комбинированные.
  5. По связности:
    • изолированные — не претендующие на какие-либо общие ресурсы, включая процессор (исполняющиеся на разных процессорах);
    • информационно-независимые — не использующие общих информационных ресурсов, но в то же время не являющиеся изолированными (например, использующие один процессор);
    • взаимодействующие;
    • конкурирующие — использующие общий ресурс (ресурсы).
Между процессами могут существовать следующие отношения:
Каждый процесс характеризуется состоянием. Существуют следующие основные состояния, в которых может находиться процесс.
Состояние процесса может изменяться в соответствии со следующей диаграммой (рис. 1):
Рис. 1.  
Если обратиться к примерам из модуля Задачи управления в микропроцессорной системе, то в случае асинхронного обмена при ожидании готовности ведомого устройства процесс переводится из активного состояния в состояние блокировки до получения сигнала готовности от внешнего устройства. При получении такого сигнала процесс переводится в состояние готовности, а после освобождения процессора — в активное состояние.
В случае нелинейной системы стабилизации процессы и попеременно переводятся в состояния активное и готовности при наступлении события смены знака произведения .
Задача изменения состояния процесса в соответствии с определенными правилами при наступлении определенных событий называется задачей диспетчеризации.
Понятие ресурса
Как уже было сказано ранее, под ресурсами понимаются любые средства вычислительной системы, которые могут быть выделены процессу. Например, память, устройства ввода-вывода и, конечно, сам процессор. Ресурсы могут быть классифицированы по следующим категориям:
  1. По реальности существования:
    • физический (реально существует и при распределении его между процессами обладает всеми присущими ему физическими характеристиками);
    • виртуальный (своеобразная модель физического ресурса, реализуемая в некоей программно-аппаратной форме). Построение каждого виртуального ресурса производится на базе некоего физического. Имея один физический ресурс, можно построить на его основе несколько виртуальных. Это дает возможность существенно экономичнее использовать соответствующий физический ресурс, а также увеличить гибкость политики распределения ресурсов.
  2. По характеру использования:
    • параллельно используемый (ЗУ);
    • последовательно используемый (УВВ в режиме вывода).
  3. По степени активности:
    • активный (способен выполнять действия по отношению к другим ресурсам или процессам, приводящие к изменению последних). Пример активного ресурса — процессор;
    • пассивный.
  4. По форме реализации:
    • мягкий (программное обеспечение, информационные ресурсы);
    • твердый (аппаратные компоненты)
  5. По времени существования:
    • постоянный (доступен для использования на всем протяжении интервала существования процесса);
    • временный (динамически захватывается и освобождается процессом).
  6. По структуре:
    • простой (не содержит составных элементов, например конкретное УВВ);
    • составной (содержит ряд однотипных составных элементов, при этом любой из них может быть выделен процессу). Пример составного ресурса — память.
  7. По восстанавливаемости:
    • воспроизводимый;
    • потребляемый.
С учетом всего вышесказанного можно обозначить основную задачу операционной системы как распределение ресурсов вычислительной системы между процессами.