Курс по операционным системам (на примере ОС Windows) Основан на учебном курсе Windows Operating System Internals Curriculum Resource Kit (авторы David A. Solomon, Mark E. Russinovich, Andreas Polze), Цель курса: дать основы функционирования современных операционных систем на примере ОС Windows с возможностью модификации исходного кода учебной операционной системы (Project OZ) с последующей её сборкой и отладкой на виртуальной машине. Краткое содержание курса Тема 1: Введение в операционные системы Тема 2: Принципы функционирования операционных систем Тема 3: Параллельное выполнение операций Тема 4: Планировщик задач Тема 5: Управление памятью Тема 6: Управление устройствами и система ввода-вывода Тема 7: Защита и безопасность Тема 8: Файловая система Тема 9: Встраиваемые системы и реальное время Тема 10: Отказоустойчивость Тема 11: Оценка производительности Тема 12: Автоматизация управления Дополнительные разделы Тема 1: Сетевые возможности Windows Тема 2: Сравнение ядер Linux и Windows Тема 3: Возможность взаимодействия Windows и Unix Содержание разделов курса Тема 1: Введение в операционные системы Обзор курса Эволюция операционных систем Семейство операционных систем Windows – концепции и инструменты Тема 2: Принципы функционирования операционных систем Структурирование операционных систем Windows Базовые механизмы работы Windows Окна в ОС Windows Windows API – типы данных и соглашения о именовании идентификаторов Тема 3: Параллельное выполнение операций Критические секции, семафоры и мониторы Ловушки, обработка прерываний, синхронизация в Windows Особенности синхронизации в Windows Применение Windows API для синхронизации и межпроцессного взаимодействия Тема 4: Планировщик задач Концепция процессов и потоков Реализация потоков и процессов в Windows Особенности потоков и процессов в Windows Планирование переключения потоков в Windows Особенности планирования переключения потоков в Windows Тема 5: Управление памятью Управление памятью для многозадачного режима работы Основы управления памятью в Windows Трансляция виртуальных адресов Физическое управление памятью Тема 6: Управление устройствами и система ввода-вывода Принципы работы систем ввода-вывода Компоненты подсистемы ввода-вывода в Windows Обработка ввода-вывода в Windows Тема 7: Защита и безопасность Проблема безопасности Концепция безопасности и компоненты безопасности Windows Дескрипторы безопасности Windows Тема 8: Файловая система Основы построения файловых систем Распространённые файловые системы CDFS, UDF, FAT12, FAT16, FAT32 Файловая система NTFS Шифрование на уровне файловой системы в Windows Поддержка восстановления в NTFS Управление файлами и папками в Windows Тема 9: Встраиваемые системы и реальное время Введение и применяемые термины Операционная система реального времени Windows CE Встраиваемая операционная система Windows XP Embedded Тема 10: Отказоустойчивость Основы обеспечения отказоустойчивости ОС Отказоустойчивость в Windows Тема 11: Оценка производительности Производительность системы Поиск неисправностей при загрузке Тема 12: Автоматизация управления Назначение и возможности сценариев в ОС Windows Management Instrumentation Реестр Дополнительные разделы Тема 1: Сетевые возможности Windows Сетевые компоненты Windows Программирование сокетов Windows Расширения Microsoft для сокетов и других сетевых APIs Тема 2: Сравнение ядер Linux и Windows Тема 3: Возможность взаимодействия Windows и Unix Взаимодействие на уровне файлов и команд Программирование взаимодействия