Page 3 of 4

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

Posted: Tue Jan 20, 2009 11:28 am
by Kopa
Galkov wrote: А с РТМ у Вас напряги, все-таки (как, впрочем, и у всех нас :) )
Затруднительно за пару дней приобрести знания, достаточные даже для формирования какого-то определенного мнения....
Хорошо.
Дальше попробую, по мере возможностей, приводить более конкретный
примеры для Колибри.

P.S. Оценочно 3-и зарегистрированных пользователя на данном Форуме
имеют интерес к применению Форта с Колибри.
Может имеет смысл выделить место для обсуждения вопросов связанных с возможным использованием Форта в колибри? Или провести опрос о целесообразности этого?
PTM - это термин цейтнота по времени?

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

Posted: Tue Jan 20, 2009 11:49 am
by Mihail
Ghost wrote:Mihail
Я так понял что ты можешь поведать нам про Форт. "...Он перекрывает понятие языка программирования"
Язык - это синтаксис и семантика. Форт может изменить синтаксис и семантику в
ходе восприятия исходного текста. Т.е. форт-программа может представлять собой
описание следующего за ней текста. Вся супер расширяемость Форта сводится
к возможности передачи управления в область, доступную для записи.
Возможности форта связаны с отсутствием ограничений. Как правило, все
процедуры из которых состоит Форт-система доступны для вызова по имени.
По сути Форт уже есть операционная система. Для представления любой ОС
в виде ФортОС достаточно все ее процедура представить в виде словарных статей Форта
(дополнительно завести словарь). Объяснить суть Форта трудно, т.к. он не имеет конкретного
назначения. Однако, он имеет очень простое устройство.
tsdima wrote:Если хочется иметь доступ к адресному пространству ядра при помощи Форта - напиши драйвер.
Форт в виде драйвера я реализовывал. viewtopic.php?f=9&t=395&p=13699#p13699
Оформление в виде драйвера это дополнительное усложнение.
Дело в том, что сам Форт может выступать в роли загрузчика драйверов.
Причем загрузка сочетается с компиляцией драйвера, представленных в виде
форт-исходников. Форт может просто догрузить любую часть системы не поддерживающую
сам Форт в ядре. В качестве примера я загружаю функции: checkwindows , get_rolledup_height и др.
Это именно те оригинальные функции, которые я изъял из ядра.
Пока я использую форт-ассемблер не совместимый с FASM, но можно добиться совместимости.
Перекомпилируя можно поменять месторасположение любой функции (можно с модификацией - в рантайме).

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

Posted: Tue Jan 20, 2009 12:56 pm
by tsdima
Mihail wrote:Дело в том, что сам Форт может выступать в роли загрузчика драйверов.
В принципе, никто не мешает загрузить Форт в виде драйвера одним из первых. Другое дело, что сейчас "загрузчик" исполняемых файлов не является расширяемым, то есть нет такой функции в ядре, которая бы позволила сказать, что при запуске таких-то файлов нужно будет передать имя файла такой-то функции, которая и будет заниматься загрузкой исполняемого файла (т.е. выделит память, разместит или скомпилирует нужный код как надо, слинкует внешние ссылки, запустит процедуру инициализации). И неважно, в ядре или как пользовательский процесс. На данный момент есть несколько типов загружаемых файлов (MENUET01, KPCK, COFF, DLL?), изначально ядро могло бы поддерживать только какой-то один тип (native), а дальнейшие загрузчики можно было бы оформить в виде драйвера данного типа. Одним из таких мог бы быть Форт. Другие примеры: командный процессор, Java VM и т.п.

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

Posted: Tue Jan 20, 2009 6:21 pm
by diamond
С самого начала этой темы упорно не понимаю, почему это тема на форуме Колибри, а не на форуме любителей форта.
Kopa wrote:P.S. Построение же ядра ОС c использованием Форта это,прежде всего,
уход от необходимости явно оперировать регистрами процессора и знать их количество.
Гм... как бы помягче выразиться... Вам не кажется, что подобные заявления на форуме разработчиков ОСи с ядром целиком на асме звучат... гм... несколько странно? Для "ухода от необходимости явно оперировать регистрами процессора" давным-давно придумали кучу ЯВУ, и на них пишут кучу ОСей, но Колибри-то тут причём?

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

Posted: Tue Jan 20, 2009 8:16 pm
by Galkov
diamond wrote:давным-давно придумали кучу ЯВУ, и на них пишут кучу ОСей
Ну все правильно - и результат есть следствие особенностей ЯВУ
Мне кажется, что сама жизнь fasm-а, как и появление осей типа Kolibri -- есть следствие оскорбления определенного мыслящего сообщества этими результатами
Меня, к примеру, тоже оскорбляет размер "пустой формы" под Delphi (VCL). И "встроенный" MFC в VC++ - тоже производит впечатление.
И мне известна цена этой же "пустой формы" просто под fasm...

