Board.KolibriOS.org
http://board.kolibrios.org/

Форт в ядре колибри.
http://board.kolibrios.org/viewtopic.php?f=35&t=1113
Page 1 of 4

Author:  Kopa [ Wed Jul 30, 2008 12:02 pm ]
Post subject:  Форт в ядре колибри.

Михаил сделал очередной билд имплантирования Форт языка в ядро колибри.
в последнем сообщении топика по ссылке.
http://www.fforum.winglion.ru/viewtopic ... c&start=15



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

Author:  Kopa [ Mon Jan 12, 2009 4:22 pm ]
Post subject:  Re: Форт в ядре колибри.

Очередная новость по интеграции Форт языка и ядра колибри.

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

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

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

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

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

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

Последняя версия 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. Такие вот текущие возможности:).

Author:  Nable [ Tue Jan 13, 2009 8:07 pm ]
Post subject:  Re: Форт в ядре колибри.

А почему не С? Не понимаю вообще идеи всего этого извращения. Или это пародия на (а может, просто своеобразная реализация) shell линуха?

Author:  Kopa [ Fri Jan 16, 2009 7:59 am ]
Post subject:  Re: Форт в ядре колибри.

Nable wrote:
А почему не С? Не понимаю вообще идеи всего этого извращения. Или это пародия на (а может, просто своеобразная реализация) shell линуха?


По многим причинам, все сразу и не перечислить.
Может упомянуть стандарт OpenBios от Sun/.

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

Author:  Galkov [ Fri Jan 16, 2009 9:01 am ]
Post subject:  Re: Форт в ядре колибри.

Kopa wrote:
По многим причинам, все сразу и не перечислить

Достаточно было БЫ и одной :wink:
Если на уровне аргументов.
Без лозунгов (как бы "стандарт OpenBios от Sun" - странно слышать на форуме про Kolibri)

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

Author:  Kopa [ Fri Jan 16, 2009 9:40 am ]
Post subject:  Re: Форт в ядре колибри.

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


По делу:
Как потенциальный разработчик программ для Колибри
мне озвученное решение устраивает. ( как другие не знаю).

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

Author:  Gluk [ Fri Jan 16, 2009 12:04 pm ]
Post subject:  Re: Форт в ядре колибри.

"Как потенциальный разработчик программ для Колибри
мне озвученное решение устраивает."
- Что тебе устраивает решение?
- Решение - потенциальный разработчик?

Author:  Kopa [ Fri Jan 16, 2009 1:32 pm ]
Post subject:  Re: Форт в ядре колибри.

Gluk wrote:
"Как потенциальный разработчик программ для Колибри
мне озвученное решение устраивает."
- Что тебе устраивает решение?
- Решение - потенциальный разработчик?


Устраивает возможность низкоуровнего доступа с помощью форта к функциональности ядра.
Hапример, при создании micro-GUI оконного интерфейса средствами Форт языка.

Author:  tsdima [ Fri Jan 16, 2009 1:57 pm ]
Post subject:  Re: Форт в ядре колибри.

Можно написать программу на Форте. Можно, в конце концов, драйвер. Но зачем встраивать Форт в ядро?
Если хочется иметь доступ к адресному пространству ядра при помощи Форта - напиши драйвер.

Author:  Kopa [ Fri Jan 16, 2009 2:46 pm ]
Post subject:  Re: Форт в ядре колибри.

tsdima wrote:
Можно написать программу на Форте. Можно, в конце концов, драйвер. Но зачем встраивать Форт в ядро?

Одна из причин, для лёгкой отладки функциональности ядра используя Форт
без необходимости перекомпиляции ядра.

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


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

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

Author:  Kopa [ Fri Jan 16, 2009 2:52 pm ]
Post subject:  Re: Форт в ядре колибри.

tsdima wrote:
Если хочется иметь доступ к адресному пространству ядра при помощи Форта - напиши драйвер.


Сначало один драйвер, потом второй потом придумываем стандарт на всё
это и в результате система изначально построенная на простом дизайне
превращается в "курицу".

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

Author:  tsdima [ Fri Jan 16, 2009 3:37 pm ]
Post subject:  Re: Форт в ядре колибри.

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

ось_на_базе_Форт Kolibri <> .
-1

Author:  Ghost [ Fri Jan 16, 2009 6:26 pm ]
Post subject:  Re: Форт в ядре колибри.

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

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

Author:  Kopa [ Mon Jan 19, 2009 8:45 am ]
Post subject:  Re: Форт в ядре колибри.

Ghost wrote:
Бред, Колибри система общего назначения с монолитным ядром, нужна функциональность на выбор - это к L4.!


Возможно и бред, но пользователей имеющих возможность гибко
настроить систему под свои потребности можно тоже поддержать.

Ghost wrote:
Quote:
Одна из причин, для лёгкой отладки функциональности ядра используя Форт
без необходимости перекомпиляции ядра.
- бля, это как? ну хоть примерно? очень интересует этот вопрос.

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


Возможно приведение примера программы nncron что нибудь прояснит?

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

Author:  Ghost [ Mon Jan 19, 2009 11:25 am ]
Post subject:  Re: Форт в ядре колибри.

Quote:
Одна из причин, для лёгкой отладки функциональности ядра используя Форт без необходимости перекомпиляции ядра.

Что здесь неопределенного? Меня поражает идея реализовать это, но я мало могу себе представить например отладку планировщика на ходу. Да такие вещи делаются например софтайсом, но там отладчик фактически берет всё управление железом на себя, и по суте является мини ОС. Очень интересует вопрос как с этим может справится форт как язык программирования.
Практически все матерьялы и ресурсы по форту на меня наводят ужас своим любительски-колхозным видом, и представлением информации.

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

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

Page 1 of 4 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/