Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пн дек 17, 2018 18:10

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пт июл 13, 2007 15:46 
Не в сети

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


На самом деле, на днях добавил только http://codespeak.net/cliki.tunes.org/forth_20oses.html
Это старый набор ссылок по теме ФортОС . Куда-то он пропал, теперь нашелся.

mOleg писал(а):
Очень бы хотелось хотя бы в 10 строчек на каждую систему описания увидеть!


Не на каждую и не сразу.
Дальше всех продвинулось http://www.openbios.org/viewvc/?root=OpenFirmware
Типа описания на английском http://lwn.net/Articles/209301/

По моим впечатлениям, полноценная ОС, но запустить не удалось.
Но очень-бы хотелось. Если запустится начну ее модифицировать.
Во первых заменю косвеный шитый код на подпрограммный.
Это самое простое. Открытые усторйства там представлены как объекты.
В роли классов там выступают форт-словари. Используется позднее
связывание т.е. во исполнении виртуальной функции, метод ищется
в словарях. Это жуткие тормаза. Надо как-то переделать на раннее связывание.
Я бы предложил разбираться с этим продуктом.

http://www.cvs.cx/uCForth.php - тоже хорошо продвинулась и по моему не плохо документирована,
но не для x86 :cry: исходные тексты представлены в HTML файлах с гипертекстовыми вызовами
определений слов Форта.

http://www.forthos.org/ - интересна тем, что запускается с CD , но файловой системы пока нет.


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4956
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
Mihail писал(а):
Дальше всех продвинулось http://www.openbios.org/viewvc/?root=OpenFirmware
Я бы предложил разбираться с этим продуктом.

ок, он действительно хоть чего-то стоит по-сравнению с остальным.

Mihail писал(а):
Во первых заменю косвеный шитый код на подпрограммный.
Это самое простое.

зачем? по-моему подпрограммый код хуже косвенного или прямого.

Mihail писал(а):
Открытые усторйства там представлены как объекты.
В роли классов там выступают форт-словари. Используется позднее
связывание т.е. во исполнении виртуальной функции, метод ищется
в словарях. Это жуткие тормаза.

чуть побольше здесь можно рассказать?

понятие "драйвер" существует?
многозадачность?


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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
меня тупая просьба - можно кратко и ясно обьяснить отличие косвенного шитого кода от прямого? У Баранова явная ошибка. Подпрограммный - как я понял - это через call - ret -долго.

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


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

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
вопрос писал(а):
Подпрограммный - как я понял - это через call - ret -долго.


это, наоборот - быстро. Оно просто более объемно относительно остальных.

прямой шитый код - код в котором адрес слова в коде указывают прямо на исполняемый код этого слова
косвенный шитый код - это, когда адрес слова в коде указывает не на исполняемый код,
а на место, где лежит адрес исполняемого кода.

p.s. надеюсь, не напутал...

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


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

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

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


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

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


/me начинает подозревать, что "косвенный" и "прямой" - при домножении на "шитый" и "нешитый" - и дает эти четыре...

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


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4956
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
тут вообще есть некоторая путаница.
подпрограммный шитый код в чистом виде не существует. В том же СПФ код не чисто подпрограммный шитый, а частично прямой шитый, и частично просто подпрограммный.

Шитый код предполагает соответсвие одной команды одной ссылке в коде.

косвенный код выглядит так:
Код:
             IP - указатель интерпретации
              |   
    [abc][def][ghj]
              |
              |
           [(call)][dup][..][etc][exit]
              |
            code of call

при этом ссылка на код выглядит так:
           
  [cccc][ddd][eee]
             |
          [addr] code word NEXT,
              |     |
              +->+

приметив передающий управление на следующее слова для косвенного шитого кода следующий:
 
   CODE NEXT
                  MOV TEMP , [IP]
                  ADD IP , CELL
                  MOV ADDR , [TEMP]
                JMP ADDR
         END-CODE

для прямого шитого кода код находится на одну ссылку ближе:
    CODE NEXT
                  MOV ADDR , [IP]
                  ADD IP, CELL
                JMP ADDR
          END-CODE

в подпрограммном коде должны быть просто CALL-ы


наиболее удобным с точки зрения форта является косвенный ШК - так как он полностью абстрагирует ФВМ от процессора, на котором исполняется - то есть программа работает, как будто на форт-процессоре.
прямой шитый код "быстрее на одну адресную ссылку" но уже не изолирует ФВМ от процессора, зато код ближе к классической модели, чем подпрограммный. Что же до подпрограммного кода, то он не всегда чистый, не всегда шитый и единственным его плюсом является скорость(зато с функциональностью похуже).


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

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

Ещё, чтобы уже уточнить раз и навсегда - какой смысл вкладывается в слово "шитый", почему не "мозаичный" ?

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


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

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
вопрос писал(а):
саll - ret - быстрее прямого прыжка?

