• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 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 module
    0.2 * Оперативный контроль на практических занятиях + 0.1 * Прохождение контрольных точек по проверке знаний на лекциях + 0.7 * Выполнение практических заданий
  • 2026/2027 2nd module
    0.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

Авторы

  • Воронцова Татьяна Дмитриевна
  • Белов Александр Владимирович