IBM System/360 Model 67 (S/360-67) — важливий варіант мейнфрейму IBM System/360, що першим у даній серії містив апаратні засоби для полегшення реалізації систем з розподілом часу, такі як модуль керування пам'яттю («DAT box», від англ. dynamic address translation) для підтримки віртуальної пам'яті і 32-бітної адресації.[1] У всьому іншому модель S/360-67 була сумісною з іншими машинами серії 360.

IBM System/360 Model 67
IBM System/360 Model 67-2 (duplex) у Мічиганському університеті, приблизно 1969 рік
ВиробникInternational Business Machines Corporation (IBM)
СімействоSystem/360

Історія

ред.

Метою створення S/360-67 було задовольнити потреби ключових замовників систем розподілу часу, таких як MIT (де IBM зазнала тотального фіаско при спробі участі як постачальних апаратури у проекті MAC), Мічиганський університет, General Motors, Bell Labs, Принстонський університет і Технологічний університет Карнегі (що став пізніше Університетом Карнегі-Меллон).[2]

В середині 1960-х все більшої популярності набувала ідея інтерактивних комп'ютерних сервісів, і як наслідок, багато організацій почали виявляти інтерес у системах розподілу часу, де реалізація таких сервісів стала б можливою.[3] Комп'ютери тих часів, як правило, мали обмежені можливості керування пам'яттю, слабко пристосовані для роботи багатокористувацьких і багатозадачних систем. Поява лінії System/360 у 1964 році не відзначилася наявністю таких засобів (власне, архітектура системи проектувалася під пакетну обробку завдань), а всередині самої IBM важливість систем з розподілом часу усвідомлювалася досить слабко.

Перед анонсом моделі 67 IBM такою оголосила про майбутні моделі 64 and 66, що мали бути відповідниками моделей 60 і 62 відповідно, але обладнані DAT-пристроєм. Втім, майже одразу модель 67 замінила 64 і 66, одночасно з заміною анонсованих 60 and 62 на модель 65.[4]

Анонс

ред.

Анонс моделі 67 IBM відбувся 16 серпня 1965 року у формі «синього листа» (стандартний механізм, використовуваний IBM для оголошення про доступність нових продуктів). У анонсі, зокрема, зазначалося:[5]:17

  • «З машин System/360 моделі 67 знято спеціальні обмеження на продаж» (іншими словами, машина доступна для придбання)
  • Наявність як опції «мультипроцесорної конфігурації з високим степенем доступності системи», з кількістю процесорів до чотирьох (втім, ця цифра була лише анонсом — насправді будувалися лише комп'ютери з максимум двома процесорами)[1]
  • Підтримка «власної потужної операційної системи … — системного монітора для розподілу часу» (англ. Time Sharing System monitor, TSS), що може надавати «практично миттєвий доступ і відгук комп'ютера» і завдяки якому можна скористатися «унікальними можливостями мультипроцесорної системи»
  • Реалізація «динамічного переміщення прикладних програм завдяки наявності у процесорі 2067 засобів динамічної трансляції адрес пам'яті, що дозволяє швидкий доступ (в межах секунд) для багатьох користувачів одночасно»

Віртуальна пам'ять

ред.

Радикальною зміною, доданою до архітектури System/360, у моделі 67 став так званий DAT-блок (англ. Dynamic Address Translation box) — апаратне розширення, за допомогою якого реалізувалася віртуальна пам'ять. Архітектура DAT базувалася на публікації 1966-го року у Journal of the ACM[6], і містила як сегментацію, так і таблиці сторінок. Реалізація віртуальної пам'яті у моделі 67 стала основою для пізнішої лінійки машин IBM System/370.

Адресний простір у моделі 67 міг бути як 24-розрядним (сумісним з іншими моделями), так і 32-розрядним.[1] Віртуальний адресний простір поділявся на сторінки розміром 4096 байт, які групувалися у «сегменти» розміром 1 мегабайт. Відображення сторінок на фізичну пам'ять здійснювалося динамічно. Наявність у атрибутах сторінок бітів «reference» і «change» дозволила реалізувати підкачування на вимогу[en]: звернення до сторінки, яка не відображена на реальну пам'ять, викликає обробник виняткової ситуації «сторінка відсутня»[en] (частина супервізора операційної системи), який може завантажити вміст сторінки з зовнішнього пристрою, «вивантаживши» туди яку-небудь-іншу сторінку, не потрібну у даний момент.

Система віртуальної пам'яті S/360-67 дозволила досягти наступних важливих цілей:

  • Збільшений простір адрес пам'яті, з динамічним відображенням на сторінки фізичної пам'яті. Механізм «підкачування» на вимогу завантажував сторінки з пристрою зберігання даних (диск або магнітний барабан), і це відбувалося без участі прикладних програм.
  • Ізоляція компонентів ОС. Це дозволило вивільнити додатковий простір адрес, що раніше належав супервізору ОС, для потреб прикладних програм, і унеможливити руйнування ділянок пам'яті ОС з програм користувачів.
  • Множинні адресні простори, які потенційно дозволяли імплементувати для кожного користувача віртуальну машину, хоча повна апаратна віртуалізація не була ціллю створення моделі 67.

Особливості системи

ред.

Нові компоненти

ред.

Конфігурації

ред.

Для System/360 Model 67 було запропоновано три базових конфігурації машини:

  • Симплексна — один процесор IBM 2067-1, від двох до чотирьох блоків феритової пам'яті IBM 2365-2 (загальний об'єм від 0,5 до 1 мегабайта), до семи каналів, інша периферія. Назва цієї системи була IBM System/360 Model 67-1.
  • Напівдуплексна — один процесор IBM 2067-2, від двох до чотирьох блоків пам'яті IBM 2365-12 (0,5 … 1 мегабайт загалом), один блок конфігурації IBM 2167, один або два канальних контролера IBM 2846, до 14 каналів, інша периферія.
  • Дуплексна —два процесори IBM 2067-2, від чотирьох до шести блоків пам'яті IBM 2365-12 (об'єм від 768 кілобайт до 2 мегабайт), блок конфігурації IBM 2167, один або два канальних контролера IBM 2846, до 14 каналів, інша периферія.

