Page 1 of 4

Форт в ядре колибри.

Posted: Wed Jul 30, 2008 12:02 pm
by Kopa
Михаил сделал очередной билд имплантирования Форт языка в ядро колибри.
в последнем сообщении топика по ссылке.
http://www.fforum.winglion.ru/viewtopic ... c&start=15



P.S. Какое мнение у колибристроителей?

Re: Форт в ядре колибри.

Posted: Mon Jan 12, 2009 4:22 pm
by Kopa
Очередная новость по интеграции Форт языка и ядра колибри.

текст взят по ссылке http://wiki.forth.org.ru/ForthKolibri

Code: Select all

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

 Во первых, Форт можно использовать при инициализации ОС 
с догрузкой дополнительных компонентов системы представленных 
в виде исходных текстов Форта. 

 Во вторых, Форт в ядре может быть доступен из приложений системы. 

Ядро системы волне можно открыть для чтения (передачи управления). 
Если все подпрограммы системы представить в виде словарных статей, 
вся система становится форт-системой. 

Колибри была выбрана из-за хорошего соотношения возможностей 
к объему исходных текстов и хорошей динамикой развития. 
Вообще, начинать следует с небольших ОС.

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

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

1. Начальная загружаемая часть Колибри необходимая для поддержания Форта. 
(просто закомментировал часть исходников Колибри) 

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

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

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 опускает курсор по средствам прямого доступа к системной переменной

P.S. Такие вот текущие возможности:).

Re: Форт в ядре колибри.

Posted: Tue Jan 13, 2009 8:07 pm
by Nable
А почему не С? Не понимаю вообще идеи всего этого извращения. Или это пародия на (а может, просто своеобразная реализация) shell линуха?

Re: Форт в ядре колибри.

Posted: Fri Jan 16, 2009 7:59 am
by Kopa
Nable wrote:А почему не С? Не понимаю вообще идеи всего этого извращения. Или это пародия на (а может, просто своеобразная реализация) shell линуха?
По многим причинам, все сразу и не перечислить.
Может упомянуть стандарт OpenBios от Sun/.

P.S. На почему не С можно возразить ( не упоминая Форт),
а почему например не Tcl:)
Есть? кто оценил идею данного "извращения" или все дружно считают,
что ассемблер - это всё:) ( сам несколько лет писал на ассемблере для embedded)
,

Re: Форт в ядре колибри.

Posted: Fri Jan 16, 2009 9:01 am
by Galkov
Kopa wrote:По многим причинам, все сразу и не перечислить
Достаточно было БЫ и одной :wink:
Если на уровне аргументов.
Без лозунгов (как бы "стандарт OpenBios от Sun" - странно слышать на форуме про Kolibri)

Наблюдение: последние употребляются тем чаще, чем менее есть что сказать по делу

Re: Форт в ядре колибри.

Posted: Fri Jan 16, 2009 9:40 am
by Kopa
Galkov wrote:]По многим причинам, все сразу и не перечислить
Наблюдение: последние употребляются тем чаще, чем менее есть что сказать по делу
По делу:
Как потенциальный разработчик программ для Колибри
мне озвученное решение устраивает. ( как другие не знаю).

P.S. Проект колибри, для меня, интересен пока только исследовательской
направленностью:) и захожу на данный форум редко.

Re: Форт в ядре колибри.

Posted: Fri Jan 16, 2009 12:04 pm
by Gluk
"Как потенциальный разработчик программ для Колибри
мне озвученное решение устраивает."
- Что тебе устраивает решение?
- Решение - потенциальный разработчик?

Re: Форт в ядре колибри.

Posted: Fri Jan 16, 2009 1:32 pm
by Kopa
Gluk wrote:"Как потенциальный разработчик программ для Колибри
мне озвученное решение устраивает."
- Что тебе устраивает решение?
- Решение - потенциальный разработчик?
Устраивает возможность низкоуровнего доступа с помощью форта к функциональности ядра.
Hапример, при создании micro-GUI оконного интерфейса средствами Форт языка.

Re: Форт в ядре колибри.

Posted: Fri Jan 16, 2009 1:57 pm
by tsdima
Можно написать программу на Форте. Можно, в конце концов, драйвер. Но зачем встраивать Форт в ядро?
Если хочется иметь доступ к адресному пространству ядра при помощи Форта - напиши драйвер.

Re: Форт в ядре колибри.

