- •Системное программное обеспечение
- •Основные понятия теории операционных систем
- •Прерывания
- •Классификация операционных систем
- •Архитектура аппаратных и программных средств персонального компьютера
- •Регистры микропроцессоров Intel 8086/88
- •Формирование физического адреса
- •Прерывания
- •Особенности архитектуры микропроцессоров i80x86
- •Реальный и защищенный режимы работы процессора
- •Новые системные регистры микропроцессоров i80х86
- •Адресация в 32-разрядных микропроцессорах i80х86 при работе в защищенном режиме
- •Система прерываний 32-разрядных микропроцессоров i80х86
- •Управление задачами в операционных системах
- •Планирование процессов и диспетчеризация задач
- •Стратегии планирования (диспетчеризации)
- •Дисциплины диспетчеризации
- •Диспетчеризация задач с использованием динамических приоритетов
- •Управление памятью в операционных системах
- •Память и отображение, виртуальное адресное пространство
- •Простое непрерывное распределение и распределение с перекрытием
- •Распределение статическими и динамическими разделами
- •Разрывные методы распределения памяти
- •Распределение оперативной памяти в современных ос для пк
- •Управление вводом/выводом в операционных системах
- •Основные системные таблицы ввода-вывода
- •Файловая система
- •Структура магнитного диска
- •Файловая система fat
- •Файловая система ntfs
- •Структура тома с файловой системой ntfs
- •Основные отличия fat от ntfs
- •Управление параллельными взаимодействующими вычислительными процессами
- •Использование блокировки памяти при синхронизации параллельных процессов.
- •Синхронизация процессов посредством операции «проверка и установка»
- •Семафорные примитивы Дейкстры
- •Мониторы Хоара
- •Почтовые ящики
- •Конвейеры (программные каналы)
- •Очереди сообщений
- •Проблема тупиков и методы борьбы с ними
- •Предотвращение тупиков
- •Обход тупиков
- •Распознавание тупика
- •Современные операционные системы
- •Семейство операционных систем unix
- •Основные понятия системы unix
- •Функционирование системы unix
- •Файловая система
- •Межпроцессорные коммуникации
Особенности архитектуры микропроцессоров i80x86
Под обозначением i80x86 будем понимать любые 32-битовые микропроцессоры, имеющие такой основной набор команд, как и в первом 32-битовом микропроцессоре Intel 80386.
-
Реальный и защищенный режимы работы процессора
Первым микропроцессором, на базе которого была создана IBM PC, был 16-ти разрядный микропроцессор Intel 8088. Он отличается от первого 16-битового микропроцессора Intel 8086 тем, что у него была 8-битовая шина данных, а не 16-ти битовая как у 8088. Эти микропроцессоры были предназначены для работы в однозадачном режиме, специальных аппаратных средств для поддержки мультипрограммных ОС в них не было. Поэтому для совместимости с первыми компьютерами (программных продуктов было создано уже много) в последующих версиях микропроцессоров была реализована возможность использовать их в двух режимах – реальном (real mode – так назвали режим работы первых 16-битовых микропроцессоров) и защищенном (protected mode – означает, что параллельные вычисления могут быть защищены аппаратно-программными механизмами)
В 16-ти битовых микропроцессорах i80x86 обращение к памяти в 1 Мбайт производилось посредством механизма сегментной адресации. Этот механизм увеличивал количество разрядов, участвующих в указании адреса ячейки памяти, с 16 до 20 и тем самым увеличивал объем адресуемой памяти от 64 Кбайт (216) до 1 Мбайт (220).
В защищенном режиме работы определение физического адреса осуществляется совершенно иначе. Прежде всего используется сегментный механизм для организации виртуальной памяти. При этом адреса задаются 32-битовыми значениями. Для изучения всего этого рассмотрим новые архитектурные возможности микропроцессора i80x86.
-
Новые системные регистры микропроцессоров i80х86
-
32-битовый указатель команды EIP , младшие 16 разрядов есть регистр IP микропроцессора i8086/88;
-
32-битовый регистр флагов EFLAGS, младшие 16 разрядов есть регистр FLAGS микропроцессора i8086/88;
-
32-битовые регистры общего назначения EAX, EBX, ECX, EDX, а также ESP, EBP, ESI, EDI, а их младшие 16 разрядов есть регистры микропроцессора i8086/88: AX, BX, CX, DX, SP, BP, SI, DI;
-
16-битовые сегментные регистры CS, SS, DS, ES, FS, GS. При каждом из этих регистров есть недоступные никому, кроме собственно микропроцессора, 64-битовые регистры, в которые загружаются дескрипторы соответствующих сегментов;
-
16-битовый регистр-указатель на локальную таблицу сегментов текущей задачи – LDTR. При нем также имеется «теневой» (скрытый от программиста) 64-битовый регистр, в который микропроцессор заносит дескриптор, указывающий на таблицу дескрипторов сегментов задачи, описывающих ее локальное виртуальное адресное пространство;
-
16-битовый регистр-указатель задачи TR (task register). Указывает на дескриптор в глобальной таблице дескрипторов, позволяющий получить доступ к дескриптору задачи TSS – информационной структуре, которая поддерживает микропроцессор для управления задачами;
-
48-битовый регистр GDTR глобальной таблицы GDT (global descriptor table), содержащий как дескрипторы общих сегментов, так и специальные системные дескрипторы;
-
48-битовый регистр IDTR таблицы дескрипторов прерываний. Сдержит информацию, необходимую для доступа к таблице прерываний IDT.
-
32-битовые управляющие регистры CRO, CR1, CR2, CR3. Регистр CR0 содержит флаги, определяющие режим работы микропроцессора. Регистр CR1 предназначен для размещения в нем адреса подпрограммы обработки страничного исключения. Регистр CR3 содержит номер физической страницы, в которой располагается таблица каталогов таблиц страниц текущей задачи.