Учебная деятельность    

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

Лекции

Раздел 1    Введение
(История/эволюция ОС. Основные понятия. Системные вызовы. Структура ОС.)
Раздел 2    Управление процессами
(Процессы. Потоки. Взаимодействие процессов. Планирование.)
Раздел 3    Управление памятью
(Адресное пространство. Виртуальная память. Страничная организация памяти. Сегментация.)
Раздел 4    Файловая система
(Файлы. Каталоги. Реализации файловых систем.)
Раздел 5    Управление вводом-выводом
(Аппаратное обеспечение устройств I/O. Программное обеспечение устройств I/O. Диски. Часы. Устройства пользовательского интерфейса. Управление энергопотреблением.)
Раздел 6  Современные концепции и технологии проектирования ОС
    Виртуализация и облако
(История вопроса. Требования, применяемые к виртуализации. Гипервизоры I и II типа. Паравиртуализация. Технологии эффективной виртуализации. Виртуализация памяти. Виртуализация ввода-вывода. Облака. Виртуализация на примере VMware.)
    Многопроцессорные системы
(Мультипроцессоры (UMA, NUMA). Типы мультипроцессорных ОС. Мультикомпьютеры. Распределённые системы.)
    Безопасность
(Безопасность ОС. Управление доступом к ресурсам. Аутентификация. Уязвимости ПО. Инсайдерские атаки. Вредоносные программы. Средства защиты.)

 

Лабораторные работы
№ 1    Регистрация и подключение к системе Unix. Общие принципы работы
(Основные команды, справочная система, многопользовательская защита, управление заданиями, перенаправление ввода-вывода)
№ 2    Файловая система ОС GNU/Linux. Работа с файлами и каталогами
(Логическая и физическая структура файловой системы, принципы контроля доступа в файловой системе)
№ 3    Программирование в Shell
(BASH как язык описания сценариев: переменные окружения, псевдонимы, шаблоны, составные команды, списки, конвейеры, преобразования)
№ 4    Сетевые возможности Unix
(Простейшие сетевые утилиты, средства обмена сообщениями между пользователями, средства передачи файлов, просмотра электронных сообщений и ресурсов Интернет)
№ 5    Монтирование и демонтирование файловых систем. Сетевые файловые системы
№ 6    Распределённая сетевая файловая система AFS
(Механизмы аутентификации, информационные команды, механизмы контроля доступа)
№ 7    Разработка и компиляция программ на Си
(Компиляция и связь модулей, сценарии компиляции, работа с отладчиком)

 Разработка и компиляция программ под Linux — расширенный вариант (для 1 курса)

№ 8    Графическая система X Window System
(Настройка и запуск, ресурсы графических приложений, механизмы контроля доступа)

 

Задания для самостоятельной работы

  1. Изучение алгоритмов реализации и использования сопрограмм
    (моделирование принципов невытесняющей многозадачности): Паскаль/DOS, Си/Linux.
  2. Исследование принципов реализации процессов и очередей многозадачного ядра
    (вытесняющая многозадачность, принципы планирования процессов): Паскаль/DOS, Си/Linux.
  3. Исследование методов синхронизации и взаимодействия процессов
    По вариантам:
    • A. Исследование методов синхронизации процессов с помощью семафоров: Паскаль/DOS, Си/Linux.
    • B. Исследование методов буферизации сообщений: Паскаль/DOS, Си/Linux.
    • C. Исследование метода взаимодействия процессов с помощью очередей сообщений: Паскаль/DOS, Си/Linux.
  4. Индивидуальное задание по написанию сценария для BASH (по вариантам)

Опции компиляторов TurboPascal или BorlandPascal должны быть выставлены следующим образом:

Опции TurboPascal Опции BorlandPascal

Дополнительная информация по организации программно-аппаратного стека и соглашениях о вызовах: https://dfe.petrsu.ru/prog/buffers.html
 

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


 

Курсовой проект (для ИВТ)

Реферат по одной/нескольким статьям на английском языке из журналов или конференций по тематике курса: USENIX, ACM, SIGOPS, IEEE и др.

Выбирайте статью по той тематике, которая вам более интересна. Идентифицируйте тему курса, которой соответствует выбранная статья.

Реферат должен содержать:

Итоговый вариант реферата высылается в PDF-виде е-почту преподавателя.

По результатам работы над рефератом готовится презентация (длительностью 3-5 мин.)

