ForthKolibri

Вообще Форт должен быть в каждой операционной системе. ОС с добавлением Форта в ядро сохраняет

все возможности, но при этом приобретает новое качества. Во первых, Форт можно использовать при инициализации ОС с догрузкой дополнительных компонентов системы представленных в виде исходных текстов Форта. Во вторых, Форт в ядре может быть доступен из приложений системы. Ядро системы волне можно открыть для чтения (передачи управления). Если все подпрограммы системы представить в виде словарных статей, вся система становится форт-системой. Колибри http://kolibrios.org/?p=Download была выбрана мной из-за хорошего соотношения возможностей к объему исходных текстов и хорошей динамикой развития. Вообще, начинать следует с небольших ОС.

Последняя версия http://depositfiles.com/files/zhj96oo7t

Система состоит из трех частей.

1. Начальная загружаемая часть Колибри необходимая для поддержания Форта. (просто закомментировал часть исходников Колибри) 2. Форт-система входящая в состав первичного ядра. (1 пункт) 3. Остаток Колибри догружаемый форт-системой.(то что было закомментировано)

итого форт в ядре. Есть терминал к ядру.

bbb.bat - компиляция части системы на ассемблере spf4mwc.exe kolibri.F BYE - компиляция части системы на Форте cc.bat - запуск системы с помощью qemu в bin\kolibrid.img

с предварительной подготовкой.

bin\kolibrid.img - образ загрузочной дискеты

Подготовка это сборка системы и запись файлов в kolibrid.img

Сборка производится по средствам следующих файлов:

bld.bat - создает bin\kkernel.mnt (часть Колибри без Форта)

с помощью FFASM.EXE.

FFASM.EXE - FASM с встроенной форт-системой, которая выполняет

файл FSCRIPT.F . В данном случае FSCRIPT.F содержит программу генерации листинга MAP.F.

comp.bat - добавление форт-системы к kkernel.mnt и получение kernel.mnt

kernel.mnt - неполное ядро КолибриОС, но содержит форт-систему с

помощью форт-системы можно загрузить оставшуюся часть Колибри представленную в форт исходниках.

Специфика работы системы

Система в процессе инициализации передает управление файлу autoexec.f.

Там производится дозагрузка системы. В sys\DRIVERS\aperture.f пример добавление новой системной функции с номером 75. 75-я функция просто передает управление по адресу содержащемуся в регистре EBX. В INIT.F который запускается meforth демонстрируется использование этой дырки в систему. Команда TOROOT открывает доступ к адресному пространству ядра ОС.

Функция YY опускает курсор по средствам прямого доступа к

системной переменной.

Valid XHTML 1.0! Valid CSS!
Page Execution took real: 0.926 seconds