Чт, 12.12.2024, 13:40
Приветствую Вас Гость | RSS
Главная | Tрансляторы и w-code - Форум | Регистрация | Вход
Форма входа
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Tрансляторы и w-code
LionLexXxДата: Вт, 24.12.2019, 06:11 | Сообщение # 1
Лейтенант
Группа: Проверенные
Сообщений: 50
Репутация: 1
Статус: Offline
Tрансляторы и w-code
 
alex654Дата: Вт, 24.12.2019, 11:51 | Сообщение # 2
Подполковник
Группа: Проверенные
Сообщений: 122
Репутация: 0
Статус: Offline
Коллеги, такой вопрос из мира "братьев меньших", т.е. s/38, as/400, iSeries, i и вот это вот все.
Обладает ли мир z знаниями об автокоде для w-code?
Я поясню немного откуда этот вопрос и его историю. Как известно, IBM давно поддерживает ряд платформ и набор трансляторов для них.
Где-то в начале 90-х, появилась идея унифицировать трансляторы, так, чтобы они выдавали некий унифицированный автокод (получил название w-code), который затем прогоняют через оптимизатор и затем компилируют для конкретной платформы. Тогда были созданы общие трансляторы с С, RPG, COBOL (может что-то еще) для s/390, as/400, os/2 и rs/6000. 
До того момента, трансляторы на as400 выдавали автокод, который называется MI (ну или сейчас его называют еще old MI - OMI, чтобы отличать от нового MI, он же MI-prime).
MI - достаточно высокоуровневый автокод, специально под платформу as/400, подробно документирован и на нем довольно много писали программ.
В результате работы новых трансляторов, мы получаем бинарный w-code (он еще называется object w-code). Никакой информации по w-code в паблике в нашем мире нет. Есть только некоторые инсайдерские утечки по w-code. Он платформонезависимый. Однако, дает возможность делать указания для оптимизирующего транслятора на целевую платформу. w-code разрабатывается и поддерживается в подразделении не связанном с as/400. Это подразделение, противится открытию w-code в паблик. Сами разработчики as/400 не против были бы его открыть, так же как было сделано в MI, но это не в их юрисдикции, типа.
Может быть в вашем мире есть знание о w-code?
Спасибо.
ps. Я пока не могу создавать свои темы. Спасибо LionLexXx за помощь.


Сообщение отредактировал alex654 - Вт, 24.12.2019, 23:48
 
akostДата: Чт, 26.12.2019, 11:00 | Сообщение # 3
Admin
Группа: Администраторы
Сообщений: 619
Репутация: 5
Статус: Offline
alex654, добрый день.
лично я, со своей системно-административной колокольни, никогда такого зверя, как w-code не видел и не слышал. видел коды для мейнфрейма на родном ассемблере, на высокоуровневом диалекте типа PL/ASM, который транслируется в ассемблер и в бинарник. если что-то похожее на w-code и есть, то это зарыто глубоко в логику транслятора и используется на промежуточном этапе.
да, на мейнфреймах есть кросс-трансляторные библиотеки времени выполнения, но у меня ощущение, что это обычные бинарные модули, сразу разработанные на ассемблере и других языках самой платформы.
а, вообще говоря, вы какую задачу решаете? собрать информацию для исторической справки, получить доступ к транслятору для переноса софта на другую платформу, или что?
P.S. я поднял вам статус, можете создавать темы.
P.P.S. а что, для захода с территории незалежной и на этот наш уютненький сайтик требуются обходные пути?.. вот не думал..
 
alex654Дата: Чт, 26.12.2019, 23:38 | Сообщение # 4
Подполковник
Группа: Проверенные
Сообщений: 122
Репутация: 0
Статус: Offline
Нужно это для работы. Потому что реально сейчас "прямого" автокода для i нет. Есть OMI. Который транслируется в w-code и потом в NMI. 
В z проще, потому что у вас открыта архитектура, что дает возможность создавать эмуляторы типа hercules.
Я знаю с высокой уверенностью, что транслятор С, например, общий для всех платформ от IBM.
 
akostДата: Чт, 02.01.2020, 12:41 | Сообщение # 5
Admin
Группа: Администраторы
Сообщений: 619
Репутация: 5
Статус: Offline
alex654, в z не проще. и открытость архитектуры z - это рекламный миф, уж вы поверьте (при всей моей лояльности, если не любви к архитектуре 370/xa/390/z). например, невозможно найти полное публичное описание SIE. а это же краеугольный камень всей виртуализации! полного описания всех кодов DIAG тоже не будет нигде, это закрытая информация даже внутри IBM, равно как и полный перечень всех команд. я когда-то сцепился на эту тему с индусом, который представлял несколько лет назад новую машину и отвечал как раз за микропрограммы. тот просто открытым текстом сказал, мол, да, все не откроем, но вы не волнуйтесь, мы стараемся вести разработку ОС согласованно с логикой реализации команд процессора, и почти всегда это удается в той или иной степени, а в публичный доступ всей информации мы не откроем, потому что не хотим, это наше преимущество и защита интеллектуальной собственности, так что вообще отвали, будем душить эмуляторы, как только можем.
именно по этой причине часть систем на Геркулесе не работает. да, постепенно народ трассит команды и моделирует диагностики, но это процесс не быстрый.
и про компилятор Си на разных платформах. уже не общий. раньше был общий. сейчас от этой практики отходят, потому что слишком дорого держать единство компиляторов. и архитектура вперед бежит, и сами компиляторы индусам отдают на поддержку. в общем, все нерадужно.
 
alex654Дата: Пт, 03.01.2020, 11:54 | Сообщение # 6
Подполковник
Группа: Проверенные
Сообщений: 122
Репутация: 0
Статус: Offline
Цитата akost ()
Си на разных платформах. уже не общий. раньше был общий. сейчас от этой практики отходят, потому что слишком дорого держать единство компиляторов
Видимо надо пояснить, что придумали в IBM и зачем этот w-code. Как раз и ставилась задача снижения расходов. 
Выигрыш достигается на двух этапах за счет унификации.
Во-первых, трансляторы с ЯВУ выдают платформонезависимый w-code. Затем, запускается оптимизатор w-code. Он общий для всех ЯВУ. И только затем результат транслируется в платформозависимый байт код.
Т.о. отпадает необходимость не только в затратах на поддержку множества трансляторов с одного языка для разных платформ, но и появляется унифицированный оптимизатор для всех языков. 
Откуда мы в мире i немного больше знаем об этом? Потому что у нас сама архитектура OS уже имеет встроенный уровень виртуализации в виде платформонезависимой машины (MI). Более того, все программные объекты включают в себя специальную область (профайл) с кодом программы в MI. Умельцы раскопали в системе транслятор с object w-code в MI и как его запускать. Но вот автокода для него нет.
 
akostДата: Пт, 03.01.2020, 19:28 | Сообщение # 7
Admin
Группа: Администраторы
Сообщений: 619
Репутация: 5
Статус: Offline
alex654, не очень понимаю, как мейнфреймовский софт может вам в этом помочь, но если поможет - отлично.
 
alex654Дата: Пт, 03.01.2020, 23:32 | Сообщение # 8
Подполковник
Группа: Проверенные
Сообщений: 122
Репутация: 0
Статус: Offline
Не обязательно софт. Хотя бы знание по w-code.
 
LionLexXxДата: Ср, 22.09.2021, 08:22 | Сообщение # 9
Лейтенант
Группа: Проверенные
Сообщений: 50
Репутация: 1
Статус: Offline
Цитата alex654 ()
Не обязательно софт. Хотя бы знание по w-code.

вы нашли решение своей проблемы?
 
alex654Дата: Сб, 25.09.2021, 14:40 | Сообщение # 10
Подполковник
Группа: Проверенные
Сообщений: 122
Репутация: 0
Статус: Offline
Цитата LionLexXx ()
вы нашли решение своей проблемы?

Нет, wcode закрыт и похоже это не решаемо. Но, нет худа без добра, есть другие интересные темы. В самом IBM уже запилили транслятор llvм. А это по сути значит что часики для еще одной кучи говна мамонта сильно ускорились. Причем в рочестере всегда недолюбливали w-code, и потому сделали прокладку в виде w-code->NMI при трансляции на всякий случай. Так что переход на LLVM не затронет ядро (SLIC).
 
  • Страница 1 из 1
  • 1
Поиск: