• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Operating Systems

2019/2020
Academic Year
RUS
Instruction in Russian
5
ECTS credits
Course type:
Compulsory course
When:
3 year, 1, 2 module

Instructors

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

Аннотация

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

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

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

Результаты освоения дисциплины

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

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

  • Понятие ОС. Аппаратные и программные средства
    Определение ОС. Функции ОС. Расслоение памяти. Регистр перемещений. Относительная адресация. Прерывание и опрос состояний. Буферизация. Периферийные устройства. Защита памяти. Таймер и часы. Каналы ввода-вывода. Захват цикла. Режимы работы ЭВМ. Виртуальная память. Мультипроцессорная обработка. Прямой доступ к памяти. Конвейеризация. Иерархия памяти. Программирование на машинном языке. Ассемблеры и макропроцессоры. Система управления вводомвыводом. Спулинг. Микропрограммирование. Горизонтальный и вертикальный микрокод. Микропрограммная поддержка. Эмуляция.
  • Системное окружение
    Абсолютные и перемещающие загрузчики. Связывающие загрузчики и редакторы связей. Процедурноориентированные и проблемноориентированные языки. Компиляторы. Интерпретаторы. Оболочки.
  • Ядро ОС. Схемы прерываний
    Понятие ядра ОС. Функции ядра. Типы прерываний. Вектора прерываний и обработчики.
  • Управление процессами
    Понятие процесса. Состояния процесса. Операции над процессами. Блок управления (дескриптор) процесса. Понятия нити, потока, волокна, параллельного процесса, асинхронного процесса, взаимоисключения, семафора, мьютекса, монитора, тупика.
  • Управление памятью. Концепция виртуальной памяти
    Стратегии управления памятью. Концепции распределения памяти. Связное распределение памяти. Оверлейные перекрытия. Мультипрограммирование с переменными разделами. Свопинг. Страничная организация памяти. Страничная и сегментная реализация виртуальной памяти.
  • Файловая система. Средства файловой системы. Топология файловой системы
    Понятия файла, символьного набора. Типы файлов. Виды организации файлов. Блок управления (дескриптор) файлом. Средства файловой системы. Топология файловой системы. Реализация файлов и каталогов.
  • Система управления вводом-выводом. Структурные аппаратные и программные особенности
  • Организация локальных сетей ЭВМ. Основные аппаратные и программные компоненты. Топология ЛВС
    Обмен информацией между ЭВМ. Методы синхронизации. Скорость обмена. Дисциплина (протокол) линии. Контроль ошибок. Направленность передачи. Построение ЛВС. Аппаратные компоненты ЛВС. Программные компоненты ЛВС. Понятие объединенной сети. Внутренние и внешние мосты. Топология ЛВС.
  • Операционная система UNIX. Основные характеристики
    Место ОС UNIX в ряду других современных ОС. Основные характеристики. Достоинства и недостатки.
  • Ядро и процессы. Структура процесса ОС UNIX
    Структура ядра ОС UNIX. Секция управляющих структур и программная секция. Диспетчер процессов. Диспетчер внешних устройств. Состояния процессора. Структура пользовательского процесса. Контекст процесса. Процедурный сегмент. Сегмент данных. Динамический сегмент. Взаимодействие ядра и процессов.
  • Межпроцессные взаимодействия. Управление процессами. Системные вызовы и API
    Информационные связи между процессами однорангового уровня. Обмен информацией через область внешних аргументов. Обмен информацией через файловую систему. Обмен информацией по программному каналу. Системные вызовы exec, system, fork, pipe, wait, системные вызовы работы с файлами и др. Примеры реализации приложений.
  • Файловая система ОС UNIX
    Типы файлов. Индексный дескриптор файла. Таблица файлов. Логическая и физическая организация файловой системы. Топология файловой системы. Файловая система и ядро ОС UNIX. Команды файловой системы.
  • Система управления вводом-выводом (СУВВ) ОС UNIX
    Структурные компоненты СУВВ. Блокориентированный и байториентированный интерфейсы. Дескрипторы специальных файлов. Логическая и физическая организации СУВВ. Взаимодействие структурных компонентов. Примеры реализации ввода-вывода.
  • Обработка прерываний в ОС UNIX. Системный вызов «сигнал»
    Программное средство «сигнал». Заголовочный файл <signal.h>. События, инициирующие посылку сигналов. Системные вызовы 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).
Элементы контроля

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

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

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

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

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

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

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

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

  • - Староверова Н.А. — Операционные системы: учебник - Издательство "Лань" - 2019 - ISBN: 978-5-8114-4000-9 - Текст электронный // ЭБС Лань - URL: https://e.lanbook.com/book/125737
  • Гостев И. М.-ОПЕРАЦИОННЫЕ СИСТЕМЫ 2-е изд., испр. и доп. Учебник и практикум для академического бакалавриата-М.:Издательство Юрайт,2019-164-Бакалавр. Академический курс-978-5-534-04520-8: -Текст электронный // ЭБС Юрайт - https://biblio-online.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