OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 19 Август, 2019 05:12

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 58 ]  На страницу 1, 2, 3  След.
Автор Сообщение
СообщениеДобавлено: Понедельник, 01 Декабрь, 2008 02:20 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Пощупал эмулятор ОС Excelsior -- весьма любопытно. Весьма смахивает на полноценный юникс ;-) При размере эмулятора (в неустановлненном состоянии) в два мегабайта.

Было бы весьма интересно посмотреть на исходники этого чуда природы и оценить принципиальную портабельность её на что-то более мейнстримовое.

Вообще, для целей образовательных, может иметь ненулевую полезность. Ибо весьма крепко сложился стереотип что где unix там обязательно и С.

Система маленькая, должна быть обозримая, и, при этом, юникс (а знание юниксов таки нынче весьма нужно).

Вопрос в том, где бы исходники этого дела найти?

PS. Думаю обсуждение ушло достаточно далеко от Рапиры. Посему, видимо следует выделить его в отдельную тему.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Кронос & ОС Excelsior
СообщениеДобавлено: Понедельник, 01 Декабрь, 2008 02:38 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Замечательно что в том эмуляторе внутри имеется также и компилятор и все необходимые библиотеки (и интерфейсы к ним -- файлы .d, "аналог" сишных .h. Да, поскольку Модула это не Оберон и разделение на спецификацию и реализацию там делается ручками, в оных файлах присутствуют подробные коментарии (на русском! что непривычно ;-) ) что каждая из функций делает).

Правда библиотеки несколько не так наызваются как стандартные. По кр. мере мне свой Hello World пришлось отрихтовать. Но только название библиотеки. Функции те же.

Вообще, чувствуется что там ещё много интересного имеется. И, что главное, в этом во всем можно реально разобраться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Кронос & ОС Excelsior
СообщениеДобавлено: Понедельник, 01 Декабрь, 2008 10:19 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Я связался с администрацией сайта Кроноса по поводу исходников виртуальной машины и собственно самой ОС и компилятора. В результате мне таки ответили (оперативно!).
Кратко:
-------
From: Leo Kuznetsov
-------
Source code there:
http://kronos.googlecode.com/
(including VM)
-------

Так что вот. Если кому интересно...

Возможно на сайте будет либо ссылка на этот сайт, либо дубликат исходников лежать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Кронос & ОС Excelsior
СообщениеДобавлено: Понедельник, 01 Декабрь, 2008 10:29 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Такс. Господа, мой запрос исходников на образовательные цели нашел широкий отклик в кругах Эксельсиора.

Быть может товарищей сюда пригласить для дальнейшего обсуждения и согласования усилий продвижения Кронос & ОС Excelsior на ниве образования

PS. Видимо таки надо уже в отдельную тему как-то это выделить. Или даже в две (обсуждение Кроноса и кронос и образование (нынешние дни)). Как-то так.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Кронос & ОС Excelsior
СообщениеДобавлено: Понедельник, 01 Декабрь, 2008 15:32 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8169
Откуда: Троицк, Москва
Alexey Veselovsky писал(а):
Такс. Господа, мой запрос исходников на образовательные цели нашел широкий отклик в кругах Эксельсиора.

Быть может товарищей сюда пригласить для дальнейшего обсуждения и согласования усилий продвижения Кронос & ОС Excelsior на ниве образования

PS. Видимо таки надо уже в отдельную тему как-то это выделить. Или даже в две (обсуждение Кроноса и кронос и образование (нынешние дни)). Как-то так.

Да, почва там подготовлена еще с 2005 г., с визита Вирта.
Разговоры о постановке ББ на голое железо -- оттуда.
Хорошо бы их возбудить до каких-нибудь дел, конечно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Кронос & ОС Excelsior
СообщениеДобавлено: Понедельник, 01 Декабрь, 2008 15:56 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Info21 писал(а):
Alexey Veselovsky писал(а):
Такс. Господа, мой запрос исходников на образовательные цели нашел широкий отклик в кругах Эксельсиора.

Быть может товарищей сюда пригласить для дальнейшего обсуждения и согласования усилий продвижения Кронос & ОС Excelsior на ниве образования

PS. Видимо таки надо уже в отдельную тему как-то это выделить. Или даже в две (обсуждение Кроноса и кронос и образование (нынешние дни)). Как-то так.

Да, почва там подготовлена еще с 2005 г., с визита Вирта.
Разговоры о постановке ББ на голое железо -- оттуда.
Хорошо бы их возбудить до каких-нибудь дел, конечно.


