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

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

Статус: Курс обязательный (Прикладная математика)
Направление: 01.03.04. Прикладная математика
Когда читается: 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
Цель освоения дисциплины

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

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

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

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

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

  • Понятие ОС. Аппаратные и программные средства
    Определение ОС. Функции ОС. Расслоение памяти. Регистр перемещений. Относительная адресация. Прерывание и опрос состояний. Буферизация. Периферийные устройства. Защита памяти. Таймер и часы. Каналы ввода-вывода. Захват цикла. Режимы работы ЭВМ. Виртуальная память. Мультипроцессорная обработка. Прямой доступ к памяти. Конвейеризация. Иерархия памяти. Программирование на машинном языке. Ассемблеры и макропроцессоры. Система управления вводомвыводом. Спулинг. Микропрограммирование. Горизонтальный и вертикальный микрокод. Микропрограммная поддержка. Эмуляция.
  • Системное окружение
    Абсолютные и перемещающие загрузчики. Связывающие загрузчики и редакторы связей. Процедурноориентированные и проблемноориентированные языки. Компиляторы. Интерпретаторы. Оболочки.
  • Ядро ОС. Схемы прерываний
    Понятие ядра ОС. Функции ядра. Типы прерываний. Вектора прерываний и обработчики.
  • Управление процессами
    Понятие процесса. Состояния процесса. Операции над процессами. Блок управления (дескриптор) процесса. Понятия нити, потока, волокна, параллельного процесса, асинхронного процесса, взаимоисключения, семафора, мьютекса, монитора, тупика.
  • Управление памятью. Концепция виртуальной памяти
    Стратегии управления памятью. Концепции распределения памяти. Связное распределение памяти. Оверлейные перекрытия. Мультипрограммирование с переменными разделами. Свопинг. Страничная организация памяти. Страничная и сегментная реализация виртуальной памяти.
  • Файловая система. Средства файловой системы. Топология файловой системы
    Понятия файла, символьного набора. Типы файлов. Виды организации файлов. Блок управления (дескриптор) файлом. Средства файловой системы. Топология файловой системы. Реализация файлов и каталогов.
  • Система управления вводом-выводом. Структурные аппаратные и программные особенности
  • Организация локальных сетей ЭВМ. Основные аппаратные и программные компоненты. Топология ЛВС
    Обмен информацией между ЭВМ. Методы синхронизации. Скорость обмена. Дисциплина (протокол) линии. Контроль ошибок. Направленность передачи. Построение ЛВС. Аппаратные компоненты ЛВС. Программные компоненты ЛВС. Понятие объединенной сети. Внутренние и внешние мосты. Топология ЛВС.
  • Операционная система 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. SOLARIS, UNIX HP, FREE BSD, LINUX
  • Взаимодействие с пользователями в рамках системы UNIX
    Взаимодействие с пользователем вне ОС UNIX(Команды семейства UU {UNIX-to-UNIX} и CU {call up}). Связь с другими пользователями внутри одной системы (электронная почта, служба сообщений, служба напоминания calendar).
Элементы контроля

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

  • неблокирующий Лабораторная работа 1
    Обмен информацией между параллельными процессами в ОС UNIX.
  • неблокирующий Лабораторная работа 2
    Организация защиты файлов в файловой системе UNIX
  • неблокирующий Лабораторная работа 3
    Обработка прерываний в ОС UNIX
  • неблокирующий Лабораторная работа 4
    Программирование на командном языке.
  • неблокирующий Домашняя работа 1
  • неблокирующий Домашняя работа 2
  • неблокирующий Промежуточная аттестация
    Знания и навыки, приобретенные в ходе выполнения домашних заданий, оцениваются преподавателем в виде устного экзамена по 10-ти бальной шкале
  • неблокирующий Итоговая аттестация
  • неблокирующий Аудиторная работа
  • неблокирующий контрольно-измерительные материалы
    контрольно-измерительные материалы
  • неблокирующий Лабораторная работа 1
    Обмен информацией между параллельными процессами в ОС UNIX.
  • неблокирующий Лабораторная работа 2
    Организация защиты файлов в файловой системе UNIX
  • неблокирующий Лабораторная работа 3
    Обработка прерываний в ОС UNIX
  • неблокирующий Лабораторная работа 4
    Программирование на командном языке.
  • неблокирующий Домашняя работа 1
  • неблокирующий Домашняя работа 2
  • неблокирующий Промежуточная аттестация
    Знания и навыки, приобретенные в ходе выполнения домашних заданий, оцениваются преподавателем в виде устного экзамена по 10-ти бальной шкале
  • неблокирующий Итоговая аттестация
  • неблокирующий Аудиторная работа
  • неблокирующий контрольно-измерительные материалы
    контрольно-измерительные материалы
Промежуточная аттестация

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

  • Промежуточная аттестация (1 модуль)
    0.5 * Лабораторная работа 1 + 0.5 * Лабораторная работа 2
  • Промежуточная аттестация (2 модуль)
    0.1 * Домашняя работа 1 + 0.1 * Домашняя работа 2 + 0.1 * Итоговая аттестация + 0.05 * Лабораторная работа 1 + 0.05 * Лабораторная работа 2 + 0.05 * Лабораторная работа 3 + 0.05 * Лабораторная работа 4 + 0.5 * Промежуточная аттестация
Список литературы

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

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

  • Куль, Т.П. Операционные системы : учебное пособие / Т.П. Куль. - Минск : РИПО, 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