
- •1. Лекция: Понятие операционной системы (ос), цели ее работы. Классификация компьютерных систем
- •Введение
- •Комментарии к списку литературы
- •Краткое содержание курса
- •Почему важно знать операционные системы – мнение эксперта из Microsoft
- •Расцвет ос в 2000-х гг.
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Темы для курсовых работ, рефератов, эссе
- •2. Лекция: История ос. Отечественные ос. Диалекты unix. Режимы пакетной обработки, мультипрограммирования, разделения времени
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Темы для курсовых работ, рефератов, эссе
- •3. Лекция: Особенности ос для различных классов компьютерных систем. Ос реального времени. Ос для облачных вычислений
- •Введение
- •Особенности ос для персональных компьютеров
- •Параллельные компьютерные системы и особенности их ос.
- •Симметричные и асимметричные мультипроцессорные системы
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •4. Лекция: Архитектура компьютерной системы
- •Содержание
- •Введение
- •Архитектура компьютерной системы
- •Аппаратная защита адресов памяти в системах с теговой архитектурой
- •Организация аппаратной защиты памяти и процессора
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •5. Лекция: Архитектура ос. Управление процессами: Основные понятия. Семафоры и мониторы
- •6. Лекция: Обзор функций ос: управление памятью, файлами, процессами, сетями, командными интерпретаторами, сервисы ос, системные вызовы. Уровни абстракции ос. Архитектура unix и ms-dos
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •7. Лекция: Уровни абстракции ос. Ос с архитектурой микроядра. Виртуальные машины. Цели проектирования и разработки ос. Генерация ос
- •Механизмы и политики
- •Реализация операционных систем
- •Генерация операционной системы
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •8. Лекция: Управление процессами. Планирование и диспетчеризация процессов
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •9. Лекция: Методы взаимодействия процессов
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •10. Лекция: Потоки (threads) и многопоточное выполнение программ (multi-threading)
- •Потоки в Windows 2000
- •Потоки в Linux
- •Потоки в Java
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •11. Лекция: Стратегии и критерии диспетчеризации процессов
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •12. Лекция: Методы синхронизации процессов
- •Алгоритм решения проблемы критической секции
- •Алгоритм булочной (bakery algorithm)
- •Синхронизация на основе аппаратной поддержки атомарных операций
- •Синхронизация на основе общих семафоров
- •Реализация семафоров
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •13. Лекция: Тупики (deadlocks), методы предотвращения и обнаружения тупиков
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •14. Лекция: Алгоритм банкира
- •Методы обнаружения тупиков
- •Граф wait-for
- •Обнаружение тупиков для случая ресурсов с множественными экземплярами
- •Алгоритм обнаружения тупиков
- •Пример применения алгоритма обнаружения тупиков
- •Использование алгоритма обнаружения тупиков
- •Восстановление после тупика
- •Комбинированный подход к обработке тупиков
- •Ключевые термины
- •Краткие итоги
- •Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •15. Лекция: Управление памятью
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •16. Лекция: Страничная организация памяти
- •Хешированные таблицы страниц
- •Инвертированные таблицы страниц
- •Разделяемые страницы
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •17. Лекция: Сегментная организация памяти
- •Пример сегментной организации памяти
- •Пример использования разделяемых сегментов
- •Сегментно-страничная организация памяти в системах multics и "Эльбрус"
- •Сегментно-страничная организация памяти в системе Intel 386
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •18. Лекция: Виртуальная память
- •Страничная организация в Solaris
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •19. Лекция: Системы файлов
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •20. Лекция: Виртуальные файловые системы (vfs). Реализации файловых систем. Сетевая файловая система nfs
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •21. Лекция: Системы ввода-вывода
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •22. Лекция: Сети и сетевые структуры
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •23. Лекция: Классические и современные сетевые коммуникационные протоколы
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •24. Лекция: Безопасность операционных систем и сетей. Trustworthy Computing
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •25. Лекция: Обзор архитектуры и возможностей системы Linux: архитектура, ядро, распространение и лицензирование, принципы проектирования, управление процессами
- •Планирование задач ядра и синхронизация в ядре
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •26. Лекция: Обзор архитектуры и возможностей системы Linux: управление памятью, ресурсами, файловые системы, драйверы устройств, сети, безопасность
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •27. Лекция: Обзор архитектуры и возможностей систем Windows 2000/xp/2003/Vista/2008/7
- •Подсистемы окружения в Windows 2000
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •28. Лекция: Системные механизмы Windows
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •29. Лекция: Академическая программа Microsoft Shared Source Initiative. Открытое ядро Windows для изучения и исследований (Windows Research Kernel)
- •Пакет учебных ресурсов crk
- •Исследовательское ядро Windows Research Kernel
- •Проект ProjectOz
- •Контактная информация и ссылки
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •30. Лекция: ос для мобильных устройств. Windows Mobile
- •Перспективы ос для мобильных устройств
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •31. Лекция: ос для облачных вычислений (cloud computing). Windows Azure
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •32. Лекция: Перспективы операционных систем и сетей
- •Ключевые термины
- •Краткие итоги
- •Набор для практики Вопросы
- •Упражнения
- •Темы для курсовых работ, рефератов, эссе
- •Заключение
Страничная организация в Solaris
В ОС Solaris поддерживается список свободных страниц для выделения процессам, в которых происходят отказы страниц. Используется lotsfree – пороговый параметр для начала подкачки страниц. Управление страницами выполняет процесс pageout. Процесс pageout сканирует страницы, используя модифицированный алгоритм, основанный на показаниях часов. Используется также scanrate – коэффициент, характеризующий процесс сканирования. Диапазон - от slowscan до fastscan. Процесс pageout вызывается более часто, в зависимости от размера свободной памяти.
Ключевые термины
mmap (memory map) – команда и системный вызов в ОС Solaris для организации файла, отображаемого в память.
Thrashing – ситуация критической нехватки основной памяти в системе, при которой процессор занят в основном откачкой и подкачкой страниц.
Алгоритм FIFO (First-In-First-Out) замещения страниц - наиболее простой алгоритм замещения страниц, при котором в качестве жертвы всегда выбирается фрейм, первым из имеющихся считанный в основную память.
Алгоритм Least Frequently Used (LFU) замещения страниц – алгоритм, при котором замещается страница с минимальным значением счетчика обращений (к которой было меньше всего обращений).
Алгоритм Least Recently Used (LRU) замещения страниц – алгоритм, при котором замещается та страница, которая раньше всего использовалась.
Алгоритм Most Frequently Used (MFU) замещения страниц – алгоритм, при котором замещается страница с максимальным значением счетчика обращений (к которой было больше всего обращений).
Алгоритм второго шанса (second chance) при замещении страниц – алгоритм, в котором замещается не та страница, к которой дольше всего не было обращения, а следующая за ней по списку страниц, упорядоченному в порядке возрастания времен обращений.
Аномалия Belady – рост числа отказов страниц в алгоритме FIFO при четырех свободных фреймах у процесса, по сравнению с числом отказов страниц при трех свободных фреймах.
Бит модификации - бит элемента таблицы страниц, указывающий на модификацию страницы, с целью откачки на диск только модифицированных страниц.
Бит ссылки (reference bit) – бит элемента таблицы страниц, равный 0, если к странице не было обращения, и 1, если обращение к странице было.
Бит "valid/invalid" – бит элемента таблицы страниц, указывающий на присутствие или отсутствие страницы в основной памяти.
Виртуальная память – метод управления памятью, основанный на принципах отделения логической памяти пользователя от физической памяти и расширения логической памяти путем хранения ее образа на диске.
Выделение фреймов по приоритетам – выделение процессам фреймов страниц в основной памяти, в соответствии с приоритетами процессов: при замещении страниц замещается страница процесса с более низким приоритетом.
Глобальное выделение фреймов – выделение процессам фреймов страниц в основной памяти, при котором набор свободных фреймов – общий для всех процессов, так что один процесс может взять фрейм у другого.
Замещение страницы (page replacement) – подкачка операционной системой страницы, к которой произошло обращение, вместо другой страницы, с откачкой последней, если она требуется.
Копирование при записи (Copy-on-Write) – стратегия создания процесса, при которой новый процесс разделяет адресное пространство с процессом-родителем до первой записи в адресное пространство, после чего для дочернего процесса создается новое адресное пространство – копия родительского.
Коэффициент отказов страниц (Page Fault Rate) – число от 0 до 1, характеризующее вероятность отказа страницы.
Локальное выделение фреймов – выделение процессам фреймов страниц в основной памяти, при котором наборы свободных фреймов выделяются для каждого процесса отдельно.
Оптимальный алгоритм замещения страниц - алгоритм замещения страниц, при котором замещается та страница, которая не использовалась в течение наибольшего периода времени.
Отказ страницы (page fault) – прерывание по отсутствию страницы в основной памяти.
Пропорциональное выделение фреймов – выделение процессам фреймов страниц в основной памяти, пропорционально размерам процессов в памяти.
Рабочее множество – набор страниц, используемых процессом.
Сегментная организация по требованию (segmentation on demand) – метод организации виртуальной памяти, основанный на сегментной организации, при котором каждый сегмент загружается в память, только если он реально требуется при выполнении программы – содержит код или данные, к которым произошло обращение.
Страничная организация по требованию (paging on demand) – метод организации виртуальной памяти, основанный на страничной организации, при котором каждая страница загружается в память, только если она реально требуется при выполнении программы – содержит код или данные, к которым произошло обращение.
Файл, отображаемый в память (Memory-Mapped File) – файл, блоки которого отображены в основную память через таблицу страниц.
Фиксированное выделение фреймов – выделение фреймов страниц в основной памяти процессам либо равномерно, либо пропорционально размерам процессов в памяти.
Эффективное время доступа (Effective Access Time - EAT) – математическое ожидание времени доступа к странице.