Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения


Скачать 1.73 Mb.
Название Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения
страница 7/15
Тип Документы
rykovodstvo.ru > Руководство эксплуатация > Документы
1   2   3   4   5   6   7   8   9   10   ...   15

Недостатки:

  1. потери памяти на размещение таблиц страниц

  2. потери процессорного времени на обработку таблиц страниц (диспетчер памяти).

  3. Программы разбиваются на страницы случайно, без учета логических взаимосвязей, имеющихся в коде Þ межстраничные переходы осуществляются чаще, чем межсегментные + трудности в организации разделения программных модулей между выполняющими процессами

 

Чтобы избежать недостатка №3 был предложен сегментно-страничный способ распределения памяти.

 

Сегментно-страничный способ распределения памяти

 

Программа разбивается на сегменты.

Адрес, по-прежнему, состоит из двух частей - сегмент + смещение.

Но смещение относительно начала сегмента может состоять из двух полей: виртуальной страницы и индекса.

Для доступа к памяти необходимо:

  1. вычислить адрес дескриптора сегмента и причитать его;

  2. вычислить адрес элемента таблицы страниц этого сегмента и извлечь из памяти необходимый элемент;

  3. к номеру (адресу) физической страницы приписать номер (адрес) ячейки в странице.

 

Недостаток: Задержка в доступе к памяти (в три раза больше, чем при прямой адресации).

Чтобы избежать этого вводится кэширование (кэш строится по ассоциативному принципу).

 Плоская модель памяти

 

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

 

Этот подход называется плоской памятью.

Достоинства:

  • При использовании плоской модели памяти упрощается создание и ОС, и систем программирования.

  • уменьшаются расходы памяти на поддержку системных информационных структур

 

В абсолютном большинстве современных 32-разрядных ОС (для микропроцессоров Intel) используется плоская модель памяти.

 

Лекция №10

Защищенный режим работы микропроцессора

 

Вопросы

  1. Основные характеристики реального режима.

  2. Ключевые моменты защищенного режима.

  3. Системные регистры микропроцессора

  • регистры управления

  • регистры управления памятью (системных адресов)

  • регистры отладки

 

Впервые защищенный режим появился в микропроцессоре i80286 фирмы Intel. Именно этот режим позволяет полностью использовать все возможности, пре­доставляемые микропроцессором.

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

 

Мы подробно рассмотрим архитектуру мик­ропроцессора в защищенном режиме и основные правила программирования этого режима.

 

Вспомним основные характеристики реального режима.

 

Любой современный микропроцессор, находясь в реальном режиме, очень мало отличается от старого доброго i8086. Это лишь его более быстрый аналог с уве­личенным (до 32 бит) размером всех регистров, кроме сегментных. Чтобы по­лучить доступ ко всем остальным архитектурным и функциональным новшест­вам микропроцессора, необходимо перейти в защищенный режим.

 

В реальном режиме работы микропроцессора

  • объем адресуемой памяти - 1 Мб (=2**20, у них 20-разрядная шина адреса)

  • поддерживается выполнение всего одной программы Þ нет потребности в организации защиты программ от взаимного вли­яния

  • поддерживается сегментированная модель памяти

  • сегмент имеет длину не более 64 Кбайт

  • адрес сегмента располагается в одном из сегментных регистров

  • отсутствуют аппа­ратные средства контроля доступа к сегменту Þ любая программа может обратиться к любому адресу в памяти.

Формирование физического адреса происходит по правилам реального режима:

для определения физического адреса команды содержимое сегментного регистра CS умножается на 16 за счет добавления справа (к младшим битам) четырех нулей, после чего к полученному значению прибавляется содержимое указателя команд (регистр IP). Получается двадцатибитовое значение (20-разрядная шина адреса).

 

Теперь рассмотрим ключевые моменты защищенного режима.

В защищенном режиме изменились принцы работы микропроцессора с памятью.

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

 

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

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

Любой сегмент памяти в защищенном режиме описывается дескриптором сегмента.

Дескриптор сегмента имеет размер 8 байт и содержит следующие атрибуты:

  • расположение сегмента в памяти;

  • размер сегмента;

  • уровень привилегий — определяет права данного сегмента относительно других сегментов;

  • тип доступа — определяет назначение сегмента;

  • и другие.

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

Все дескрипторы собираются вместе в одну из 3 дескрипторных таблиц. В ка­кую именно таблицу должен быть помещен дескриптор, определяется его на­значением. Адрес, по которому размещаются эти дескрипторные таблицы, мо­жет быть любым; он хранится в специально предназначенном для этого адреса системном регистре.

 

! Формирование физического адреса происходит по правилам защищенного режима, поэтому программы, созданные для реального режима функционировать в защищенном не могут.

Адреса задаются 32-битовыми значениями. Возможна страничная трансляция адресов.

 

Системные регистры микропроцессора

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

Системные регистры можно разделить на три группы:

  • четыре регистра управления;

  • четыре регистра системных адресов;

  • восемь регистров отладки.

