Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср апр 24, 2024 03:36

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 92 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения: Концепция и реализация ФортОС
СообщениеДобавлено: Сб апр 14, 2007 13:41 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Я тут подумал немного – и решил тоже принять участие в создании нашей ФортОС. :) Итак, как и у любой ОС, программы или чего либо материального, у ФортОС должно быть имя. Пока нет имени - это только фантазия, никак не существующая в реальном мире. Forth EXtra – /me считает идеальным именем для нашей ФортОС. Или просто FEX – коротко и звучно. Extra – в переводе с латинского языка означает: сверх чего-либо, исключительное, чрезвычайное. И конечно немного игры слов: FEX можно расшифровать и так: Forth EXecute - система предназначена в первую очередь для исполнения форта.
А теперь собственно несколько идей по реализации.
Вот кто-то сказал - "С чего начать? И кто начнет?" – пожалуй, я и начну. Моя школьная учительница по математике всегда говорила: "Решать любую задачу надо всегда с конца" – и я считаю, что это очень правильно, так как конец задачи – это конечный результат к которому надо прийти, а начало задачи – это только ее условие, но никак не решение и не начало решения. Что же является концом нашей задачи? Работа на конкретной железке? Нет. Многопоточность? Нет. Компактность? Нет. Конец ФортОС – это пользовательский ввод, она должна предоставлять пользователю максимум возможностей форта и даже больше. А что с этими возможностями будет делать пользователь – это уже ФортОС не волнует, и вообще, ей это знать совершенно незачем. Задача ФортОС работать с максимальной эффективностью на пользу тех задач, которые пользователь ей даст, и там где он ее будет использовать.
Представим же, какой будет ФортОС, как она будет функционировать?
В чем главное преимущество форта перед другими языками программирования? В компактности и скорости – шитый код – продолжим эту идею. Что входит в состав всех программ? Куча библиотек с одними и теми же базовыми функциями – так пускай эти функции помнит ОС, а программы будут только лишь набором этих базовых функций. То есть система будет состоять из ядра, в работу которого пользователь и его слова не могут никак вмешаться, словарь системы – пользовательские программы могут только читать из него, и пользовательский словарь – этим словарем распоряжается пользователь. Как же будет выглядеть "пользовательский ввод"? Для начала будет достаточно и обычной текстовой консоли – а когда надо будет, сделаем и графический интерфейс, благо современный математический аппарат предоставляет очень большие возможности. Что же происходит, когда пользователь запускает некую программу или выполняет некое слово? Ну во-первых система выделяет этой программе память и запускает ее отдельным потоком и со своими стеками, словарем и т.п., точнее уже не программу – а просто кусок кода, а сама продолжает свою работу. А если вдруг программе потребуется память, или что-то еще – ей достаточно исполнить нужное слово, например 1024 ДАЙ_ПАМЯТЬ и программа получит нужное ей количество памяти. А что и как будет делать слово ДАЙ_ПАМЯТЬ – это уже определит система – при запуске, или изменении в любой другой момент времени. Таким образом, система может с легкостью управлять работой всех программ, просто меняя смысл слов в своем словаре. Хмм… Тогда, во избежании путаницы и различных непредсказуемых последствий, видимо потребуется разделить системный словарь на несколько: статический – слова в нем никогда не меняются в процессе работы, динамический программный – предназначен для управления процессом работы программ, и динамический системный – соответственно для управления работой системы. Подведем небольшой итог того, что надо делать:
1. Выбрать из чего мы будем делать ФортОС – ведь у каждого свой форт, и каждый расширяет его в область решения своих задач.
2. Выкинуть все лишнее и не нужное из выбранного форта – оставить самый минимум, необходимый для работы этого форта.
3. Все, что нас там не устраивает заменить на то, что лучше и необходимее.
4. Реализовать менеджер памяти.
5. Реализовать поддержку фат16.
6. Создать ядро системы.
Кроме работы с файловой системой и распределением памяти, ядро должно уметь запускать слова отдельными потоками и обрабатывать ошибки этих потоков – и при необходимости производить отладку. А также уметь распределять вычисления одного потока на нескколько ядер(хмм... возможно).Нельзя допустить падения всей системы в случае ошибки одной программы. На этом я, пожалуй, и остановлюсь, пока остановлюсь...
P.S. Я вот только-что понял - а ведь мне тоже нужна ФортОС...

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 14, 2007 19:43 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
VoidVolker писал(а):
Моя школьная учительница по математике всегда говорила: "Решать любую задачу надо всегда с конца" – и я считаю, что это очень правильно, так как конец задачи – это конечный результат к которому надо прийти, а начало задачи – это только ее условие, но никак не решение и не начало решения.



