Контакт:
  • Наши кнопки

  • Карта сайта
  • Вход для админа:

Физическое адресное пространство процессора i386 составляет 4 Гбайта, что определяется 32-разрядной шиной адреса. Физическая память есть линейной с адресами от 00000000 до FFFFFFFF в шестнадцатеричном представлении. Виртуальный адрес, используемый в программе, представляет собой пары - номер сегмента и сдвиг внутри сегмента. Сдвиг хранится в соответствующем поле команды, а номер сегмента - в одном из шести сегментных регистров процессора (CS, SS, DS, ES, FS или GS), каждый из который есть 16-битным.

Для идентификации переменных и команд используются символьные имена (мотки), виртуальные адреса и физические адреса (рисунок 2.7).

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

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

Теперь проследим, как виртуальное пространство отображается на физическое пространство размером в 4 Гбайта при чисто сегментном механизме отображения. Итак, когда задачи необходимо получить доступ к сердцевине физической памяти, то для выбора дескриптора виртуального сегмента используется значения селектора с соответствующего (в зависимости от команды и стадии ее выполнения - выборка кода команды или данных) сегментного регистра процессора. Значение поля типа таблицы указывает на то, какую таблицу нужно использовать - GDT или LDT.

Блокирование файла поддерживается с помощью системного вызова UNIX FLOCK. Если блокирования не нанимается на протяжении 30 промелькнут, то она нанимается по тайм-ауту. Поэтому, предназначенные только для чтения, такие как системные двоичные файлы, реплицируются, а пользовательские файлы - нет.

Хотя прикладные программы видят традиционное пространство имен UNIX, внутренняя организация серверу и клиента использует целиком другую схему имен. Они используют двухуровневую схему именования, при какой каталог содержит структуры, называемые fids (file identifiers), вместо традиционных номеров i-узлов.

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

Рис. 3.23.  Модель с полными доверительными отношениями

Через резкое увеличение числа доверительных отношений эта модель не подходит для больших предприятий.

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

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

Сервер времени OSF DCE - это система, которая поставляет время другим системам с целью синхронизации. Любая система, которая не содержит серверу времени, называется клерком (clerk).

Служба NDS представляет собой значительный шаг вперед в сравнении с предыдущими версиями за счет:

распределенности;

реплицируемости; прозрачности;

глобальности.

Распределенность заключается в том, что информация не хранится на одном сервере, а разделенная на части, называемые делениями (partitions). Netware бережет эти деления на нескольких серверах сети (рисунок 3.24). Это свойство значительно упрощает администрирование и управление большой сетью, потому что она рекомендуется администратору единой системой.

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

Рис.

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

Ниже приведенная классификация ОС по нескольким более всего основных признаках.

Особенности алгоритмов управления ресурсами

От эффективности алгоритмов управления локальными ресурсами компьютера во многом зависит эффективность всех сетевой ОС в целом.

1. Без использования дискового пространства

Все методы управления памятью могут быть разделены на два класса: методы, которые используют перемещение процессов между оперативной памятью и диском, и методы, которые не делают этого (рисунок 2.8). Начнем с последнего, более простого класса методов.

Рис. 2.8.  Классификация методов распределения памяти

2. Распределение памяти фиксированными делениями

Самым простым средством управления оперативной памятью является низменность ее на несколько делений фиксированного размера.

Нити иногда называют облегченными процессами или мини-процессами. Действительно, нити во многих отношениях подобный процессам. Каждая нить выполняется строго последовательно и имеет свой собственный программный счетчик и сток. Нити, как и процессы, могут, например, порождать нити-потомки, могут переходить с состояния в состояние. Подобно традиционным процессам (то есть процессам, которые составляются с одной нити), нити могут находится в одном из таких состояний: ВЫПОЛНЕНИЕ, ОЖИДАНИЕ и ГОТОВНОСТЬ.

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

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

Сети кампусов - соединяют несколько сетей отделов внутри отдельного дома или внутри одной территории предприятия.

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

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

Драйвер устройства принимает запрос от устройств программной прослойки и решает, как его выполнить.

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


s#0