!

Большинство из системных регистров программно доступны.

 

Регистры управления

В группу регистров управления входят 4 регистра: сгО, сг1, сг2, сгЗ.

Эти регис­тры предназначены для общего управления системой (определяют режимы работы микропроцессора). Они 32-битовые.

Регистры управления доступны только программам с уровнем привилегий 0.

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

 

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

Регистр сг0 используется при страничной модели организации памяти.

Назначение системных флагов:

  •        ре (Protect Enable), бит 0 — разрешение защищенного режима работы.

  •        Со­стояние этого флага показывает, в каком из двух режимов — реальном (ре=0) или защищенном (ре=1) - работает микропроцессор в данный момент времени.

  •        mp (Math Present), бит 1 — наличие сопроцессора. Всегда 1.

  •        ts (Task Switched), бит 3 — переключение задач. Процессор автоматически устанавливает этот бит при переключении на выполнение другой задачи;

  •        am (Alignment Mask), бит 18 — маска выравнивания. Этот бит разрешает (am =1) или запрещает (am = 0) контроль выравнивания;

  •        cd (Cache Disable), бит 30 — запрещение кэш-памяти. С помощью этого бита можно запретить (cd = 1) или разрешить (cd = 0) использование внутренней кэш-памяти (кэш-памяти первого уровня);

  •        pg (PaGing), бит 31 — разрешение (pg = 1) или запрещение (pg = 0) стра­ничного преобразования.

 

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

В такой ситуации в микропроцессоре возникает исключительная ситу­ация 14, и линейный 32-битный адрес команды, вызвавшей это ис­ключение, записывается в регистр сг2. Имея эту информацию, обработчик ис­ключения 14 определяет нужную страницу, осуществляет ее подкачку в память и возобновляет нормальную работу программы.

 

Регистр сгЗ также используется при страничной организации памяти. Это так называемый регистр каталога страниц первого уровня. Он содержит 20-бит­ный физический базовый адрес каталога страниц текущей задачи.

Этот каталог содержит 1024 32-битных дескриптора, каждый из которых содержит адрес таблицы страниц второго уровня. В свою очередь, каждая из таблиц страниц второго уровня содержит 1024 32-битных дескриптора, адресующих странич­ные кадры в памяти. Размер страничного кадра — 4 Кбайт.

Регистры системных адресов (регистры управления памятью)

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

При работе в защищенном режиме микропроцессора адресное про­странство делится:

  •        на глобальное — общее для всех задач;

  •        локальное — отдельное для каждой задачи.

Этим разделением и объясняется то, что в архитектуре микропроцессора при­сутствуют следующие системные регистры:

  •        регистр таблицы глобальных дескрипторов gdtr (Global Descriptor Table Register) имеет размер 48 бит и содержит

  1. 1)     базо­вый адрес глобальной дескрипторной таблицы GDT (32-битовый)

  2. 2)     и предел - размер (в байтах) таблицы GDT (16-бит);

  •        регистр таблицы локальных дескрипторов ldtr (Local Descriptor Table Register) имеет размер 16 бит и содержит указатель на локальную таблицу сегментов текущей задачи.

  •        регистр таблицы дескрипторов прерываний idtr (Interrupt Descriptor Table Register) имеет размер 48 бит и содержит

1) базо­вый адрес дескрипторной таблицы прерываний IDT (32-битовый)

2) предел - размер (в байтах) таблицы GDT (16-бит);

  •        регистр задачи tr (Task Register) (16-битовый) указывает на дескриптор в таблице GDT, позволяющий получить доступ к дескриптору текущей задачи - этот дес­криптор описывает текущий сегмент состояния задачи (TSS — Task Segment Status). Этот сегмент создается для каждой задачи в системе. Основное назначение сегментов TSS — сохранять текущее состояние задачи в момент переключения на другую задачу.

Регистры отладки

Эти регистры предназначены для аппаратной от­ладки. Средства аппаратной отладки впервые появились в микропроцессоре i486. Аппаратно микропроцессор содержит 8 регистров отладки, но реаль­но из них используются только 6.

Регистры dr0, dr1, dr2, dr3 имеют разрядность 32 бит и предназначены для за­дания линейных адресов четырех точек прерывания. Используемый при этом механизм следующий: любой формируемый текущей программой адрес срав­нивается с адресами в регистрах dr0.. .dr3, и при совпадении генерируется ис­ключение отладки 1.

Регистр dг6 называется регистром состояния отладки. Биты этого регистра ус­танавливаются в соответствии с причинами, которые вызвали возникновение последнего исключения 1. Перечислим эти биты и их назначение:

b0 — если этот бит=1, то последнее исключение (прерывание) возникло в результате достижения контрольной точки, определенной в ре­гистре dr0;

b1 — аналогично b0, но для контрольной точки в регистре dr1;

b2 — аналогично b0, но для контрольной точки в регистре dr2;

b3 — аналогично b0, но для контрольной точки в регистре dr3;

