Проектирование операционных систем (л/р)

Ассистент: Келарев Иван Андреевич Экзамен

Рабочее место

Для ядра Linux

Для JOS

Лабораторные работы

Выполняются и защищаются в 508л по субботам, после ЦОС.

Л/р 1. Основы внесения изменений в ядро ОС

Л/р 2. Введение JOS

Домашние задания

Д/з 1. Спасение страниц процесса от выгрузки

Д/з 2, часть 1. Страничное преобразование и выделение памяти

Каждая часть сдаётся отлельно.

Д/з 2, часть 2. Процессы, системные вызовы и обработка исключений

Д/з 2, часть 3. Многозадачность и межпроцессное взаимодействие

Литература

Здесь указаны только доступные в электронном виде и легальные (или условно-легальные) источники. Дополнительные источники указаны в пособии и известные по курсам СП и ПУ.
  • Учебное пособие.
  • Состояния процесса в Linux. Для тех, кто уже прочёл Таненбаума.
  • Письмо Пайка Таненбауму на тему микроядер, асинхроннных коммуникаций и других проблем проектирования ОС и написания ПО.
  • Computer Science from the Bottom Up.
  • Maurice J. Bach. Design of the UNIX Operating System (русский перевод). Перевод этой книги 20-ти летней давности перевод лежит где ни попадя, включая citforum и lib.ru, поэтому может считаться условно-легальным.
  • Understanding the Linux 2.6.8.1 CPU Scheduler Внятное описание старого планировщика (известного как "O(1) scheduler").
  • Глава 10 из Understanding the Linux Kernel на ту же тему.
  • Multiprocessing with the Completely Fair Scheduler. Проливает свет на текущий планирощик ядра.
  • Brian W. Kernighan and Rob Pike. The Unix Programming Environment Черновик русского перевод 1992-го года. Книга переиздавалась, всего за 150р можно легально купить PDF нового перевода.
  • Linux Kernel Module Programming Guide | архив
  • Linux Device Drivers, 3rd Edition | архив | примеры
  • Linux Kernel in a Nutshell | архив
  • Understanding the Linux Kernel, 3rd Edition (есть подозрение, что это варез)
  • Anatomy of Linux dynamic libraries