- •Вопросы и литература по курсу аос (по всем вопросам должен быть представлен краткий рукописный конспект в общей тетради)
- •Структура программного обеспечения персонального компьютера.
- •Понятие операционной системы персонального компьютера. Основные интерфейсы компьютерной системы.
- •Краткая история операционных систем.
- •Доисторический период
- •Первый период (1945-1955)
- •Основные функциональные компоненты ос.
- •Подсистема управления процессами
- •Управления памятью
- •Управление файлами и внешними устройствами
- •Защита данных и администрирование
- •Интерфейс прикладного программирования
- •Пользовательский интерфейс
- •Сетевые и распределенные операционные системы.
- •Требования к современным операционным системам.
- •Базовая архитектура операционной системы. Понятие ядра системы. Классификация операционных систем в зависимости от особенностей архитектуры ядра.
- •По архитектуре ядра системы можно разделить на:
- •-2) Слоистая архитектура ядра
- •Аппаратная зависимость и переносимость операционных систем.
- •Совместимость операционных систем и множественные прикладные среды.
- •Подсистема управления процессами, основные задачи. Понятие многозадачности.
- •Многозадачность в системах пакетной обработки, разделения времени и реального времени. Системы пакетной обработки.
- •Системы разделения времени
- •Системы реального времени
- •Состояния потока
- •Планирование и диспетчеризация потоков
- •Квантование – каждому потоку последовательно выделяется квант процессорного времени.
- •Алгоритмы планирования, основанные на приоритетах
- •Смешанные алгоритмы планирования
- •Приоритеты и концепции планирования потоков в Windows 2000, ос Unix System V и os/2. Система ос Unix System V Release 4
- •Система os/2
- •Система Windows 2000
- •Планирование процессов и потоков в системах реального времени.
- •Назначение
- •Механизм прерываний
- •Реализация системных вызовов. Использование механизма прерываний для реализации системных вызовов.
- •Понятие гонок
- •Критическая секция кода и исключение гонок
- •Блокирующие переменные
- •Понятие семафора и его использование для целей синхронизации.
- •Синхронизация и проблема тупиков.
- •Синхронизирующие объекты в операционных системах.
- •Методы распределения памяти
- •Фиксированные разделы
- •Динамические разделы
- •Перемещаемые разделы
- •Остальные методы требуют использования внешней памяти
- •Свопинг
- •Виртуальная память
- •Страничная организация памяти
- •2 Базисных свойства страничной организации:
- •Сегментное распределение памяти
- •Сегментно-страничное распределение
- •Организация виртуальной памяти, преобразование адреса.
- •Обмен данными между процессами на основе виртуальной памяти.
- •Аппаратная поддержка сегментной организации памяти в системах на основе процессоров с архитектурой ia32. Небольшое вступление про процессоры ia-32 и аппаратную поддержку мультипрограммирования
- •Регистры сегментов
- •Управляющие регистры:
- •Регистры системных адресов
- •Регистры отладки и тестирования
- •Средства поддержки сегментной организации памяти в процессорах Пентиум (собственно ответ на билет)
- •Итак, процесс обратился за памятью. Что происходит?
- •Защита данных в системах с сегментной организацией памяти на основе процессоров с архитектурой ia32.
- •Привилегии подробнее:
- •Смешанная сегментно-страничная организация памяти в системах на основе процессоров с архитектурой ia32. Трансляция адреса. Буфер ассоциативной трансляции (tlb).
- •Кэширование данных
- •Принципы работы кэш - памяти.
- •Проблема согласования данных.
- •Вытеснение данных из кэШа
- •Случайное отображение
- •Детерминированный способ отображения
- •Управление памятью в реальном режиме адресации на примере консоли Windows xp.
- •Задачи подсистемы управления внешними устройствами.
- •Организация параллельной работы устройств ввода-вывода и процессора
- •Согласование скоростей обмена
- •Разделение устройств и данных между процессами
- •Обеспечение удобного и логического интерфейса между устройствами и остальной частью системы
- •Поддержка широкого спектра драйверов с возможностью расширения
- •Динамическая загрузка и выгрузка драйверов.
- •Поддержка синхронных и асинхронных операций ввода-вывода
- •Поддержка нескольких файловых систем.
- •Типы файлов
- •Иерархическая структура фс
- •Имена файлов
- •Монтирование
- •У файла есть:
- •Логическая организация файла:
- •Физическая организация данных на диске.
- •Физическая организация файла.
- •Связанный спискок кластеров дисковой памяти
- •Связанный список индексов – фс фат.
- •Файловые операции.
- •Универсальные действия:
- •Стандартные файлы ввода и вывода, перенаправление ввода-вывода.
- •Файловые системы Unix (s5 и ufs).
- •Обзор семейства операционных систем Microsoft Windows.
- •Системный реестр: структура системного реестра Windows;
- •Импорт и экспорт данных системного реестра;
- •Предопределенные ключи системного реестра;
Регистры сегментов
6 регистров – ссылаются на дескрипторы сегментов памяти:
CS – дескриптор кодового сегмента
SS – дескриптор сегмента стека
DS, ES, FS, GS – дескрипторы сегментов данных
Все они, кроме первого, доступны программно (туда можно загрузить новое значение с помощью команды);
Каждый сегмент хранит в себе СЕЛЕКТОР – 16-разрядное число.
Структура селектора:
12 разрядов |
1 разряд |
3 разряда |
Индекс в таблице дескрипторов сегментов |
Показывает, где находится дескриптор: - в GDT - в LDT |
Поле RPL – уровень привилегий запроса к этому сегменту |
Указатель инструкций EIP – содержит смещение адреса текущей инструкции.
EIP + CS(из регистров сегментов) = виртуальный адрес инструкции.
Регистр флагов (EFLAGS) – содержит признаки, характеризующие результат выполнения операции:
- флаг знака
- флаг нуля
- флаг переполнения
- флаг паритета
- флаг переноса и тд
- флаг разрешения аппаратных прерываний (разрешение аппаратных прерываний IF)
Управляющие регистры:
5 управляющих регистров: CR0, CR1, CR2, CR3, CR4 – хранят данные об общем состоянии процессора.
CR0 – все основные признаки:
- реальный / защищенный режим
- вкл / выкл страничного механизма
- признаки, влияющие на работу кэша и выполнение команд с плавающей точкой
CR1 – зарезервирован
CR2 – линейный адрес страничного отказа
CR3 – физический адрес таблицы разделов
CR4 – работа архитектурных расширений (возможность использования страниц > 4 Мб)
Регистры системных адресов
Адреса важных системных таблиц и структур, связанных с управлением процессами и памятью.
GDTR – Global Descriptor Table Register – физический 32-разрядный адрес глобальной таблицы дескрипторов (GDT) – общая часть ВАП для всех процессов
IDTR – Interrupt Descriptor Table Register – физический 32-разрядный адрес таблицы дескрипторов прерываний (IDT) – она используется для вызова процедур обработки прерываний.
+ В этих регистрах хранятся лимиты, ограничивающие размер этих таблиц.
TR – task register – индекс дескриптора сегмента состояния задачи TSS (он в DTR лежит)
LDTR – Local Descriptor Table Register – индекс дескриптора сегмента локальной таблицы дескриптора LDT (индивидуальная часть ВАП процесса);
Регистры отладки и тестирования
Регистры отладки – значения точек останова
Регистры тестирования – проверка корректности работы внутренних блоков процессора.
Средства поддержки сегментной организации памяти в процессорах Пентиум (собственно ответ на билет)
Процессор Пентиум – 32 разрядный, поэтому максимальный размер физической ОП, на которую он может отображать ВАП – 4 гига.
Процессор Пентиум может поддерживать как сегментную, так и сегментно-страничную организацию памяти.
Сегментные средства работают всегда (верхний уровень);
Страничные средства могут быть вкл/выкл (это нижний уровень);
Это делается в управляющем регистре CR0 – путем установки однобитного признака PE (Paging Enabling) в 0/1.
Итак, Пентиум работает в сегментном режиме.
У него есть ВАП, поделенный на СЕГМЕНТЫ.
У каждого сегмента есть описание – ДЕСКРИПТОР СЕГМЕНТА.
Формат дескриптора сегмента (размер – 8 байт)
Структура у дескриптора немного странная, это все пережитки истории.
Но в целом основные поля:
База – занимает 32 бита (4 байта) – содержит базовый адрес сегмента.
На рисунке желтая, видно, что состоит из 3 частей
Размер – занимает 24 бита (3 байта)
Поле G – единица измерения:
- 0 – байты (максимальный р-р сегмента – 64 кб)
- 1 – страницы по 4 кб
5-й байт дескриптора (в красной рамке – байт доступа). – 8 бит (1 байт)
Он содержит:
Бит присутствия Р (1 бит):
- 0 – сегмент не в памяти,
- 1 – в памяти
DPL (Descriptor Privilege Level) – уровень привилегий для доступа к дескриптору (2 бит)
5 бит – поля типа сегмента:
- сегмент данных
- сегмент кода
- системный сегмент (GDT, TSS)
И способ использования сегмента (чтение, запись, выполнение)
3. Дескрипторы объединяются в ТАБЛИЦЫ ДЕСКРИПТОРОВ (2 типа):
Глобальная таблица дескрипторов(GDT) – сегменты межпроцессного взаимодействия, сегменты ОС, общие сегменты для всех процессов
Локальная таблица дескрипторов (LDT) – у каждого процесса своя.
(IDT – Interrupt Descriptor Table – таблица дескрипторов прерываний – используется системой прерываний для их обработки)
GDT – одна
LDT – столько, сколько процессов, при этом в каждый момент времени используется только одна.
Таблицы GDT и LDT размещены в памяти в виде отдельных сегментов.
Таблица GDT кроме всего прочего, хранит в себе данные о себе самой и обо всех LDT.
Адреса GDT и LDT хранятся в регистрах системных адресов GDTR и LDTR соответственно.
В GDTR хранится 32 разрядный физический адрес
В LDTR – индекс дескриптора в таблице GDT, а уже адрес нужной LDT берется из этой записи.
