Конспект установочных лекций по комплексному курсу Информатика, Теория информации




Методы реализации системного программирования - часть 5


·         указатель стека в режиме пользователя,

·         содержимое регистров

·         слово состояния процессора PSW,

·         начальный адрес и длину (число страниц) таблицы страниц области памяти для пользовательской программы,

·         начальный адрес и длину таблицы страниц для стека пользователя.

Синхронизация

В мультипрограммных и мультипроцессорных системах часто бывает необходима синхронизация хода выполнения определенных участков программы. Такая синхронизация может быть осуществлена с помощью семафоров. Однако аппаратура часто предоставляет лишь примитивные механизмы синхронизации, на которые и должна опираться реализация семафоров. Для синхронизации имеется в распоряжении следующая команда: JBSSI   (“jump on bit set and set interlocked”). Эта команда выполняется как неделимое целое, и поэтому ее выполнение не может быть прервано. Команда использует три операнда:

JBSSI а, Р, у.

С помощью этих операндов адресуется бит в массиве битов. При этом пусть Р, у - операнды-спецификации; a - относительный адрес (число бит) бита в байте, заданном адресом р. Выполнение команды JBSSI а, р, у влечет следующее изменение состояния:

·         занесение в счетчик команд значения, специфицированного с помощью у.

·         в этот бит заносится значение L.

Итак, эта команда в любом случае приводит к состоянию, в котором упомянутый бит имеет значение L. Если перед выполнением команды этот бит уже имел значение L, то в счетчик команд заносится соответствующее значение. Про такого рода команды говорят также как о “test and set^-командах (т. е. командах проверки и установки). Команда

JBCCI (“jump on bit cleard and clear interlocked)

действует аналогично команде JBSSI с той разницей, что в счетчик команд заносится значение у, если упомянутый бит имеет значение О и этот бит в любом случае получает значение О.


Содержание  Назад  Вперед