Ближайшая дата защиты: 25 декабря 2023 г.
 

Контроль знаний по результатам выполнения практических заданий:


 

Вопросы к экзамену:

  1. Этапы развития операционных систем.
  2. Типы операционных систем (особенности разных типов, примеры).
  3. Структуры операционных систем (монолитные, микроядра, гибридные).
  4. Процессы: модель, создание, завершение, иерархия, реализация.
  5. Состояния процессов, переходы между состояниями.
  6. Потоки: применение, модель, пример API.
  7. Способы реализации потоков (в режиме пользователя, в режиме ядра, гибридный).
  8. Проблемы многопоточного кода.
  9. Методы взаимного исключения (способы реализации критических секций) - активное ожидание (спин-блокировка).
  10. Методы взаимного исключения - семафоры, мьютексы, условные переменные.
  11. Очереди сообщений и другие способы синхронизации процессов/потоков. Работа без блокировок (Read-Copy-Update).
  12. Термины, вопросы и задачи алгоритмов планирования процессов.
  13. Алгоритмы планирования в пакетных системах.
  14. Алгоритмы планирования в интерактивных системах.
  15. Алгоритмы планирования в системах реального времени.
  16. Страничная организация памяти. Таблица страниц. Быстродействие. Объём.
  17. Алгоритмы замещения страниц (оптимальный, NRU, FIFO, второй шанс, часы).
  18. Алгоритмы замещения страниц (LRU, NFU, старения, рабочий набор, WSClock).
  19. Политика замещения страниц (локальная или глобальная).
  20. Выбор размера страницы.
  21. Совместно используемые страницы и совместно используемые библиотеки.
  22. Отображаемые файлы.
  23. Политика очистки страниц.
  24. Участие операционной системы в процессе подкачки страниц.
  25. Блокировка страниц в памяти.
  26. Организация области подкачки.
  27. Сегментация: принципы, сравнение со страничной организацией, пример реализации в архитекуре IA-32.
  28. Понятие файловой системы (ФС). Пользовательский интерфейс ФС: файлы и каталоги. Файлы: структура, тип, формат, доступ, атрибуты. Иерархические системы каталогов.
  29. Реализации файловой системы: размещение на диске, реализации файлов, реализации каталогов. Выбор размера блока.
  30. Файловые системы с журнальной структурой. LFS.
  31. Журналируемые файловые системы.
  32. Виртуальная файловая система (VFS).
  33. Отслеживание свободных блоков в файловой системе.
  34. Дисковые квоты.
  35. Резервное копирование файловой системы.
  36. Непротиворечивость файловой системы.
  37. Вопросы производительности файловых систем: кэширование блоков, опережающее чтение, сокращение количества перемещений блока головок, дефрагментация.
  38. Файловая система MS DOS (FAT).
  39. Файловая система UNIX V7.
  40. Файловая система Linux EXT2.
  41. Файловая система компакт-дисков (ISO 9660).
  42. Файловая система NTFS.
  43. Принципы организации ввода-вывода: блочные и символьные устройства, пространство памяти для ввода-вывода, DMA, прерывания.
  44. Задачи ПО ввода-вывода и принципы создания: программный опрос (активное ожидание), по прерыванию, с использованием DMA.
  45. Уровни ПО ввода-вывода: прикладной, HAL, драйверы, обработчики прерываний.
  46. Особенности работы с дисковыми устройствами: геометрия, алгоритмы перемещения головок, обработка ошибок, RAID.
  47. Особенности работы с часами.
  48. Особенности работы с интерфейсными устройствами: клавиатура, мышь, текстовый и графический дисплей.
  49. Вопросы управления энергопотреблением.
  50. Системы виртуализации: требования, типы гипервизоров, технологии реализации. Паравиртуализация.
  51. Облачные сервисы: характеристики, варианты реализации.
  52. Построение системы виртуализации на примере VMware Workstation.
  53. Типы мультипроцессорных ОС. Синхронизация мультипроцессоров.
  54. Планирование работы мультипроцессора.
  55. Распределённая совместно используемая память.
  56. Балансировка нагрузки в мультикомпьютерах.
  57. Безопасность ОС: управление доступом к ресурсам.
  58. Безопасность ОС: аутентификация.
  59. Безопасность ОС: уязвимости ПО.
  60. Безопасность ОС: инсайдерские атаки, вредоносные программы, средства защиты.

 

Задачи к экзамену:

  1. Пять пакетных заданий, от A до E, поступают в компьютерный центр практически одновременно. Время их выполнения приблизительно составляет tA, tB, tC, tD и tE. Определите среднее оборотное время для планирования по принципу «первым пришел — первым обслужен» (в порядке A, B, C, D, E), игнорируя при этом издержки на переключение процессов.
  2. ... Определите среднее оборотное время для планирования по принципу «сначала выполняется самое короткое задание»...
  3. Оцените оптимальный размер страницы для одноуровневой страничной системы, в которой средний размер процесса составляет s, а размер элемента таблицы страниц e.
  4. На какой средний размер процесса рассчитана система одноуровневой страничной трансляции, в которой оптимальным считается размер страниц p, а размер элемента таблицы страниц e?
  5. Компьютер с N-разрядным адресом использует двухуровневую таблицу страниц. Виртуальные адреса разбиты на K-разрядный индекс в таблице страниц верхнего уровня, L-разрядный индекс в таблице страниц 2-го уровня и смещение. Чему равен размер страниц и сколько их в адресном пространстве?
  6. K-разрядный виртуальный адрес преобразуется при помощи указанной таблицы страниц:
    NAddrPAMcounter
    0...XXX...
    ......XXX...

    Номер элемента таблицы страниц занимает старшие L бит в виртуальном адресе. Вычислите M-битный физический адрес для виртуального адреса XXXX10.
  7. K-разрядный виртуальный адрес преобразуется при помощи указанной таблицы страниц. При возникновении страничного нарушения какая страница будет выбрана для вытеснения по алгоритму NRU?
  8. ... При возникновении страничного нарушения какая страница будет выбрана для вытеснения по алгоритму «старения»?
  9. На диске объёмом V файловая система использует блоки размером L. Сколько места потребуется для хранения списка свободных блоков и битовой карты свободных блоков для полностью пустого диска? Если на диске свободно лишь α% блоков? (Выразите значения в байтах и блоках).
  10. В процессе проверки блочной непротиворечивости файловой системы (ФС) утилита fsck составила указанную таблицу. Есть ли противоречия в этой ФС? Если есть, то укажите проблемные блоки и назовите проблему.
     012...
    Своб.xxx...
    Исп.xxx...
  11. Приведён фрагмент FAT файловой системы с размером кластера L. Оцените размер файла, начинающегося с кластера k.
  12. Некоторый файл в NTFS занимает блоки b1, b2, ..., bN (перечислены конкретные номера блоков). Сколько участков (data run) будет содержать атрибут $DATA в элементе MFT для данного файла? Схематично укажите содержимое этого атрибута.
  13. Для некоторого файла в NTFS атрибут $DATA в элементе MFT содержит следующие значения: 0:NN, X:XX, X:XX, ... (указаны конкретные описания участков). Назовите номера блоков, используемых данным файлом (возможно применение сжатия).
  14. Драйвер диска получает запросы на обращение к цилиндрам: k1, k2, ... kN (перечислены конкретные номера цилиндров). Перемещение блока головок с одного цилиндра на соседний занимает время τ. Блок головок изначально расположен над цилиндром k0. Запишите порядок выполнения запросов и рассчитайте, сколько будет затрачено времени на перемещение головок при использовании алгоритма обслуживания в порядке поступления запросов (FCFS).
  15. ... при использовании алгоритма обслуживания в первую очередь ближайшего цилиндра (SSF).
  16. ... при использовании алгоритма лифта (сначала блок головок двигается к большим (меньшим) номерам).
  17. Скорость вращения диска XXXX об/мин. У него по всему внешнему цилиндру имеется XXX секторов по 512 байт. Сколько времени займёт чтение сектора?
  18. Какое отклонение цилиндров необходимо для диска со скоростью вращения XXXX об/мин и временем перехода с дорожки на дорожку XX мс? На каждой дорожке у диска XXX секторов по 512 байт.
  19. Максимальная скорость перемещения мыши составляет ХХ см/с. Каждое сообщение мыши занимает ХХ байт. Чему будет равна максимальная скорость передачи данных при условии, что о каждом микки сообщается отдельно?

 

Балльно-рейтинговая система:

Допуск к экзамену осуществляется при условии выполнении студентами плана практических занятий и достижении ими балла 70.

Баллы начисляются следующим образом:

Досрочная сдача может поощряться дополнительным баллом.