Бакалавриат
2026/2027





Операционные системы
Статус:
Курс обязательный (Прикладная математика)
Кто читает:
Департамент прикладной математики
Когда читается:
3-й курс, 1, 2 модуль
Охват аудитории:
для всех кампусов НИУ ВШЭ
Язык:
русский
Кредиты:
4
Контактные часы:
56
Программа дисциплины
Аннотация
Основу курса составляет систематическое изложение теоретических и практических вопросов построения современных операционных систем, концепций и алгоритмов управления локальными и распределенными ресурсами. Изучаются варианты реализации многозадачной и многонитевой обработки (multithreading), организация виртуальной памяти, средства синхронизации, удаленные вызовы процедур (RPC), транзакции, механизмы репликации, средства файловой системы, логическая и физическая реализация файловых систем и систем управления вводом-выводом, подходы к обеспечению безопасности. Обсуждаются современные технологии проектирования ОС: 2 микроядра, модель клиент-сервер, множественные прикладные среды, объектноориентированный подход, технология распределенных вычислительных сред (DCE). Особое внимание уделено сетевым возможностям ОС – использованию стандартных протоколов и интерфейсов, возможностям их мультиплексирования. В рамках курса лекций студенты познакомятся с методологически переработанным материалом, позволяющим эффективно использовать возможности ОС при проектировании самостоятельных прикладных приложений. Студенты не только получат представление о состоянии и возможностях современных ОС, но и приобретут навыки разработки системных приложений. Изложение принципов организации ОС сопровождается примерами их реализации в конкретных системах: UNIX-подобных, NetWare, Windows 2000 и выше. Особое внимание уделяется UNIX – подобным ОС. Приводится краткое введение в основы ОС UNIX (включая базовые понятия процессов/потоков, команд, файлов и т.д.), рассматриваются принципы архитектурной организации системы, основы мобильного программирования и принципы открытых систем, базисный механизм межпроцессных взаимодействий в централизованных и распределенных системах, основные подходы к организации интерактивного взаимодействия с пользователем, вопросы стандартизации. Приводится информация о современном состоянии некоторых коммерческих и свободно распространяемых версий ОС UNIX. Обсуждаются вопросы взаимодействия различных ОС в рамках одной сети. Изучаются различные подходы к администрированию ОС в больших сетях: доменный подход и подход, основанный на службе каталогов. С использованием онлайн-курса https://www.intuit.ru/studies/courses/1088/322/info
Цель освоения дисциплины
- Формирование понимания фундаментальных концепций и принципов работы операционных систем. 2. Изучение архитектуры, компонентов и функций ключевых подсистем операционных систем, таких как управление процессами, управление памятью, файловые системы и ввод/вывод. 3. Получение знаний о механизмах обеспечения безопасности, многопользовательской работы, разграничения прав доступа и базовых принципах виртуализации в современных операционных системах. 4. Развитие навыков настройки и администрирования UNIX/Linux-систем, в том числе в виртуализированной среде. 5. Изучение основных принципов взаимодействия прикладного программного обеспечения с операционной системой через командную оболочку, системные вызовы и программные интерфейсы. 6. Понимание тенденций развития операционных систем и их роли в современных информационных технологиях
Планируемые результаты обучения
- Назначение, функции и основные архитектурные компоненты современных операционных систем
- История развития UNIX и UNIX-подобных операционных систем, а также роль Linux, ядра Linux, системных библиотек, утилит и компонентов GNU
- Основные характеристики UNIX/Linux-систем и особенности различных UNIX-подобных дистрибутивов, включая Linux, macOS и BSD
- Устанавливает и использует Linux-дистрибутив в виртуализированной среде, например VirtualBox
- Выполняет базовые операции в командной строке UNIX/Linux, работать с файлами, каталогами, ссылками и правами доступа
- Принципы работы с процессами в ОС Linux, состояния процессов, иерархию процессов, приоритеты процессов и средства мониторинга
- Устанавливает компилятор C и использовать простейшие программы или скрипты для автоматизации задач в Linux
- Создает, запускает, отслеживает и завершает процессы средствами операционной системы
- Понятие потока ввода-вывода, pipe (конвейера) и FIFO (именованного канала) как механизмов межпроцессного взаимодействия
- Назначение демонов (служб) и их роль в автоматизации рутинных задач
- Использует pipe и FIFO для организации взаимодействия процессов
- Основные механизмы System V IPC: разделяемую память, семафоры и очереди сообщени
- Принципы работы нитей исполнения, риски race condition, особенности синхронизации на многоядерных системах, назначение мьютексов и условных переменных
- Применяет базовые средства System V IPC: разделяемую память, семафоры и очереди сообщений на уровне учебных примеров
- Основные механизмы System V IPC: разделяемая память, семафоры и очереди сообщений
- Использует мьютексы и условные переменные для решения простейших задач синхронизации нитей исполнения
- Логическая структура файловой системы UNIX/Linux, типы файлов, разделы носителя информации, индексные узлы, ссылки, владельцев, группы и права доступа
- Понятие виртуальной файловой системы, блочных и символьных устройств, драйверов, файлового интерфейса и связи системных вызовов с механизмами ядра ОС
- Анализирует состояние файловой системы, дискового пространства и прав доступа
- Понятие сигналов в UNIX/Linux, способы их возникновения и обработки, группы процессов, сеансы и управляющий терминал
- Обрабатывает сигналы и понимает связь программных прерываний, системных вызовов, драйверов и устройств
- Основы архитектуры TCP/IP, протоколы IP, ICMP, ARP, RARP, TCP и UDP, понятие сокетов, портов и сетевого порядка байт
- Базовые принципы обеспечения безопасности, многопользовательской работы и разграничения доступа в UNIX/Linux-среде
- Выполняет базовую диагностику сетевого взаимодействия, анализирует сетевой трафик и использует учебные примеры TCP/UDP-сокетов
Содержание учебной дисциплины
- Общие сведения об операционной системе UNIX (Linux)
- Процессы в операционной системе UNIX (Linux)
- Организация взаимодействия процессов через pipe и FIFO
- Разделяемая память и нити исполнения
- Семафоры
- Очереди сообщений
- Нити исполнения (продолжение). Мьютексы. Условные переменные
- Организация файловой системы в UNIX (Linux)
- Понятие сигналов в UNIX/Linux, способы их возникновения и обработки, группы процессов, сеансы и управляющий терминал
- Введение в сетевое программирование в ОС UNIX (Linux)
Элементы контроля
- Прохождение контрольных точек по проверке знаний на лекциях
- Оперативный контроль на практических занятиях
- Выполнение практических заданий
- экзамен
Промежуточная аттестация
- 2026/2027 1st module0.2 * Оперативный контроль на практических занятиях + 0.1 * Прохождение контрольных точек по проверке знаний на лекциях + 0.7 * Выполнение практических заданий
- 2026/2027 2nd module0.5 * Выполнение практических заданий + 0.3 * экзамен + 0.1 * Оперативный контроль на практических занятиях + 0.1 * Прохождение контрольных точек по проверке знаний на лекциях
Список литературы
Рекомендуемая основная литература
- Вержаковская, М. А. Вычислительные системы, операционные системы, сетевые технологии и информационные ресурсы : учебное пособие / М. А. Вержаковская, В. Ю. Аронов. — Самара : ПГУТИ, 2022. — 181 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/320834 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Основы операционных систем : курс лекций: учеб. пособие для вузов, Карпов, В. Е., 2019
- Современные операционные системы : 16+, Таненбаум Э., Бос, Х., 2019
Рекомендуемая дополнительная литература
- Введение в операционные системы. Т. 1: ., Дейтел, Г., 1987
- Операционные системы : учебник и практикум для академического бакалавриата, Гостев, И. М., 2017