Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вс июн 25, 2017 1:31 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 52 сообщения ]  На страницу Пред. 1 2 3 4
Автор Сообщение
 Заголовок сообщения: Re: Форт в ядре колибри.
СообщениеДобавлено: Чт янв 22, 2009 12:27 pm 
Не в сети

Зарегистрирован: Пт мар 03, 2006 1:53 pm
Сообщения: 42
bw писал(а):
мне не понятен смысл Forth и других языков в ядре.


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


Вернуться к началу
 Заголовок сообщения: Re: Форт в ядре колибри.
СообщениеДобавлено: Чт янв 22, 2009 5:12 pm 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 85
Mihail писал(а):
идея заклюается в предоставлении всех процедур
не задумываясь о том, зачем они могут понадобится пользователю

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


Вернуться к началу
 Заголовок сообщения: Re: Форт в ядре колибри.
СообщениеДобавлено: Пт янв 23, 2009 8:38 pm 
Не в сети

Зарегистрирован: Пт мар 03, 2006 1:53 pm
Сообщения: 42
tsdima писал(а):
Mihail писал(а):
идея заклюается в предоставлении всех процедур
не задумываясь о том, зачем они могут понадобится пользователю

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


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

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

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

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


Вернуться к началу
 Заголовок сообщения: Re: Форт в ядре колибри.
СообщениеДобавлено: Вт фев 17, 2009 3:59 pm 
Не в сети

Зарегистрирован: Пн мар 27, 2006 6:33 am
Сообщения: 526
Mario писал(а):
Между прочим идея перспективная. В данном контексте Форт можно рассматривать как 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 если не к месту :)


Вернуться к началу
 Заголовок сообщения: Re: Форт в ядре колибри.
СообщениеДобавлено: Чт дек 11, 2014 2:37 am 
Не в сети
Just Flooding
Аватара пользователя

Зарегистрирован: Чт дек 11, 2014 1:31 am
Сообщения: 173
Вижу тема заглохла, что и следовало ожидать.
Тем, кто вопрошал :

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

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

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

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


Вернуться к началу
 Заголовок сообщения: Re: Форт в ядре колибри.
СообщениеДобавлено: Сб май 23, 2015 7:25 pm 
Не в сети

Зарегистрирован: Пн мар 27, 2006 6:33 am
Сообщения: 526
На просторах интернета нашёлся и такой проект. :)
GFOS
Код:
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 контроллеры в нём тоже можно применить по задачам.


Вернуться к началу
 Заголовок сообщения: Re: Форт в ядре колибри.
СообщениеДобавлено: Вт май 26, 2015 3:33 pm 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 52 сообщения ]  На страницу Пред. 1 2 3 4

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB