Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.45 Mб
Скачать

Тема 3. Управление задачами в операционных системах

Конкретные задачи в среде ОС решаются путем реализации различных процессов.

Управление процессами.

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

  1. Создание и удаление процессов.

  2. Планирование процессов.

  3. Синхронизация процессов.

  4. Коммуникация процессов.

  5. Разрешение тупиковых ситуаций.

Не следует путать понятия процесс и программа. Программа – это список команд-инструкций для процессора, т.е. план действий процессора. Процесс - это само действие, т.е. выполнение процессором заданных инструкций.

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

Различают следующие состояния процесса:

  1. Новый процесс – это процесс, который только что создан.

  2. Готовый процесс – это процесс, который ожидает освобождения процессора, занятого решением другой задачи.

  3. Выполняемый процесс – это процесс, происходящий в соответствии с программой, команды которой выполняются процессором.

  4. Ожидающий процесс – это процесс, который ожидает некоторого события, чаще всего операции ввода-вывода со внешним устройством.

  5. Завершенный процесс – это процесс, который завершил свою работу.

Планирование процессов.

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

Планирование процессов – это распределение процессов между имеющимися ресурсами. Одним из методов планирования процессов является метод очередей ресурсов.

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

Готовые процессы располагаются в оперативной памяти и связаны очередью готовых процессов. Процессы в этой очереди ожидают освобождения ресурса – процессорное время.

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

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

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

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

Долгосрочный планировщик так формирует очередь готовых процессов, чтобы в ней присутствовали как процессы, ориентированные на ввод-вывод, так и процессы, ориентированные на работу с процессором.

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

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

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

На уровне краткосрочного планирования объектом управления являются процессы, которые выступают как потребители времени центрального процессора. Выделение времени процессора конкретному процессу производится многократно.

Взаимодействие процессов.

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

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

Для взаимодействия процесса-производителя и процесса-потребителя создается совместный буфер памяти. Буфер заполняется данными процессом-производителем. Данные из буфера считываются процессом-потребителем.

Буфер имеет фиксированный размер и, следовательно, процессы могут находиться в состоянии ожидания в следующих случаях:

  1. Буфер заполнен – процесс-производитель ожидает, когда буфер освободиться, чтобы записать туда данные.

  2. Буфер пуст – процесс-потребитель ожидает, когда в буфере появятся данные, чтобы их использовать.

В ОС существуют специализированные интерфейсы для организации взаимодействия между процессами:

1. DDE – динамический обмен данными. Он стандартизирует обмен командами, сообщениями и объектами между различными процессами. Наиболее распространенным процессом, для которого используется DDE, является печать.

2. OLE – связывание и встраивание объектов. Он позволяет хранить объекты, созданные одной программой, в объектах, созданных другой программой, а также редактировать и печатать эти объекты без нарушения целостности информации и связей.

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

Контрольные вопросы.

  1. Операции операционной системы, связанные с процессами(5);

  2. Состояния процесса(5);

  3. Особенность нового процесса;

  4. Особенность готового процесса;

  5. Особенность выполняемого процесса;

  6. Особенность ожидающего процесса;

  7. Особенность завершенного процесса;

  8. Определение планирование процессов;

  9. Особенности очереди заданий;

  10. Особенности очереди готовых процессов;

  11. Особенности очереди к оборудованию;

  12. Определение программа планировщик;

  13. Особенности долгосрочного планировщика;

  14. Определение работы;

  15. Особенности краткосрочного планировщика;

  16. Объяснить понятие взаимодействие процессов;

  17. Случаи, при которых процесс находится в состоянии ожидания;

  18. Специализированные интерфейсы для организации взаимодействия между процессами;

  19. Особенности интерфейса DDE;

  20. Особенности интерфейса OLE;

  21. Особенности интерфейса Clipboard.