Т.е., самое главное в нашем случае - вопрос цены, а про великие обещания "эффективновности работы разработчика" под ЯВУ: действительно - плавали, знаем

Однако, Фортеры утверждают, что это не ЯВУ, а некий Супер-ЯВУ, и в некоторых определенных моментах я с ними должен согласиться.
ЕСЛИ :idea: МНЕ ИЗВЕСТНА БУДЕТ ЦЕНА ЭТОГО СОГЛАСИЯ

Дык я же так и задал вопрос: покажите :!:
((поэтому далее я обращаюсь к Фортерам :) ))
И даже Kolibiri на этапе "покажите" - не причем. Код, он и в Африке код
А драйвер, или дурайвер - это уже следующий вопрос.
Если это будет качество просто шитого кода, про это даже и думать как-то не очень удобно, имхо
В смысле, не за этим народ здесь собрался, мне кажется

Естественно, холивары из серии "даже быстрее чем на ассемблере" приводить на этом форуме - не надо, умные люди Вас просто перестанут читать

2Mihail: мне показалось, что именно Вы продвигали идею оптимизации кода на Форте.
А о том КАК Вы это делали - только некая ссылка на wiki (приводить не надо, видели). Не считая исходников, конечно же - но это сложно для первой недели знакомства
Для меня, например, это КАК - совершенно не безразлично, оно должно давать представление о потенциальных возможностях этой технологии.
Возможно там все и понятно... Для фортеров, знающих структуру Вашего словаря и особенности реализации
А для свежего человека - надо как у Баранова: этот код делает то-то, и то-то, и то-то - понятными словами.
Просвятите, если Вас это не затруднит....

Kopa wrote:Может имеет смысл выделить место для обсуждения вопросов связанных с возможным использованием Форта в колибри? Или провести опрос о целесообразности этого?
PTM - это термин цейтнота по времени?
Sorry, все гораздо проще: РТМ - Руководящий Технический Материал.
Грубо говоря, я попросил инструкцию, чтобы и мы могли получить результат, который Вы получали уже неоднократно (просто на вашем форуме какие-то странные проблемы с форматированием, и понять ничего невозможно)
И думал, что для этого достаточно не более 15 минут Вашего времени. Повторюсь: на этапе "покажите чего Вы умеете" - даже Kolibri еще не причем

Какое может быть "голосование" за то, чего ты ЕЩЕ не понимаешь, а :?:

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

Posted: Tue Jan 20, 2009 9:28 pm
by bw
> И мне известна цена этой же "пустой формы" просто под fasm...
Никто не пишет пустые формы на Delphi и никто не пишет сложные на FASM. Уверен, что ты писал этот пост на ОС и в браузере (со всеми библиотками) разработанными на ЯВУ (C), а не на ассемблере. Почему собственно? Ну вот. Поэтому не надо волочь на ЯВУ. (Думаю этот вопрос в данной теме стоит прикрыть.)

Что касается темы, мне не понятен смысл Forth и других языков в ядре. По моим убеждениям, ядро должно быть минимальным, а этот минимум вполне можно написать на языке низкого уровня, если не в машинных кодах :-).

..bw

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

Posted: Tue Jan 20, 2009 10:30 pm
by Galkov
bw wrote:Никто не пишет пустые формы на Delphi и никто не пишет сложные на FASM
Что бы далеко не ходить:
1) На каком языке написано рисование форм в KolibriInWin. Или это тоже "простая форма" ? Или у diamond-а новый псевдоним "Никто" ???
2) Вроде Вы должны быть знакомы с Дельфи... Какая часть KOL-а написана на АСМ-е, не знаете случайно ?
Или создание пары десятков контролов под KOL сделать на АСМ - не дано опять же никому ???

Честное слово: "я не пишу" серьезно отличается от "никто не пишет"

bw wrote:Поэтому не надо волочь на ЯВУ. (Думаю этот вопрос в данной теме стоит прикрыть.)
1) Надо Федя, надо. Ибо тупость - она и в Африке тупость, не зависимо от того, на каком языке написан броузер, и т.д. выше по тексту
2) Не думаю, что стоит. Как раз в тему.
Утверждение многоуважаемых Фортеров я понял так, что именно Форт является Супер-ЯВУ (ну или языком 4-го поколения). Что позволяет ему, при затратах на оптимизацию кодов на многие порядки меньшие чем в ЯВУ-3, сравниваться по эффективности с АСМ, обладая потенциально преимуществами любого ЯВУ

