Board.KolibriOS.org

Official KolibriOS board
It is currently Tue May 21, 2019 6:07 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 52 posts ]  Go to page Previous 1 2 3 4
Author Message
PostPosted: Thu Jan 22, 2009 12:27 pm 
Offline

Joined: Fri Mar 03, 2006 1:53 pm
Posts: 42
bw wrote:
мне не понятен смысл Forth и других языков в ядре.


Тело Форта представляетсобой набор иненованных, слаба связанных между собой
процедур, доступных пользователю. Т.е. идея заклюается в предоставлении всех процедур
не задумываясь о том, зачем они могут понадобится пользователю. Я планирую открыть ядро
системы пользователю для чтения и передачи управления, для использования его в кочестве
библиотеки подпрограмм. Работа форт-интерпретатора заключается
1. в изъятии очередного слова из входного потока
2 поиску его в словаре
3 передачи управления по адресу, соответствующему этому слову
Т.е. интерпретатор примитивен и для системы не накладен.
Словарь изначально может быть неполным дополнительные словарные статьи
могут быть загружены по мере необходимости. Любую процедуру Колибри
можно оформить в виде словарной статьи.
Единствено надо учесть, что ей передаются параметры не как принято в
Форте через стек данных, а через регистры.


Top
   
PostPosted: Thu Jan 22, 2009 5:12 pm 
Offline

Joined: Wed Mar 26, 2008 12:44 pm
Posts: 225
Mihail wrote:
идея заклюается в предоставлении всех процедур
не задумываясь о том, зачем они могут понадобится пользователю

При таком подходе ни о какой стабильности работы ОС говорить не приходится. :evil:


Top
   
PostPosted: Fri Jan 23, 2009 8:38 pm 
Offline

Joined: Fri Mar 03, 2006 1:53 pm
Posts: 42
tsdima wrote:
Mihail wrote:
идея заклюается в предоставлении всех процедур
не задумываясь о том, зачем они могут понадобится пользователю

При таком подходе ни о какой стабильности работы ОС говорить не приходится. :evil:


Для стабильности работы ОС, достаточно область памяти ее месторасположения, защитить от
записи. Но для экспериментов можно предоставить режим с полным доступом.

Galkov wrote:
Вы продвигали идею оптимизации кода на Форте.
А о том КАК Вы это делали - только некая ссылка на wiki

Все таки сошлюсь http://wiki.forth.org.ru/optimizer .
Может это еще кому интересно. И это описания я ели из себя выдавил.
Оптимизация достигается подменой кода. Т.ч. настроив оптимизатор на
конкретную программу можно достичь идеальной оптимизации.

В последней версии встроенного в Колибри Форта http://depositfiles.com/files/xqeg2bxq2
я разблокировал оптимизатор. Для демонстрации включен генератор листингов для
некоторых файлов.(после сборки появляются файлы с _L в конце).
В рантайме весь оптимизатор не влезает работает урезанная версия


Top
   
PostPosted: Tue Feb 17, 2009 3:59 pm 
Offline

Joined: Mon Mar 27, 2006 6:33 am
Posts: 658
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 если не к месту :)


Top
   
PostPosted: Thu Dec 11, 2014 2:37 am 
Offline
Just Flooding
User avatar

Joined: Thu Dec 11, 2014 1:31 am
Posts: 173
Вижу тема заглохла, что и следовало ожидать.
Тем, кто вопрошал :

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

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

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

Сам я не за и не против его использования, а за здравый смысл...


Top
   
PostPosted: Sat May 23, 2015 7:25 pm 
Offline

Joined: Mon Mar 27, 2006 6:33 am
Posts: 658
На просторах интернета нашёлся и такой проект. :)
GFOS
Code:
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 контроллеры в нём тоже можно применить по задачам.


Top
   
PostPosted: Tue May 26, 2015 3:33 pm 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
до сих пор не видел реализации форта лучше чем amforth, просто супер-пупер и на своём месте (в отличии от гипотетического форта в ядре Колибри)

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 52 posts ]  Go to page Previous 1 2 3 4

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited