- •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)
66. Сетевые api Winsock и rpc в Windows. (Лекция 13)
Windows sockets (Winsock) – реализация API BSD-sockets (стандарт взаимодействия UNIX-систем в IP-сетях).
Winsock расширен компонентами доступа к транспортным сервисам (transport service providers) и пространствам имен (namespace service providers) и интегрирован с моделью ввода-вывода, с помощью AFD FSD.
AFD (Ancillary Function driver – драйвер для вспомогательных целей) – драйвер файловой системы, принимающий команды от Winsock и посылающий IPR-пакеты.
RPC (Remote procedure call) – удаленный вызов процедуры (стандарт Open Software Foundation).
ПО клиента выполняет вызов. Реально вызывается заглушка (stub), выполняется упаковка аргументов (marshaling) и передача по сети.
Сервер принимает данные, выполняет распаковку (unmarshaling), исполнение и возврат данных.
R PC может быть синхронным и асинхронным.
Коммутатор, размещаемый на уровень ниже Winsock DLL, переадресует сетевые операции SAN провайдеру сервисов Winsock (Winsock service provider, WSP), который предоставляется производителем SAN. WSP служит эквивалентом NDIS-драйвера, работающим в пользовательском режиме, и может проецировать аппаратные регистры SAN на память пользовательского режима, а затем манипулировать оборудованием без участия компонентов режима ядра.
RPC - стандарт сетевого программирования, разработанный в начале 80-x. RPC, опираясь на другие сетевые API (именованные каналы или Winsock), предоставляет альтернативную модель программирования, скрывающую детали сетевого программирования от разработчика приложений. Механизм RPC позволяет создавать приложения, состоящие из произвольного числа процедур, часть которых выполняется локально, а часть - на удаленных компьютерах (через сеть). RPC предоставляет модель работы с сетью, ориентированную на процедуры, а не на транспорты, что упрощает разработку распределенных приложений.
Приложения RPC похожи на другие структурированные приложения: у них есть основная программа, которая для выполнения специфических задач вызывает процедуры или библиотеки процедур. Отличие приложений RPC от обычных программ в том, что некоторые библиотеки процедур в приложениях RPC выполняются на удаленных компьютерах, а некоторые - на локальном. Для приложения RPC все процедуры кажутся локальными.
67. Поддержка сетей в Windows: стандарты tdi, ndis. (Лекция 13)
Компьютерная сеть - система связи компьютеров и/или компьютерного оборудования.
TDI (Transport Driver Interface) – унифицированный стандарт переформатирования сетевых запросов в IRP-пакеты (установка и завершения соединения, переход в режим прослушивания и т.п.). Transport Driver Interface (TDI) - общий интерфейс для драйверов (Windows 2000 redirector и server) для общения с различными сетевыми транспортными протоколами. Это позволяет сервисам оставаться независимыми от транспортных протоколов. В отличие от NDIS, нет драйвера для TDI, который является спецификацией для передачи сообщений между двумя уровнями в сетевой архитектуре. Microsoft разработали TDI чтобы обеспечить большую гибкость и функциональность чем это обеспечивали существующие интерфейсы (Winsock и NetBIOS). Весь транспорт в Windows 2000 имеет прямой интерфейс к TDI. Это позволяет TDI обеспечивать последовательный интерфейс транспортных протоколов. Спецификация TDI описывает набор функций и механизмов вызова, с помощью которых транспортные драйверы и TDI клиенты общаются.
Главные черты TDI: - Асинхронные операции: Большинство операций в TDI (режим ядра) это асинхронные операции; это значит, что они используют обратный вызов процедур, который обеспечивают TDI клиенты, для определения любых событий в сети когда-либо происходивших. - Гибкая схема адресации: Одна из черт и достоинств использования TDI это то, что TDI предлагает гибкую схему адресации. TDI имеет специальный и расширяемый механизм, который может быть использован в целях поддержки, использования и идентификации различных форматов адресации. - Уведомление о событии: Это специальная черта TDI с помощью которой определяется какая схема используется и транспорты могут предупреждать клиентов о любом интересующем событии в сети.
32-битная адресация: Другая черта интерфейса транспортных драйверов это то, что и транспорты и клиенты оба 32 разрядные.
- Внутренняя буферизация: Эта черта позволяет TDI транспортировать в буфер полученное от клиентов и посылать во внутренний буфер. Эта внутренняя буферизация позволяет TDI клиентам запрашивать и устанавливать размер внутреннего буфера, получая уведомления о доступном пространстве буфера и просматривать данные из буфера даже перед тем как получить их.
• Уведомление о событии (Plug & Play): Интерфейс транспортного драйвера определяет конкретную схему с помощью которой транспорты (in case of Windows 2000 & later versions) могут уведомлять TDI клиента о различных событиях PnP, таких как удаление или добавление соединений и другое.
Клиент TDI – компонент, специфичный для сетевого API. Транспорт TDI (драйвер протокола) – реализация протоколов L3/L4. TDI поддерживает функции обратного вызова
NDIS (Network Driver Interface Specification) – стандарт аппаратно-независимого взаимодействия драйверов протоколов с драйверами сетевых адаптеров.
Драйвер NDIS:
- поддерживает IRP;
- предоставляет среду исполнения для NDIS-минипортов (реентерабельность);
- контролирует доступность физической среды;
- обрабатывает сигналы Wake-On-LAN;
- поддерживает ATM и аппаратное ускорение TCP/IP.
Промежуточный драйвер NDIS (NDIS intermediate driver) – является NDIS-драйвером для TDI и TDI-драйвером для NDIS. Цель – анализ трафика на разных уровнях модели OSI.
Применение: планировщик пакетов (QoS – quality of service), перехват пакетов, балансировка нагрузки между сетевыми картами (network load balancing).
Минипорт NDIS:
- не поддерживает IRP-пакеты;
- определяет доступность среды, состояние электропитания устройства и т.п.;
- может не учитывать (serialized) или учитывать (desrialized) реентерабельность;
- совместим с Windows 9x.