- •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
- •Спин-блокировки
Заголовки и тела объектов
Информация, хранящаяся в заголовке объекта, используется диспетчером объектов независимо от типа, поэтому заголовки объектов имеют стандартные атрибуты. Слайд 46 – стандартные заголовки атрибутов в Windows (имя объекта для того, чтобы идентифицировать его, дескриптор, квота, устанавливающая ограничение на использование ресурсов и т.д.).
Формат тела объекта уникален, специфичен для данного типа объекта. Все объекты одного типа имеют одинаковый формат тела.
Для работы с объектами диспетчер объектов имеет набор базовых сервисов, которые работают с атрибутами заголовка и не зависят от типа объекта (слайд 48).
Сервисы доступны через соответствующий API.
Замечание: у каждого объекта есть свои сервисы и они специфичны для создания, открытия и запроса на действие с объектом. Например, подсистема ввода-вывода реализует сервис для объектов типа «файл» (например, создание файлов), а диспетчер процессов реализует сервис для объектов типа «процесс» (например, создание процессов).
Замечание: единый сервис создать можно, но неэффективно. Поэтому сервисы, обеспечивающие создание, открытие и запросы для каждого типа объектов реализованы специфически.
Объекты типа
В заголовках объекта содержатся общие для всех объектов атрибуты, но значения их у разных типов объекта разные. Пример: имя объекта, дескриптор защиты. Для того, чтобы сэкономить реальную оперативную память, атрибуты, имеющие специфику для всех объектов, хранятся только на время использования этих объектов. При этом для записи этих данных создается новый объект, который называется объектом типа. Все объекты одного типа связываются между собой с помощью объекта типа. Это позволяет диспетчеру объектов находить их быстро. Просмотр заголовков объектов и объектов типа можно осуществить с помощью WinObj.
Атрибуты объекта типа
Атрибутами объекта типа нельзя управлять из приложений, но некоторые атрибуты видны через системные сервисы. Атрибуты объекта типа в общем случае представлены на слайде 51.
Атрибут «синхронизация» показывает способность синхронизировать свое выполнение, ожидая наступление какого-то события. Например, поток можно заставить ожидать (синхронизировать) по таким объектам, как файл, процесс, семафор, мьютекс.
Замечание: способность объекта к синхронизации показывает, что он содержит встроенный объект ядра.
Методы объекта
Атрибут метода состоит из набора процедур, автоматически вызываемые при работе с объектом (открытие. закрытие, изменение параметров объекта).
Замечание: в некотором случае методы определяют, кто имеет право использовать данный объект.
Напоминание: объект описывает ресурсы. Обращение к объекту – обращение к ресурсам.
При создании нового типа объектов компонент исполнительной системы может их зарегистрировать у диспетчера объектов. При этом связать с ними ряд методов – набор процедур. Например, диспетчер объектов вызывает метод Open всякий раз, когда создается описатель объекта. Метод Close используется в подсистеме ввода-вывода, которые связаны с объектами типа «файл». Диспетчер вызывает метод, а с ними и процедуры для каждого объекта этого типа.
