Важная информация
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 28

Тема: ДИАМС (DSM-11)

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Master
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    850
    Благодарностей: 293

    По умолчанию ДИАМС (DSM-11)

    Начинаю тему про ДИАМС.

    Это отдельная операционная система со встроенным интерпретатором собственного языка программирования, встроенной же СУБД древовидного типа, набором утилит и прочих программ. Оригинальное название системы - MUMPS (сокращение от Massachusetts General Hospital Utility Multi-Programming System, см., например, на Вики). DSM - это сокращение от Digital Standart MUMPS. Собственно, этот проект начался именно на PDP-11, дальше была еще куча разных MUMPS'ов на разных ЭВМ, у нас был широко известен MSM-PC (Micronetics Standart MUMPS for PC), но, увы, MUMPS не выдержал конкуренции с современными СУБД и сошел со сцены в начале нового века. Тем не менее, система очень интересная, однако, похоже, у меня одного сохранился последний вариант ДИАМСа, адаптированного к нашим реалиям конца 80-х - начала 90-х. (Оригинальный DSM-11 я как-то нашел на просторах Сети, но он, увы, 7-bit Only, русский к нему так просто не прикрутишь, а исходников там нет).

    Так вот, у меня нашлось:
    -загрузочная дискета;
    -дискета с утилитами;
    -две дискеты с документацией;
    -несколько дискет с исходником ядра на Макро;
    -еще кое-какие материалы.

    К сожалению, пока есть некоторые сложности с адаптацией ДИАМСа под эмулятор - во-первых, я очень многое забыл, во-вторых, я слегка "доадаптировал" ядро ДИАМСа для ДВК - команда, занимавшаяся адаптацией ДИАМСа к ДВК кое-что не довела до конца, пришлось вникнуть и доделать, но, увы, ST251, на котором лежит все доработанное, покрылся бэдами...

    Я, конечно, постепенно разберусь и восстановлю все, что надо, а пока ДИАМС работает только с DW и MY, подключить драйвер для HD я пока не могу. Могу выложить предварительный вариант, но пользовать его сложно...

    Пока собираюсь начать выкладывать документацию. Её много - описание языка, руководство программиста, руководство системного программиста, руководство администратора системы, еще несколько книжек. В связи с чем возникает вопрос: как ее выкладывать? Документация присутствует в виде размеченных текстов для программы RNO (нечто, подобное программам DOC или MDOC, но понавороченнее) - помечены заголовки разных уровней, абзацы и пр. вкусности, в общем, полный набор разметки документа и в частности кое-что выделено яркостью (аналог bold, на принтер это печаталось в три прохода). Если такой текст отформатировать, получим довольно приличный документ, но хотелось бы сконвертить его во что-то современное, чтобы можно было еще и шрифтами поиграть и учесть особенности ПДФ-ок и лазерных принтеров.

    Выложил и RNO, и отформатированный вариант. В отформатированном, правда, так и не удалось передать символы FF, так, что разбиения на страницы нет. Если что, на странице 61 строка.
    Вложения Вложения
    • Тип файла: zip DSMDOC.zip (465.8 Кб, Просмотров: 60)
    Последний раз редактировалось AFZ; 24.03.2016 в 23:28.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  2. Эти 6 пользователя(ей) поблагодарили AFZ за это полезное сообщение:
    anasana (24.03.2016), hobot (24.03.2016), MacBuster (24.03.2016), perestoronin (13.05.2016), shattered (03.05.2016), Vamos (24.03.2016)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Activist
    Регистрация
    12.04.2009
    Адрес
    Одесса
    Сообщений
    488
    Благодарностей: 414

    По умолчанию

    Что бы были исходники док в .RNO это очень интересно.
    Я так понимаю они хранятся в DSMDOC1.DSM и DSMDOC2.DSM? Только как их извлечь?
    И вдруг если у кого-то есть описание тегов разметки этого формата, большинство там понятные, а у некоторых похоже есть нюансы.
    p.s. Для ПРОС Э-85 возможно это откроет ПО "Оформитель текстовых документов V3.01", и ещё был некий "runoff.tsk", тоже пойдёт для экспериментов.
    Последний раз редактировалось anasana; 24.03.2016 в 13:59.

  5. Этот пользователь поблагодарил anasana за это полезное сообщение:
    hobot (24.03.2016)

  6. #3
    Master
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    850
    Благодарностей: 293

    По умолчанию

    Цитата Сообщение от anasana Посмотреть сообщение
    Я так понимаю они хранятся в DSMDOC1.DSM и DSMDOC2.DSM? Только как их извлечь?
    Запустить Диамс, а дальше - пляски с бубном, ибо ДИАМС из всего, пригодного для записи файлов, понимает только МЛ. На всех дисках у него сугубо свой формат и чужих он не знает.

    Цитата Сообщение от anasana Посмотреть сообщение
    И вдруг если у кого-то есть описание тегов разметки этого формата, большинство там понятные, а у некоторых похоже есть нюансы.
    Сейчас выложу в "поиске файлов" вариант RNO для RT-11, вроде-бы с документацией.

    - - - Добавлено - - -

    Цитата Сообщение от AFZ Посмотреть сообщение
    Выложил и RNO, и отформатированный вариант.
    Ладно, еще пара слов о ДИАМСе. Все мы знаем основные операционки PDP-11: RT-11, RSX-11 и Unix. Зайди в любой ВУЗ или научное учреждение - вон оно, стоит какой-то из наших клонов PDP-11 с одной из названных ОС.

    А зайди на производство? Если там окажется СМ-ка (а их с ЕС-ками раздавали примерно пополам), то почти наверняка она работает в АСУ под ДИАМСом. Складской учет, учет продукции, бухгалтерия, зарплата... Сама СМ-ка стоит на ВЦ, а вот терминалы от нее разбросаны по всей территории. В бухгалтерии, на складе, в цеху, еще где-то... И ни одной такой СМ-ки в музеи не попало: они работали до последнего, потом с них слили на писюки все данные вместе с программами, АСУ стала работать дальше, а машинку - на драгмет.

    Машинки, в общем-то, с довольно скромными параметрами (что такое 1 млн коротких операций в секунду или 248К памяти?) вполне справлялись с несколькими терминалами, весело обслуживали базы данных с сотнями тысяч записей и не жужжали. То есть, конечно, жужжали, но только вентиляторами...
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  7. Эти 2 пользователя(ей) поблагодарили AFZ за это полезное сообщение:
    anasana (25.03.2016), hobot (25.03.2016)

  8. #4

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Выложил и RNO, и отформатированный вариант.
    Начал собирать в сторонку все архивы из темы и смежные (RNO) и впитывать информацию,
    однозначно при добавлении в архив буду использовать ваш текст и ссылку на эту тему как
    на первоисточник (авторскую публикацию).
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  9. #5
    Master
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    850
    Благодарностей: 293

    По умолчанию

    Цитата Сообщение от SuperMax Посмотреть сообщение
    да, кстати у меня лежит какая-то сборка ДИАМС
    Это, похоже, то, что я выкладывал в Фидо. В смысле, выкладывал на один знакомый ФТП, а объявление со ссылкой на него делал в Фидо.

    hobot, а программировать не пробовал?

    - - - Добавлено - - -

    Выкладываю еще один диск с утилитами, проверенный. Метка ДИАМСа - PPP, комментарий к нему - "Инструментарий". На этом с программами на ДИАМСе все. Итого 3 дискеты: выложенные в прошлой порции FLP - загрузка + первичный набор утилит, UTI - основной набор утилит, то, что не вошло на FLP и сегодняшняя выкладка, PPP - инструментарий.

    У меня осталось два диска документации, приведу в чувство - выложу, и три диска - текст ядра на Макро, плюс небольшой набор программ на ДИАМСе для работы с этим ядром, его тоже вскорости выложу.

    Осталось разобраться с ДИАМСом в виде файла на диске RT-11, это тоже почти готово, скоро выложу.
    Вложения Вложения
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  10. Эти 2 пользователя(ей) поблагодарили AFZ за это полезное сообщение:
    anasana (10.05.2016), hobot (10.05.2016)

  11. #6

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    hobot, а программировать не пробовал?
    приятно когда в тебя верят! ))) ДИАМС пока у меня даже не на уровне освоения,
    я пока в шпаргалки не вникал, у меня просто период накопления образов и текста с датами публикаций.
    Дождусь анонсированной документации и остального + конечно параллельно к образам прилагаются ваши авторские описания+
    что бы прочно прилепить к архиву в раздел ДВКашек.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  12. #7
    Master
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    850
    Благодарностей: 293

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    приятно когда в тебя верят!
    Угу. И надеются. Я, в частности, надеялся на твое любопытство.

    Ладно, выкладываю документацию в оригинале. Архив содержит образы двух дискет - DSMD11N.DSK и DSMD12N.DSK, это монтируемые тома ДИАМСа, на них содержатся глобальные массивы с документацией (КИП DOC), на первой, кроме того есть чуток программ (КИП MGR), но эти же программы есть и на дискетах с утилитами, не сравнивал, ИМХО это одно и то же.

    Кстати, я уже спрашивал, как бы эти .RNO сконвертировать во что-то писюшное, чтобы в итоге сделать ПДФ-ку, а в ответ - тишина... Может есть какой формат попроще, чтобы можно было с разумными трудозатратами написать конвертер? На ДИАМСе написать любую обработку текстов - как два байта переслать...

    - - - Добавлено - - -

    Да, забыл сказать. Для форматирования RNO-шных документов программой %RNOFMT стандартного ДИАМСовского раздела 8К не хватает, я, форматируя документы, запускал ее в разделе 16К.

    Еще момент. Если заняться форматированием всех документов, то лучше создать отдельный КИП (по аналогии с DOC'ом RT-11 его можно назвать DPR), копировать туда по одному документы в RNO, там их форматить, после чего грохать там исходник, чтобы в DPR остались только форматированные тексты. Если таки найдется вариант конвертирования в ПДФ, я все это, конечно, проделаю сам...
    Вложения Вложения
    • Тип файла: zip DSMDOC.zip (491.5 Кб, Просмотров: 25)
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  13. Этот пользователь поблагодарил AFZ за это полезное сообщение:
    hobot (12.05.2016)

  14. #8
    Master
    Регистрация
    05.03.2010
    Адрес
    Санкт-Петербург
    Сообщений
    749
    Благодарностей: 281

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Если таки найдется вариант конвертирования в ПДФ, я все это, конечно, проделаю сам..
    Так а в чем проблема-то, форматированный текст сохранить в утф-8 открыть в акробате (не ридере) и сохранить в пдф, если нужен какой-то шрифт то можно через ворд.

  15. #9
    Master
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    850
    Благодарностей: 293

    По умолчанию

    Вот оригинальный DSM-11, утянул откуда-то, недавно попробовал найти его еще раз - изба фигвам. Увы, он работает только под SIMH, и то неважно. С ДИАМСом-ДВК я еще разбираюсь, скоро выложу. А этот - так, в архив, чтоб было... Заодно Патрону вопрос задам, в теме про эмулятор.
    Вложения Вложения
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  16. Эти 2 пользователя(ей) поблагодарили AFZ за это полезное сообщение:
    anasana (20.04.2016), hobot (21.04.2016)

  17. #10
    Master
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    850
    Благодарностей: 293

    По умолчанию

    Итак, выкладываю ДИАМС.

    Он, конечно, еще не до конца отлажен, тут и эмулятор кое-где еще колбасит, и в ДИАМСе не все в порядке, тем не менее, уже можно выложить предварительный вариант.
    Как я уже говорил, ДИАМС – это комплекс, включающий в себя операционную систему с разделением времени, интерпретатор собственного языка программирования и СУБД.

    Этот вариант ДИАМСа ставится на винчестер в качестве единственной ОС для конкретного ДВК. Первичный комплект поставки включает две дискеты: загрузочную, с которой систему ставят на винчестер и дискету с утилитами, которые не вошли на первую дискету. Если ставить ДИАМС на реальный ДВК, нужен процессор ВМ3, контроллер MY с хотя бы одним 80-дорожечным дисководом и винчестер с 4 головками и 153, 306 или 614 цилиндрами. Другие винчестеры не поддерживаются – если головок больше четырех или цилиндров больше 614, они не будут использоваться.

    Это, практически, оригинальный ДИАМС-ДВК, я в нем только сделал нормальную работу с маленькими буквами. Исходный ДИАМС был заточен на КОИ7 НС, то есть вместо маленьких английских букв использовались большие русские; маленькие же буквы не поддерживались вообще. Когда его стали переносить на ДВК с КЦГД и поддержкой маленьких букв, наши орлы поступили по-своему: для больших букв оставили кодовую таблицу, как она была, а маленькие буквы стали кодировать со старшим битом, равным единице. То есть буква Z имеет код 132, z – 332, З – 172 и з -372. В принципе, такое решение, вероятно, даже лучше, чем общепринятое – оно допускает совместную работу как новых терминалов, поддерживающих и малые и большие буквы, так и старых, только с большими буквами и 7-битным кодированием. Однако, эти самые новые терминалы работают с КОИ7 Н0/Н1, поэтому ДИАМС перекодирует вывод «на лету». А вот со вводом была проблема, ребята, похоже, промахнулись и не довели перекодирование «на лету» до конца, в результате русские буквы вводились под шифтом или под ФВР-ом (фиксированный верхний регистр, т.е. Caps Lock), а для смены большие/маленькие надо было посылать Ctrl/N и Ctrl/O, что и изложено в документации (см, например, RNOTE).

    Для «поиграть», конечно, сойдет и так, но я-то собирался клепать на ДИАМСе коммерческие продукты. Отдавать же клиенту коммерческий продукт с такими правилами ввода данных с клавиатуры нельзя. Не поймут. Поэтому я, первым делом, нашел нужное место и пропатчил это дело, чтобы ввод букв работал нормально. Полученный ДИАМС на КЦГД работает, как часы. Да и на других терминалах с маленькими и большими буквами. В частности, я пробовал ВТА 2000-15М. Более того, он одновременно с этим работает и на старых терминалах с КОИ7-НС, без каких-либо изменений в прикладных программах, просто от этих терминалов не дождешься маленьких букв, ну и при выводе, если программа выдает маленькие буквы, они сами собой преобразуются в большие, путём отрезания старшего бита. В паре моих проектов использовались комплексы из ДВК-3.2 с дополнительной платой КТЛК-6 и 7 шт. терминалов Mera СМ-7209. Шесть из них подключались в КТЛК-6, седьмой – в порт на плате процессора. Итого, 8 рабочих мест, одно полноценное, на КЦГД, и 7 без маленьких букв, и всё весело работало. А вот в эмуляторе оно гонит. Впрочем, мы с Патроном уже согласовали, эмулятор будет поправлен.

    Только вот, увы, и сам патч, и все материалы по нему остались на моем ST-252, который покрылся бэдами. Однако, у меня на дискетах есть целых два бэкапа этого патченного ДИАМСа, сделанные программой BUP. Но увы, один из них какой-то кривой, а от второго нет последней дискеты. Восстановленный с них ДИАМС загружаться, увы, не захотел. Тем не менее, после долгих плясок с бубном, мне таки удалось добыть тот самый патч и пропатчить оригинальный ДИАМС, который ко мне попал на дискетах. Заодно пропатчил Y2k.

    Выкладываю два архива: один – это файл-образы двух дискет с ДИАМСом, второй – файл-образ винчестера с установленным ДИАМСом для эмулятора, там же вариант конфига эмулятора со вторым терминалом – можно поразвлекаться с многотерминальным (двух-, в общем-то) доступом.

    - - - Добавлено - - -

    В ДИАМСе нет привычных многоуровневых оглавлений - все-таки это достаточно старая система. Вместо этого есть набор одноуровневых оглавлений или, вернее, отдельных изолированных пространств, в которых все и хранится. Предполагается (но не обязательно) что каждое такое пространство предназначено для отдельного блока задач, имеющего общие данные. Доступ к такому пространству происходит по его коду идентификации пользователя (КИП), в оригинале - User Code Identification - UCI. Все КИПы в системе обозначаются тремя английскими буквами.

    Первым делом в системе надо зарегистрироваться. Для этого давим Enter или Ctrl/C, ДИАМС говорит:
    Код:
    ДВК 3.2 ДИАМС 3.3 ТЕРМИНАЛ #1 КИП:
    При регистрации можно либо запустить конкретную программу, либо войти в систему в режиме программиста. Поэтому, когда ДИАМС спрашивает КИП, надо ввести не только КИП, но и (через двоеточие) имя программы, которую надо запустить, либо код доступа программиста.

    Система для "попробовать", установленная на выложенный файл-образ винчестера (архив 4EMU) имеет два КИПа. Первый, системный, MGR (ManaGeR) есть на любой системе ДИАМС, второй я сгенерил "на попробовать", TST. В системный пока входить не будем, чтобы случайно не наломать дров, а вот в тестовый попробуем зайти.

    Итак, запустили загрузку с DW, поправили дату, набрали время, на все остальные вопросы нажали просто Enter и, наконец видим сообщение:
    Код:
          *** Система ДВК 3.2 ДИАМС 3.3 <1> загружена и работает ***
    
    
    ВЫХОД
    Давим Enter и на запрос КИПа набираем:
    Код:
    TST:SYS
    Здесь TST - КИП, SYS - код доступа программиста (КДП). ДИАМС отвечает нам приглашением ">" Все. Можно подавать команды ДИАМСа.

    Да, ДИАМС не имеет команд по типу обычных операционок, вроде DIR, COPY, PRINT и т.п. Зато ему в командной строке можно набирать любые команды языка ДИАМС, он их будет интерпретировать в командном режиме. Чаще всего в командном режиме подают команду DO с указанием имени программы, которую следует выполнить. И все функции, привычные для обычных ОС, здесь тоже выполняются библиобечными программами-утилитами. Допустим, чтобы получить список доступных программ, следует подать команду
    Код:
    D ^%RD
    (D - сокращение от DO, ^ указывает, что перед выполнением программу нужно загрузить с диска, % - признак библиотечной программы и RD - сокращение от Routine Directory) Полный список программ-утилит и библиотечных программ присутствует в руководстве программиста и руководстве системного программиста.

    - - - Добавлено - - -

    Немного о языке. Язык ДИАМС - интерпретируемый. И, учитывая, что в нем есть команды, предписывающие исполнить данные, как программу, предварительная компиляция кго невозможна. Тем не менее, интерпретатор очень быстрый. Я лично наблюдал и СМ-4, и1420 без кэша, и ДВК с ВМ3, которые весело обслуживали 4-8 рабочих мест бухгалтеров, учетчиков и пр., без малейших тормозов. Ну, конечно, когда, допустим, пускали расчет зарплаты по предприятию с полутысячей работников, оно задумывалось надолго (1420 с кэшем считала минут 5-7, а когда кэш сдох и его отключили, стала считать чуть ли не два часа. Впрочем, про минуты я уже не совсем уверен, давно было. Зато про два часа помню хорошо). Тем не менее, на остальных рабочих местах в это время вполне можно было работать дальше.

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

    Собственно, эти глобальные массивы и есть база данных ДИАМСа.

    - - - Добавлено - - -

    Если работа на каком-то терминале в режиме программиста закончена, его надо закрыть. (Если терминал запускался не в режиме программиста, а в режиме прикладной задачи, по окончании этой задачи он закроется сам.) Закрытие терминала и выход из режима программиста происходит по команде HALT (H). Ее же положено использовать для перехода из КИПа в КИП.

    Если работа закончена на всех терминалах и пора выключать ЭВМ, то систему следует закрыть, чтобы она досохранила все, что положено, включая сброс дисковых кэшей. Для этого надо выйти из того КИПа, где вы работали (командой H) и войти в КИП MGR, где подать команду
    Код:
    D ^SSD
    (т.е. загрузить с диска и выполнить программу System ShutDown). Она может попросить подождать (сброс кэшей), затем спросит, что делать, даем ей троечку, и она сообщает : ЭВМ готова к останову. Все, можно выключать (закрывать эмулятор).
    Вложения Вложения
    • Тип файла: zip DSM-FLO.zip (639.2 Кб, Просмотров: 58)
    • Тип файла: zip 4EMU.zip (635.4 Кб, Просмотров: 55)
    Последний раз редактировалось AFZ; 03.05.2016 в 23:03.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  18. Эти 7 пользователя(ей) поблагодарили AFZ за это полезное сообщение:
    Alex_K (03.05.2016), anasana (03.05.2016), hobot (03.05.2016), MacBuster (04.05.2016), Patron (03.05.2016), SuperMax (05.05.2016), Vamos (03.05.2016)

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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