железный call-ret быстрее, чем эмуляция стека возвратов и call-ret на регистрах,
что фактически и имеет место в иных случаях.

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


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4956
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
вопрос писал(а):
саll - ret - быстрее прямого прыжка?

не всегда. На 8086 процессоре вплодь до 286 быстрее было делать не CALL а JMP - то есть косвенный NEXT выигрывал у пары CALL-RET причем значительно.

вопрос писал(а):
Ещё, чтобы уже уточнить раз и навсегда - какой смысл вкладывается в слово "шитый", почему не "мозаичный" ?

точно сказать не могу, так как точного определения не видел сам.


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4956
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
Mihail писал(а):
http://www.forthos.org/ - интересна тем, что запускается с CD , но файловой системы пока нет.

скачал я этот самый ОС.
Михаил, можно как-нибудь посмотреть содержимое файла srcfs100 не пытаясь запустить эту систему?


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

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


Думаю старым Фортом с блочным редактором. Может понадобится
удалить начало srcfs100 для правильного позиционирования текстовых блоков.

OpenFirmware

mOleg писал(а):
по-моему подпрограммый код хуже косвенного или прямого.


Чем хуже?
Подпрограммый быстрее для ОС это очень важно. Тем-более если применить
инлайн-подстановку с оптимизатором. Однако, на данном этапе не до эффективности.
Любая программа в подпрограммом коде
может служить примитивом для любых других типов шитого кода.

mOleg писал(а):
побольше здесь можно рассказать?


В основном то, что и так видно.
работа с методами определена в ofw\core\ofwcore.fth
support-package: ( "name" -- ) - открывает определение драйвера
при этом заводится и открывается словарь с именем name
end-support-package - закрывает определение драйвера

$call-method - вызов метода по имени

В dev\ - драйвера устройств
ofw\fs\ - файловые системы
По моему работает (если работает) только ofw\fs\fatfs.

mOleg писал(а):
многозадачность?


Чего-то невидать. Но как минимум, USER-переменные есть.
В крайнем случае, можно твои мьютексы повставлять.
На первом этапе, вообще, можно ограничится корпоративной.

Главное оживить.
Сдесь 2а пути:
1. доработать сам OpenFirmware, чтобы создавал рабочий образ для флопера.
Вроде-как, задел для этого есть. Может достаточно попратить конфигурационный
файл?
2. загрузить OpenFirmware поверх моей PROTOOS и использовать
средства PROTOOS для поддержания работы OpenFirmware.


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

Зарегистрирован: Вс окт 15, 2006 13:05
Сообщения: 149
Откуда: Украина, Киев
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
http://www.citforum.ru/operating_systems/rubanov/ -- мож пригодится


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4956
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
Mihail писал(а):
mOleg писал(а):можно как-нибудь посмотреть содержимое файла srcfs100
Думаю старым Фортом с блочным редактором. Может понадобится
удалить начало srcfs100 для правильного позиционирования текстовых блоков.

я просто надеялся, что есть уже какой-нибудь утил 8)
а так рассматривать неудобно.

Mihail писал(а):
mOleg писал(а):по-моему подпрограммый код хуже косвенного или прямого.
Чем хуже?
Подпрограммый быстрее для ОС это очень важно. Тем-более если применить
инлайн-подстановку с оптимизатором. Однако, на данном этапе не до эффективности.
Любая программа в подпрограммом коде
может служить примитивом для любых других типов шитого кода.

да может, но косвенный лучше, хоть и медленнее. Впрочем, это мое личное мнение.
и насчет скорости ОС тоже вопрос спорный. То есть сильные тормоза - это конечно плохо, но выжимать абсолютно все тоже не нужно, да и не реально это.

Mihail писал(а):
В основном то, что и так видно.
работа с методами определена в ofw\core\ofwcore.fth
support-package: ( "name" -- ) - открывает определение драйвера

угу. Только все-таки это не ОС а FirmWare называется.

Mihail писал(а):
mOleg писал(а):многозадачность?

Чего-то невидать. Но как минимум, USER-переменные есть.
В крайнем случае, можно твои мьютексы повставлять.
На первом этапе, вообще, можно ограничится корпоративной.

собственно, потому и нет выраженной многозадачности, что это скорее биос открытый, а не ОС.

Mihail писал(а):
Главное оживить.

Сдесь 2а пути:

1. доработать сам OpenFirmware, чтобы создавал рабочий образ для флопера.

Вроде-как, задел для этого есть. Может достаточно попратить конфигурационный

файл?

2. загрузить OpenFirmware поверх моей PROTOOS и использовать

средства PROTOOS для поддержания работы OpenFirmware.

что за PROTOS ? ссылку дай.


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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
что за PROTOS
Пред? До?
что за PROTO'

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


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

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


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

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


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

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