А они уже возбудились. ;-)
По кр. мере мне письмо прислали. Говорят у них какие-то идеи имеются относительно НГУ. Если никто не против, я приглашу их в этот форум.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Декабрь, 2008 17:59 

Зарегистрирован: Понедельник, 01 Декабрь, 2008 17:38
Сообщения: 13
Откуда: Новосибирск
Здравствуйте!

Спасибо Алексею Веселовскому за приглашение.

Про эмулятор.
Сам эмулятор - это софтверный интерпретатор процессора Кронос, который вместе с ОС Excelsior и всем остальным, что там есть, разрабатывался здесь в Новосибирске в 80-х. Операционка, которая крутится на эмуляторе - та самая, ее не переделывали для эмулятора. Она действительно очень маленькая и действительно немного Юниксоподобная.
Для x86-го процессора компилятора в точности соответствующего Кроносовской Модуле нет. На самом дее ISO-стандартная Модула в чем-то очень похожа на Кроносовскую, так что теоретически для пора можно пытаться использовать наш XDS. Я пробовал, но в одиночку не справился. Пока.
Порт сделать можно, но работы довольно много.

Вобще даже на интерпретаторе это довольно неплохой стенд для студенческих работ. Исходники ОС (не трогая компилятор) нормальный человек прочитает за неделю-другую. Там все просто, но "по-честному" - многозадачность, многопотоковость, даже новомодная динамическая загрузка, файловая система, драйверы и т.п. В такой среде разработку, например, http-сервера могут вполне осилить 2-3 студента (если им действительно этого хочется). Понятно, что со всеми наворотами типа PHP и cgi-bin не сразу не получится, но раздавать html-файлы с соблюдениями всех правил приличия - без проблем. А на мй вкус человек, который в своей жизни сделал http-сервер, пусть даже самвый простой, посе этого на всю жизнь отличается от человека, который только устанавливал и настраивал чужие http-серверы. В лучшую, на мой взгляд, сторону. Собственно поэтому мне и хочется применить это сокровище в университете.
В практическом плане у меня на этот счет готового еще ничего нет, есть (теоретическая) заинтересованность нескольких должностных лиц университета, а сейчас еще есть один студент, который пытается в качестве курсовика сделать одну простую вещь с виртуальной машиной (этот первый блин у меня пока получается комом, если откровенно).

Вот, практически все, что могу сказать.

С уважением,
Андрей


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Декабрь, 2008 18:29 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Андрей Хапугин писал(а):
Про эмулятор.
Сам эмулятор - это софтверный интерпретатор процессора Кронос, который вместе с ОС Excelsior и всем остальным, что там есть, разрабатывался здесь в Новосибирске в 80-х. Операционка, которая крутится на эмуляторе - та самая, ее не переделывали для эмулятора. Она действительно очень маленькая и действительно немного Юниксоподобная.
Для x86-го процессора компилятора в точности соответствующего Кроносовской Модуле нет. На самом дее ISO-стандартная Модула в чем-то очень похожа на Кроносовскую, так что теоретически для пора можно пытаться использовать наш XDS. Я пробовал, но в одиночку не справился. Пока.
Порт сделать можно, но работы довольно много.

Вобще даже на интерпретаторе это довольно неплохой стенд для студенческих работ.


Пара вопросов касательно эмулятора и системы:
1) Какая кодировка используется в ОС?
2) Как содрежимое эмулятора может взаимодействовать с внешним миром? Т.е. банально -- как перенести файл из/в эмулятор? Что там с сетью (сеть думаю понадобилась бы для того же http-сервера)?

Да. В исходниках я нашел что-то связаное с Адой -- пробовали реализовать компилятор и для Ады?

В принципе, комплекс очень богатый. Полноценный набор: компилятор, ОС, спеки на железо, эмулятор. Всё аккуратно упорядочить, задокументировать и использовать. Причем сама задача упорядочивания и документирования тем же студентам также весьма полезна (IMHO).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Декабрь, 2008 18:34 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Да, и что там с графикой (в эмуляторе)? На оригинальной машине она явно была.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Декабрь, 2008 20:53 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1381
НАМНОГО ИНТЕРЕСНЕЕ было бы иметь верилоговские (али ишшо какие) исходники для FPGA-шечного ядра кроноса... :twisted:

ЗЫ Эх, где мои семнадцать лет???!!! В угловой комнате на третьем этаже в пятёрке!... :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Декабрь, 2008 21:16 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1193
Откуда: Украина, Киев
Владимир Лось писал(а):
НАМНОГО ИНТЕРЕСНЕЕ было бы иметь верилоговские (али ишшо какие) исходники для FPGA-шечного ядра кроноса... :twisted:
А что же лежит на http://code.google.com/p/kronos/source/checkout ?
Файлы с расширением vhdl это что? Просветите :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Декабрь, 2008 21:25 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1381
Ярослав Романченко писал(а):
А что же лежит на

Гыыыы.......... :mrgreen:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 02 Декабрь, 2008 00:23 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
А есть ли аналог lowLevel.zero(VAR area: ARRAY OF SYSTEM.WORD) в стандартной Модуле-2?

Если я правильно понял, эта процедура забивает нулями заданный кусок памяти.

Ну и аналог процедуры
PROCEDURE _zero(adr: SYSTEM.ADDRESS; size: INTEGER);
из того же модуля (lowLevel).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 02 Декабрь, 2008 08:11 

Зарегистрирован: Понедельник, 01 Декабрь, 2008 17:38
Сообщения: 13
Откуда: Новосибирск
Alexey Veselovsky писал(а):

Пара вопросов касательно эмулятора и системы:
1) Какая кодировка используется в ОС?
2) Как содрежимое эмулятора может взаимодействовать с внешним миром? Т.е. банально -- как перенести файл из/в эмулятор? Что там с сетью (сеть думаю понадобилась бы для того же http-сервера)?

Да. В исходниках я нашел что-то связаное с Адой -- пробовали реализовать компилятор и для Ады?

В принципе, комплекс очень богатый. Полноценный набор: компилятор, ОС, спеки на железо, эмулятор. Всё аккуратно упорядочить, задокументировать и использовать. Причем сама задача упорядочивания и документирования тем же студентам также весьма полезна (IMHO).


Попробую ответить на что смогу.
1) Кодировка немного самопальная (в 83-84-м KOI-8 а тем более Windows1251 еще не придумали). Например, есть отдельный символ перевода строк (36C), который не совпадает c CR и LF. Подробности не помню, можно разобраться.

2) Преносить файлы сейчас можно только довольно шизоидным способом, если на компьютере есть флоповод. Там есть утилита msex (от MSdos EXchange, не подумайте плохого :)). Нужно ее запустить, у нее интерфейс типа коммандера, с ее помощью файлы можно копировать с/на реальный флоппи-диск. Если будете пользоваться, обратите внимание, что для копирования текстовых файлов нужно использовать не F5 как привычно, а F4 - она перекодирует текст в удобоваримую кодировку. Собственно мой эксперимент со студентом в том и состоит, чтобы обеспечить возможность подмонтировать в файловую систему Кроноса файловую систему host-Винды. Пока плохо получается, но один семестр еще впереди...

3) что с сетью - не знаю. Подозреваю, что есть, но я сам пользоваться не умею. Попробую зазвать сюда автора эмулятора.

4) Про АДУ - это для меня новость. Подскажите, где Вы ее хвосты обнаружили, я посмотрю, может быть что-то смогу прояснить. Вообще на Кроносе делали Си, и даже транслятор из ЛИСПа в Модулу-2 (он реально работал! до сих пор не верится), но я сам с этим практически никак не сталкивался. Если нужно, концы могу отыскать.

С уважением,
Андрей


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 02 Декабрь, 2008 08:13 

Зарегистрирован: Понедельник, 01 Декабрь, 2008 17:38
Сообщения: 13
Откуда: Новосибирск
Владимир Лось писал(а):
НАМНОГО ИНТЕРЕСНЕЕ было бы иметь верилоговские (али ишшо какие) исходники для FPGA-шечного ядра кроноса... :twisted:

ЗЫ Эх, где мои семнадцать лет???!!! В угловой комнате на третьем этаже в пятёрке!... :D


Я тоже жил в пятерке (пятой общаге НГУ) - мы не одно и то же место упоминаем? :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 02 Декабрь, 2008 08:19 

Зарегистрирован: Понедельник, 01 Декабрь, 2008 17:38
Сообщения: 13
Откуда: Новосибирск
Alexey Veselovsky писал(а):
Да, и что там с графикой (в эмуляторе)? На оригинальной машине она явно была.


Графика где-то есть, надо порыть исходники. Под занавес мы ей занимались. Дожны быть игры, трассировщик печатных плат и редактор шрифтов. Что-то может быть еще, что я забыл.
На интерпретаторе она работает немного не очень: в Винде есть проблемы с мышью, если у тебя в приложении есть и консольное окно и графическое. Но работает точно, сам видел :)