На замовлення користувача напівдуплексну систему було можна модернізувати без демонтажу комп'ютера: додавався ще один процесор IBM 2067-2 і третій блок пам'яті 2365-12. Напівдуплексні і дуплексні конфігурації називалися IBM System/360 Model 67-2.

Операційні системи

ред.

Вплив

ред.

Модель 67 суттєво вплинула на подальший розвиток комп'ютерів. Після невдачі з TSS/360, IBM з подивом спостерігала за розквітом інших операційних систем з розподілом часу на платформі S/360-67, таких як CP/CMS, MTS і MUSIC/SP). Комп'ютер було встановлено у відносно великій кількості комерційних, академічних і муніципальних установ, які, користуючись прохолодним ставленням IBM до ОС з розподілом часу, створювали такі системи самостійно — не в останню чергу завдяки спільній роботі і спільному доступу до інформації, ресурсів і сирцевих кодів.

Унікальні особливості S/360-67 не знайшли свого продовження у перших системах лінії System/370 (модель 370/145 мала так звану асоціативну пам'ять, що за дизайном більш підходила для підкачування сторінок).[7] Такі рішення були наслідком довгих (і видимих ззовні) «політичних битв» всередині самої IBM, що ніяк не могла дійти внутрішньої згоди про важливість систем розподілу часу, у порівнянні з традиційними пакетними системами. Принаймні на початку підтримка розподілу часу програвала.

Втім, попит на системи з розподілом часу і віртуальною пам'яттю невпинно зростав. Зрештою, IBM не змогла далі ігнорувати велику кількість інсталяцій S/360-67 з системним програмовим забезпеченням сторонніх виробників (наприклад, National CSS[8] [9] або Interactive Data Corporation (IDC)[5]:24), що швидко розвивали комерційний успіх.

У 1972 році IBM додала підтримку віртуальної пам'яті до машин серії System/370 — крок, що розглядався багатьма[ким?] як продовження ідей проекту S/360-67. Розвиток операційної системи VM також великою мірою завдячує платформі S/360-67.

У 2010 році IBM у описі свого найновішого мейнфрейму z196 зазначила, що підтримка віртуалізації почалася з машини System/360 Model 67.[10]

Примітки

ред.
  1. а б в IBM System/360 Model 67 Functional Characteristics (PDF) (англ.) (вид. Third Edition). IBM publication GA27-2719-2. February 1972. Архів оригіналу (PDF) за 14 березня 2012. Процитовано 23 листопада 2018.
  2. Tom Van Vleck (1995, 1997, 2005, 2009). The IBM 360/67 and CP/CMS (англ.). Архів оригіналу за 4 грудня 2018. Процитовано 3 грудня 2018.
  3. Susan Topol (13 травня 1996). A History of MTS — 30 Years of Computing Service. Information Technology Digest. University of Michigan. 5 (5). Архів оригіналу за 1 травня 2013. Процитовано 3 грудня 2018.
  4. DIGITAL COMPUTER NEWSLETTER: IBM System/360 time-sharing computers. Office of Naval Research, Mathematical Sciences Division. July 1965. с. 5—6. Архів оригіналу за 1 грудня 2012. Процитовано 28 листопада 2018.
  5. а б Melinda Varian (1997). VM and the VM community, past present, and future (PDF). SHARE 89 Sessions 9059-9061 (англ.). Архів оригіналу (PDF) за 13 травня 2006. Процитовано 22 листопада 2018.
  6. Bruce W. Arden; Bernard A. Galler; T. C. O'Brien; Franklin H. Westervelt (January 1966). Program and Addressing Structure in a Time-Sharing Environment. Journal of the ACM (англ.). 13 (1): 1—16. doi:10.1145/321312.321313.
  7. IBM. IBM Maintenance Library 3145 Processing Unit Theory - Maintenance. SY24-3581-2.:CPU 117–129
  8. Harold Feinleib (березень 2005). A technical history of National CSS (PDF) (англ.). Computer History Museum. Архів оригіналу (PDF) за 30 вересня 2007. Процитовано 21 листопада 2018.
  9. Dick Orenstein (січень 2005). From the very beginning… from my vantage point ― early history of National CSS (PDF) (англ.). Computer History Museum. Архів оригіналу (PDF) за 30 вересня 2007. Процитовано 21 листопада 2018.
  10. SG24-7832-00: IBM zEnterprise System Technical Introduction (PDF) (англ.). с. 57. Архів оригіналу (PDF) за 15 січня 2018. Процитовано 21 листопада 2018. Starting in 1967, IBM has continuously provided software virtualization in its mainframe servers.

Джерела

ред.