Опережая массовый рынок на 20-30 лет

в 1:21, , рубрики: cpu, IBM, System/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 их нет и сейчас. :)

  • Загружаемый микрокод, что позволяет исправлять ошибки в нем не меняя процессор. На PC появился спустя 24 года, в Pentium MMX.
  • Архитектуру ввода/вывода с прямым доступом к памяти и очередями команд. На PC это стало доступно массовым пользователям спустя 26 лет в виде интерфейса ATA-4 (с UltraDMA).
  • Полную аппаратную поддержку виртуальных машин. На PC это стало доступно спустя 33 года в виде технологии Intel VT-x. Виртуализацию ввода/вывода (VT-d) добавили еще позже.

Эти примеры наглядно показывают, что многие технологии можно освоить (или даже поучаствовать в их разработке :)) лет на 20-30 раньше, чем они станут популярными и доступными массовому пользователю.

Автор: sysprg

Источник


* - обязательные к заполнению поля


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