mak44> Подбираем исходники форт-системы на том-же языке что и исходники ОС...
Возьмем, для простоты, MS DOS (допустим, поперли у Билла исходники).
Добавляем к ним интерпретатор FORTH.
Запускаем.
DOS при старте проходит следующие стадии (очень грубо):
- Грузит образ ядра с фиксированного места диска.
- Устанавливает туда вектора прерываний.
- Инициализирует файловую систему.
- Читает список драйверов и грузит их на правах файлов.
- Запускает консоль и скармливает ей список команд начала сеанса.
- Отдает консоль пользователю.
И есть ли смысл загружать наш FORTH-интерпретатор иначе, как вместо консоли пользователя?
Доступ к ядру DOS из консоли? Таки - пожалуйста (если бы DOS его нам давать не хотела, она бы еще при старте ядра об этом позаботилась).
Драйвера на FORTH? Я думаю, если я могу написать на FORTH драйвер, я могу его и откомпилировать на нем же.
Выигрыш за счет использования в драйвере FORTH-словаря и FORTH-стека? Ну, последнее точно невозможно в многозадачных системах (стек сопрограммы не поддерживает). А первое? Львиная доля работы драйвера - обращения к DOS, BIOS и железу напрямую. Я не думаю, что у них будет настолько большая общая часть, что это окупится да еще при запрете на использование стека.
Т.е. я не вижу в данном случае преимуществ "встраивания" по сравнению с "просто наличия в системе FORTH-интерпретатора".
mak44> На данном этапе, от ОС нас интересует только работа FORTH-системы.
В описанном выше примере, как бы, выше FORTH лежит очень мало что (драйвера и резиденты).
И что это нам дает?
Допустим, я могу забить заглушками некоторые команды 21h-го прерывания. Но, согласитесь, для этого я должен их знать и без FORTH...
Допустим, я могу так переписать исходники MS DOS, что FORTH будет запускаться сразу после BIOS, 21h-е прерывание будет вести прямо в словарь (как и имена драйверов)?
И что это даст пользователю FORTH? Будет ли для него эта ситуация отлична от "обычного FORTH под DOS"? Ему не придется читать справочник системных функций?
И есть ли смысл FORTH-у запускать DOS вообще? Ему и BIOS-а хватит.
Допускаю, что Вы ориентировались на определенный класс ОС. Но, тогда, пожалуйста, укажите, насколько глубоко Вам удалось "встроиться" и, главное, что это дало по сравнению с запуском обычного FORTH. Только, пожалуйста, без "я могу отключить". Я и в Linux могу собрать минимальное ядро и поверх зафигачить FORTH. (Если Вы отрежете все что поверх FORTH, то какой смысл встраивать его так глубоко? Ведь можно, было бы и так отрезать).
mak44> Вплоть до детского сада и дурдома.
Представьте себе посетителе социальных сетей, имеющих доступ к перепрограммированию своей ОС.