Рубрика «VM/370»

Здравствуйте, уважаемые хабарчане!
Почти неделю назад я написал свой первый пост о VM/370. Первым комментарием к нему было совершенно справедливое замечание:

Весело, конечно, но «полотно» состоит в основном из выводов команд. Если честно, гораздо интереснее прочитать не только про саму установку системы, но и про её «кишки», как, что, да почему.
Исследовать исходники VM/370, к примеру.

Да, действительно, туториал по установке мягко говоря устаревшей ОС интересен только в общепознавательном плане как демонстрация ее возможностей. А вот описание принципов работы с цитатами из исходников — другое дело. Тем более, что исходники доступны. Проблема только в том, что подобное описание — дело серьезное.
Принципы работы VM/370 описаны в этом трехтомнике. Сам исходный код — сравнительно небольшой, «всего» двести тысяч строк на ассемблере — CP и примерно столько же — CMS. Но работа все равно предстоит капитальная.
В этой статье я не ставлю перед собой задачу даже начать цикл о внутренностях VM/370. Я только объясню как я извлек исходный код VM/370 в читабельном формате. В процессе извлечения я узнал кое-что интересное про работу с VM/370.
Читать полностью »

Прочитав на Хабре интересную статью о VM/370, добавлю, что архитектура IBM/370 и операционная система VM/370 в частности дали многим людям возможность приобщиться к современным технологиям и архитектурам OS и “железа” лет этак на 10/20/30 (в зависимости от возраста программиста) раньше, чем эти технологии стали общедоступными для всех нас на обычных PC.

Например, еще в далеком 1972 году машины IBM/370 под управлением VM/370 имели:

  • 32-битную архитектуру и мультизадачную 32-битную OS. На PC это стало доступно только через 20 лет, в 1992 году для пользователей OS/2, а массовому юзеру – вообще через 23 года, в Windows 95.
  • Поддержку страничной виртуальной памяти (MMU) и подкачки. На PC такие возможности появились спустя 20 лет в OS/2. Аппаратная поддержка страничной памяти появилась на PC в 1986 году (через 14 лет после IBM/370), но операционные системы очень долго не умели ее использовать.
  • 16 регистров общего назначения. На PC до этого дошли только через 31 год, в 2003 году. Большое количество регистров сильно упрощает генерацию и повышает эффективность кода.
  • Аппаратную 128-битную арифметику с плавающей точкой и BCD-арифметику. На PC их нет и сейчас. :)

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js