Последний раз редактировалось Андрей Хапугин Среда, 03 Декабрь, 2008 14:58, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 02 Декабрь, 2008 08:28 

Зарегистрирован: Понедельник, 01 Декабрь, 2008 17:38
Сообщения: 13
Откуда: Новосибирск
Alexey Veselovsky писал(а):
А есть ли аналог lowLevel.zero(VAR area: ARRAY OF SYSTEM.WORD) в стандартной Модуле-2?

Если я правильно понял, эта процедура забивает нулями заданный кусок памяти.

Ну и аналог процедуры
PROCEDURE _zero(adr: SYSTEM.ADDRESS; size: INTEGER);
из того же модуля (lowLevel).


Если Вы имеете в виду ISO-стандартную Модулу, то там аналога нет.

В XDS Модуле-2 в модуле SYSTEM есть вот это.
PROCEDURE FILL(adr : ADDRESS; val : BYTE; size : CARDINAL;);

Чтобы компилятор позволил пользоваться расширениями, нужно включить опцию m2extensions у компилятора (проще всего в самое начало текста модуля вставить <* +m2extensions *>


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 02 Декабрь, 2008 09:13 

Зарегистрирован: Понедельник, 01 Декабрь, 2008 17:38
Сообщения: 13
Откуда: Новосибирск
Alexey Veselovsky писал(а):
Пощупал эмулятор ОС Excelsior -- весьма любопытно. Весьма смахивает на полноценный юникс ;-) При размере эмулятора (в неустановлненном состоянии) в два мегабайта.


Если в "виртуальном Кроносе" исполнить команду
ls / -la
то показываются файлы на корне файловой вместе с размерами.
Загрузочный образ системы называется SYSTEM.BOOT, его тоже видно.
Учтите, что размеры пишутся в байтах. Еще можно принять во внимание, что к этому образу скорее всего пришиты часто используемые утилиты типа ls, rm, mnt, а также редактор ex и Модула-2 компилятор.

Там действительно очень маленький код...

Андрей


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 02 Декабрь, 2008 13:10 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Андрей Хапугин писал(а):
4) Про АДУ - это для меня новость. Подскажите, где Вы ее хвосты обнаружили, я посмотрю, может быть что-то смогу прояснить. Вообще на Кроносе делали Си, и даже транслятор из ЛИСПа в Модулу-2 (он реально работал! до сих пор не верится), но я сам с этим практически никак не сталкивался. Если нужно, концы могу отыскать.


Обнаружил тут: kronos-read-only\excelsior\src\users\eugene\ada
Также там рядом имеется вроде как и компилятор модулы-2 под x86:
kronos-read-only\excelsior\src\users\eugene\mx86

По кр. мере процедура help там выглядит следующим образом:
Код:
PROCEDURE help;
BEGIN
  std.print('  "m86" Modula-2 compiler for Intel x86 microprocessors.\n');
  std.print('usage:\n');
  std.print('  m86 <file name> [<keys>]\n');
  std.print('keys:\n');
  std.print('  mcCPU     cpu type: 86,186,286,286p,386,386p\n');
  std.print('  mcERRLIM  errors limit\n');
  std.print('  mcOUT     output directory name\n');
  std.print('  mcTEXT    source directory name\n');
  std.print('  mcSYM     directory name for sym. files\n');
  std.print('  mcFLAGS   compiler options\n');
END help;


Вообще, там похоже несколько (промежуточных?) версий компилятора в разных каталогах:
m86
m86a
m86o
mx86


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 02 Декабрь, 2008 15:36 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Андрей Хапугин писал(а):
Если Вы имеете в виду ISO-стандартную Модулу, то там аналога нет.

В XDS Модуле-2 в модуле SYSTEM есть вот это.
PROCEDURE FILL(adr : ADDRESS; val : BYTE; size : CARDINAL;);

Чтобы компилятор позволил пользоваться расширениями, нужно включить опцию m2extensions у компилятора (проще всего в самое начало текста модуля вставить <* +m2extensions *>


Я вчера просто попробовал портировать тестик производительности dry на XDS. В принципе оно собралось, но вылезла куча предупреждений и обнуление массивов/структур я там вырубил (ибо аналога той zero не нашел). При стантадртных 50000 проходах оно вызывает деление на ноль (ужель быстрее чем за 1 милисекунду работает?). При 500000 выдает какое-то ну о-очень большое число ;-)

PS. Сие был второй мой опыт ковыряния Модулы-2. Первым был Hello World в эмуляторе Кроноса ;-)


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

Часовой пояс: UTC + 3 часа


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

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


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

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB