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

Kernel architecture questions
  • Ghost wrote:Mihail
    Я так понял что ты можешь поведать нам про Форт. "...Он перекрывает понятие языка программирования"
    Язык - это синтаксис и семантика. Форт может изменить синтаксис и семантику в
    ходе восприятия исходного текста. Т.е. форт-программа может представлять собой
    описание следующего за ней текста. Вся супер расширяемость Форта сводится
    к возможности передачи управления в область, доступную для записи.
    Возможности форта связаны с отсутствием ограничений. Как правило, все
    процедуры из которых состоит Форт-система доступны для вызова по имени.
    По сути Форт уже есть операционная система. Для представления любой ОС
    в виде ФортОС достаточно все ее процедура представить в виде словарных статей Форта
    (дополнительно завести словарь). Объяснить суть Форта трудно, т.к. он не имеет конкретного
    назначения. Однако, он имеет очень простое устройство.
    tsdima wrote:Если хочется иметь доступ к адресному пространству ядра при помощи Форта - напиши драйвер.
    Форт в виде драйвера я реализовывал. viewtopic.php?f=9&t=395&p=13699#p13699
    Оформление в виде драйвера это дополнительное усложнение.
    Дело в том, что сам Форт может выступать в роли загрузчика драйверов.
    Причем загрузка сочетается с компиляцией драйвера, представленных в виде
    форт-исходников. Форт может просто догрузить любую часть системы не поддерживающую
    сам Форт в ядре. В качестве примера я загружаю функции: checkwindows , get_rolledup_height и др.
    Это именно те оригинальные функции, которые я изъял из ядра.
    Пока я использую форт-ассемблер не совместимый с FASM, но можно добиться совместимости.
    Перекомпилируя можно поменять месторасположение любой функции (можно с модификацией - в рантайме).
  • Mihail wrote:Дело в том, что сам Форт может выступать в роли загрузчика драйверов.
    В принципе, никто не мешает загрузить Форт в виде драйвера одним из первых. Другое дело, что сейчас "загрузчик" исполняемых файлов не является расширяемым, то есть нет такой функции в ядре, которая бы позволила сказать, что при запуске таких-то файлов нужно будет передать имя файла такой-то функции, которая и будет заниматься загрузкой исполняемого файла (т.е. выделит память, разместит или скомпилирует нужный код как надо, слинкует внешние ссылки, запустит процедуру инициализации). И неважно, в ядре или как пользовательский процесс. На данный момент есть несколько типов загружаемых файлов (MENUET01, KPCK, COFF, DLL?), изначально ядро могло бы поддерживать только какой-то один тип (native), а дальнейшие загрузчики можно было бы оформить в виде драйвера данного типа. Одним из таких мог бы быть Форт. Другие примеры: командный процессор, Java VM и т.п.
  • С самого начала этой темы упорно не понимаю, почему это тема на форуме Колибри, а не на форуме любителей форта.
    Kopa wrote:P.S. Построение же ядра ОС c использованием Форта это,прежде всего,
    уход от необходимости явно оперировать регистрами процессора и знать их количество.
    Гм... как бы помягче выразиться... Вам не кажется, что подобные заявления на форуме разработчиков ОСи с ядром целиком на асме звучат... гм... несколько странно? Для "ухода от необходимости явно оперировать регистрами процессора" давным-давно придумали кучу ЯВУ, и на них пишут кучу ОСей, но Колибри-то тут причём?
    Ушёл к умным, знающим и культурным людям.
  • diamond wrote:давным-давно придумали кучу ЯВУ, и на них пишут кучу ОСей
    Ну все правильно - и результат есть следствие особенностей ЯВУ
    Мне кажется, что сама жизнь fasm-а, как и появление осей типа Kolibri -- есть следствие оскорбления определенного мыслящего сообщества этими результатами
    Меня, к примеру, тоже оскорбляет размер "пустой формы" под Delphi (VCL). И "встроенный" MFC в VC++ - тоже производит впечатление.
    И мне известна цена этой же "пустой формы" просто под fasm...

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

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

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

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

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

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

    Какое может быть "голосование" за то, чего ты ЕЩЕ не понимаешь, а :?:
  • > И мне известна цена этой же "пустой формы" просто под fasm...
    Никто не пишет пустые формы на Delphi и никто не пишет сложные на FASM. Уверен, что ты писал этот пост на ОС и в браузере (со всеми библиотками) разработанными на ЯВУ (C), а не на ассемблере. Почему собственно? Ну вот. Поэтому не надо волочь на ЯВУ. (Думаю этот вопрос в данной теме стоит прикрыть.)

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

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

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

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

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

    А делать выводы из незнания......
    Ну "как бы это помягче"... Как минимум - непрофессионально.... :wink:
  • я тоже не совсем понимаю про Форт, а мои вопросы были в большинстве проигнорированы..
    вот как я вижу: если Форт будет доступен для программирования в Колибри (в первую очередь - примеры, и сам интерпре-компилятор), это не плохо. В ядре - не думаю что оно нужно..

    вообще - правильно ли я понял что программирование на форте - это сперва ты пишешь язык программирования, а затем - программу на нем, так? а еще программа может переделывать этот написанный тобой язык..
    И мы уже давно не пешки,
    Мы пули, мы орлы, и решки!
    Война ютит бинарный код,
    Умри, или иди вперед!
  • вспоминается прикол...
    http://www.demotivation.ru/y5k96vfb33hapic.html
  • [/Оффтоп]
    "Веселая" тема, видимо люди очень скучают по "веселым" разборкам.
    [/Оффтоп]

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

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

    Между прочим идея перспективная. В данном контексте Форт можно рассматривать как JCL, CLIST и REXX (языки на майнфреймах IBM) с возможностью развития любым пользователем. Форт не отменяет асм - он его дополняет.
  • Gluk wrote: а просто программы писать можно? вот именно для Колибри, именно в этой реализации? В юзер-моде?
    Форт в виде приложения для Колибри http://fpauk.narod.ru/kolspforth11.rar
    Должна быть условная совместимость с СПФ под виндос. Можно использовать
    как расширяемый интерпретатор. Для создания с его помощью приложения для
    Колибри можно способом, с помощью которого я и создал Форт для Колибри. По средствам
    промежуточного исходного модуля для ФАСМ. Но пока я этим не занимался.
    Можно предоставить доступ к Форту в ядре из любого приложения Колибри.
    Интересует из-за строчки "организована группа по стандартизации языка Форт для того, чтобы написанные на нём программы могли бы работать на различных компьютерах с минимальными затратами на их адаптацию." из статьи. Так как вроде предполагается то же и с операционными системами.. еще интересна мне показалась фраза "а это при создании ОС позволяет отказаться от защищенного режима процессора.".. это при написании ОС на форте?
    Это в варианте с использованием виртуального форт-процессора с виртуальной памятью.
    еще интересно - Колибри станет ли первой операционной системой у которой форт встроен в ядро? если нет, то в какой еще системе это реализовано?
    В ядре FreeBSD и в неком Линуксе применяется Форт для гибкой инициализации системы,
    называется FICL.
    не заменяет ли таким образом встроенный форт по функциям все остальное, оставив Колибри только разбираться с железом и графикой?
    Процедуры Колибри и Форта в одном ядре могут иметь равный статус.
  • > Или у diamond-а новый псевдоним "Никто" ???
    Не знаю. Сегодня ты развешиваешь ярлыки.

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

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

    ..bw
  • bw wrote:Твоя не правда. Если я предложу использовать Python в ядре, все должны броситься его изучать или попросят меня аргументировать это предложение. Думаю второе, думаю это правильно.
    Применять или не применять Форт в ядре, или рядом с ядром это на усмотрение разработчиков было бы понимание. Но уже были высказано n-ое число мнений
    перспективности идеи.

    P.S. Извиняюсь если это выглядит как флуд, но убеждать или переубеждать
    кого то в его мнении без некоторого знания "цены вопроса" c его стороны мне не интересно:)
  • Это бывает :D
    Просто, в таком случае, это и называется Холивар, имхо
  • Galkov wrote:Это бывает :D
    Просто, в таком случае, это и называется Холивар, имхо
    Какие PTM Вас интересуют. Связанных с Форт ( Forth) их много.
    В чём Вы, скорее всего, уже убедились:)

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

    Users browsing this forum: No registered users and 3 guests