Или задача абстракция описывающая выполняющуюся программу

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

Состояние процессов

В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:

ВЫПОЛНЕНИЕ — активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

ОЖИДАНИЕ — пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;

ГОТОВНОСТЬ — также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.

Основы программирования. Управления процессами

В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ — несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов. Жизненный цикл процесса начинается с состояния ГОТОВНОСТЬ, когда процесс готов к выполнению и ждет своей очереди. При активизации процесс переходит в состояние ВЫПОЛНЕНИЕ и находится в нем до тех пор, пока либо он сам освободит процессор, перейдя в состояние ОЖИДАНИЯ какого-нибудь события, либо будет насильно «вытеснен» из процессора, например, вследствие исчерпания отведенного данному процессу кванта процессорного времени. В последнем случае процесс возвращается в состояние ГОТОВНОСТЬ. В это же состояние процесс переходит из состояния ОЖИДАНИЕ, после того, как ожидаемое событие произойдет.

Процесс может находиться как минимум в двух состояниях: процесс исполняется и процесс не исполняется.

Рис 2.1. Простейшая диаграмма состояний процесса.

Рис. 2.2. Более подробная диаграмма состояний процесса.

Процесс, находящийся в состоянии процесс исполняется, может через некоторое время завершиться или быть приостановлен операционной системой и снова переведен в состояние процесс не исполняется. Приостановка процесса происходит по одной из двух причин: для его дальнейшей работы потребовалось возникновение какого-либо события (например, завершения операции ввода-вывода) или истек временной интервал, отведенный операционной системой для работы этого процесса. После этого операционная система по определенному алгоритму выбирает для исполнения один из процессов, находящихся в состоянии процесс не исполняется, и переводит его в состояние процесс исполняется. Новый процесс, появляющийся в системе, первоначально помещается в состояние процесс не исполняется.

Про абстракции в программировании и АйТи

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

Читайте также:
Sim программы на Айфоне отключить

Для того чтобы избежать такой ситуации, разобьем состояние процесс не исполняется на два новых состояния: готовность и ожидание (см. рисунок 2.2). Всякий новый процесс, появляющийся в системе, попадает в состояние готовность. Операционная система, пользуясь каким-либо алгоритмом планирования, выбирает один из готовых процессов и переводит его в состояние исполнение. В состоянии исполнение происходит непосредственное выполнение программного кода процесса.

16. Алгоритмы планирования. Квантование времени (вытеснение). Планирование на основе приоритетов. Приоритетное планирование потоков в MS Windows (2000/XP).

Планирование процессов включает в себя решение следующих задач:

1. определение момента времени для смены выполняемого процесса;

  1. выбор процесса на выполнение из очереди готовых процессов;
  2. переключение контекстов «старого» и «нового» процессов.

Первые две задачи решаются программными средствами, а последняя в значительной степени аппаратно.

Существует множество различных алгоритмов планирования процессов, по разному решающих вышеперечисленные задачи, преследующих различные цели и обеспечивающих различное качество мультипрограммирования. Среди этого множества алгоритмов рассмотрим подробнее две группы наиболее часто встречающихся алгоритмов: алгоритмы, основанные на квантовании, и алгоритмы, основанные на приоритетах.

В соответствии с алгоритмами, основанными на квантовании, смена активного процесса происходит, если:

  • процесс завершился и покинул систему,
  • произошла ошибка,
  • процесс перешел в состояние ОЖИДАНИЕ,
  • исчерпан квант процессорного времени, отведенный данному процессу.

По разному может быть организована очередь готовых процессов: циклически, по правилу «первый пришел — первый обслужился» (FIFO) или по правилу «последний пришел — первый обслужился» (LIFO).

Другая группа алгоритмов использует понятие «приоритет» процесса. Приоритет — это число, характеризующее степень привилегированности процесса при использовании ресурсов вычислительной машины, в частности, процессорного времени: чем выше приоритет, тем выше привилегии.

Существует две разновидности приоритетных алгоритмов: алгоритмы, использующие относительные приоритеты, и алгоритмы, использующие абсолютные приоритеты.

В обоих случаях выбор процесса на выполнение из очереди готовых осуществляется одинаково: выбирается процесс, имеющий наивысший приоритет. По-разному решается проблема определения момента смены активного процесса.

В системах с относительными приоритетами активный процесс выполняется до тех пор, пока он сам не покинет процессор, перейдя в состояние ОЖИДАНИЕ (или же произойдет ошибка, или процесс завершится). В системах с абсолютными приоритетами выполнение активного процесса прерывается еще при одном условии: если в очереди готовых процессов появился процесс, приоритет которого выше приоритета активного процесса. В этом случае прерванный процесс переходит в состояние готовности. На рисунке показаны графы состояний процесса для алгоритмов с относительными (а) и абсолютными (б) приоритетами.

Читайте также:
Какие маски открылись в программе маска

Существует два основных типа процедур планирования процессов — вытесняющие (preemptive) и невытесняющие (non-preemptive).

Non-preemptive multitasking — невытесняющая многозадачность — это способ планирования процессов, при котором активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление планировщику операционной системы для того, чтобы тот выбрал из очереди другой, готовый к выполнению процесс.

Preemptive multitasking — вытесняющая многозадачность — это такой способ, при котором решение о переключении процессора с выполнения одного процесса на выполнение другого процесса принимается планировщиком операционной системы, а не самой активной задачей.

Источник: poisk-ru.ru

Операционные

системы Автор В.А.Серков Подсистема управления процессами

В.А.Серков «Операционные системы» 1 1

Процесс (или по-другому, задача) — абстракция, описывающая выполняющуюся программу.

Для операционной системы процесс представляет собой единицу работы, заявку на потребление системных ресурсов.

В.А.Серков «Операционн 2
ые системы» 1

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

После загрузки программы в оперативную память и последующего запуска начинается процесс выполнения программы (процесс).

В.А.Серков «Операционн 3
ые системы» 1

Источник: studfile.net

Процесс- абстракция описывающая выполняющуюся программу Процессы это

Процесс- абстракция, описывающая выполняющуюся программу. Процессы — это одна из самых старых и наиболее

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

Без абстракции процессов современные вычисления просто не могут существовать. В любой многозадачной системе центральный процессор быстро переключается между процессами, предоставляя каждому из них десятки или сотни миллисекунд. При этом хотя в каждый конкретный момент времени центральный процессор работает только с одним процессом, в течение 1 секунды он может успеть поработать с несколькими из них, создавая иллюзию параллельной работы. Иногда в этом случае говорят о псевдопараллелизме в отличие от настоящего аппаратного параллелизма в многопроцессорных системах (у которых имеется не менее двух центральных процессоров, использующих одну и ту же физическую память).

Концептуальная модель последовательных процессов Процесс — это своего рода действия. У него есть программа,

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

Блок управления процессом (записи в таблице процессов)

Блок управления процессом (записи в таблице процессов)

Создание процессов Новый процесс создается за счет уже существующего процесса, который выполняет системный вызов,

Создание процессов Новый процесс создается за счет уже существующего процесса, который выполняет системный вызов, предназначенный для создания процесса. Этим процессом может быть работающий пользовательский процесс, системный процесс, вызванный событиями клавиатуры или мыши, или процесс управления пакетными заданиями.

Читайте также:
Музыка из программы что где когда волчок

Этот процесс осуществляет системный вызов для создания нового процесса. Системный вызов предписывает операционной системе создание нового процесса и прямо или косвенно указывает, какую программу в нем запустить. 1. Инициализация системы. При запуске операционной системы создаются, как правило, несколько процессов.

Некоторые из них представляют собой высокоприоритетные процессы, то есть процессы, взаимодействующие с пользователями и выполняющие для них определенную работу. Остальные являются фоновыми процессами, не связанными с конкретными пользователями, но выполняющими ряд специфических функций.

Создание процессов 2. Выполнение работающим процессом системного вызова, предназначенного для создания процесса. Работающий процесс

Создание процессов 2. Выполнение работающим процессом системного вызова, предназначенного для создания процесса. Работающий процесс осуществляет системный вызов для создания одного или более новых вспомогательных процессов.

Создание новых процессов особенно полезно, когда выполняемая работа может быть легко выражена в понятиях нескольких связанных друг с другом, но в остальном независимых друг от друга взаимодействующих процессов. 3. Запрос пользователя на создание нового процесса. Пользователи могут запустить программу вводом команды или щелчком (двойным щелчком) на значке.

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

Завершение процессов 1. Обычный выход (добровольно) 2. Выход при обнаружении процессом ошибки (добровольно) Обнаружение

Завершение процессов 1. Обычный выход (добровольно) 2. Выход при обнаружении процессом ошибки (добровольно) Обнаружение процессом фатальной ошибки. Выхода из интерактивных, использующих экран процессов при задании им неверных параметров обычно не происходит. Вместо этого появляется диалоговое окно с просьбой о повторной попытке ввода параметров.

3. Возникновение фатальной ошибки (принудительно) Возникновение ошибки, вызванной самим процессом, чаще всего связанной с ошибкой в программе. 4. Уничтожения другим процессом (принудительно). Выполнение процессом системного вызова, приказывающего операционной системе завершить некоторые другие процессы.

Иерархия процессов Родитель – потомок В некоторых системах, когда процесс порождает другой процесс, родительский

Иерархия процессов Родитель – потомок В некоторых системах, когда процесс порождает другой процесс, родительский и дочерний процессы продолжают быть определенным образом связанными друг с другом. Дочерний процесс может и сам создать какие-нибудь процессы, формируя иерархию процессов. В UNIX процесс, все его дочерние процессы и более отдаленные потомки образуют группу процессов.

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

Источник: present5.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru