• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Специалитет 2020/2021

Операционные системы

Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Новизна полученных знаний»
Статус: Курс обязательный (Компьютерная безопасность)
Когда читается: 3-й курс, 1-4 модуль
Формат изучения: с онлайн-курсом
Охват аудитории: для всех кампусов НИУ ВШЭ
Специальность: 10.05.01. Компьютерная безопасность
Язык: русский
Кредиты: 6
Контактные часы: 112

Программа дисциплины

Аннотация

Основу курса составляет систематическое изложение теоретических и практических вопросов построения современных операционных систем, концепций и алгоритмов управления локальными и распределенными ресурсами. Изучаются варианты реализации многозадачной и многонитевой обработки (multithreading), организация виртуальной памяти, средства синхронизации, удаленные вызовы процедур (RPC), транзакции, механизмы репликации, средства файловой системы, логическая и физическая реализация файловых систем и систем управления вводом-выводом, подходы к обеспечению безопасности. Обсуждаются современные технологии проектирования ОС: микроядра, модель клиент-сервер, множественные прикладные среды, объектно-ориентированный подход, технология распределенных вычислительных сред (DCE). Особое внимание уделено сетевым возможностям ОС – использованию стандартных протоколов и интерфейсов, возможностям их мультиплексирования. В рамках курса лекций студенты познакомятся с методологически переработанным материалом, позволяющим эффективно использовать возможности ОС при проектировании самостоятельных прикладных приложений. Студенты не только получат представление о состоянии и возможностях современных ОС, но и приобретут навыки разработки системных приложений. Изложение принципов организации ОС сопровождается примерами их реализации в конкретных системах: UNIX-подобных, NetWare, Windows 2000 и выше. Особое внимание уделяется UNIX – подобным ОС. Приводится краткое введение в основы ОС UNIX (включая базовые понятия процессов/потоков, команд, файлов и т.д.), рассматриваются принципы архитектурной организации системы, основы мобильного программирования и принципы открытых систем, базисный механизм межпроцессных взаимодействий в централизованных и распределенных системах, основные подходы к организации интерактивного взаимодействия с пользователем, вопросы стандартизации. Приводится информация о современном состоянии некоторых коммерческих и свободно распространяемых версий ОС UNIX. Обсуждаются вопросы взаимодействия различных ОС в рамках одной сети. Изучаются различные подходы к администрированию ОС в больших сетях: доменный подход и подход, основанный на службе каталогов. Дисциплина реализуется в он-лайн формате
Цель освоения дисциплины

Цель освоения дисциплины

  • Обучение студентов принципам организации современных вычислительных систем
Планируемые результаты обучения

Планируемые результаты обучения

  • Получение представления о возможностях и сферах применения современных операционных систем
  • Знание основных подходов проектирования и организации современных ОС
  • Умение осуществлять взаимодействие между процессами и обрабатывать прерывания
  • Умение программировать на командном языке
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Понятие ОС. Аппаратные и программные средства
    Определение ОС. Функции ОС. Расслоение памяти. Регистр перемещений. Относительная адресация. Прерывание и опрос состояний. Буферизация. Периферийные устройства. Защита памяти. Таймер и часы. Каналы ввода-вывода. Захват цикла. Режимы работы ЭВМ. Виртуальная память. Мультипроцессорная обработка. Прямой доступ к памяти. Конвейеризация. Иерархия памяти. Программирование на машинном языке. Ассемблеры и макропроцессоры. Система управления вводомвыводом. Спулинг. Микропрограммирование. Горизонтальный и вертикальный микрокод. Микропрограммная поддержка. Эмуляция.
  • Системное окружение
    Абсолютные и перемещающие загрузчики. Связывающие загрузчики и редакторы связей. Процедурноориентированные и проблемноориентированные языки. Компиляторы. Интерпретаторы. Оболочки.
  • Ядро ОС. Схемы прерываний
    Понятие ядра ОС. Функции ядра. Типы прерываний. Вектора прерываний и обработчики.
  • Управление памятью. Концепция виртуальной памяти
    Стратегии управления памятью. Концепции распределения памяти. Связное распределение памяти. Оверлейные перекрытия. Мультипрограммирование с переменными разделами. Свопинг. Страничная организация памяти. Страничная и сегментная реализация виртуальной памяти.
  • Файловая система. Средства файловой системы. Топология файловой системы
    Понятия файла, символьного набора. Типы файлов. Виды организации файлов. Блок управления (дескриптор) файлом. Средства файловой системы. Топология файловой системы. Реализация файлов и каталогов.
  • Система управления вводом-выводом. Структурные аппаратные и программные особенности
  • Организация локальных сетей ЭВМ. Основные аппаратные и программные компоненты. Топология ЛВС
    Обмен информацией между ЭВМ. Методы синхронизации. Скорость обмена. Дисциплина (протокол) линии. Контроль ошибок. Направленность передачи. Построение ЛВС. Аппаратные компоненты ЛВС. Программные компоненты ЛВС. Понятие объединенной сети. Внутренние и внешние мосты. Топология ЛВС.
  • Операционная система UNIX. Основные характеристики
    Место ОС UNIX в ряду других современных ОС. Основные характеристики. Достоинства и недостатки.
  • Ядро и процессы. Структура процесса ОС UNIX
    Структура ядра ОС UNIX. Секция управляющих структур и программная секция. Диспетчер процессов. Диспетчер внешних устройств. Состояния процессора. Структура пользовательского процесса. Контекст процесса. Процедурный сегмент. Сегмент данных. Динамический сегмент. Взаимодействие ядра и процессов.
  • Межпроцессные взаимодействия. Управление процессами. Системные вызовы и API
    Информационные связи между процессами однорангового уровня. Обмен информацией через область внешних аргументов. Обмен информацией через файловую систему. Обмен информацией по программному каналу. Системные вызовы exec, system, fork, pipe, wait, системные вызовы работы с файлами и др. Примеры реализации приложений.
  • Файловая система ОС UNIX
    Типы файлов. Индексный дескриптор файла. Таблица файлов. Логическая и физическая организация файловой системы. Топология файловой системы. Файловая система и ядро ОС UNIX. Команды файловой системы.
  • Система управления вводом-выводом (СУВВ) ОС UNIX
    Структурные компоненты СУВВ. Блокориентированный и байториентированный интерфейсы. Дескрипторы специальных файлов. Логическая и физическая организации СУВВ. Взаимодействие структурных компонентов. Примеры реализации ввода-вывода.
  • Обработка прерываний в ОС UNIX. Системный вызов «сигнал»
    Программное средство «сигнал». Заголовочный файл . События, инициирующие посылку сигналов. Системные вызовы signal, sigset, sigprocmask, sigaction. Стандарты SYSTEM V и POSIX.1. Библиотечные функции setjmp и longjmp. Прерывание выполнения системных вызовов.
  • Функционирование ОС UNIX
    Функционирование ОС UNIX. Начальная загрузка и выход на интерактивный режим работы. Интерактивный режим работы.
  • Интерпретатор команд SHELL. Программирование на командном языке
    Разработки интерпретаторов shell. Функции интерпретатора shell. Обработка метасимволов. Перенаправление вводавывода. Программирование в среде shell. Синтаксис языка shell. Основные операторы и конструкции shell. Приемы программирования.
  • Поддержка в ОС UNIX сетевого обмена
    Настройка и поддержка работы сети в ОС UNIX. Сетевые интерфейсы и маршруты. Контроль за состоянием сети. Протокол РРР. Разработка chatсценариев.
  • Взаимодействие с пользователями в рамках системы UNIX
    Взаимодействие с пользователем вне ОС UNIX(Команды семейства UU {UNIX-to-UNIX} и CU {call up}). Связь с другими пользователями внутри одной системы (электронная почта, служба сообщений, служба напоминания calendar).
  • Примеры реализаций ОС UNIX. SOLARIS, UNIX HP, FREE BSD, LINUX
  • Управление процессами
    Понятие процесса. Состояния процесса. Операции над процессами. Блок управления (дескриптор) процесса. Понятия нити, потока, волокна, параллельного процесса, асинхронного процесса, взаимоисключения, семафора, мьютекса, монитора, тупика.
  • Межпроцессное взаимодействие на уровне «клиент-сервер» ОС UNIX
    Обмен сообщениями. Поддержка семафоров. Разделяемая память. Гнезда и интерфейс транспортного уровня.
Элементы контроля

