up

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

1 September 2021 - 31 January 2022 г.
The course has already started
101 days
Before the end of the enrollment
  • Russian

    course language

  • 15 weeks

    course duration

  • от 1 до 3 часов в неделю

    needed to educate

  • 2 credit points

    for credit at your university

 

About

Задачами данного курса являются: 

  • формирование понимания процессов, происходящих в вычислительной системе при запуске и работе программ и программных систем, принципов корректной передачи информации между ними и их взаимной синхронизации;
  • обучение студентов методам создания корректно работающих и взаимодействующих программ с помощью системных вызовов операционных систем;
  • формирование способности производительно использовать современные вычислительные системы при изучении других дисциплин и при выполнении исследований студентами в рамках выпускных работ на степень бакалавра.

Format

В состав курса входят видео-лекции на русском языке продолжительностью 5-25 минут.
Каждая неделя завершается тестами на понимание материала (от простых вопросов до сложных задач по материалу, изложенного в течение текущей и предыдущих недель).
 

  1. Карпов В.Е., Коньков К.А. Основы операционных систем, курс лекций, издание 3-е,  М:, Физматкнига, 2019
  2. Танненбаум Э., Бос Х, Современные операционные системы, 4-е издание, Спб:, Питер, 2015
  3. Stallings W., Operating Systems: Internals and Design Principles, 8th Edition, Pearson Education, Inc., 2015
  4. Silberschatz A., Galvin P.B., Gagne G., Operating System Concepts, 10th edition, Wiley, 2018
     

Requirements

Первоначальные знания языка C для понимания примеров, приводимых в курсе, первоначальные знания архитектуры ЭВМ.

Course program

Неделя 1. Введение. Обзор

1.1. Введение

1.2. Что такое операционная система 

1.3. Эволюция ОС. 1 и 2 периоды

1.4. Эволюция ОС 3 период

1.5. Эволюция ОС. 4 и 5 период

1.6. Основные функции современных ОС

Неделя 2. Архитектурные особенности построения ОС

2.1. Монолитные, многоуровневые и микроядерные системы

2.2. Виртуальные машины, экзоядерные и смешанные системы

Неделя 3. Понятие процесса. Операции над процессами

3.1. Понятие процесса

3.2. Состояния процесса

3.3. Операции над процессами, PCB и контекст процесса

3.4. Выполнение одноразовых операций

3.5. Выполнение многоразовых операций. Цепочки операций

Неделя 4. Кооперация процессов и основные аспекты ее логической организации

4.1. Взаимодействующие процессы. Категории средств связи

4.2. Установление связи, понятие «информационной валентности»

4.3. Особенности канальных средств связи

4.4. Надежность связи и ее завершение

4.5. Нити исполнения. Попытка ускорить решение задачи с помощью взаимодействия процессов

4.6. Нити исполнения. Аналогия с игрушечной железной дорогой

4.7. Нити исполнения в вычислительных системах. Ускорение решения задачи с их помощью

Неделя 5. Алгоритмы синхронизации

5.1. Активности, атомарные операции, interleaving. Условия Бернстайна

5.2. Race condition, взаимоисключения, критические секции. Требования к программным алгоритмам

5.3. Запрет прерываний, «переменная-замок», «строгое чередование»

5.4. «Флаги готовности», алгоритм Петерсона, алгоритм булочной. Использование аппаратной поддержки

Неделя 6. Механизмы синхронизации

6.1. Недостатки программных алгоритмов

6.2. Семафоры Дейкстры

6.3. Мониторы Хора

6.4. Очереди сообщений

6.5. Эквивалентность механизмов синхронизации

Неделя 7. Планирование процессов

7.1. Уровни планирования процессов. Цели планирования и свойства алгоритмов

7.2. Параметры планирования. Вытесняющее и невытесняющее планирование

7.3. Алгоритм FCFS

7.4. Алгоритм Round Robin

7.5. Алгоритм SJF и алгоритм гарантированного планирования

7.6. Алгоритмы приоритетного планирования

7.7. Планирование с многоуровневыми очередями

Неделя 8. Простые схемы управления памятью

8.1. Иерархия памяти и принцип локальности

8.2. Проблема разрешения адресов. Связывание адресов

8.3. Однопрограммная система. Схема с фиксированными разделами

8.4. Схема с динамическими разделами