bd (бит 13) служит для защиты регистров отладки;

bs (бит 14) = 1, если исключение 1 было вызвано состояни­ем флага tf = 1 в регистре eflags;

bt (бит 15) = 1, если исключение 1 было вызвано переклю­чением на задачу с установленным битом ловушки в TSS t = 1.

Все остальные биты в этом регистре заполняются нулями. Обработчик исклю­чения 1 по содержимому dr6 должен определить причину, по которой про­изошло исключение, и выполнить необходимые действия.

Регистр dг7 называется регистром управления отладкой. В нем для каждого из четырех регистров контрольных точек отладки имеются поля, с помощью кото­рых можно уточнить следующие условия, при которых следует сгенерировать прерывание:

  •       место регистрации контрольной точки — только в текущей задаче или в любой задаче. Соответствующие биты занимают младшие восемь бит регис­тра dг7 (по два бита на каждую контрольную точку (фактически, точку прерывания), задаваемую регистрами dr0, dr1, dr2, dr3). Первый бит из каждой пары — это так называемое локальное разрешение, его установка говорит о том, что точка прерывания действует, если она находится в пределах адрес­ного пространства текущей задачи. Второй бит в каждой паре определяет глобальное разрешение, которое говорит о том, что данная контрольная точ­ка действует в пределах адресных пространств всех задач, находящихся в системе;

  •       тип доступа, по которому инициируется прерывание: только при выборке команды, при записи или при записи/чтении данных. Биты, определяющие природу возникновения прерывания, локализуются в старшей части данно­го регистра.


Лекция №11

Защищенный режим работы микропроцессора

(продолжение)

Вопросы:

  1. Повторение ключевых моментов

  2. Поддержка сегментированной модели памяти

  •   Дескрипторные таблицы

  • Формат селектора сегмента (сегментного регистра)

  • Формат дескриптора сегмента

  1. Поддержка страничной модели памяти

  • Таблицы страниц

  • Формат дескриптора страницы

  1. Переход микропроцессора в защи­щенный режим

Структуры данных защищенного режима

Повторение ключевых моментов

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

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

 

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

 
1   2   3   4   5   6   7   8   9   10   ...   15

Похожие:

Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения icon Техническое задание на разработку программного обеспечения, используемого...
Государственное образовательное учреждение высшего профессионального образования Академия народного хозяйства
Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения icon Инструкция по установке программного обеспечения ас «Поликлиника»
«Поликлиника» поставляется в виде исполняемых модулей и дополнительного программного обеспечения сторонних производителей на компакт-диске....
Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения icon Программа дисциплины «Системное программное обеспечение» для специальности...
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов специальности 230101. 65 «Вычислительные...
Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения icon Программа дисциплины «Системное программное обеспечение» для специальности...
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов специальности 230101. 65 «Вычислительные...
Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения icon Программа дисциплины «Системное программное обеспечение» для специальности...
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов специальности 230101. 65 «Вычислительные...
Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения icon Инструкция программное обеспечение для лазерного гравера Qualitech rdca 0
Система управления лазерным гравером включает в себя материнскую плату, lcd дисплей и программное обеспечение. Данная инструкция...
Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения icon Техническое задание Предмет закупки: продление лицензий
Программное обеспечение для защиты рабочих мест пользователей от вредоносного программного обеспечения
Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения icon 1. Коммерческие условия поставки программного обеспечения
Программное обеспечение Adobe, графические и видео редакторы, издательские системы, средства web-разработки 6
Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения icon 1. Коммерческие условия поставки программного обеспечения
Программное обеспечение Adobe, графические и видео редакторы, издательские системы, средства web-разработки 7
Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения icon Лекция 1
Молчанов А. Ю. Системное программное обеспечение. Лабораторный практикум: – спб.: Питер, 2005. – 284 с
Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения icon Вопросы для подготовки к экзамену по профессиональному модулю пм....
Дисциплины: мдк. 09. 01 Установка и настройка системного программного обеспечения компьютерных систем и комплексов
Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения icon 2 2 Ключевые вопросы сопровождения программного обеспечения 152
Программная инженерия и сущность инженерного подхода к созданию программного обеспечения 9
Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения icon Задачах программирования лабораторный практикум по дисциплине «Системное...
Методические указания предназначены для подготовки дипломированных специалистов направления 230100 «Информатика и вычислительная...
Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения icon Порядок действий при утрате/повреждении ключа шифрования программного обеспечения ViPNet Client
Рением «. dst») программного обеспечения ViPNet Client производится в случае утраты ключевого носителя с записанным ключом шифрования...
Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения icon Методические рекомендации по выполнению внеаудиторной самостоятельной...
ПМ. 01 Разработка программных модулей программного обеспечения для компьютерных систем
Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения icon Расчетов за услуги связи «Fastcom» версия 12 Руководство системного...
Бпо – Базовое программное обеспечение программное обеспечение фирмы oracle, необходимое для функционирования ппо

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск