
- •5. Хранение файлов и каталогов.
- •7. Защита целостности данных.
- •8. Дополнительные возможности ntfs.
- •7. Сравнение структуры логического диска fat (fat32) и тома ntfs.
- •10. Архитектура памяти ms Windows 2000. Менеджер вп. Виртуальное ап. Средства защиты памяти. Страничное преобразование. Реализация свопинга в ms Windows 2000-2003.
- •11. Архитектура памяти ms Windows 2000-2003. Организация «статической» виртуальной памяти. Блоки адресов. Состояния блоков адресов. Функции Win32 api.
- •12. Архитектура памяти в ms Windows 200-2003. Организация «динамической» виртуальной памяти. Назначение и преимущество по сравнению с кучами ansi c. Функции Win32 api.
- •13. Архитектура памяти в ms Windows 2000-2003. Проецируемые файлы, назначение и использование. Функции Win32 api.
- •14. Архитектура памяти в ms Windows 2000-2003. Использование локальной памяти потока. Функции Win32 api.
- •15. Архитектура памяти в ms Windows 2000-2003. Адресация расширенного адресного пространства. 64-разрядные операционные системы ms Windows.
- •16. Объекты управления центральным процессором и объединения ресурсов в ms Windows 2000-2003. Атрибуты процессов и потоков. Классы приоритетов.
- •16.1, 16.2 Управление центральным процессором и объединение ресурсов.
- •16.6 Классы приоритетов.
- •17. Общие принципы диспетчеризация (планирование загрузки) в ms Windows 2000-2003. Классы приоритетов. Относительные приоритеты. Динамическое изменение приоритетов.
- •17.1 Общие принципы диспетчеризация (планирование загрузки) в ms Windows 2000-2003.
- •17.4 Динамическое изменение приоритетов.
- •18. Граф состояний потоков в ms Windows 2000-2003. Поток простоя. Принципы адаптивного планирования.
- •18.1 Граф состояний потоков в ms Windows 2000.
- •18.2 Поток простоя.
- •18.3 Принципы адаптивного планирования.
- •19. Граф состояний потоков в ms Windows 2000-2003. Особенности планирования в многопроцессорных системах. Особенности планирования в ос ms Windows Vista и Server 2008.
- •19.2 Особенности планирования в многопроцессорных системах.
- •19.3 Особенности планирования в ос ms Windows Vista и Server 2008.
- •20. Планирование загрузки процессорного времени в ms windows 2000-2003. Функции win 32 api создания и завершение процессов и потоков, управление потоками
- •21. Атомарные операции и lockless программирование. Реализация многопоточности с
- •21.1 Атомарные операции и lockless программирование.
- •21.2 Реализация многопоточности с использованием технологии OpenMp
- •21.3 Реализация блокировок и синхронизация потоков в OpenMp
- •22. Критические секции и состязания. Семафоры, Мьютексы. Задача о читателях и писателях. Задача о философах. Взаимная блокировка (тупики).
- •23. Синхронизация потоков с использованием объектов ядра ms Windows 2000-2003. Основные принципы синхронизации. События. Семафоры. Функции win 32 api.
- •24. Синхронизация потоков с использованием объектов ядра ms Windows 2000-2003. Основные принципы синхронизации. Таймеры ожидания. Мьютексы. Функции win 32 api.
- •25. Межпроцессорное взаимодействие. Передача информации в ms Windows 2000-2003. Анонимные каналы. Почтовые ящики. Функции win 32 api.
- •26. Межпроцессорное взаимодействие. Передача информации в ms Windows 2000-2003. Именованные каналы. Почтовые ящики. Функции win 32 api.
17.4 Динамическое изменение приоритетов.
Базовый и динамический приоритеты потока:
Уровень приоритета, получаемый комбинацией относительного приоритета потока и класса приоритета процесса, которому принадлежит данный поток, называют базовым уровнем приоритета потока. Иногда система изменяет уровень приоритета потока.
Использование динамических приоритетов, изменяющихся во времени, позволяет реализовать адаптивное планирование, при котором не дискриминируются интерактивные задачи, часто выполняющие операции ввода-вывода и недоиспользующие выделенные им кванты.
Система повышает приоритет только тех потоков, базовый уровень которых находится в пределах 1-15. Именно поэтому данный диапазон называется "областью динамического приоритета" (dynamic priority range). Система не допускает динамического повышения приоритета потока до уровней реального времени (более 15). Поскольку потоки с такими уровнями обслуживают системные функции, это ограничение не дает приложению нарушить работу ОС. И, кстати, система никогда не меняет приоритет потоков с уровнями реального времени (от 16 до 31).
Динамические приоритеты:
В ходе выполнения нити ее приоритет (1-15) может меняться – механизм адаптивного планирования.
18. Граф состояний потоков в ms Windows 2000-2003. Поток простоя. Принципы адаптивного планирования.
18.1 Граф состояний потоков в ms Windows 2000.
Готовность. При поиске потока на выполнение диспетчер просматривает только потоки, находящиеся в состоянии готовности, у которых есть все для выполнения, но не хватает только процессора.
Первоочередная готовность (standby). Для каждого процессора системы выбирается один поток, который будет выполняться следующим. Когда условия позволяют, происходит переключение на контекст этого потока.
Выполнение. Как только происходит переключение контекстов, поток переходит в состояние выполнения и находится в нем до тех пор, пока не выполнится одно из условий освобождения процессора (см. далее).
Ожидание. Поток может входить в состояние ожидания несколькими способами: поток по своей инициативе ожидает некоторый объект для того, чтобы синхронизировать свое выполнение, например, ожидает завершение операции ввода-вывода.
Переходное состояние. Поток входит в переходное состояние, если он готов к выполнению, но ресурсы, которые ей нужны, заняты. Например, страница, содержащая стек потока, может быть выгружена из на диск. При освобождении ресурсов поток переходит в состояние готовности.
Завершение. Когда выполнение потока закончилось, он входит в состояние завершения.
Условия освобождения потоком процессора:
исчерпан квант;
появляется более приоритетный готовый поток;
поток сам добровольно переходит в очередь готовых (Sleep (0), SwitchToThread);
поток добровольно блокируется, уходя в состояние ожидания (Sleep (n), WaitForSingleObject, синхронный ввод/вывод, …);
поток снижает свой приоритет;
поток добровольно исключает текущий процессор из маски совместимости (привязки) (для МПС);
поток завершает свое выполнение.
Граф состояний потоков для Windows 2003:
Обратите внимание на новое состояние Deferred Ready (готов, отложен). Это состояние используется для потоков, выбранных для выполнения на конкретном процессоре, но пока не запланированных к выполнению.
Это новое состояние предназначено для того, чтобы ядро могло свести к минимуму срок применения общесистемной блокировки к базе данных планирования (scheduling database).