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

Kernel architecture questions
  • Mihail wrote:идея заклюается в предоставлении всех процедур
    не задумываясь о том, зачем они могут понадобится пользователю
    При таком подходе ни о какой стабильности работы ОС говорить не приходится. :evil:
  • tsdima wrote:
    Mihail wrote:идея заклюается в предоставлении всех процедур
    не задумываясь о том, зачем они могут понадобится пользователю
    При таком подходе ни о какой стабильности работы ОС говорить не приходится. :evil:
    Для стабильности работы ОС, достаточно область памяти ее месторасположения, защитить от
    записи. Но для экспериментов можно предоставить режим с полным доступом.
    Galkov wrote:Вы продвигали идею оптимизации кода на Форте.
    А о том КАК Вы это делали - только некая ссылка на wiki
    Все таки сошлюсь http://wiki.forth.org.ru/optimizer .
    Может это еще кому интересно. И это описания я ели из себя выдавил.
    Оптимизация достигается подменой кода. Т.ч. настроив оптимизатор на
    конкретную программу можно достичь идеальной оптимизации.

    В последней версии встроенного в Колибри Форта http://depositfiles.com/files/xqeg2bxq2
    я разблокировал оптимизатор. Для демонстрации включен генератор листингов для
    некоторых файлов.(после сборки появляются файлы с _L в конце).
    В рантайме весь оптимизатор не влезает работает урезанная версия
  • Mario wrote: Между прочим идея перспективная. В данном контексте Форт можно рассматривать как JCL, CLIST и REXX (языки на майнфреймах IBM) с возможностью развития любым пользователем. Форт не отменяет асм - он его дополняет.
    Не удержался, что бы не запостить ссылку где почти весь проект ( от 10 Мб исходников Biosa на Форте )
    http://tracker.coreboot.org/trac/openfirmware/browser

    там же http://tracker.coreboot.org/trac/ есть ещё использование Форта в Bios
    для других проектов. Скачивать можно заходя в поддиректории trac-a и кликая на значок внизу страницы - zip архив одним файлом.

    P.S. Sorry если не к месту :)
  • Вижу тема заглохла, что и следовало ожидать.
    Тем, кто вопрошал :

    - ИМХО forth: "компилятор/интерпритатор" представляет из себя реализацию стековой машины, в виду этого может встраиваться в любой ЯП, математический аналог лямбда-исчисления реализованного автоматом с магазиннойпамятью в противовес машине-Тьюринга, физическим аналогом является ALU с MISC архитектурой в противовес RISC решая в частности туже задачу, что решает введение регистровых окон в RISC ALU в SPARC архитектуре, forth предоставляет механизм общий для всех высокоуровневых ЯП баз самого этого ЯП;

    - ИМХО позволяет: реализовать глобальные переменные, писать в функциональном стиле - как в Lisp, писать в ООП стиле (возможно, какая-то убогая реализация раз вместо кучи используются стеки), "легко" переносить программы между ЯП меняя только код базовых функций (см. как программируют на Lisp) - записей в словаре, генерировать компактный код, генерировать великолепно кэшируемый код, в случае хорошего оптимизатора; (вероятно, при желании можно впихнуть любые особенности ВЯП использующие стеки и различные стратегии вычислений, но это потребует еще больше компиляции\интерпретации\оптимизации от языка)

    - ИМХО бездумное повсеместное использование противопоказано и ведет к нервным срывам (не забываем про инкапсуляцию всего и вся в лямбда-исчислении и что на этом писать реальные алгоритмы).

    Сам я не за и не против его использования, а за здравый смысл...
  • На просторах интернета нашёлся и такой проект. :)
    GFOS

    Code: Select all

    The 32-bit GFOS (Graphical Forth Operating System) was written entirely in assembly with NASM (Intel, minimum PENTIUM). It has been tested with emulators (BOCHS and QEMU) and on real hardware (an old desktop, a netbook and a laptop). The bochs-config file can be found in gfos.zip and fos.zip. fos.zip is an old non-graphical version of GFOS, no multitasking
    This OS doesn't use the mouse.
    It has most of the words from ANSI Forth. The main things that are missing are the double cells, value, locals and ;code. The search-related words are only: FIND, ORDER and ORDER? . GFOS is case insensitive. Currently there are four dictionaries/vocabularies consisting of 8 subdictionaries according to the length of the words. This speeds up the search. forth.asm in the source is very well commented and the source of YForth should also be checked (it's written in C and can be downloaded from this page).
    Features:
    - Multitasking
    - IDE HDD support
    - Floating Point
    - 1024*768*16
    - USB (EHCI, UHCI) pendrive support (sectors/files)
    - HD Audio driver
    - Boots from winchester(also from USB pen-drive), floppy, CD-with-floppyemulation (from floppy and disk also with Bochs)
    A Bitmap Font Editor is also available (BFEditor.zip, written in python 2.7) in order to facilitate the design of charsets for high resolution in GFOS (e.g. 16*24 fonts for 1024*768).
    
    Последние правки в проекте May 21, 2015,

    P.S. Сейчас в рамках использования Форт для ARM контроллеров/процессоров экспериментирую с возможностями VFX (коммерческой Форт системы в Lite версии) для STM32 (Cortex ядер). Опробовал запуск VFX на STM32L1xx серии контроллеров (почти полнофункционально)
    Для PC тоже доступен урезанный вариант данной Форт системы.
    Со временем, возможно, "сниму" ограничения доступных вариантов VFX кросс средств :) (есть некоторые результаты в этом направлении)
    Если будет открытое железо для Kолибри, то, например, ARM контроллеры в нём тоже можно применить по задачам.
  • до сих пор не видел реализации форта лучше чем amforth, просто супер-пупер и на своём месте (в отличии от гипотетического форта в ядре Колибри)
    И мы уже давно не пешки,
    Мы пули, мы орлы, и решки!
    Война ютит бинарный код,
    Умри, или иди вперед!
  • Who is online

    Users browsing this forum: No registered users and 9 guests