DR-DOS 9.0 в дипломе: как устаревшая технология становится инструментом анализа современных архитектур

В марте 2026 года появилась новость — легендарный DR-DOS, который когда-то конкурировал с MS-DOS и даже был основой для Windows 3.x, вернулся в виде версии 9.0, полностью переписанной с нуля на чистом ассемблере. Это не просто релиз: это вызов всему, что мы считаем «устаревшим». Новая версия работает только на процессорах 386 и выше — то есть, она не претендует на совместимость с современными CPU, но зато демонстрирует, как можно строить минимальную, надёжную ОС без библиотек, без ядра, без абстракций. Для выпускников ИТ-направлений это — идеальный кейс: он позволяет глубоко погрузиться в базовые принципы работы ОС, архитектуру загрузки, управление памятью и безопасность в условиях отсутствия современных средств защиты.

Почему это важно для ВКР?

Даже если вы не планируете писать операционную систему, анализ DR-DOS 9.0 даёт уникальную возможность продемонстрировать понимание фундаментальных принципов: от загрузчика до управления прерываниями, от мультизадачности в реальном режиме до того, как работают стеки и регистры. Это — живой пример, где модульность, минимализм и предсказуемость важнее удобства разработчика. Такие темы отлично подходят под требования ГОСТ 34.602-89 («Организация и проведение научных исследований») и ISO/IEC 25010 (качество программных продуктов), особенно при оценке надёжности, соответствия спецификациям и эффективности использования ресурсов.

Темы ВКР, связанные с DR-DOS 9.0

Тема Актуальность (по статье) Цель Задачи Структура
Анализ архитектуры устаревших ОС для проектирования встраиваемых систем DR-DOS 9.0 — первый релиз за 20 лет, написан на ассемблере, без зависимостей. Показывает, как можно избежать «загрязнения» кода современными фреймворками. Обосновать выбор архитектуры для встраиваемого решения с учётом ограничений памяти и производительности. 1. Сравнить структуру DR-DOS с Linux/FreeRTOS.
2. Проанализировать, какие компоненты можно перенести в современный проект.
3. Разработать модель «минимального ядра» для IoT-устройства.
4. Оценить RTO/RPO для отказоустойчивости.
Гл.1 — Теория: сравнение архитектур
Гл.2 — Проектирование: схема модулей, интерфейсы
Гл.3 — Тестирование: нагрузочные сценарии, восстановление после сбоя
Методология «zero-dependency» в контексте CI/CD-пайплайнов Новая версия DR-DOS не использует ни одну стороннюю библиотеку. Это — идеальный кейс для проверки, как работает сборка без внешних зависимостей. Показать, как применить методологию «zero-dependency» в современной практике разработки ПО. 1. Собрать DR-DOS 9.0 через Docker-образ с чистым toolchain.
2. Интегрировать сборку в GitHub Actions.
3. Протестировать локальную зависимость (например, `ld` и `nasm`).
4. Сформировать отчёт по метрикам: время сборки, размер образа, количество строк.
Гл.1 — Анализ стека CI/CD
Гл.2 — Проектирование пайплайна
Гл.3 — Метрики и оптимизация
Эволюция безопасности в ОС: от DR-DOS к современным гипервизорам В DR-DOS 9.0 нет встроенных средств защиты от прямого доступа к памяти или от выполнения кода в пользовательском режиме — всё решается на уровне архитектуры. Изучить, как эволюция архитектурных решений повлияла на уровень безопасности. 1. Выявить уязвимости в классической модели «код + данные = один пространство».
2. Сопоставить с современными механизмами: NX-bit, ASLR, SELinux.
3. Предложить гибридное решение для встраиваемой системы с ограниченным ресурсом.
4. Оценить TCO (Total Cost of Ownership) для разных уровней защиты.
Гл.1 — Исторический обзор
Гл.2 — Архитектура безопасности
Гл.3 — Экономическая оценка

Аналитическая глава: почему ассемблер — не «обратный ход», а осознанный выбор

В дипломе часто возникает вопрос: «Почему не C? Почему не Rust?». DR-DOS 9.0 — отличный ответ: потому что в некоторых случаях прямое управление аппаратными ресурсами требует знания, которое невозможно получить, не видя, как работает каждая инструкция. Например, загрузчик DR-DOS начинается с 16-битного режима, использует INT 13h для чтения с диска, а затем переключает процессор в 32-битный режим — и всё это без операционной системы. В аналитической части можно:

Проектная часть: как спроектировать «минимальный» модуль на основе DR-DOS

Вторая часть диплома может быть посвящена реализации «ядра» на основе DR-DOS. Вот конкретные шаги:

; bootsect.asm
org 0x7c00
mov ax, 0x07c0
mov ds, ax
mov es, ax
mov ss, ax
mov sp, 0x7c00

; Загружаем kernel.bin
mov bx, 0x0000
mov cx, 1
mov dx, 0x0000
mov ax, 0x0201
int 0x13

; Переключаемся в 32-битный режим
call switch_to_32bit
jmp 0x0000:0x0000 ; Не достигнем — это «dead end» для тестирования

switch_to_32bit:
    cli
    lgdt [gdt_descriptor]
    mov eax, cr0
    or eax, 1
    mov cr0, eax
    jmp 0x0008:load_32bit

Тестирование и метрики: как измерить «надёжность» в 1990-х

В дипломе обязательно нужно указать, как будет проверяться работа системы. DR-DOS 9.0 — отличный объект для:

Все эти метрики можно оформить в виде диаграммы, как в статье, где указано, что DR-DOS 9.0 имеет RTO < 5 секунд при сбое диска.

Чему вы научитесь, работая с этим кейсом

Типичные ошибки студентов
  • «Подмена терминов»: написать «ядро» вместо «загрузчик» или «менеджер памяти» вместо «segment selector». Объясните, почему в 16-битном режиме нет «ядра» в классическом смысле.
  • Отсутствие метрик: в разделе «Тестирование» не указать RTO/RPO. Добавьте таблицу с результатами, как в статье: «при 10% сбоев — RTO = 3.2 секунды».
  • Игнорирование ГОСТ: не оформить ТЗ по ГОСТ 34.602-89. Укажите, что в разделе «Анализ» должен быть пункт «Соответствие требованиям безопасности».

FAQ

Сложно ли реализовать DR-DOS 9.0 в дипломе?

Не очень — если вы не собираетесь писать полноценную ОС. Главное — не перегружать работу. Можно взять готовый исходник DR-DOS 9.0 (есть в репозитории на GitHub), изменить его под свои нужды, и сделать акцент на анализе и адаптации. Важно: не копировать, а переосмыслить.

Требуется ли писать код на ассемблере?

Нет. Вы можете использовать готовый код, но в тексте должны быть комментарии к ключевым участкам (например, «строка 42 — переключение в 32-битный режим»). Если вы пишете на C, то можно показать, как компилятор генерирует ассемблерный код для этого участка.

Как оформить UML-диаграммы?

Создайте три диаграммы: классов (для модулей), состояний (для загрузчика), последовательности (для обработки прерывания). Используйте PlantUML или draw.io. В тексте укажите: «На рис. 3 представлена последовательность вызовов при загрузке».

Где взять тестовые данные?

Для нагрузочного тестирования — qemu-system-i386 -drive file=drdos.img,if=ide. Для метрик — dd if=/dev/zero of=testfile bs=1M count=100 и измерение времени. В статье указано, что тесты проводились на старом IBM PS/2.

Чек-лист «Что проверить перед сдачей»

  • ✅ Соответствие задач заявленной цели (см. таблицу выше)
  • ✅ Наличие схем и диаграмм (UML, блок-схемы загрузки)
  • ✅ Описание метрик: RTO, RPO, TCO (см. статью)
  • ✅ Ссылки на источники: статья, GitHub, ГОСТ 34.602-89
  • ✅ Отражение в выводах: «Анализ показал, что встраиваемые системы могут быть более надёжными при использовании минимальной архитектуры»

Материал подготовлен экспертами компании IT-Диплом. Мы помогаем студентам с 2010 года. Если вам нужна помощь в разработке темы или оформлении работы, наши специалисты готовы подсказать.

Последнее обновление: 2026-07-15

Если вы не уверены в выборе темы или не знаете, как начать — мы можем помочь. Бесплатная 120-минутная консультация по любой теме ВКР. Просто напишите нам — и мы подготовим план, который точно соответствует вашим целям.

Источник: Легендарный DR-DOS вернулся: версия 9.0 написана с нуля на чистом ассемблере (опубликовано 2026-03-12)