Posted: Fri Jan 16, 2009 2:46 pm
by Kopa
tsdima wrote:Можно написать программу на Форте. Можно, в конце концов, драйвер. Но зачем встраивать Форт в ядро?
Одна из причин, для лёгкой отладки функциональности ядра используя Форт
без необходимости перекомпиляции ядра.

В ядре можно предусмотреть резервирование векторов функций с перегрузкой их функциональности
при работе с той или иной периферией из Форт скрипта. Пользователь
сам может определится какая функциональность ему нужна ( какие
диспетчеры и какие модули ). Хороший пример этому стартовый
экран Колибри.
Но Форт в ядре - это конечно довольно рисковано. Может лучше иметь возможность выборочно использовать эту опцию при необходимости.


P.S. Для тех кто в танке:) и не представляет возможностей Форт языка,
предложение ознакомится с его построением.
Возможно тогда часть вопросов прояснится самостоятельно.

Мihail это затеял, чтобы продвинуться в создании оси на базе Форт подхода.

Re: Форт в ядре колибри.

Posted: Fri Jan 16, 2009 2:52 pm
by Kopa
tsdima wrote: Если хочется иметь доступ к адресному пространству ядра при помощи Форта - напиши драйвер.
Сначало один драйвер, потом второй потом придумываем стандарт на всё
это и в результате система изначально построенная на простом дизайне
превращается в "курицу".

P.S. А если вообще не нужна файловая система на диске, тогда как?

Re: Форт в ядре колибри.

Posted: Fri Jan 16, 2009 3:37 pm
by tsdima
Kopa wrote:Мihail это затеял, чтобы продвинуться в создании оси на базе Форт подхода.
ось_на_базе_Форт Kolibri <> .
-1

Re: Форт в ядре колибри.

Posted: Fri Jan 16, 2009 6:26 pm
by Ghost
Пользователь
сам может определится какая функциональность ему нужна ( какие
диспетчеры и какие модули ).
Бред, много пользователей удивляются почему win приложения не запускаются, а ты предлагаеш ещё и функциональность им самим выбирать
P.S. А если вообще не нужна файловая система на диске, тогда как?
Бред, Колибри система общего назначения с монолитным ядром, нужна функциональность на выбор - это к L4.
Одна из причин, для лёгкой отладки функциональности ядра используя Форт
без необходимости перекомпиляции ядра.
- бля, это как? ну хоть примерно? очень интересует этот вопрос.

Вообще ссылки на пример использования Форта, среды разработки, etc в студию!

Re: Форт в ядре колибри.

Posted: Mon Jan 19, 2009 8:45 am
by Kopa
Ghost wrote:Бред, Колибри система общего назначения с монолитным ядром, нужна функциональность на выбор - это к L4.!
Возможно и бред, но пользователей имеющих возможность гибко
настроить систему под свои потребности можно тоже поддержать.
Ghost wrote:
Одна из причин, для лёгкой отладки функциональности ядра используя Форт
без необходимости перекомпиляции ядра.
- бля, это как? ну хоть примерно? очень интересует этот вопрос.

Вообще ссылки на пример использования Форта, среды разработки, etc в студию!
Возможно приведение примера программы nncron что нибудь прояснит?

P.S. Последний вопрос обозначен сильно неопределённо, просьба не ругаться,
а спрашивать более корректно.

Re: Форт в ядре колибри.

Posted: Mon Jan 19, 2009 11:25 am
by Ghost
Одна из причин, для лёгкой отладки функциональности ядра используя Форт без необходимости перекомпиляции ядра.
Что здесь неопределенного? Меня поражает идея реализовать это, но я мало могу себе представить например отладку планировщика на ходу. Да такие вещи делаются например софтайсом, но там отладчик фактически берет всё управление железом на себя, и по суте является мини ОС. Очень интересует вопрос как с этим может справится форт как язык программирования.
Практически все матерьялы и ресурсы по форту на меня наводят ужас своим любительски-колхозным видом, и представлением информации.

Итак, так как большинство людей на форуме мало представляют себе что такое форт и с чем его едят (кстати как я понял сред нормальных под него нет) то резонно поставить несколько вопросов к автору:
- качественные примеры использования Форт, где он дает преимущества (ИМХО с задачами nncron LUA бы лучше справился)
- что позволяет делать ForthKolibri, примеры, скриншоты (заинтересуй людей, что бы им захотелось попробывать)
- ну и как отлаживать ядро?

P.S. Разговор переходит в холивар, поэтому давайте по существу вопроса отвечать.