Информатика операционные системы

Примитивы управления процессами

Mach предусматривает небольшое количество примитивов управления процессами. Большинство из них выполняется путем посылки сообщения ядру через порт процесса. Наиболее важные из этих вызовов приведены в таблице 6.1.

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

Таблица 6.1.

Вызов Описание
CreateСоздает новый процесс, наследующий некоторые свойства
TerminateЗавершает определенный процесс
SuspendНаращивает счетчик приостановок
ResumeУменьшает счетчик приостановок; если он равен 0, то разблокирует процесс
PriorityУстанавливает приоритет для существующих или будущих нитей
AssignГоворит, на каком процессоре должны выполняться новые нити
InfoВозвращает информацию о времени выполнения, используемой памяти и т.д.
ThreadsВозвращает список нитей процесса

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

Вызовы Priority и Assign позволяют программисту управлять тем, как и где нити выполняются в многопроцессорной системе. Планирование CPU выполняется на основе приоритетов, так что программист может определять, какие нити более важные, а какие - менее важные.

Информатика операционные системы

Персональный компьютер Novell NetWare специализированная операционная система Сетевые продукты Microsoft OS/2