Насколько это соответствует действительности - пока не знаю. Но хочу узнать
И мне кажется что сделать утверждение типа "классно/фигня" можно только после приобретения этого знания

А делать выводы из незнания......
Ну "как бы это помягче"... Как минимум - непрофессионально.... :wink:

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

Posted: Tue Jan 20, 2009 10:34 pm
by Gluk
я тоже не совсем понимаю про Форт, а мои вопросы были в большинстве проигнорированы..
вот как я вижу: если Форт будет доступен для программирования в Колибри (в первую очередь - примеры, и сам интерпре-компилятор), это не плохо. В ядре - не думаю что оно нужно..

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

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

Posted: Wed Jan 21, 2009 12:07 am
by vectoroc
вспоминается прикол...
http://www.demotivation.ru/y5k96vfb33hapic.html

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

Posted: Wed Jan 21, 2009 10:43 am
by Mario
[/Оффтоп]
"Веселая" тема, видимо люди очень скучают по "веселым" разборкам.
[/Оффтоп]

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

Вывод:
Вместо того чтобы кричать "Объясните!!!" можно просто взять и почитать книжку по Форту.

Между прочим идея перспективная. В данном контексте Форт можно рассматривать как JCL, CLIST и REXX (языки на майнфреймах IBM) с возможностью развития любым пользователем. Форт не отменяет асм - он его дополняет.

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

Posted: Wed Jan 21, 2009 12:43 pm
by Mihail
Gluk wrote: а просто программы писать можно? вот именно для Колибри, именно в этой реализации? В юзер-моде?
Форт в виде приложения для Колибри http://fpauk.narod.ru/kolspforth11.rar
Должна быть условная совместимость с СПФ под виндос. Можно использовать
как расширяемый интерпретатор. Для создания с его помощью приложения для
Колибри можно способом, с помощью которого я и создал Форт для Колибри. По средствам
промежуточного исходного модуля для ФАСМ. Но пока я этим не занимался.
Можно предоставить доступ к Форту в ядре из любого приложения Колибри.
Интересует из-за строчки "организована группа по стандартизации языка Форт для того, чтобы написанные на нём программы могли бы работать на различных компьютерах с минимальными затратами на их адаптацию." из статьи. Так как вроде предполагается то же и с операционными системами.. еще интересна мне показалась фраза "а это при создании ОС позволяет отказаться от защищенного режима процессора.".. это при написании ОС на форте?
Это в варианте с использованием виртуального форт-процессора с виртуальной памятью.
еще интересно - Колибри станет ли первой операционной системой у которой форт встроен в ядро? если нет, то в какой еще системе это реализовано?
В ядре FreeBSD и в неком Линуксе применяется Форт для гибкой инициализации системы,
называется FICL.
не заменяет ли таким образом встроенный форт по функциям все остальное, оставив Колибри только разбираться с железом и графикой?
Процедуры Колибри и Форта в одном ядре могут иметь равный статус.

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

Posted: Wed Jan 21, 2009 8:29 pm
by bw
> Или у diamond-а новый псевдоним "Никто" ???
Не знаю. Сегодня ты развешиваешь ярлыки.

> Вместо того чтобы кричать "Объясните!!!" можно просто взять и почитать книжку по Форту.
Твоя не правда. Если я предложу использовать Python в ядре, все должны броситься его изучать или попросят меня аргументировать это предложение. Думаю второе, думаю это правильно.

Опять оффтоп. В следующий раз буду в личку писать, что бы тему не портить. Извиняюсь.

..bw

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

Posted: Thu Jan 22, 2009 7:44 am
by Kopa
bw wrote:Твоя не правда. Если я предложу использовать Python в ядре, все должны броситься его изучать или попросят меня аргументировать это предложение. Думаю второе, думаю это правильно.
Применять или не применять Форт в ядре, или рядом с ядром это на усмотрение разработчиков было бы понимание. Но уже были высказано n-ое число мнений
перспективности идеи.

P.S. Извиняюсь если это выглядит как флуд, но убеждать или переубеждать
кого то в его мнении без некоторого знания "цены вопроса" c его стороны мне не интересно:)

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

Posted: Thu Jan 22, 2009 8:40 am
by Galkov
Это бывает :D
Просто, в таком случае, это и называется Холивар, имхо

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

Posted: Thu Jan 22, 2009 12:01 pm
by Kopa
Galkov wrote:Это бывает :D
Просто, в таком случае, это и называется Холивар, имхо
Какие PTM Вас интересуют. Связанных с Форт ( Forth) их много.
В чём Вы, скорее всего, уже убедились:)

P.S. Если связанных с колибри, то Михаил в этом направлении первооткрыватель.