- •1. Определение ос. Функции ос. Процессы и потоки. Классификация ос. История развития.
- •1.1 Определение ос.
- •Уровни вс.
- •Микроархитектура.
- •Машинный язык.
- •Системное и прикладное по.
- •1.2 Основная функция ос.
- •Варианты мультипрограммирования.
- •Состояния процессов и потоков.
- •1.4 Классификация ос.
- •1.4.1 Признаки классификации.
- •Особенности алгоритмов управления ресурсами. Поддержка многозадачности.
- •Многозадачность.
- •Вытесняющая и не вытесняющая многозадачность.
- •Классификация дисциплин обслуживания.
- •Дисциплины обслуживания.
- •Приоритетное обслуживание.
- •Динамический приоритет.
- •Поддержка многопользовательского режима.
- •Многопроцессорная обработка.
- •Системы пакетной обработки.
- •Системы разделения времени.
- •Системы реального времени.
- •Модульное ядро.
- •Микроядро.
- •Достоинства и недостатки микроядра.
- •Ооп: достоинства и недостатки.
- •1.5 Эволюция операционных систем. Появление ос.
- •Первый “баг”.
- •Этапы эволюции.
- •1 Этап (1940-60).
- •2 Этап (1965-75).
- •3 Этап (1970-80).
- •4 Этап (1980-90).
- •5 Этап (1990 – …).
- •2. Операционная система ms Windows 2000 и выше. Общая характеристика и основные функции. Структура ms Windows 2000-2003. Объекты в ms Windows 2000-2003.
- •2.2 Основная характеристика Windows 2000-2008.
- •2.3 Архитектура ос Windows 2000-2003. Краткая характеристика.
- •Структура ядра.
- •2.4 Объекты Windows 2000-2008.
- •Назначение объектов.
- •Типы объектов Windows 2000-2008.
- •Структура объектов Windows 2000-2003.
- •Удержание объектов.
- •Учет использования ресурсов.
- •Защита объектов.
- •Избирательный доступ.
- •3. Основы файловых систем. Файлы и их атрибуты. Каталоги. Логическая организация фс. Логическая, физическая организация файлов. Кэширование. Raid - системы.
- •4. Основы файловых систем. Файлы и их атрибуты. Каталоги. Логическая организация фс. Логическая, физическая организация файлов. Способы учёта свободного дискового пространства.
- •3.1 Основы файловых систем.
- •3.2, 3.3 Файлы и их атрибуты. Каталоги.
- •3.4 Логическая организация фс.
- •3.5 Логическая, физическая организация файлов.
- •3.6 Кэширование. Кэширование диска.
- •3.7 Raid - системы.
- •Сравнение raid-систем.
- •5. Файловые системы fat и fat32. Структура логического диска. Элемент каталога. Логическая, физическая организация файлов. Хранение длинных имён. Raid – системы.
- •5.1 Файловая система fat16.
- •Размеры разделов и кластеров fat16 для Windows 95-2000.
- •Файловая система vfat.
- •Элемент каталога vfat.
- •Пример длинного имени.
- •6.1 Файловая система ntfs.
- •6.2 Тома ntfs.
- •6.3 Mft и ее структура.
- •6.4 Атрибуты файлов.
- •6.5 Хранение файлов.
- •6.6 Сжатие файлов.
- •6.7 Защита целостности данных.
- •6.8 Дополнительные возможности.
- •7. Сравнение структуры логического диска fat32 и тома ntfs . Функции win32 api для работы с файлами.
- •8. Сравнение структуры логического диска Fat32 и тома ntfs. Варианты организации асинхронной работы с файлами.
- •7.1 Файловая система ntfs vs. Fat.
- •7.2 Функции win32 api для работы с файлами.
- •9. Методы распределения памяти с использованием дискового пространства. Стратегии управления виртуальной памятью. Классификация методов распределения памяти.
- •9.1 Методы распределения памяти с использованием дискового пространства.
- •Страничное распределение.
- •Сегментное распределение.
- •Сегментно-страничное распределение.
- •9.2 Стратегии управления виртуальной памятью (свопинг).
- •Понятие «trashing».
- •10. Архитектура памяти ms Windows 2000. Менеджер вп. Виртуальное ап. Средства защиты памяти. Страничное преобразование. Реализация свопинга в ms Windows 2000-2003.
- •Архитектура api управления памятью.
- •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. Атрибуты процессов и потоков. Классы приоритетов.
- •14.1, 14.2 Управление центральным процессором и объединение ресурсов. Атрибуты процессов и потоков. Объекты Windows .
- •Процессы.
- •Потоки.
- •Задание (job).
- •Волокна (fibers).
- •14.3 Классы приоритетов.
- •15. Общие принципы диспетчеризация (планирование загрузки) в ms Windows 2000-2003. Классы приоритетов. Относительные приоритеты. Динамическое изменение приоритетов.
- •15.1 Общие принципы диспетчеризация (планирование загрузки) в ms Windows 2000-2003. Планирование загрузки однопроцессорной системы.
- •15.3 Относительные приоритеты потоков.
- •15.4 Динамическое изменение приоритетов.
- •16. Граф состояний потоков в ms Windows 2000-2003. Поток простоя. Принципы адаптивного планирования.
- •16.1 Граф состояний потоков в ms Windows 2000.
- •16.2 Поток простоя.
- •16.3 Принципы адаптивного планирования.
- •17. Граф состояний потоков в ms Windows 2000-2003. Особенности планирования в многопроцессорных системах.
- •17.2 Особенности планирования в многопроцессорных системах.
- •18. Граф состояний потоков в ms Windows 2000-2003. Особенности планирования в ос ms Windows Vista и Server 2008.
- •18.2 Особенности планирования в ос ms Windows Vista и Server 2008.
- •19. Планирование загрузки процессорного времени в ms windows 2000-2003. Функции win 32 api создания и завершение процессов и потоков, управление потоками
- •20. Планирование загрузки процессорного времени в ms windows 2000-2003. Функции win 32 api создания и завершения потоков. Управление потоками.
- •21. Критические секции и состязания. Семафоры, Мьютексы. Задача о читателях и писателях. Предотвращение критических ситуаций и средства синхронизации процессов
- •22. Критические секции и состязания. Семафоры , атомарные операции, critical_section. Задача о читателях и писателях. Предотвращение критических ситуаций и средства синхронизации процессов
- •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.
14. Объекты управления центральным процессором и объединения ресурсов в ms Windows 2000-2003. Атрибуты процессов и потоков. Классы приоритетов.
14.1, 14.2 Управление центральным процессором и объединение ресурсов. Атрибуты процессов и потоков. Объекты Windows .
Основные понятия:
Задание – набор процессов, управляемых как единое целое, с общими квотами и лимитами
Процесс – контейнер для ресурсов
Поток – сущность планируемая ядром
Волокно – облегченный поток, управляемый полностью в пространстве пользователя
Процессы и потоки Windows:
Иерархия процессов (ссылки между процессами-родителями и процессами-потомками) в явном виде не поддерживается.
Процессы имеют многопоточную организацию.
Процессы и потоки реализованы в форме объектов, и доступ к ним осуществляется посредством службы объектов.
Объекты-процессы и объекты-потоки имеют встроенные средства синхронизации.
Процессы.
Процесс – это совокупность системных ресурсов, задействованная для выполнения определенной работы.
Понятие "процесс" включает следующее:
- исполняемый код;
- собственное адресное пространство, которое представляет собой совокупность виртуальных адресов, которые может использовать процесс;
- ресурсы системы, такие как файлы, семафоры и т.п., которые назначены процессу операционной системой;
- хотя бы один выполняемый поток.
Атрибуты процесса:
Идентификатор процесса – уникальное значение, которое идентифицирует процесс в рамках ОС (только в текущий момент времени).
Закрытое виртуальное адресное пространство – диапазон адресов виртуальной памяти, которым может пользоваться процесс.
Исполняемую программу – начальный код и данные, проецируемые на виртуальное адресное пространство процесса.
Список открытых дескрипторов различных системных ресурсов – семафоров, файлов и других объектов, доступных всем потокам в данном процессе.
Маркер доступа – исполняемый объект, содержащий информацию о безопасности и идентифицирующий пользователя, группы безопасности и привилегии, сопоставленные с процессом.
Базовый приоритет – основа для исполнительного приоритета потоков процесса.
Процессорная совместимость – набор процессоров, на которых могут выполняться потоки процесса.
Предельные значения квот ресурсов (см. Job).
Время исполнения – общее количество времени, в течение которого выполняются все потоки процесса.
Список потоков процесса (как минимум один поток).
Потоки.
Поток (нить) – это непрерывная последовательность инструкций, выполняющих определенную функцию.
Потоки не имеют собственного адресного пространства и получают доступ к адресному пространству процесса-родителя. Это означает, что все потоки в процессе могут записывать и считывать содержимое памяти любого из потоков данного процесса.
Потоки процесса могут сообща пользоваться ресурсами процесса-родителя.
По умолчанию у потоков нет собственного маркера доступа и для целей безопасности используется маркер доступа процесса-родителя.
При необходимости каждый поток может получить собственный маркер доступа.
Дескрипторы виртуальных адресов (virtual address descriptors, VAD) – это структуры данных, используемые VMM для учета виртуальных адресов, задействованных процессом.
Атрибуты потоков:
Идентификатор клиента – уникальное значение, которое идентифицирует поток при ее обращении к серверу.
Контекст потока – информация, которая необходима ОС для того, чтобы продолжить выполнение прерванного потока. Контекст потока содержит текущее состояние регистров, стеков и индивидуальной области памяти.
Два стека, один из которых используется потоком при выполнении в режиме ядра, а другой – в пользовательском режиме.
Локальная память потока (thread local storage, TLS) – закрытая область памяти потока.
Динамический приоритет – значение приоритета потока в данный момент.
Базовый приоритет – нижний предел динамического приоритета потока.
Процессорная совместимость потока – перечень типов процессоров, на которых может выполняться поток.
Номер идеального процессора потока.
Номер процессора, на котором поток выполнялся прошлый раз.
Время выполнения потока – суммарное время выполнения потока в пользовательском режиме и в режиме ядра.
Счетчик приостановок – текущее количество приостановок выполнения потока.
Номер идеального процессора потока:
Идеальный процессор для потока выбирается случайным образом при его создании с использованием зародышевого значения (seed) в блоке процесса. Это значение увеличивается на 1 всякий раз, когда создается новый поток, поэтому создаваемые потоки равномерно распределяются по набору доступных процессоров. Например, первый поток в первом процессе в системе закрепляется за идеальным процессором 0, второй поток того же процесса – за идеальным процессором 1. Однако у следующего процесса в системе идеальный процессор для первого потока устанавливается в 1, для второго – в 2 и т. д. Благодаря этому потоки внутри каждого процесса равномерно распределяются между процессорами.
Номер идеального процессора может быть изменен с помощью функции SetThreadIdealProcessor .
