Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SysSoft.doc
Скачиваний:
520
Добавлен:
16.03.2016
Размер:
4.36 Mб
Скачать

Контрольные вопросы и задачи Вопросы для проверки

Перечислите и поясните основные функции ОС, которые связаны с управлени­ем задачами.

1 Какие дисциплины диспетчеризации задач вы знаете? Опишите их.

2 Что такое «гарантия обслуживания»? Как её можно реализовать?

3 Сравните механизмы диспетчеризации задач в ОС WindowsNTи OS/2. В чём заключаются основные различия?

4 Опишите механизм динамической диспетчеризации, реализованный в UNIX-системах.

5 Что такое «виртуальный адрес», «виртуальное адресное пространство»? Чем (в общем случае) определяется максимально возможный объём виртуального адресного пространства программы?

6 Что такое «фрагментация памяти»? Какой метод распределения памяти по­зволяет добиться минимальной фрагментации?

7 Что такое «уплотнение памяти»? Когда оно применяется?

8 Объясните сегментный способ организации виртуальной памяти. Что пред­ставляет собой (в общем случае) дескриптор сегмента?

9 Сравните сегментный и страничный способы организации виртуальной памя­ти. Перечислите достоинства и недостатки каждого.

10 Какие дисциплины применяются для решения задачи замещения страниц? Ка­кие из них являются наиболее эффективными и как они реализуются?

11 Что такое «рабочее множество»? Что позволяет разрешить реализация этого понятия?

12 Изложите принципы распределения памяти в MS-DOS.

13 Что означает термин «плоская модель памяти»? В чём заключаются достоин­ства (и недостатки, если они есть) использования этой модели?

Глава 3 Особенности архитектуры микропроцессоровi80x86

В рамках данного учебного пособия мы, естественно, не будем рассматривать все многообразие современных 32-разрядных микропроцессоров, используемых в ПК и иных вычислительных системах. Здесь мы ограничимся рассмотрени­ем только архитектурных, а не технических характеристик микропроцессоров. Под обозначением i80x86 будем понимать любые 32-битовые микропроцессоры, имеющие такой же основной набор команд, как и в первом 32-битовом микро­процессоре Intel80386, и те же архитектурные решения, что и в микропроцессо­рах фирмыIntel.

Реальный и защищённый режимы работы процессора

Широко известно, что первым микропроцессором, на базе которого была создана IBMPC, былIntel8088. Этот микропроцессор отличался от первого 16-разряд­ного микропроцессора фирмыIntel– 8086 – прежде всего тем, что у него была 8-битовая шина данных, а не 16-битовая (как у 8086). Оба эти микропроцессора предназначались для создания вычислительных устройств, которые бы работали в однозадачном режиме, то есть специальных аппаратных средств для поддерж­ки надёжных и эффективных мультипрограммных ОС в них не было.

Однако к тому времени, когда разработчики осознали необходимость включения в микропроцессор специальной аппаратной поддержки для мультипрограммных вычислений, уже было создано очень много программных продуктов. Поэтому для совместимости с первыми компьютерами в последующих версиях микропро­цессоров была реализована возможность использовать их в двух режимах – реальном(realmode– так назвали режим работы первых 16-битовых микропроцессоров) и защищённом(protectedmode– означает, что параллельные вычисле­ния могут быть защищёны аппаратно-программными механизмами).

Подробно рассматривать архитектуру первых 16-битовых микропроцессоров i8086/i8088 мы не будем, поскольку этот материал должен изучаться в предыду­щих дисциплинах учебного плана. Для тех же, кто с ним не знаком, можно реко­мендовать такие книги, как [52, 73], и многие другие. Однако напомним, что в этих микропроцессорах (а значит, и в остальных микропроцессорах семействаi80x86 при работе их в реальном режиме) обращение к памяти с возможным адресным пространством в 1 Мбайт осуществляется посредством механизма сегментной адресации (рис. 3.1). Этот механизм был использован для увели­чения количества разрядов, участвующих в указании адреса ячейки памяти, с которой в данный момент осуществляется работа, с 16 до 20 и тем самым уве­личения объёма памяти.

Конкретизируем задачу и ограничимся рассмотрением определения адреса ко­манды. Для адресации операндов используется аналогичный механизм, только участвуют в этом случае другие сегментные регистры. Напомним, что для опре­деления физического адреса команды содержимое сегментного регистра CS(codesegment) умножается на 16 за счёт добавления справа (к младшим битам) четы­рех нулей, после чего к полученному значению прибавляется содержимое указа­теля команд (регистрIP,instructionpointer). Получается двадцатибитовое зна­чение, которое и позволяет указать любой байт из 220.1

Рис. 3.1.Схема определения физического адреса для процессора 8086

В защищённом режиме работы определение физического адреса осуществляется совершенно иначе. Прежде всего используется сегментный механизм для орга­низации виртуальной памяти. При этом адреса задаются 32-битовыми значения­ми. Кроме этого, возможна страничная трансляция адресов, также с 32-битовыми значениями. Наконец, при работе в защищённом режиме, который по умолча­нию предполагает 32-битовый код, возможно исполнение двоичных программ, созданных для работы микропроцессора в 16-битовом режиме. Для этого введён режим виртуальной 16-битовой машины и 20-битовые адреса реального режима транслируются с помощью страничного механизма в 32-битовые значения защищённого режима. Наконец, есть ещё один режим – 16-битовый защищённый, по­зволяющий 32-битовым микропроцессорам выполнять защищённый 16-битовый код, который был характерен для микропроцессора 80286. Правда, следует отме­тить, что этот последний режим практически не используется, поскольку программ, созданных для него, не так уж и много.

Для изучения этих возможностей рассмотрим сначала новые архитектурные воз­можности микропроцессоров i80x86.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]