Экзамен ОС 2018
.pdfОглавление
Оглавление
Оглавление
1. Определение ОС. Функции ОС. Процессы и потоки. Классификация ОС. История развития. Тенденции развития современных процессоров.
Операционная система (ОС) История развития:
Тенденции развития современных процессоров: Функции:
Процессы и потоки: Классификация:
2. Операционная система MS Windows 2000+. Общая характеристика и основные функции. Структура MS Windows 2000+. Подсистема защиты MS Windows 2000+.
Объекты в MS Windows 2000+.
Общая характеристика: Основные функции:
Структура MS Windows 2000+:
Подсистема защиты MS Windows 2000+: SID:
Объекты в MS Windows 2000+:
Типы объектов: Примеры объектов:
Основные функции обьектов: Структура объекта:
3. Основы файловых систем. Файлы и их атрибуты. Каталоги. Логическая организация ФС. Логическая организация файлов. Физическая организация файлов. Повышение производительности файловых систем.
Основы файловых систем: Файлы и их атрибуты: Логическая организация файлов: Каталоги:
Логическая организация ФС:
Повышение производительности файловых систем:
4. Способы учета свободного дискового пространства.
5. Файловые системы FAT и FAT32. Структура логического диска. Элемент каталога. Логическая, физическая организация файлов. Хранение длинных имен. Повышение производительности файловых систем.
5.1 Файловые системы FAT и FAT32
5.1.1 Файловая система FAT16
5.1.2 Файловая система VFAT
5.1.3 Файловая система FAT32
Оглавление
Оглавление
5.1.4 Файловая система exFAT (иногда называют FAT64) 5.2 Структура логического диска 5.3 Элемент каталога
5.3.1 Элемент каталога FAT16
5.3.2 Элемент каталога VFAT
5.3.3 Элемент каталога FAT32
5.4 Логическая, физическая организация файлов
5.4.1 Логическая организация файлов
5.4.2 Физическая организация файлов
5.5 Хранение длинных имен
5.6 Повышение производительности файловых систем
6. Файловая система NTFS. Тома NTFS. Физическая структура MFT и метафайлы. Атрибуты в NTFS. Хранение файлов и каталогов. Сжатие файлов в NTFS. Защита целостности данных. Дополнительные возможности NTFS.
6.1 Файловая система NTFS. Физическая организация NTFS.
6.2 Тома NTFS
Типы томов в NTFS: RAID массивы
Размер кластера тома в NTFS
6.3 Физическая структура MFT и метафайлы.
Механизм использования MFT-зоны MFT и ее структура
6.4 Атрибуты в NTFS Атрибуты файлов в NTFS
Структура одной записи MFT: 6.5. Хранение файлов и каталогов
6.5.1 Резидентное хранение файлов
6.5.2 Нерезидентное хранение файлов
6.5.3 Хранение каталогов
6.6 Сжатие файлов в NTFS Пример сжатия файла: Разреженные файлы Многопоточные файлы
6.7 Защита целостности данных Средства протоколирования транзакций Примеры транзакций NTFS Кэширование в Windows
Порядок прохождения операции транзакции Структура журнала транзакций
7. Сравнение структуры логического диска FAT (FAT32) и тома NTFS. Функции Win32 API для работы с файлами. Организация асинхронной работы с файлами.
Оглавление
Оглавление
7.1 Сравнение структуры логического диска FAT(FAT32) и тома NTFS Поиск данных файла Поиск свободного места
Работа с каталогами и файлами Итоги сравнения
7.2 Функции Win32 API для работы с файлами 7.3 Организация асинхронной работы с файлами
8. Классификация методов распределения памяти. Методы без использования внешней памяти. Защита памяти.
8.1 Классификация методов распределения памяти
8.2 Методы без использования внешней памяти Фиксированные разделы Разделы переменной величины Перемещаемые разделы
8.3 Защита памяти Защита отдельных ячеек памяти
Методы граничных регистров Метод ключей защиты
Метод матрицы доступа, как усовершенствование метода ключей защиты Защита памяти по привилегиям
9. Методы с использованием внешней памяти. Стратегии управления виртуальной памятью (свопинг).
Страничное распределение : Сегментное распределение Стратегии управления ВП
Стратегия выборки Стратегия размещения Стратегия замещения Алгоритмы свопинга : Трешинг Принцип Деннинга
10. Архитектура памяти MS Windows 2000+. Менеджер ВП. Виртуальное АП. Средства защиты памяти. Страничное преобразование. Реализация свопинга в MS Windows 2000+.
Виртуальная память Адресное пространство Защита памяти
Средства защиты памяти обычно выполняют : Основные классические подходы защиты :
Архитектура памяти в Win 32 : Интерфейсы :
Оглавление
Оглавление
Windows 2000+ использует страничную организацию памяти Средства защиты памяти :
Организацией свопинга в Windows 2000+ занимается VMM.
11. Организация «статической» виртуальной памяти. Блоки адресов. Состояния блоков адресов. Функции Win32 API.
Блоки адресов и состояния.
Организация статической виртуальной памяти и функции WinAPI :
12. Архитектура памяти в MS Windows 2000+. Организация «динамической» виртуальной памяти. Назначение и преимущества по сравнению с кучами ANSI C.
Функции Win32 API.
Кучи - динамически распределяемые области данных Функции WinAPI :
Создание дополнительных “куч” : Достоинства между кучами ANSI C :
13. Архитектура памяти в MS Windows 2000+. Проецируемые файлы, назначение и использование. Функции Win32 API.
Проецируемые файлы Функции WinAPI
Проецирование файла данных в файл: Завершение проецирования файла данных :
Механизм совместного использования проецируемого файла Взаимодействие процессов через общую область данных
14. Архитектура памяти в MS Windows 2000+. Адресация расширенного адресного пространства. 64-разрядные операционные системы MS Windows.
Адресация расширенного адресного пространства
Address Windowing Extensions
Функции AWE API
Пример использования AWE
Функция AllocateUserPhysicalPages Функция MapUserPhysicalPages Функция FreeUserPhysicalPages
Ограничения AWE AWE и архитектура x64
64-разрядные операционные системы MS Windows Архитектура AMD64
Адресное пространство Windows для архитектуры x64 Достоинства и недостатки 64-разрядных приложений
Поддержка 32-разрядных приложений в 64-разрядной среде Windows Необходимость написания 64-разрядных приложений Повышение производительности 64-разрядного приложения Виртуальный адрес на платформе x64
Оглавление
Оглавление
Трансляция виртуальных адресов в x64-системах Адресация «больших» страниц на платформе x64
15. Архитектура памяти в MS Windows 2000+. Использование локальной памяти потока. Функции Win32 API.
Использование локальной памяти потока Локальная память потока (TLS) Назначение TLS
Виды TLS Динамическая TLS
Функции для работы с динамической TLS Иллюстрация использования динамической TLS Статическая TLS
Синтаксис объявления переменной в статической TLS Ограничения на использование статической TLS
16. Объекты управления центральным процессором и объединения ресурсов в MS Windows 2000+. Атрибуты процессов и потоков. Классы приоритетов.
Объекты управления центральным процессором и объединения ресурсов в MS Windows 2000+
Контекст процесса
Process Control Block
Переключение контекста Переключение контекста и производительность системы
Сопутствующие факторы, влияющие на производительность Методы снижения ресурсоемкости переключения контекста
Основные понятия
Процессы и потоки Windows Процессы Потоки
Атрибуты процесса Атрибуты потоков Поток и ресурсы процесса
Защита процессов и потоков Классы приоритетов Относительные приоритеты потоков
Иллюстрация по приоритетам для Windows 2000
17. Общие принципы диспетчеризация (планирования загрузки) в MS Windows 2000+. Классы приоритетов. Относительные приоритеты. Динамическое изменение приоритетов.
Общие принципы диспетчеризация (планирования загрузки) в MS Windows 2000+ Классификация дисциплин обслуживания Линейные бесприоритетные дисциплины
Оглавление
Оглавление
First-Come, First-Served (очередь)
Пример FCFS – Вариант 1
Пример FCFS – Вариант 2 Shortest Job First
Пример SJF Shortest-Remaining-Time-First
Пример SRTF Квантование времени
Производительность квантования времени Многоуровневая очередь Виды диспетчеризации между очередями
Пример многоуровневой очереди Классы приоритетов Относительные приоритеты
Динамическое изменение приоритетов Базовый и динамический приоритеты потока Динамические приоритеты
18. Граф состояний потоков в MS Windows 2000+. Поток простоя. Принципы адаптивного планирования.
Граф состояний потоков в MS Windows 2000+. Поток простоя
Назначение потока простоя Адаптивное планирование
Принципы адаптивного планирования Повышение приоритета Снижение повышенного приоритета «Голодающие» потоки
19. Граф состояний потоков в MS Windows 2000+. Особенности планирования в многопроцессорных системах. Особенности планирования в ОС MS Windows Vista и Server 2008.
Граф состояний потоков в MS Windows 2000+
Особенности планирования в многопроцессорных системах. Выбор процессора для потока при наличии простаивающих Выбор процессора для потока
Алгоритм выбор процессора для потока в Windows XP, 2003 и старше Выбор процессора для потока при отсутствии простаивающих
Выбор потока для конкретного процессора (Windows 2000 и XP) Выбор потока для конкретного процессора (Windows 2003 и старше)
Особенности планирования в ОС MS Windows Vista и Server 2008. Проблема неравномерного распределения ресурсов процессора Иллюстрация неравномерного распределения ресурсов процессора Усовершенствования ядра ОС Windows Vista – Server 2008
Оглавление
Оглавление
Решение неравномерного распределения ресурсов ЦП
20. Планирование загрузки процессорного времени в MS Windows 2000+. Функции Win32 API создания и завершения процессов и потоков, управления потоками. Функции Win32 API создания и завершения потоков.
Планирование загрузки процессорного времени в MS Windows 2000+. Квантование времени Настройка квантования Длительности кванта
Приоритетный режим обслуживания Классы приоритета процессов Адаптивное планирование
API Win32 для создания и завершения процессов Порядок создания процесса Функция создания процесса
Параметры CreateProcess Параметр fdwCreate
Результат выполнения CreateProcess Завершение процессов
Действия при возврате управления входной функцией первичного потока Функция ExitProcess
Функция TerminateProcess
Когда все потоки процесса «уходят» Действия при завершении процесса
Управление динамическими приоритетами потоков процесса API Win32 для управления потоками
Функция создания потока Параметры CreateThread Функция CreateRemoteThread
Установка приоритета потока Относительные приоритеты потоков Завершение потока Возврат управления функцией потока Функция ExitThread
Функция TerminateThread
Действия при завершении потока Действия при принудительном завершении процесса
Управление динамическими приоритетами потока Управление потоками – функция ResumeThread Управление потоками – функция SuspendThread Засыпание и переключение потоков с помощью Sleep Засыпание и переключение потоков Определение периодов выполнения потока
Оглавление
Оглавление
21. Критические секции и состязания. Cемафоры и мьютексы. Задача о читателях и писателях. Задача о философах. Взаимная блокировка (тупики).
Пример возникновения гонок (состязаний) Еще один пример гонок
Критические секции Простейшее решение проблемы возникновения гонок
Условия взаимного исключения гонок со стороны процессов Пример решения взаимного исключения с использованием критических секций Алгоритм Петерсона Ограничения алгоритма Петерсона Алгоритм пекарни
Cемафоры и мьютексы Мьютексы
Задача о читателях и писателях Взаимная блокировка (тупики)
Пример взаимной блокировки Условия возникновения тупиков
Задача об обедающих философах Решение задачи об обедающих философах
22. Синхронизация потоков с использованием объектов ядра MS Windows 2000+. Основные принципы синхронизации. Таймеры ожидания, мьютексы. Критические секции. Функции Win32 API.
Синхронизация потоков Объекты синхронизации и их состояния
Объекты синхронизации MS Windows 2000+ и их состояния Примеры функционирования объектов синхронизации Спящие потоки Специализированные объекты синхронизации События Применение «событий» Таймеры ожидания
Сравнение инструментов синхронизации Windows 2000+ Функции Win32 API для управления таймерами
Создание и открытие таймера ожидания Режимы доступа к таймеру Управление таймером ожидания Запуск таймера ожидания Отмена действия таймера
Функции Win32 API для управления мьютексами Создание и открытие мьютекса Режимы доступа к мьютексу Управление мьютексом
Оглавление
Оглавление
Функции Win32 API для управления критическими секциями Структура типа CRITICAL_SECTION
Основные поля структуры CRITICAL_SECTION Вход в свободную секцию Вход в занятую секцию Освобождение секции
Критические секции в многопроцессорных системах
23. Синхронизация потоков с использованием объектов ядра MS Windows 2000+. Основные принципы синхронизации. События, семафоры. Критические секции.
Функции Win32 API.
Синхронизация потоков с использованием объектов ядра MS Windows 2000+. Основные принципы синхронизации.
События Общая информация
Применение событий Создание объекта типа “событие”
Совместное использование объекта «события» процессами Открытие объекта типа «событие» Режимы доступа к «событиям» Управление «событиями»
Особенности PulseEvent
Пример использования «события» для синхронизации потоков Семафоры
Создание объекта типа «семафор» Открытие объекта типа «семафор» Режимы доступа к семафору Захват семафора Освобождение семафора
Определение текущего состояния семафора Критические секции.
24. Атомарные операции и lockless программирование. Реализация многопоточности с использованием технологии OpenMP, блокировки и синхронизация потоков в OpenMP.
Атомарные операции и lockless программирование. Lockless программирование
Атомарные операции как lockless-инструмент Виды атомарных операций
Реализация атомарных операций в Windows 2000+ Переупорядочивание и модель памяти «Сильная» и «слабая» модели памяти Барьеры памяти и оптимизации Полные барьеры Двухсторонние барьеры
Оглавление
Оглавление
Односторонние барьеры
Управление переупорядочиванием в MS VC Неявные барьеры в MS VC 2005 Производительность lockless приложений
Реализация многопоточности с использованием технологии OpenMP Компоненты OpenMP
Директивы pragma
Функции run-time OpenMP
Переменные окружения Формат директивы pragma
Реализация параллельной обработки Директива #pragma omp for Директива #pragma omp parallel for
Распараллеливание при помощи директивы sections Директива single
Задание числа потоков Область видимости переменных
Директивы указания области видимости переменных Алгоритмы планирования Динамическое планирование Управляемое планирование
Сравнение динамического и управляемого планирования Планирование в период выполнения Автоматическое планирование
Блокировки и синхронизация потоков в OpenMP. Блокировки (замки)
Функции для работы с блокировками в OpenMP и Win32 Барьерная синхронизация Неявная барьерная синхронизация Явная барьерная синхронизация Типы явной синхронизации Атомарные операции Критические секции
Директива master
Упорядочивание итераций с помощью ordered Явный барьер памяти Неявный барьер памяти
Отказ от неявного барьера памяти
25. Межпроцессное взаимодействие. Передача информации в MS Windows 2000+. Атомы. Сообщения. Анонимные каналы. Функции Win32 API.
Межпроцессное взаимодействие. Механизмы межпроцессного обмена
Оглавление