Элементы контроля

  • неблокирующий Аудиторная работа
    Преподаватель оценивает работу студентов на лекциях и практических занятиях: активность при ответе на вопросы преподавателя, правильность выполнения заданий на лабораторных работах.
  • неблокирующий Самостоятельная работа
    Преподаватель оценивает самостоятельную работу студентов: правильность выполнения домашних работ.
  • неблокирующий Контрольная работа
  • неблокирующий Итоговая аттестация
    Экзамен проводится в устной форме с использованием асинхронного прокторинга. Экзамен проводится на платформе Zoom (https://zoom.us/meeting), прокторинг на платформе Экзамус (https://hse.student.examus.net). К экзамену необходимо подключиться за 15 минут. На платформе Экзамус доступно тестирование системы. Компьютер студента должен удовлетворять следующим требованиям: https://elearning.hse.ru/data/2020/05/07/1544135594/Технические%20требования%20к%20ПК%20студента.pdf) Для участия в экзамене студент обязан: заранее зайти на платформу прокторинга, провести тест системы, включить камеру и микрофон, подтвердить личность. Во время экзамена студентам запрещено: общаться (в социальных сетях, с людьми в комнате), списывать. Во время подготовки ответов на билеты к экзамену студентам разрешено: пользоваться собственными письменными конспектами (в тетради или на распечатанных листах, печатными изданиями). Во время сдачи экзамена ничем пользоваться нельзя. Кратковременным нарушением связи во время экзамена считается прерывание связи до 10 минут. Долговременным нарушением связи во время экзамена считается прерывание связи 10 минут и более. При долговременном нарушении связи студент не может продолжить участие в экзамене. Процедура пересдачи аналогична процедуре сдачи.
  • неблокирующий Промежуточная аттестация
    Равно средней оценке за контрольные работы
  • неблокирующий Аудиторная работа
    Преподаватель оценивает работу студентов на лекциях и практических занятиях: активность при ответе на вопросы преподавателя, правильность выполнения заданий на лабораторных работах.
  • неблокирующий Самостоятельная работа
    Преподаватель оценивает самостоятельную работу студентов: правильность выполнения домашних работ.
  • неблокирующий Контрольная работа
  • неблокирующий Итоговая аттестация
    Экзамен проводится в устной форме с использованием асинхронного прокторинга. Экзамен проводится на платформе Zoom (https://zoom.us/meeting), прокторинг на платформе Экзамус (https://hse.student.examus.net). К экзамену необходимо подключиться за 15 минут. На платформе Экзамус доступно тестирование системы. Компьютер студента должен удовлетворять следующим требованиям: https://elearning.hse.ru/data/2020/05/07/1544135594/Технические%20требования%20к%20ПК%20студента.pdf) Для участия в экзамене студент обязан: заранее зайти на платформу прокторинга, провести тест системы, включить камеру и микрофон, подтвердить личность. Во время экзамена студентам запрещено: общаться (в социальных сетях, с людьми в комнате), списывать. Во время подготовки ответов на билеты к экзамену студентам разрешено: пользоваться собственными письменными конспектами (в тетради или на распечатанных листах, печатными изданиями). Во время сдачи экзамена ничем пользоваться нельзя. Кратковременным нарушением связи во время экзамена считается прерывание связи до 10 минут. Долговременным нарушением связи во время экзамена считается прерывание связи 10 минут и более. При долговременном нарушении связи студент не может продолжить участие в экзамене. Процедура пересдачи аналогична процедуре сдачи.
  • неблокирующий Промежуточная аттестация
    Равно средней оценке за контрольные работы
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (3 модуль)
    0.1 * Аудиторная работа + 0.5 * Итоговая аттестация + 0.2 * Контрольная работа + 0.2 * Самостоятельная работа
Список литературы

Список литературы

Рекомендуемая основная литература

  • Куль, Т.П. Операционные системы : учебное пособие / Т.П. Куль. - Минск : РИПО, 2019. - 312 с. - ISBN 978-985-503-940-3. - Текст : электронный. - URL: https://new.znanium.com/catalog/product/1056304 - Текст : электронный. - URL: http://znanium.com/catalog/product/1056304
  • Операционные системы. Т.1: Основы и принципы, Дейтел, Х. М., 2009
  • Операционные системы. Т.2: Распределенные системы, сети, безопасность, Дейтел, Х. М., 2007
  • Современные операционные системы, Таненбаум, Э., 2012

Рекомендуемая дополнительная литература

  • Гостев И. М. - ОПЕРАЦИОННЫЕ СИСТЕМЫ 2-е изд., испр. и доп. Учебник и практикум для академического бакалавриата - М.:Издательство Юрайт - 2019 - 164с. - ISBN: 978-5-534-04520-8 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/operacionnye-sistemy-433850
  • Операционные системы. Основы UNIX : учеб. пособие / А.Б. Вавренюк, О.К. Курышева, С.В. Кутепов, В.В. Макаров. — Москва : ИНФРА-М, 2020. — 160 с. + Доп. материалы [Электронный ресурс; Режим доступа: http://new.znanium.com]. — (Высшее образование: Бакалавриат). — www.dx.doi.org/10.12737/11186. - Текст : электронный. - URL: http://znanium.com/catalog/product/1044511
  • Староверова Н.А. - Операционные системы: учебник - Издательство "Лань" - 2019 - 308с. - ISBN: 978-5-8114-4000-9 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/125737