Насчёт операционной системы и учёта особенностей отдельных Speccy
Здесь уже пролетал совет (в треде про менеджмент памяти), про то что прежде чем дискутировать на тему, желательно вообще то говоря в теме разбираться.
В любой нормальной книге по ОСям имеется чёткое разделение: для чего нужны ОСи, почему они создаются так, а не иначе.
Каждая ОСь создаёт т.н. виртуальную машину, которая позволяет абстрагироваться от особенностей вашей реальной (физической) машины.
Пример: пусть у вас на машине имеется N-ое количество памяти для работы программ. Тогда за счёт возможностей ОСи (вариант с файлом подкачки) количество доступной для приложения памяти увеличивается.
Учёт особенностей физической машины целиком ложится на плечи ОСи (именно поэтому в рассмотрении треда про менеджмент памяти я говорил что некоторые моменты абсолютно безразлично как реализовывать), виртуальная же машина, которая представляется для работы приложений/программ зависит только от версии ОСи, как правило чем выше версия ОСи, тем шире возможности виртуальной машины.
Теперь по задачам.
Задача, которая ставится вообще - создание нормальных средств разработки ПО и залог развития Speccy как платформы с средствами разработки.
Подзадачи: разработка ОСи, ЯВУ (языков высокого уровня)
Т.е. написание ОСи нужно не само по себе (не как самоцель) а как подзадача создания комфортного общения пользователя/программиста с компьютером.
Любое ядро ОС состоит из двух компонентов:
- Менеджер задач (даже для однозадачных систем)
- Менеджер памяти
Т.о. главное для любой ОСи - написать её ядро (менеджеры задач и памяти)
С менеджером памяти я думаю всё ясно, а с менеджером задач определённости меньше. Отсутствие аппаратных средств мультиплексирования приводит к "извращённым" методам реализации многозадачности (а то что она нужна я думаю всем очевидно).
Возможность переключать банки памяти только с верхних адресов тоже вносит неупрощение в задачу построения менеджера памяти и формата хранения приложений/процессов на устройствах внешней памяти.
Т.о. именно за счёт специфики общей модели Спектрума разработка менеджера памяти и менеджера задач должна вестись параллельно с разработкой всех остальных частей системы (драйверы устройств вввода/вывода).
Любая ОСь также имеет уровни.
1. Физический уровень - драйвера
2. Системный уровень - виртульная машина
3. Пользовательский уровень - консоль/GUI и т.д.
Физический уровень написать несложно (память, FDD, HDD и т.д.)
Пользовательский уровень конечен и вообще говоря пока не важен.
Системный уровень - его собственно и предстоит разработать.
P.S. К уровням не придираться, упростил.