Операционные системы
- Расписание консультаций (зима 2025)
- Защита курсовых проектов — 26 декабря 2024 в 13:30 в каб. 107 УЛК-5.
Лекции
Лабораторные работы
Задания для самостоятельной работы
- Изучение алгоритмов реализации и использования сопрограмм
(моделирование принципов невытесняющей многозадачности): Паскаль/DOS, Си/Linux. - Исследование принципов реализации процессов и очередей многозадачного ядра
(вытесняющая многозадачность, принципы планирования процессов): Паскаль/DOS, Си/Linux. - Исследование методов синхронизации и взаимодействия процессов
По вариантам:- A. Исследование методов синхронизации процессов с помощью семафоров: Паскаль/DOS, Си/Linux.
- B. Исследование методов буферизации сообщений: Паскаль/DOS, Си/Linux.
- C. Исследование метода взаимодействия процессов с помощью очередей сообщений: Паскаль/DOS, Си/Linux.
- Индивидуальное задание по написанию сценария для BASH (по вариантам)
Опции компиляторов TurboPascal или BorlandPascal должны быть выставлены следующим образом:
Дополнительная информация по организации программно-аппаратного стека и соглашениях о вызовах:
https://dfe.petrsu.ru/prog/buffers.html
Рекомендуемая литература
- Таненбаум Э., Бос Х. Современные операционные системы. – СПб. : Питер, 2017. – 1120 с.
- Молчанов А. Ю. Системное программное обеспечение : учебник для вузов. – СПб. : Питер, 2010. – 400 с.
- Олифер В. Г., Олифер Н. А. Сетевые операционные системы : учебник для вузов. – СПб. : Питер, 2009. – 669 с.
- Кипрушкин С. А., Соловьев А. В. Основы работы в Linux : учебное пособие. — Петрозаводск : Изд-во ПетрГУ, 2009. — 104 с.
Курсовой проект (для ИВТ)
Реферат по одной/нескольким статьям на английском языке из журналов или конференций по тематике курса: USENIX, ACM, SIGOPS, IEEE и др.
- Это должна быть статья (не книга, не монография), размер – от 15 страниц (если размер меньше, выбирается несколько статей по сходной тематике).
- Статья не старше 10 лет (год издания статьи должен быть не ранее 2015 г.).
- В статье должен быть библиографический список.
Выбирайте статью по той тематике, которая вам более интересна. Идентифицируйте тему курса, которой соответствует выбранная статья.
Реферат должен содержать:
- Краткую аннотацию статьи (пара абзацев, до 200 слов).
- Описание структуры статьи (по паре предложений на каждый раздел).
- Самые важные/интересные, на ваш взгляд, положения статьи (основная часть вашей работы над рефератом — от двух страниц и более).
- Характеристику библиографии статьи (зачем автор ссылается на тот или иной источник, по одному-два предложения, можно сгруппировать несколько однотипных источников).
- Заключение (выводы).
- Список литературы, упомянутой в вашем реферате (фактически: статья + её библиография). Библиографические записи должны быть оформлены по ГОСТу!
Итоговый вариант реферата высылается в PDF-виде е-почту преподавателя.
По результатам работы над рефератом готовится презентация (длительностью 3-5 мин.)
Ближайшая дата защиты: 25 декабря 2024 г.
Контроль знаний по результатам выполнения практических заданий:
Вопросы к экзамену:
- Этапы развития операционных систем.
- Типы операционных систем (особенности разных типов, примеры).
- Структуры операционных систем (монолитные, микроядра, гибридные).
- Процессы: модель, создание, завершение, иерархия, реализация.
- Состояния процессов, переходы между состояниями.
- Потоки: применение, модель, пример API.
- Способы реализации потоков (в режиме пользователя, в режиме ядра, гибридный).
- Проблемы многопоточного кода.
- Методы взаимного исключения (способы реализации критических секций) - активное ожидание (спин-блокировка).
- Методы взаимного исключения - семафоры, мьютексы, условные переменные.
- Очереди сообщений и другие способы синхронизации процессов/потоков. Работа без блокировок (Read-Copy-Update).
- Термины, вопросы и задачи алгоритмов планирования процессов.
- Алгоритмы планирования в пакетных системах.
- Алгоритмы планирования в интерактивных системах.
- Алгоритмы планирования в системах реального времени.
- Страничная организация памяти. Таблица страниц. Быстродействие. Объём.
- Алгоритмы замещения страниц (оптимальный, NRU, FIFO, второй шанс, часы).
- Алгоритмы замещения страниц (LRU, NFU, старения, рабочий набор, WSClock).
- Политика замещения страниц (локальная или глобальная).
- Выбор размера страницы.
- Совместно используемые страницы и совместно используемые библиотеки.
- Отображаемые файлы.
- Политика очистки страниц.
- Участие операционной системы в процессе подкачки страниц.
- Блокировка страниц в памяти.
- Организация области подкачки.
- Сегментация: принципы, сравнение со страничной организацией, пример реализации в архитекуре IA-32.
- Понятие файловой системы (ФС). Пользовательский интерфейс ФС: файлы и каталоги. Файлы: структура, тип, формат, доступ, атрибуты. Иерархические системы каталогов.
- Реализации файловой системы: размещение на диске, реализации файлов, реализации каталогов. Выбор размера блока.
- Файловые системы с журнальной структурой. LFS.
- Журналируемые файловые системы.
- Виртуальная файловая система (VFS).
- Отслеживание свободных блоков в файловой системе.
- Дисковые квоты.
- Резервное копирование файловой системы.
- Непротиворечивость файловой системы.
- Вопросы производительности файловых систем: кэширование блоков, опережающее чтение, сокращение количества перемещений блока головок, дефрагментация.
- Файловая система MS DOS (FAT).
- Файловая система UNIX V7.
- Файловая система Linux EXT2.
- Файловая система компакт-дисков (ISO 9660).
- Файловая система NTFS.
- Принципы организации ввода-вывода: блочные и символьные устройства, пространство памяти для ввода-вывода, DMA, прерывания.
- Задачи ПО ввода-вывода и принципы создания: программный опрос (активное ожидание), по прерыванию, с использованием DMA.
- Уровни ПО ввода-вывода: прикладной, HAL, драйверы, обработчики прерываний.
- Особенности работы с дисковыми устройствами: геометрия, алгоритмы перемещения головок, обработка ошибок, RAID.
- Особенности работы с часами.
- Особенности работы с интерфейсными устройствами: клавиатура, мышь, текстовый и графический дисплей.
- Вопросы управления энергопотреблением.
- Системы виртуализации: требования, типы гипервизоров, технологии реализации. Паравиртуализация.
- Облачные сервисы: характеристики, варианты реализации.
- Построение системы виртуализации на примере VMware Workstation.
- Типы мультипроцессорных ОС. Синхронизация мультипроцессоров.
- Планирование работы мультипроцессора.
- Распределённая совместно используемая память.
- Балансировка нагрузки в мультикомпьютерах.
- Безопасность ОС: управление доступом к ресурсам.
- Безопасность ОС: аутентификация.
- Безопасность ОС: уязвимости ПО.
- Безопасность ОС: инсайдерские атаки, вредоносные программы, средства защиты.
Задачи к экзамену:
- Пять пакетных заданий, от A до E, поступают в компьютерный центр практически одновременно. Время их выполнения приблизительно составляет tA, tB, tC, tD и tE. Определите среднее оборотное время для планирования по принципу «первым пришел — первым обслужен» (в порядке A, B, C, D, E), игнорируя при этом издержки на переключение процессов.
- ... Определите среднее оборотное время для планирования по принципу «сначала выполняется самое короткое задание»...
- Оцените оптимальный размер страницы для одноуровневой страничной системы, в которой средний размер процесса составляет s, а размер элемента таблицы страниц e.
- На какой средний размер процесса рассчитана система одноуровневой страничной трансляции, в которой оптимальным считается размер страниц p, а размер элемента таблицы страниц e?
- Компьютер с N-разрядным адресом использует двухуровневую таблицу страниц. Виртуальные адреса разбиты на K-разрядный индекс в таблице страниц верхнего уровня, L-разрядный индекс в таблице страниц 2-го уровня и смещение. Чему равен размер страниц и сколько их в адресном пространстве?
- K-разрядный виртуальный адрес преобразуется при помощи указанной таблицы страниц:
N Addr P A M counter 0 ... X X X ... ... ... X X X ...
Номер элемента таблицы страниц занимает старшие L бит в виртуальном адресе. Вычислите M-битный физический адрес для виртуального адреса XXXX10. - K-разрядный виртуальный адрес преобразуется при помощи указанной таблицы страниц. При возникновении страничного нарушения какая страница будет выбрана для вытеснения по алгоритму NRU?
- ... При возникновении страничного нарушения какая страница будет выбрана для вытеснения по алгоритму «старения»?
- На диске объёмом V файловая система использует блоки размером L. Сколько места потребуется для хранения списка свободных блоков и битовой карты свободных блоков для полностью пустого диска? Если на диске свободно лишь α% блоков? (Выразите значения в байтах и блоках).
- В процессе проверки блочной непротиворечивости файловой системы (ФС)
утилита fsck составила указанную таблицу. Есть ли противоречия в этой ФС?
Если есть, то укажите проблемные блоки и назовите проблему.
0 1 2 ... Своб. x x x ... Исп. x x x ... - Приведён фрагмент FAT файловой системы с размером кластера L. Оцените размер файла, начинающегося с кластера k.
- Некоторый файл в NTFS занимает блоки b1, b2, ..., bN (перечислены конкретные номера блоков). Сколько участков (data run) будет содержать атрибут $DATA в элементе MFT для данного файла? Схематично укажите содержимое этого атрибута.
- Для некоторого файла в NTFS атрибут $DATA в элементе MFT содержит следующие значения: 0:NN, X:XX, X:XX, ... (указаны конкретные описания участков). Назовите номера блоков, используемых данным файлом (возможно применение сжатия).
- Драйвер диска получает запросы на обращение к цилиндрам: k1, k2, ... kN (перечислены конкретные номера цилиндров). Перемещение блока головок с одного цилиндра на соседний занимает время τ. Блок головок изначально расположен над цилиндром k0. Запишите порядок выполнения запросов и рассчитайте, сколько будет затрачено времени на перемещение головок при использовании алгоритма обслуживания в порядке поступления запросов (FCFS).
- ... при использовании алгоритма обслуживания в первую очередь ближайшего цилиндра (SSF).
- ... при использовании алгоритма лифта (сначала блок головок двигается к большим (меньшим) номерам).
- Скорость вращения диска XXXX об/мин. У него по всему внешнему цилиндру имеется XXX секторов по 512 байт. Сколько времени займёт чтение сектора?
- Какое отклонение цилиндров необходимо для диска со скоростью вращения XXXX об/мин и временем перехода с дорожки на дорожку XX мс? На каждой дорожке у диска XXX секторов по 512 байт.
- Максимальная скорость перемещения мыши составляет ХХ см/с. Каждое сообщение мыши занимает ХХ байт. Чему будет равна максимальная скорость передачи данных при условии, что о каждом микки сообщается отдельно?
Балльно-рейтинговая система:
Допуск к экзамену осуществляется при условии выполнении студентами плана практических занятий и достижении ими балла 70.
Баллы начисляются следующим образом:
- за посещение лекций и лабораторных занятий – 1 балл;
- за непосещение лекций – -2 штрафных балла;
- за непосещение лабораторных занятий – -1 штрафной балл;
- за непредставление отчета в установленный срок (на следующей, после выполнения работы, неделе) – -1 балл в неделю;
- за отчёт по лабораторной работе – 0...5 баллов;
- за практическое задание по самостоятельной работе – 0...10 баллов.
Досрочная сдача может поощряться дополнительным баллом.