
- •Вопросы по курсу «Операционные системы» весеннего семестра 2010-2011 учебного года
- •1. Общие сведения об операционных системах, цели применения ос, структура ос.
- •2. Модель взаимодействия компонентов операционной системы.
- •3. Классификация ос.
- •4.5. Теоретические основы параллельного программирования, понятия: процесс, задача, мультизадачный режим работы ос, нить, контекст нити.
- •6. Теоретические основы параллельного программирования: классификация программных модулей; понятия реентерабельности и повторной входимости программных модулей.
- •7. Прерывания и механизмы обработки прерываний операционной системой.
- •8.9.Диспетчер задач: дисциплины диспетчеризации, критерии оценки дисциплин диспетчеризации задач.
- •10. Теоретические основы параллельного программирования: независимые и взаимодействующие процессы, понятия ресурса и критического ресурса.
- •11. Теоретические основы параллельного программирования: список условий функционирования взаимодействующих процессов, понятие тупика.
- •12. Теоретические основы параллельного программирования: принцип организации критических секций.
- •13. Теоретическая классификация видов взаимодействия процессов: сигналы, семафоры, мьютексы.
- •15. Теоретическая классификация видов взаимодействия процессов: очереди сообщений, файлы, разделяемая память, объект «ресурс».
- •16. Теоретическая классификация видов взаимодействия процессов: почтовые ящики, конвейеры.
- •17 Организация подсистемы безопасности в ос Windows: создание и открытие объектов, понятие описателя, атрибуты безопасности, права доступа, структура описателя безопасности.
- •18.Организация подсистемы безопасности в ос Windows: маркеры, привилегии пользователей, олицетворение.
- •19. Организация подсистемы безопасности в ос Windows: получение доступа к объекту.
- •20. Процессы в ос Windows: понятие Win32 api; main() и WinMain(), создание и завершение процессов и нитей, основные функции работы с процессами и нитями.
- •21. Работа с файлами в ос Windows: синхронная и асинхронная.
- •24. Таймеры ожидания в ос Windows и понятие apc
- •25. Структурная обработка исключений.
- •26. Способы управления памятью: простое непрерывное распределение, оверлейное распределение.
- •1. Простое непрерывное распределение
- •2. Оверлейное распределение (OverLay)
- •27. Способы управления памятью: распределение статическими и динамическими разделами.
- •28. Способы управления памятью: сегментная организация памяти.
- •29. Страничная организация памяти
- •30. Сегментно-страничный способ организации памяти
- •31. Таблицы физических страниц памяти в современных ос. Понятие pfn, понятие mdl.
- •32. Распределение оперативной памяти в современных компьютерах. Спецификация acpi
- •33. Распределение первого мегабайта оперативной памяти в персональных компьютерах.
- •35. Резервирование памяти с помощью функции VirtualAlloc
- •36. Работа с кучами процессов
- •37 . Динамически загружаемые библиотеки (dll). Связывание во время загрузки библиотеки.
- •38. Системные перехватчики (hook
- •40. Службы
8.9.Диспетчер задач: дисциплины диспетчеризации, критерии оценки дисциплин диспетчеризации задач.
*Диспетчер задач - это наиболее важная часть ОС, которая обеспечивает такие характеристики ОС, как время реакции системы, пропускную способность и т.д.
ОС разного типа имеют различные диспетчеры задач, которые работают согласно различным дисциплинам диспетчеризации. На рисунке имеется один недостаток – в нём не отражаются разделение дисциплин диспетчеризации на вытесняющие и невытесняющие многозадачность. Невытесняющая многозадачность. Заявка выполняется до тех пор, пока сама не отдаст управление диспетчеру задач (Win3.1, Novell до 4.0). Рассмотрим дисциплины: 1) в порядке очереди (каждая нить работает до тех пор, пока добровольно не отпустит обслуживание) Минусы: перенос в сторону выполняющийся программы. Плюсы: если программа правильно разработана, то существенно увеличивается быстродействие. 2) Карусельная дисциплина. Заявка получает только квант процессора. Величина кванта выбирается, как компромисс между применяемым временем реакции системы на запрос пользователя и накладными расходами на частую смену задач. Во ОС 2 величину кванта можно было настраивать вручную. RR - самая распространенная дисциплина, сегодня используют модифицированную версию с приоритетами. Здесь возникают такие параметры, как качество диспетчеризации и гарантия обслуживания. Если приоритеты абсолютны, то возникает дискриминация процессов.
В ос Windows Приоритет нити задается приоритетом процесса и может колебаться +-2 (32 уровня). После выполнение кванта приоритет понижается и нить уходит в другую очередь. Если нить сама отдала управление, то ее приоритет остается прежним. Если нить - активное окно, то приоритет прибавляется на единицу. Если нить работает в фоновом режиме и выполняет громоздкие вычисления - приоритет понижается. Если нить долго ждет - увеличивается. Величина кванта времени выбирается как компромисс между приемлемым временем реакции системы и накладными расходами. В винде квант времени равен 20 мс для рабочей станции. В других ос возможен ряд динамических изменений кванта. В винде исп приоритетная дисциплина диспетчерезации в сочетании с каруселью. Все приоритеты делятся на 2 интервала.APC _Level- asynchronous Procedure Call
В винд все приоритеты разделены на 2 интервала. Более приоритетный интервал отвечает за работу ядра ос. В нём используется дисциплина с абсолютным приоритетом- IRQL. 0 уровень аппаратного приоритета отведён для прикладных программ. В нём используется карусельная дисциплина диспетчеризации с приоритетами. Уровни с 3 по 15отводятся для обработки прерываний. Использование динамических приоритетов для обслуживания нитей позволяет реализовать гибкую стратегию для качественной диспетчеризации программ – это так называемое адаптивное обслуживание. Те приоритеты нитей являются верхней границей динамического приоритета.