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

Основные операции над процессом - «создание-завершение», «приостановка-запуск», «блокирование-разблокирование», «изменение приоритета».

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

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

Системный вызов fork(). Исполнение программы начнётся с точки создания процесса, а не с начала программы.

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

Операция мутации процесса. Исполняемый образ процесса может быть замещён другим образом (программой). Системный вызов: exec(...). Не существует возврата в старый образ из этого вызова при его успешном завершении.

Завершение процесса выполняется с помощью системного вызова exit(). Проблема «управления» (поведение, принадлежность) дочерних процессов при завершении родительского. В ОС Linux дочерние процессы продолжают своё выполнение, а их родителем становится процесс на вершине иерархии – процесс init.

  1. Планирование процессов. Политики планирования

Приоритет – числовая характеристика процесса, показывающая его «важность». Приоритет принимает значения от 0 (наименьший) до N (наибольший).

ОС может присваивать приоритеты автоматически или они могут назначаться извне.

Статический приоритет – постоянный. Малые накладные расходы на их поддержку. Недостаток: невозможность реакции на изменения в окружающей обстановке с целью корректировки приоритетов.

В ядре статические приоритеты меняются в диапазоне от 0 до 99. Назначается процессу при создании и изменяется через системный вызов.

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

Методики диспетчеризации процессов: совместная и вытесняющая многозадачность.

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

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

Проблема: процесс может монополизировать процессор и тем самым блокировать нормальную работу системы.

Linux использует вытесняющую многозадачность с элементами совместной.

Планировании процессов. Цели и критерии планирования.

Уровни планирования

Операционная система ответственна за распределение времени центрального процессора между процессами. Эта задача называется диспетчеризацией процессов (планирование загрузки процессоров).

Планирование на верхнем уровне (планирование допуска) определяет, каким заданиям будет разрешено конкурировать за ресурсы системы. Вошедшее задание становится процессом.

Планирование на промежуточном уровне (планирование нагрузки) определяет, каким процессам можно состязаться за захват центрального процессора путём приостановки и активизации процессов.

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

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

Цели планирования

Планирование должно быть справедливым. Права процесса на ресурсы не должны ущемляться в пользу других процессов.

Обеспечение максимальной пропускной способности системы (количество обслуживаемых процессов в единицу времени). Улучшается эффект «параллельности» выполнения процессов.

Предсказуемость выполнения – одно и тоже задание должно выполняться приблизительно за одно время при прочих равных условиях. Повышается надёжность работы системы и упрощается анализ её работоспособности.

Требование минимизации накладных расходов (использование ресурсов системы самой системой). Пример таких расходов – использование процессора диспетчером.

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

Обеспечение приемлемого времени ответа для пользователей. В противном случае система будет невостребованной.

Критерии планирования

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

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

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

Суммарное время работы процесса. Две точки зрения:

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

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