Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
IBM System / 360 Модель 67-2. Это компьютерная модель, на которой работал бы TSS / 360.

IBM Time Sharing System TSS / 360 является прекращено досрочно разделения времени операционной системы , предназначенные исключительно для специальной модели System / 360 линии мэйнфреймы, в модели 67 . Сделанный доступным на пробной основе ограниченному кругу клиентов в 1967 году, он никогда официально не выпускался в качестве поддерживаемого продукта IBM. В TSS впервые появился ряд новых функций, некоторые из которых позже появились в более популярных системах, таких как MVS . TSS был переведен на системы System / 370 и 303x, но, несмотря на многочисленные достижения и новые возможности, TSS не оправдал ожиданий и в конечном итоге был отменен. TSS / 370 использовался в качестве основы для переноса UNIX на мэйнфрейм IBM. [1] TSS / 360 также вдохновил на разработку операционной системы TSS-8 . [2]

Характеристики романа [ править ]

TSS / 360 был одной из первых реализаций сильносвязанной симметричной многопроцессорной обработки . Пара мэйнфреймов Model 67 совместно использовала общее пространство физической памяти и выполняла единственную копию кода ядра (и приложения). Ввод / вывод операция запущен один процессор может закончиться и вызвать прерывание в других. Модель 67 использовала стандартную инструкцию 360 под названием Test and Set для реализации блокировок в критических секциях кода .

Он также реализовал виртуальную память и виртуальные машины с использованием независимого от позиции кода . [3]

TSS / 360 включал раннюю реализацию «Table Driven Scheduler» - настраиваемой пользователем таблицы, столбцы которой были такими параметрами, как текущий приоритет, размер рабочего набора и количество временных интервалов, используемых на сегодняшний день. Ядро будет обращаться к этой таблице при вычислении нового приоритета потока . Позже это появилось в таких разнообразных системах, как Honeywell CP-V и IBM z / OS .

Как это было стандартно для программного обеспечения операционной системы в то время, клиентам TSS / 360 (например, General Motors Research Laboratories ) был предоставлен полный доступ ко всему исходному коду кода операционной системы и средствам разработки. В официальный исходный код часто включались пользовательские улучшения и исправления.

Пользовательский интерфейс [ править ]

TSS предоставляет пользователям интерфейс командной строки . [4] Пользователи взаимодействуют с системой команд . Формат команды состоит из Command_Name[ operands]. Имя команды может содержать от одного до восьми символов без пробелов. Операнды являются необязательными в зависимости от команды и должны отделяться от имени команды как минимум одним пробелом. Несколько операндов следует разделять табуляциейсимволы или запятые. Командные строки можно продолжить, набрав дефис («-») в конце строки, которую нужно продолжить, и набрав продолжение в начале следующей строки. Несколько команд можно написать в строке, разделив их точкой с запятой («;»). Комментарии разрешены в командных строках, отделены от команды точкой с запятой и заключены в одинарные кавычки («'»). Операнды могут быть позиционными или ключевыми в формате «ключевое слово = значение».

Системные команды делятся на семь категорий:

  • Управление задачами - LOGON, LOGOFF, ABEND и т. Д.
  • Управление данными - КАТАЛОГ, DDEF, УДАЛИТЬ и т. Д.
  • Управление программой - LOAD, DUMP, DISPLAY, TRAP и т. Д.
  • Создание команды - PROCDEF, BUILTIN
  • Обработка сообщений
  • Профиль пользователя - СИНОНИМ, ПО УМОЛЧАНИЮ, ПРОФИЛЬ и т. Д.
  • Интерфейс языка программного продукта - ASM ( Ассемблер (F) ), COBOL , HASM ( Ассемблер (H) ), PLI ( PL / I (F) ), PLIOPT ( Оптимизирующий компилятор PL / I ), FTNH ( FORTRAN (H)) , и Т. Д.

Позиционно-независимый код [ править ]

TSS предоставила раннюю реализацию позиционно-независимого кода , возможность запускать в разных процессах одну копию исполняемого файла, возможно, сопоставленную с разными виртуальными адресами в каждом процессе.

Каждая процедура может иметь общедоступную CSECT только для чтения, частную секцию прототипа с возможностью записи (PSECT) и область сохранения с возможностью записи, обычно расположенную в PSECT. Константы адресов внешних процедур и точек входа должны быть расположены в PSECT, так как динамический загрузчик [5] не будет размещать подпрограмму по тому же виртуальному адресу.в каждом процессе. Программа, которая следует соглашениям о связывании типа I, обычно отвечает при входе за сохранение своих регистров в области сохранения, на которую указывает регистр 13, извлечение адреса своего PSECT из слова 19 области сохранения, связывание области сохранения с новой областью сохранения. и помещает адрес новой области сохранения в регистр 13. Вызывающий, который следует соглашениям о связывании типа I, загружает V-константу для подпрограммы в общий регистр 15 (GR15) и копирует R-константу для PSECT подпрограммы в 19-е слово области сохранения указали как GR13 перед вызовом этой подпрограммы. [6] [7]

Когда динамический загрузчик загружает программу, он делает копию PSECT и перемещает adcons, чтобы отразить виртуальные адреса, назначенные в текущем процессе, поэтому каждый пользователь программы имеет уникальную копию PSECT.

Динамический загрузчик не загружает страницы программы и не разрешает адресные константы до отказа первой страницы.

Критика [ править ]

TSS / 360 страдает от проблем с производительностью и надежностью, а также от несовместимости с OS / 360 , хотя в конечном итоге эти проблемы были решены. IBM попыталась разработать TSS по очень агрессивному графику с большим штатом программистов, чтобы конкурировать с Multics . К 1967 году стало очевидно, что TSS / 360 страдает от тех же задержек, что и OS / 360. В феврале 1968 г., во время публикации SHARE30, восемнадцать сайтов S / 360-67 пытались запустить TSS. Во время конференции IBM объявила "синим письмом", что TSS / 360 выводится из эксплуатации, что стало большим ударом для сообщества разделения времени. Это решение было временно отменено, и TSS / 360 официально не отменяли до 1971 года. Однако некоторое время TSS / 360 продолжал оставаться доступным для существующих клиентов TSS / 360 в качестве временной меры.

После отмены TSS / 360 IBM вложила свои основные усилия в опцию разделения времени (TSO), монитор разделения времени для OS / 360. Несколько других групп разработали менее амбициозные и более успешные системы разделения времени для S / 360-67, в частности CP-67 в Кембриджском научном центре IBM , ранний монитор виртуальных машин, который превратился в VM / 370 , MTS в Мичиганском университете и ORVYL в Стэнфордском университете . IBM также предоставила TSS / 370 PRPQ в качестве пути миграции для существующих клиентов TSS / 360, которые прошли через несколько выпусков.

См. Также [ править ]

  • История операционных систем мэйнфреймов IBM
  • Развитие системы разделения времени
  • История операционных систем
  • Хронология операционных систем

Ссылки [ править ]

  1. ^ Фелтон, Вашингтон; Миллер, Г.Л .; Милнер, Дж. М. (октябрь 1984 г.). «Система UNIX: реализация системы UNIX для System / 370». Технический журнал AT&T Bell Laboratories . 63 (8): 1751–1767. DOI : 10.1002 / j.1538-7305.1984.tb00063.x .
  2. ^ К. Гордон Белл; Дж. Крейг Мадж; Джон Э. Макнамара (12 мая 2014 г.). Компьютерная инженерия: взгляд DEC на проектирование аппаратных систем . Elsevier Science. п. 180. ISBN 978-1-4832-2110-6. TSS / 8 был разработан в Университете Карнеги-Меллона с аспирантом Адрианом ван де Гуром в ответ на стоимость, производительность, надежность и сложность IBM TSS / 360 (для их модели 67). Хотя TSS / 360 не продавался, в конечном итоге он сработал, внес в него некоторые идеи и тысячи специалистов для IBM. В Карнеги-Меллон (CMU) TSS / 8 работал до 1974 года, когда истек срок действия специального сменного диска. Стоимость на пользователя или на задание, как правило, составляла около 1/20 стоимости CMU системы TSS / 360.
  3. ^ Левин, Джон Р. (2000) [октябрь 1999]. «Глава 8: Загрузка и наложения». Линкеры и загрузчики . Серия Морган Кауфманн в программной инженерии и программировании (1-е изд.). Сан-Франциско, США: Морган Кауфманн . ISBN 1-55860-496-0. OCLC  42413382 . ISBN 978-1-55860-496-4 . Код: [1] Исправление: [2]
  4. ^ Корпорация IBM (август 1976 г.). Руководство пользователя системы команд системы разделения времени (GC28-2001-9) (PDF) . Проверено 2 мая 2015 года .
  5. ^ IBM System / 360 Time Sharing System Dynamic Loader (PDF) (Четвертое издание). Сентябрь 1971 г. GY28-2031-3.
  6. ^ Корпорация IBM (апрель 1976 г.). Руководство программиста IBM Time Sharing System Assembler (GC28-2032-6) (PDF) . С. 132–147 . Проверено 2 мая 2015 года .
  7. ^ Корпорация IBM (1966). IBM System / 360 Model 67 Предварительное техническое описание системы разделения времени (C20-1647-0) (PDF) . С. 47–50 . Проверено 2 мая 2015 года .

Дальнейшее чтение [ править ]

  • Пью, Эмерсон; Лайл Р. Джонсон; Джон Х. Палмер (1991). Системы IBM 360 и Early 370 . Кембридж, Массачусетс: MIT Press. стр.  362 -265, 596. ISBN 0-262-16123-0. Описывает происхождение и проблемы с расписанием TSS.
  • Брукс, Фредерик П. (1995). Мифический человеко-месяц . Читающий Массачусетс: Эддисон-Уэсли. ISBN 0-201-83595-9. Описывает «синдром второй системы», повлиявший на СТШ.

Внешние ссылки [ править ]

  • Архив программного обеспечения , являющегося общественным достоянием , включает исходный код TSS / 370 и двоичные архивы
  • Архив руководств TSS / 360 на BitSavers.org , содержит PDF-файлы для большого количества руководств по TSS от IBM.