- •1. Понятие вычислительной системы
- •1.1. Модель вычислителя
- •1.2. Модель коллектива вычислителей
- •1.3. Понятие параллельных алгоритмов
- •1.4. Принципы технической реализации модели коллектива вычислителей
- •1.9. Распределенные вычислительные системы
- •1.5. Классификация архитектур вычислительных систем
- •1.6. Конвейерные вычислительные системы
- •1.7. Матричные вычислительные системы
- •1.8. Мультипроцессорные системы
- •1.10. Вычислительные системы с программируемой структурой
- •1.11. Примеры реализаций вычислительных систем.
- •2. Аппаратные средства вс
- •2.1. Прерывания
- •2.2. Многомодульное программирование
- •2.3. Реализация архитектурных решений. Обзор технологий процессоров Intel
- •3. Ос. Основные понятия и типы операционных систем
- •3.1. Основные технологии программирования
- •3.2. Общие подходы к построению ос. Классификация ос.
- •3.3. Основные функции ос
- •3.4. Подходы к построению ос.
- •3.5. Виртуализация
- •3.6. Подходы Oracle
- •3.7. Центры обработки данных (цод)
- •Инструментарий ос (на основе Windows)
- •Основные базовые понятия: процессы и потоки
- •Инструментарий
- •Режим ядра и пользовательский режим
- •Средства изучения внутреннего устройства Windows
- •Основные концепции построения Windows
- •Архитектура современных ос
- •Лекция Основные требования при проектировании
- •Модель ос Windows
- •Обзор архитектуры
- •Многопроцессорная обработка
- •Различия между клиентскими и серверными версиями ос Windows
- •Лекция. Проверочный выпуск ос
- •Ключевые компоненты системы
- •Подсистема окружения
- •Подсистема окружения Windows
- •Исполнительная система Windows
- •Объекты ядра
- •Поддержка оборудования
- •Уровень абстрагирования от оборудования (Hardware Abstraction Layer)
- •Драйверы устройств в ос Windows
- •Недокументированные интерфейсы
- •Системные процессы
- •Прерывания (interrupts) и dpc (deferred procedure calls)
- •Процесс system и его потоки
- •Диспетчер сеансов
- •Диспетчер управления сервисами
- •Системные механизмы Windows
- •Виртуальная память
- •Режим ядра и пользовательский режим
- •Другие механизмы
- •Уровни запросов программных прерываний
- •Объекты прерывания
- •Программные прерывания
- •Прерывания apc (Asynchronous Procedure Call)
- •Диспетчеризация исключений
- •Необработанные исключения
- •Поддержка отчетов об ошибках
- •Диспетчеризация системных сервисов
- •Диспетчеризация 32-разрядных системных сервисов
- •Диспетчеризация системных сервисов режима ядра
- •Диспетчер объектов
- •Объекты исполнительной системы
- •Структура объектов в Windows
- •Заголовки и тела объектов
- •Объекты типа
- •Атрибуты объекта типа
- •Методы объекта
- •Описатели объектов и таблица описателей
- •Глобальные флаги Windows
- •Трассировка событий ядра
- •Управление процессами и потоками
- •Внутреннее устройство процессов
- •Создание процессов
- •Внутреннее устройство процессов. Структуры данных
- •Внутреннее устройство потоков
- •Основные блоки описания потоков в ос Windows
- •Взаимодействие процессов (ipc)
- •Взаимоисключения
- •Синхронизация в Windows
- •Спин-блокировки
Другие механизмы
1) Безопасность.
Windows поддерживает два вида контроля доступа к объектам: избирательный и мандатный. Все они регламентируются определенной математической моделью.
«Математические методы защиты информации» С.П. Девянин ИКСИ.
Грушо А.А. (полковник ФСБ, криптограф)
Расторгуев С.П. (директор одного из ЦНИИ ФСБ РФ)
2) Реестр.
Как правило, каждая ОС поддерживает подсистему конфигурирования. С помощью нее можно устанавливать параметры ОС и оперативно их изменять. В каждой фирме подсистема конфигурирования называется по-разному. В ОС фирмы IBM VM/SP v5 – «оглавление». В Windows – «реестр». В этих подсистемах хранятся параметры показателей оценки эффективности функционирования ОС и параметры настройки.
3) Unicode.
В отличие от ОС других фирм, Windows использует формат хранения данных текстового вида Unicode. Unicode – стандартная кодировка, которая поддерживает многие наборы символов, из которых формируются различные языки мира. Каждый символ представляется двумя байтами (по сравнению с ASCII – 1 байт).
Диспетчеризация ловушек
Диспетчеризация прерываний
Просмотр IDT можно осуществить с помощью отладчика Windows Debugger, можно видеть номер прерывания и дальше с чем он связан: с мыщью: Mouse Interrupt Service, с видеоадаптером.
Контроллеры прерываний 8259А
В большинстве x86 систем применяется либо программируемый контроллер прерываний PIC (Programmable Interrupt Controller i8259A или усовершенствованный APIC (Advanced) i82489).
Контроллеры APIC предлагают более 256 линий прерываний. Существует спецификация, которая называется MPS – стандарт для многопроцессорных x86 систем.
Основные сведения о системе прерываний IBM-совместимых ЭВМ
Все прерывания имеют свой приоритет в зависимости от места подключения устройства. Все прерывания кроме одного можно запретить, установив в ноль флаг регистра флага, который есть в процессоре. Прерывание, которое нельзя запретить – сбой в аппаратной части носит название немаскируемого.
Адреса программ обработчиков прерываний хранятся в специальной области реальной ОП, которая располагается с нулевого адреса и содержит адреса 256 программ. Местоположение нужного обработчика определяется по типу прерывания: номер прерывания умножить на четыре, где четыре – длина адреса.
При наличии сигнала прерывания выполняется следующая последовательность действий:
1) проверяется установка флага маски: 1 – прерывания разрешены, 0 – разрешены;
2) если прерывание разрешено, то после завершения выполнения текущей команды слово состояния программы PSW значение сегментного регистра кода CS – адрес, с которого начинается код. Значение счетчика команд IP (Instruction Point), смещение относительно сегмента кода, указывающее на команду, которая должна выполняться следующей. Все эти данные заносятся в стек.
3) из области векторов прерываний в регистр CS и IP помещается адрес программы, соответствующей обработчику прерываний, после чего начинается выполнение. По окончании работы программы обработчика прерываний значения CS и IP, PSW восстанавливаются и выполнение прерванного модуля продолжается.
Все прерывания, относящиеся к контроллеру прерываний документированы и делятся на следующие группы:
1) прерывание микропроцессора
2) прерывания микроконтроллера прерываний
3) прерывания BIOS
4) прерывания пользователя
5) прерывания, связанные с указателями на системные таблицы с параметрами того или иного устройства
6) прерывания DOS;
7) прерывания, отведенные для пользователей.
Замечание: ввиду того, что типов прерываний очень много, устройств, подключенных – тоже, поэтому, как правило, в ОС при выполнении некоторых системных модулей прерывания запрещены, т.е. стараются делать ОС из маленьких модулей, которые работают, не прерываясь.
Конфигурацию PIC и APIC можно посмотреть в Windows Debugger. Для этого надо ввести соответствующую команду.
