Несколько мыслей в догонку.
И так, постановка задачи:
- многозадачность есть или нет;
- интерфейс графический или консольный;
Методы решения:
- писать новую или портировать существующую.
- выбор языка написания ОС (грубо говоря Ассм или С);
Как то ответить на них ДО создания самого проекта можно только проанализировав имеющийся опыт и реально существующие продукты подобного класса а также их особнности.
Всего, грубо говоря, возможно 4 варианта постановки задачи, рассмотрим их по порядку.
1. Однозадачная консольная ОС.
Уже есть. В ассортименте.
2. Многозадачная консольная ОС.
Пожалуй самая успешная многозадачная ОС для машин даного класса была MP/M. Ранние версии Юникса тоже работали на железе сравнимом по производительности и памяти со Спектрумом (PDP-11/20). Только эти две ОС были частично (у Юникса ядро было на Ассме) написаны на языке отличном от Ассемблера. Поэтому можно сделать следущие выводы:
- многозадачную консольную ОС можно писать как на Ассемблере так и на эффективных ЯВУ с использованием ассемблера в критическом коде;
- возможно портирование существующих ОС.
Что касается портирования то пожалуй есть только два кандидата: МР/М и Юникс ранних версий. Если с МР/М все достаточно очевидно, то вот портирование ранних версий Юникса не имеет особого смысла поскольку существует ограниченный ассортимент прикладного программного обеспечения для данной ОС (в отличии от более поздних версий которые портировать не представляет практического смысла).
3. Однозадачная графическая ОС и 4. Многозадачная графическая ОС.
Для машин подобного класса существовала только одна успешная ОС с графическим интерфейсом. GEOS работала на Commodore 64 и на Apple II. Это однозадачная ОС и для достижения хоть в какой то степени приемлемой производительности она была полностью написана на Ассемблере с обширным использованием возможностей машини (например на Коммодоре исользовались хардверные спрайты для рендеринга курсор, иконок в режиме перетаскивания и некоторых елементов итнерфейса).
Эту ОС писали люди имеющие большой опыт написания видеигр для Атари 2600 (кто знает поймет). Поэтому код максимально оптимизирован.
Из этого следует что на платформе данного класса ничеого более мощного и при этом имеющего практический смысл, написать невозможно в принципе. Значит если есть графический интерфейс, даже такой скромный как в GEOS (окна не двигались и не ресайзились), то для реальной многозадачности уже производительности не хватит.
То есть написать практически полезную многозадачную ОС с графическим интерфейсом невозможно.
Написать однозадачную ОС с графическим интерфейсом возможно, но для этого необходимо писать ее исключительно на Ассемблере.
Использование других ОС. Поскольку успешных графических ОС написаных на ассемблере 8080/z80 не существует, портировать можно только ОС написаные на языках высокого уровня. Но поскольку ОС написаная на языке высокого уровня не будет практически еффективной на даной платформе, значить портировать графическую ОС не представляется возможным.
Подытожим:
Если нас интересует ОС с графическим интерфейсом то:
- Она не может быть многозадачной.
- Она может быть написана только на Ассме.
- Портировать ничего не получится соответственно софт для этой ОС придется писать с нуля.
Если интересует многозадачная консольная ОС то:
- Можно создать с нуля на Ассме или частично на С.
- Можно портировать МР/М.
Так что всего 3 реальных направления в которых есть практический смысл работать:
1. Новая однозадачная графическая ОС на ассме. Софт использующий ее возможности придется писать с нуля.
2. Новая многозадачная консольная ОС на ассме или С. Софт использующий возможности тоже писать с нуля.
3. Портирование, или создание совместимой с МР/М ОС. Можно использовать софт существующий для МР/М. Саму ОС можно писать либо протировать.