Задачу надо всегда с конца если: во первых если она четко поставлена
во вторых если ты собираешься решать ее самостоятельно или с
командой подчиненных. Если мы начнем обсуждать то, какой должна быть
ФортОС, это сведется к демонстрации аппетитов и идеологическим спорам,
которые ни к чему не приводят. За примером далеко ходить не
надо http://fforum.winglion.ru/viewtopic.php?t=11

Потрепатся и помечтать немного можно и даже полезно.
Но для свободных энтузиастов открыт только эволюционный путь.
Т.е. берется некий прототип
http://fforum.winglion.ru/viewtopic.php ... ight=#6517
дорабатывается и выставляется на распространение.
При этом, нужно уметь осваевать чужой материал, иначе придется
все делать самому. При этом, задавать вопросы, это приведет к
более конструктивному обсуждению.
И как я уже говорил, в качестве прототипа не обязательно должна быть
ФортОС. http://fforum.winglion.ru/viewtopic.php?p=6385#6385

Форт монолитом не является. ФортОС должна состоять из относительно
независимых компонентов. Можно развивать несколько направлений.
Пусть победит сильнейший. Главное, чтобы было заимствование наработок.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 14, 2007 21:38 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Цитата:
Форт монолитом не является. ФортОС должна состоять из относительно независимых компонентов.

Вот именно! Поэтому и предлагаю свести работу ядра к минимуму - распределение памяти, обработка пользовательского ввода и возможно что-то еще. У меня к сожалению сейчас нет возможности ознакомиться с другими фортос - но как только я смогу - я более тщательно изучу все аспекты проблемы и предложу свои варианты решения. А все что выше - это только пока всего лишь предварительные мысли. А для работы на обычных компах можно конечно и встроить в какой-ть линукс.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 15, 2007 19:48 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
VoidVolker писал(а):
Поэтому и предлагаю свести работу ядра к минимуму - распределение памяти, обработка пользовательского ввода и возможно что-то еще.

