LINUX.ORG.RU

OpenVMS 9.2.2 в QEMU/KVM

 ,


0

3

Я, как и многие люди, интересующиеся компьютерами, нет-нет, да слышал про такую систему, как OpenVMS. Типа высоконадёжная, для атомных станций, круче только яйца… Интересно, в общем.

Недавно её портировали на x86_64, и мне удалось получить Community License на неё. Итак… Впечатления разочаровывающие, мягко говоря.

  1. Системные требования, переплёвывающие Windows 11: 8+ Гб оперативы, 2+ ядра процессора, (U)EFI64 (Старая прошивка? Ну, не повезло, не повезло…).
  2. Нормальный экран при этом система использует ТОЛЬКО для отображения загрузочного меню и потом — информации, когда вам надо переключиться на ПОСЛЕДОВАТЕЛЬНЫЙ ПОРТ! Причём не абы какой последовательный порт, а строго COM1, другие не видит. Если у вас есть , оборудование, требующее эти порты - вам искренне соболезнуют (нет). Плюсы: в принципе, система может вообще без дисплея обходиться — загрузчик тоже умеет работать через COM1. Минус: к компу с OpenVMS получается ОБЯЗАТЕЛЬНО нужен другой комп или терминал, который ещё найти надо.
  3. Синтаксис и система команд разрабатывались алкоголиком-маразматиком под грибами. Если онтопик критикуют за потребность регулярно использовать командную строку (хотя это давно не так), а винды — за куцость их cmd.exe и странность повершелла, эти люди OpenVMS ещё не видели. У никсов и венды команды хотя б на человеческом языке, а не на гоблинском диалекте орочьего. Плюс оконная система OpenVMS похоже то ли почила в бозе, то ли её ещё просто не портировали, хотя это ж обычная X11 + Motif.
  4. Система глобально нечувствительна к регистру — в командах, ФС, даже в паролях.
  5. Похоже, OpenVMS безопасна лишь ввиду малой распространённости и пункта 3 — никто не хочет ломать себе мозг. Классика безопасности через сокрытие и неуловимого Джо.
  6. Странные решения по части портирования программ с предыдущих версий системы — компиляторы C, C++ ещё тестируются, зато Lua есть.
  7. Если ЭТО продакшн — мне страшно представить, что было тестингом. В общем и целом: здоровья погибшим, закапываем, кажется время OpenVMS прошло. Заодно, зная, что Windows NT делалась теми же людьми, что OpenVMS, и архитектурные решения таки заимствовались и из OpenVMS, и из OS/2, и из DOS — к виндам отпало много вопросов, не повезло с архитекторами.

Больше скриншотов у меня в ТГ: https://t.me/nurglescauldron/138?single

>>> Просмотр (1280x784, 72 Kb)

★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 4)
Ответ на: комментарий от sergej

Ну, версионирование это таки прикольно, но его в принципе много где настроить можно. А примеры команд: @sys$system: shutdown или @sys$manager:decw$startup - логики не лишены, конечно, но на фоне удобочитаемый команд юниксов или NT выглядит так себе.

Dorif ★★★
() автор топика

где православный png?
шакально-пережатый жпег - лучше б тапок фоткал.

etwrq ★★★★★
()
Ответ на: комментарий от Qui-Gon

VMS это конечно древнее зло, оно еще перфокарты вручную шилом проколотые должно помнить

Перфокарты, конечно, помнит

The PASSWORD command is valid only in a batch job submitted through
a card reader and requires that a dollar sign ( $ ) precede the PASSWORD command on the card.

https://support.hpe.com/resource3/docDisplay/pdfjs/web/viewer.html?file=%2Fhpesc%2Fpublic%2Fapi%2Fdocument%2Fc04623195%3Fv%3D1632332177000&locale=en-US&rangeChunkSize=256000&disableAutoFetch=false&disableCache=false&version=20240318093021#page=21

Но VMS младше, чем UNIX.

vM ★★
()
Ответ на: комментарий от Qui-Gon

А каким образом ты сервак конфижил? Ставил в стойку и он сам все расчехлял? Насколько я помню. Первой этап ввода любой санки в сеть - это подключение к ALOM через COM-мультиплексор.

bdrbt
()
Ответ на: комментарий от Qui-Gon

да ну нафиг, IP KVM купить может дае «васян и ко()»

tr0_
()

Круче яиц у DEC было железо, а софт всего-лишь плесень нём.

Но вот help из VAX/VMS мне периодически не хватает, хотя я понимаю куда всё движется, а именно в сторону AI который будет рассказывать только что им выдуманную документацию к заинтересовавшему вас ПО.

Evgueni ★★★★★
()

GNU компиляторы нормально себя в среде VMS чувствуют, так что родные там не нужны.

Командная строка там непривычная, а не «не удобная» — кроме шуток. К ней вполне можно привыкнуть и быстро обучиться благодаря ихнему великолепному help.

У VMS была своя реализация X11, в имени которой не было даже X11 aka DEC Window (если я правильно помню), ну а Motif в принципе особо не напрягает и ресурсы там вроде вполне имеются для любой даже самой извращённой его кастомизации (если конечно не требуются закруглённые углы у окошек и прозрачность).

Но согласен, что система хоть и вполне себе рабочая, но устаревшая на более чем тридцать лет.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 2)
Ответ на: комментарий от Dorif

Эта упоротая система команд возникла до того как устаканилась юниксовая. Так что там можно поспорить кто более упоротее (см. на интерфейс реально старых юниксовых утилит типа dd или tar).

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от zh_v68

Компрессия данных была ещё в поздних версиях MS DOS (6.22?). Мне она помогла, когда потребовалось ужаться чтобы свой первый GNU/Linux поставить, а потом том сжатый раздел накрылся и у меня остался только GNU/Linux (правда тогда ещё временно).

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от Dorif

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

Evgueni ★★★★★
()
Ответ на: комментарий от Evgueni

Ну, dd я поюзал в своё время много.) Норм. А про систему команд реально ранних юниксов было бы интересно почитать поподробнее, если можете чего посоветовать. Как-никак, история системы, за которой работаю.

Dorif ★★★
() автор топика
Ответ на: комментарий от Dorif

Я не говорю, что dd плох, просто его интерфейс _сильно_ отличается от того, что сейчас в Linuxовых консольных утилитах повсеместно используется. А причина всего этого, что dd написан в 1974 году и до сих пор не скопытился. Наверняка была куча попыток переписать dd «как надо», но сообществом эти попытки были проигнорированы, так как все уже привыкли.

Традиционно советуют про историю почитать что-то вроде Реймонда «Хакеры герои компьютерной революции», но боюсь, что истории по консольным утилитам и их интерфейсам (вот по графическим интерфейсам таких попыток было сделано полно) в одном месте никто не собирал. Наверное для начала проще всего почитать wiki по конкретным утилитам. Вот например меня в своё время зацепило кто написал eqn (да и вообще всё что связано с troff) и что она ещё написала.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 2)
Ответ на: комментарий от Evgueni

Вот, кстати, цитата Эрика Реймонда про dd:

«the interface design was clearly a prank»

Почитал сейчас про dd, много думал... Вот что делает эта команда:

while kill -USR1 dd-pid ; do sleep 10 ; done
где dd-pid — это пид dd.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от MOPKOBKA

Был бы написан парой лет позже, то вероятность того, что про JCL уже бы и не вспомнили была бы значительно повышена, но написали в 1074 г. со всеми вытекающими. Каждому поколению — свои мемы.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от Evgueni

s/1074/1974/

awk, кстати, тоже имеет «инопланетный интерфейс».

Evgueni ★★★★★
()
Ответ на: комментарий от MOPKOBKA

Нет и как бы нет никакого желания разбираться ещё и с этим. А что с ним не так?

Evgueni ★★★★★
()
Ответ на: комментарий от Evgueni

А причина всего этого, что dd написан в 1974 году

Другие утилиты тоже были написаны в 1974, и они не имеют аллюзий к JCL. Причина в том, что изначально DD использовался для переноса информации между мейнфреймами (файлы - набор записей, EBCDIC) и DEC’овскими машинами (файлы - поток байт, ASCII).

bigbit ★★★★★
()
Ответ на: комментарий от bigbit

Я тоже умею читать Википедию, и да, далеко не все используемые сейчас консольные утилиты (подавляющее их число) написаны в 1974 году.

Evgueni ★★★★★
()
Ответ на: комментарий от MOPKOBKA

PowerShell нормальный shell, если разобраться, что к чему. У него и киллер-фича есть: он кидается объектами, а не строками.

amm ★★
()
Ответ на: комментарий от Dorif

Вижу минусы как минимум в упоротой системе команд

Обычный командно-скриптовый язык с английской лексикой, сокращениями и алиасами.

https://docs.vmssoftware.com/vsi-openvms-user-s-manual/#COMPILE_FILE_SEC

$ @COMPILE_FILE

File to process: RAND.PAS
Successful compilation
%DELETE-I-FILDEL,WORK:[DESCH]RAND.OBJ;1 deleted (3 blocks)
%DELETE-I-FILDEL,WORK:[DESCH]RAND.LIS;1 deleted (9 blocks)
Process another file (Y or N)? N Return

COMPILE_FILE.COM:

$! This command procedure compiles, links, and runs a file written in Pascal
$! or FORTRAN.
$!
$ ON CONTROL_Y THEN EXIT
$!
$ TOP:
$   INQUIRE FILE "File to process"
$   IF F$SEARCH(FILE) .NES. ""                             1
$ THEN
$   FILE_TYPE = F$PARSE(FILE,,,"TYPE") 2             ! determine file type
$   FILE_TYPE = F$EXTRACT(1,F$LENGTH('FILE_TYPE'),FILE_TYPE) ! remove period
$! Remove type from file specification
$   PERIOD_LOC = F$LOCATE(".",FILE)
$   FILE = F$EXTRACT(0,PERIOD_LOC,FILE)
$   ON WARNING THEN GOTO OTHER
$   GOTO 'FILE_TYPE'
$ ELSE                                                     3
$   WRITE SYS$OUTPUT FILE, "does not exist"
$ ENDIF                                                    4
$!
$ GOTO END
$!

$!
$!
$ FOR:                                                      5
$ ON ERROR THEN GOTO PRINT
$ FORTRAN/LIST 'FILE'
$ GOTO LINK


$!
$ PAS:
$   ON ERROR THEN GOTO PRINT
$   PASCAL/LIST 'FILE'
$   GOTO LINK

$!
$ OTHER:
$   WRITE SYS$OUTPUT "Can't handle files of type .''FILE_TYPE'"
$   GOTO END

$!
$ LINK:                                                    6
$   ON ERROR THEN GOTO END
$   WRITE SYS$OUTPUT "Successful compilation ...."
$   LINK 'FILE'
$   DEFINE/USER_MODE SYS$INPUT SYS$COMMAND
$   RUN 'FILE'
$   GOTO CLEANUP

$!
$ PRINT:                                                   7
$   WRITE SYS$OUTPUT "Unsuccessful compilation, printing listing file ...."
$   PRINT 'FILE'

$!
$ CLEANUP:
$   DELETE 'FILE'.OBJ;
$   DELETE 'FILE'.LIS;
$!
$ END:
$   INQUIRE/NOPUNCTUATION ANS "Process another file (Y or N)?  "
$   IF ANS THEN GOTO TOP
$ EXIT
vM ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.