- •1. Предназначение операционных систем. Основные понятия ос. (Лекция 1)
- •2. Системные вызовы. (Лекция 1)
- •3. Аппаратные особенности выполнения программ. (Лекция 1)
- •4. Аппаратные прерывания. Выполнение операций ввода/вывода. (Лекция 1)
- •5. Обработка прерываний в Windows. (Лекция 1)
- •6. Процессы и потоки (определения). Отличия методов klt и ult. (Лекция 2)
- •7. Состояния потока (модели с двумя и с пятью состояниями). (Лекция 2)
- •8. Планирование процессов (потоков). (Лекция 2)
- •9. Состояние потоков в Windows. (Лекция 3)
- •10. Уровни приоритета, квант потока в Windows. (Лекция 3)
- •11. Сценарии планирования потоков в Windows. (Лекция 3)
- •12. Динамическое управление приоритетом потоков в Windows. (Лекция 3)
- •13. Проблема переключения контекста. Виртуальная память процесса в Windows. (Лекция 3)
- •14. Проблема разделяемых ресурсов. Требования к реализации механизма взаимных исключений. (Лекция 4)
- •15. Взаимное исключение с активным ожиданием. Алгоритмы переменной-замка, строгого чередования, флагов готовности, Петерсона. (Лекция 4)
- •16. Взаимное искл. С активным ожиданием. Алгоритм Петерсона. Недост. Алгоритмов с активным ожиданием. (Лекция 4)
- •17. Решение задачи о производителях и потребителях с помощью примитивов (функций ядра) блокирования и запуска процессов. (Лекция 4)
- •18. Семафоры и мьютексы. (Лекция 5)
- •19. Применение семафоров и мьютексов в задаче о производителях и потребителях. (Лекция 5)
- •20. Передача данных как метод синхронизации. (Лекция 5)
- •2 1. Применение сообщений в задаче о производителях и потребителях. (Лекция 5)
- •22. Проблема взаимоблокировки, траектории ресурсов, граф распределения. Стратегии устранения взаимоблокировок. (л6)
- •23. Алгоритм поиска взаимоблокировок. (Лекция 6)
- •24. Алгоритм предотвращения взаимоблокировок. (Лекция 6)
- •25. Восстановление при взаимной блокировке. Исключение условий появления взаимоблокировок. (Лекция 6)
- •26. Проблемы управления оперативной памятью. Физическая и логическая адресация. (Лекция 7)
- •27. Сегментная логическая адресация. (Лекция 7)
- •28. Страничная логическая адресация. (Лекция 7)
- •29. Распределение физической памяти. (Лекция 7)
- •30. Страничная логическая адресация. Виртуальная память. (Лекция 7)
- •31. Управление памятью: Стратегии виртуальной памяти. Замещение страниц. (Лекция 7)
- •32. Управление памятью: Управление резидентным множеством. (Лекция 7)
- •33. Принципы организации ввода-вывода. Компоненты ядра Windows, относящиеся к вводу-выводу. (Лекция 8)
- •34. Функции базовой подсистемы и интерфейс драйверов. (Лекция 8)
- •35. Буферизация ввода-вывода. (Лекция 8)
- •36. Система ввода-вывода Windows. (Лекция 8)
- •37. Типы драйверов. Запрос к одноуровневому и многоуровневому драйверу. (Лекция 9)
- •38. Системные механизмы dpc и apc. (Лекция 9)
- •39. Объекты ввода-вывода. Связи между объектами "файл", "устройство" и "драйвер". (Лекция 9)
- •40. Дерево устройств, узлы устройств. (Лекция 9)
- •41. Стек драйверов и объектов ввода-вывода (на примере устройства "джойстик")
- •42. Файлы и каталоги. Жесткие и символьные ссылки. Общие сведения о размещении файловой системы на диске. (Лек 10)
- •43. Реализация файла (непрерывные файлы, связные списки, I-узел). Методы учета свободных блоков.. (Лекция 10)
- •44. Основы резервного копирования (основные режимы резервного копирования). (Лекция 10)
- •45. Основы технологии raid. (Лекция 10)
- •46. Дисковые массивы raid0, raid1, raid10. (Лекция 10)
- •47. Дисковые массивы raid3, raid5. (Лекция 10)
- •48. Общая дисковая структура ntfs. (Лекция 11)
- •49. Запись mft файловой системы ntfs. Атрибуты. (Лекция 11)
- •50. Структура атрибутов данных и индексов в ntfs. (Лекция 11)
- •51. Разреженные и сжатые файлы ntfs. (Лекция 11)
- •52. Проблемы надежности и производительности файловых систем. Метод опережающего протоколирования. (Лекция 11)
- •53. Журнал lfs (структура, типы записей) для протоколирования работы ntfs. (Лекция 11)
- •54. Восстановление ntfs. Повтор и отмена транзакций. (Лекция 11)
- •55. Локальный и удаленный драйверы файловой системы Windows. (Лекция 12)
- •56. Преобразование пути в обращение к драйверу файловой системы в Windows. Объекты «устройство» тома и файловой системы, их связь. (Лекция 12)
- •5 7. Компоненты операций ввода-вывода файловой системы Windows. (Лекция 12)
- •58. Обзор диспетчера кэша Windows. (Лекция 12)
- •59. Внешняя память в Windows. Базовый жесткий диск. (Лекция 12)
- •60. Динамические диски в Windows. (Лекция 12)
- •61. Драйверы дисков, объекты дисков, иерархия драйверов в Windows. (Лекция 12)
- •62. Присвоение имен устройствам, управление дисками в Windows. (Лекция 12)
- •64. Сетевые компоненты Windows. (Лекция 13)
- •65. Именованные каналы, почтовые ящики, cifs в Windows. (Лекция 13)
- •66. Сетевые api Winsock и rpc в Windows. (Лекция 13)
- •67. Поддержка сетей в Windows: стандарты tdi, ndis. (Лекция 13)
- •68. Участник системы безопасности, проверка подлинности и авторизация, структура идентификатора безопасности в Windows. (Лекция 14)
- •69. Маркер доступа и его формирование в Windows. (Лекция 14)
- •Составляющие маркера доступа:
- •70. Дескриптор безопасности ресурса, состав ace, наследование доступов в Windows. (Лекция 14)
- •71. Доступ к ресурсу с использованием маркера в Windows. (Лекция 14)
- •72. Разрешения в дескрипторах безопасности Windows. (Лекция 14)
- •73. Права пользователя, взаимодействие прав и разрешений в Windows. (Лекция 14)
- •74. Группы безопасности и их роль, механизм управления правами и разрешениями в Windows. (Лекция 14)
39. Объекты ввода-вывода. Связи между объектами "файл", "устройство" и "драйвер". (Лекция 9)
См. 33 вопрос про ввод-вывод. Объект «файл» – представление ресурсов в памяти, обеспечивающее чтение и запись данных.
Объект «драйвер» - представляет драйвер, содержащий процедуры работы с устройствами.
Объект «устройство» (device object, DO) - представляет физическое или логическое устройство; содержит его характеристики, адреса буферов и очередей приема IRP.
Свойства «файла»:
- режим разделения с другими потоками;
- указатель на объект «устройство»;
- режим открытия.
Диспетчер создает объект «драйвер» и связывает его с исполняемым кодом драйвера. Драйвер создает объекты «устройство» по запросу диспетчеров ввода-вывода или PnP.
Н ачало ввода-вывода: диспетчер создает объект «файл» и связывает его с объектом «устройство».
Выполнение ввода-вывода: диспетчер для работы с объектом «файл» создает IRP и устанавливает требуемую точку входа драйвера
40. Дерево устройств, узлы устройств. (Лекция 9)
Диспетчер PnP после перечисления создает узлы устройств, формируя дерево (device tree) и загружает драйверы.
П еречисление выполняется на основе результатов явной загрузки и данных от драйверов шин.
Явная загрузка – унаследованные драйверы (WinNT); драйверы Win2000 и устройств без PnP ; драйверы с PnP, необходимые для загрузки системы (реестр Windows).
Узел устройств (device node) – комбинация объектов «устройство» (device objects- DO), в совокупности реализующих управление устройством. Физическое (PDO) – для доступа к шинам, функциональное (FDO) – к самому устройству
Узлы устройств хранятся в реестре:
HKLM\SYSTEM\CurrentControlSet\Enum
Параметры:
Driver – GUID драйвера
Service, UpperFilter, LowerFilter – FDO, FiDO (HKLM\SYSTEM\CurrentControlSet\Services)
Class – GUID класса.
Классы устройств хранятся в реестре:
HKLM\SYSTEM\CurrentControlSet\Control\Class
Параметры: UpperFilter, LowerFilter.
Диспетчер Plug and Play (Plug and Play Manager) обновляет дерево устройств при добавлении или удалении устройств или по мере переназначения ресурсов. Дерево устройств является иерархическим, при этом каждое устройство на шине представляется как дочернее устройство шинного адаптера или контроллера. Вся статическая информация об аппаратных средствах хранится в реестре, а компоненты системы Plug and Play и драйверы осуществляют, поддерживают и получают доступ к новым и существующим поддеревьям реестра. В процессе энумерации данные для каждого устройства сохраняются в реестре под ключом HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum. Система Plug and Play принимает решения о том, какие драйверы устройств должны загружаться на базе информации, полученной в результате процесса энумерации. Таким образом, между деревом Enum и списком сервисов, расположенным под ключом HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services, существует исключительно важная связь.
Диспетчер устройств (Device Manager) позволяет просматривать устройства как по типу, так и по подключению. Каждая ветвь в дереве определяет узел устройства со следующими требованиями для конфигурации системы:
уникальный идентификатор устройства (Device ID, DID), обычно представляющий имя устройства;
ресурсы, например IRQ и DMA, включая тип ресурса;
выделенные (allocated) ресурсы;
является ли узел устройства шиной, если это применимо (каждое устройство шины имеет дополнительные узлы устройств, расположенные под ним в дереве).
Специальные значки служат для указания типа устройства, а также для обозначения возможных конфликтов. В случае наличия проблем также отображаются их кодовые номера и значки, инициирующие их решение.
Диспетчер устройств по умолчанию не показывает все устройства. Те из них, которые являются так называемыми унаследованными (legacy devices), а также те, которые больше не подключены к компьютеру и некоторые другие.
Диспетчер устройств может использоваться для активизации и отключения устройств, устранения неполадок, обновления драйверов, выполнения откатов драйвера (driver rollback) и изменения ресурсов, назначенных устройствам
Д райвер фильтра сортирует запросы ввода/вывода для шины, устройства или класса устройств. Драйверы фильтра являются необязательными и могут существовать в любом количестве, располагаясь на различных уровнях ≈ как выше, так и ниже функционального драйвера и шинного драйвера. Обычно такие драйверы поставляются фирмами OEM или независимыми поставщиками аппаратных средств (1HV). В большинстве случаев драйверы фильтров нижнего уровня модифицируют поведение аппаратных средств. Например, низкоуровневый драйвер фильтра класса для мыши может обеспечивать ускорение ее работы, выполняя нелинейное преобразование данных о перемещении мыши. Высокоуровневые драйверы фильтров обычно предоставляют дополнительные функции для устройства. Например, высокоуровневый драйвер фильтра у для клавиатуры может вводить дополнительные проверки по безопасности.