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




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


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

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

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

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

Сегментация

Общее количество ячеек памяти (адресов), на которые пользователь может ссылаться в процессе выполнения своей программы, называют адресным пространством пользователя. Часто адресное пространство ЭВМ делится на определенные сегменты, в которые объединяются (по содержанию или организационно связанные друг с другом) ячейки памяти. Сегменты могут идентифицироваться обозначениями. Каждый сегмент обладает начальным адресом, каковым является адрес первой ячейки, входящей в этот сегмент, и тогда на ячейки памяти в сегментах ссылаются с помощью относительной адресации, используя начальный адрес сегмента. Длины сегментов (т. е. число входящих в них ячеек памяти) могут быть различны и даже динамически изменяться. Обратим внимание, что в оперативной памяти сегменты физически не обязательно должны быть представлены связно, и не обязательно все сегменты должны одновременно быть в оперативной памяти. В общем случае для многих ОС справедливы следующие высказывания:

·         адресное пространство контекста процесса состоит из нескольких сегментов (число которых может изменяться);




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