Неделя 9. Более сложные схемы управления памятью

9.1. Сегментная организация памяти

9.2. Страничная организация памяти

9.3. Сегментно-страничная организация памяти. Проблемы больших таблиц страниц

9.4. Ассоциативная память

Неделя 10. Виртуальная память

10.1. Концепция виртуальной памяти

10.2. Стратегии управления и виды алгоритмов замещения страниц

10.3. Локальные алгоритмы замещения страниц 

10.4. Глобальные алгоритмы замещения страниц 

Неделя 11. Файлы и файловые системы (часть 1)

11.1. Понятие о разных уровнях абстракции объектов в IT

11.2. Разные уровни абстракции для целых чисел и данных

11.3  Файл как математический объект

11.4. Логические и физические файлы

Неделя 12. Файлы и файловые системы (часть 2)

12.1. Уровни абстракции для файловой системы

12.2. Логическая файловая система. Куча, директории и дерево директорий.

12.3. Логическая файловая система. Ациклический граф и граф произвольной формы.

12.4. Физические файлы и файловая система. FCB и организация вторичной памяти

12.5. Непрерывное выделение блоков

12.6. Связные списки и FAT

12.7. Индексация и индексные узлы 

12.8. Файловая система как часть ОС

Неделя 13. Системы управления вводом-выводом

13.1. Что такое операции ввода-вывода

13.2. Общие сведения об архитектуре ЭВМ. Работа локальной магистрали

13.3. Структура контроллера устройства. Взаимодействие контроллера и процессора

13.4. Прерывания, прямой доступ к памяти

13.5. Структура системы управления I/O. Интерфейс к драйверам.

13.6. Функция базовой подсистемы ввода-вывода

13.7. Планирование запросов к жесткому диску

Неделя 14. Сети и сетевые операционные системы

14.1. Для чего нужны сети. Сетевые и распределенные ОС

14.2. Отличия взаимодействия локальных и удаленных процессов

14.3. Понятие протокола

14.4. Многоуровневая модель OSI/ISO

14.5. Адресация процессов в сети 

14.6. Маршрутизация от источника передачи данных и одношаговая маршрутизация

14.7. Фиксированная и простая маршрутизация

14.8. Динамическая маршрутизация. Модели передачи данных

Education results

В результате освоения дисциплины обучающиеся должны 

знать:

  • историю эволюции вычислительных систем, основные функции, выполняемые современными операционными системами, принципы их внутреннего построения;

  • концепцию процессов в операционных системах;

  • основные алгоритмы планирования процессов;

  • логические основы взаимодействия процессов;

  • концепцию нитей исполнения и их отличие от обычных процессов;

  • программные алгоритмы организации взаимодействия процессов и предъявляемые к ним требования;

  • основные механизмы синхронизации в операционных системах;

  • организацию управления оперативной памятью использующиеся при этом алгоритмы;

  • основные принципы управления файловыми системами;

  • организацию управления устройствами ввода-вывода на уровне как технического, так и программного обеспечения, основные функции подсистемы ввода-вывода;

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

Formed competencies

Освоение дисциплины направлено на формирование следующих универсальных (УК) и общепрофессиональных (ОПК) компетенций бакалавра:

  • Способность осуществлять поиск, критический анализ и синтез информации, применять системный подход для решения поставленных задач (УК-1);

  • Способность определять круг задач в рамках поставленной цели и выбирать оптимальные способы их решения, исходя из действующих правовых норм, имеющихся ресурсов и ограничений (УК-2);

  • Способность применять фундаментальные знания, полученные в области физико-математических наук и (или) естественных наук, и использовать их в профессиональной деятельности, в том числе в сфере педагогической деятельности (ОПК-1);

  • Способность использовать современные информационные технологии и программные средства при решении задач профессиональной деятельности, соблюдая требования информационной безопасности (ОПК-2);

  • Способность осуществлять сбор и обработку научно-технической и (или) технологической информации для решения фундаментальных и прикладных задач (ОПК-4)

Education directions

Карпов Владимир Ефимович

Кандидат физико-математических наук, доцент
Position: Доцент кафедры информатики и вычислительной математики МФТИ

course completion certificate

Certificate

Для получения сертификата необходимо успешно выполнить все контрольные задания и сдать итоговый тест

Similar courses