У Форта как системы есть замечательная возможность - простенькие низкоуровневые слова могут использовать мощные высокоуровневые, определенные значительно позже.
И отказываться от такой возможности... ;)
Поэтому можно попробовать завести словарь под тем же SPF и проверить свои идеи на модельных примерах. Еще лучший вариант - Форт-ВМ.
Мне так и не удалось в свое время запустить свою прогу для защищенного режима... Комп вис все время, а перегрузка - минута... :(

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 15, 2007 20:22 
Не в сети

Зарегистрирован: Сб май 06, 2006 18:43
Сообщения: 400
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
in4 писал(а):
Мне так и не удалось в свое время запустить свою прогу для защищенного режима... Комп вис все время, а перегрузка - минута... :(

надо использовать виртуальный комп, для отладки и запуска фортос не отлаженную до состояния, когда не страшно запускуть на реальном компе,
А на самом деле кому она нафиг нужна, когда готовых с гигабайтами наработок хватает ? Если так уж хочется поонанировать с Фортом, можно пойти по методике Явы (интерпретация байт-кода то есть программный эмулятор стекового форт-компьютера), и тогда не будет никаких проблем с драйверами. Один из готовых вариантов см. ссылку в подписи, правда нет интерактивной форт-консоли (лениво было писать еще одну форт-систему), только кросс-компиляция расширенным спфом и интерпретатор на сях

_________________
http://akps.ssau.ru/forth/


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Концепция и реализация ФортОС
СообщениеДобавлено: Пн апр 16, 2007 06:22 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
VoidVolker писал(а):
Вот кто-то сказал - "С чего начать? И кто начнет?" – пожалуй, я и начну.

Это был я.
Как будешь начинать? Обсуждений в форуме и так достаточно, хотелось бы уже обсуждать план действий.
VoidVolker писал(а):
Для начала будет достаточно и обычной текстовой консоли – а когда надо будет, сделаем и графический интерфейс, благо современный математический аппарат предоставляет очень большие возможности.

Сомневаюсь что простая консоль нужна, можно сразу сделать ее графической под каким нибудь режимом VESA, уж будет не сложней.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Концепция и реализация ФортОС
СообщениеДобавлено: Пн апр 16, 2007 11:25 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
Pretorian писал(а):
Сомневаюсь что простая консоль нужна, можно сразу сделать ее графической под каким нибудь режимом VESA, уж будет не сложней.


Ну мне нужна простая консоль. Без интерфейса командной строки я Форта не мыслю.
Первое что следует реализовать в графическом режиме, это имитацию текстового режима.
Что понимается под сделать ее графической?
В любой системе запускаешь графической режим и она становится графической.
Графика вообще, должна быть системонезависимой. И отлаживать ее можно
в рамках любой системы (например с помощью СПФ под WIN).


Последний раз редактировалось Mihail Пн апр 16, 2007 13:31, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 16, 2007 12:09 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Pretorian писал(а):
Сомневаюсь что простая консоль нужна, можно сразу сделать ее графической

Это зависит от решаемых задач и от возможностей целевой аппаратуры.
На микроконтроллере с 1К SRAM и с 4х20 строчным экраном ты GUI не запустишь при всем желании!
Есть, по крайней мере, 2 класса систем, "встраиваемая", желательно попроще и "десктопная", можно и посложнее. И хотелось бы вторую использовать для отладки программ для первой!
Ведь на десктопном варианте операционок больше и можно выбрать что-то подходящее для задач...

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Концепция и реализация ФортОС
СообщениеДобавлено: Пн апр 16, 2007 14:01 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Mihail писал(а):
Ну мне нужна простая консоль. Без интерфейса командной строки я Форта не мыслю.
Первое что следует реализовать в графическом режиме, это имитацию текстового режима.
Что понимается под сделать ее графической?
В любой системе запускаешь графической режим и она становится графической.
Графика вообще, должна быть системонезависимой. И отлаживать ее можно
в рамках любой системы (например с помощью СПФ под WIN).


Ну и сразу делать x86 гуевую консоль, зачем потдержку стандартной консоли делать, все равно гуи надо будет, тогда смысл распылять силы.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Концепция и реализация ФортОС
СообщениеДобавлено: Пн апр 16, 2007 17:26 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
Pretorian писал(а):
Ну и сразу делать x86 гуевую консоль, зачем потдержку стандартной консоли делать, все равно гуи надо будет, тогда смысл распылять силы.


Так делай. Какие проблемы?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 16, 2007 21:27 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Так, товарищи! Нам надо организоваться как-то - иначе, если каждый будет делать что сам хочет, то ничего кроме флуда и споров у нас не выйдет. Нужен кто-то, кто будет анализировать все идеи предлагаемые участниками, направлять их энергию в нужное русло, определять дальнейшее направление развития, выбирать приоритеты разработки различных функций. Есть ли желающие взять на свои плечи такой груз и ответственность?
Пока не решим пункт 1 - никаких других споров прошу не развивать. Кто что может предложить по п.1?

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 17, 2007 00:51 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
пункт 1 - минимальный стандарт для общей работы :<
пункт 2 - распределение ролей, только потом все остальные пункты

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 17, 2007 05:48 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Полностью с первым пунктом согласен, со вторым более сложней.

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 17, 2007 15:54 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
VoidVolker писал(а):
если каждый будет делать что сам хочет, то ничего кроме флуда и споров у нас не выйдет.


Кто нибудь собирается делать, что сам не хочет?

VoidVolker писал(а):
Нужен кто-то, кто будет анализировать все идеи предлагаемые участниками, направлять их энергию в нужное русло


По моему, здесь все только этим и занимаются.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 17, 2007 17:12 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Кто говорил, что начинать надо с конца?
Сначала надо написать реализацию слова BYE?

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 92 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


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

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


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

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB