ТСС (операционная система)
![]() | Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( Август 2010 г. ) |
![]() | |
Разработчик | ИБМ |
---|---|
Рабочее состояние | Снято с производства |
Исходная модель | Источник доступен |
Первоначальный выпуск | 1967 год |
Доступно в | Английский |
Платформы | System/360 Model 67 , System/370 с DAT модели |
По умолчанию пользовательский интерфейс | Интерфейс командной строки |
Лицензия | ТСС/360: бесплатно TSS/370: Собственный |
История операционных систем для мэйнфреймов IBM |
---|

IBM — Time Sharing System TSS/360 — это снятая с производства ранняя с разделением времени, операционная система разработанная специально для специальной модели System/360 линейки мэйнфреймов Model 67 . Доступный на пробной основе ограниченному кругу клиентов в 1967 году, он никогда официально не выпускался IBM в качестве поддерживаемого продукта. TSS стала пионером ряда новых функций, некоторые из которых позже появились в более популярных системах, таких как MVS . TSS был перенесен на системы System/370 и 303x , но, несмотря на многочисленные достижения и новые возможности, TSS не оправдал ожиданий и в конечном итоге был отменен. Resident Supervisor TSS/370 использовался в качестве основы для порта UNIX на мэйнфрейм IBM. [1] TSS/360 также вдохновил на разработку операционной системы TSS/8 . [2]
Новые характеристики
[ редактировать ]TSS/360 был одной из первых реализаций тесно связанной симметричной многопроцессорной обработки . Пара мэйнфреймов модели 67 использовала общее пространство физической памяти и выполняла одну копию кода ядра (и приложения). Операция ввода-вывода, запущенная одним процессором, может завершиться и вызвать прерывание в другом. Модель 67 использовала стандартную команду 360 под названием Test and Set для реализации блокировок кода критических разделов .
Он также реализовал виртуальную память и виртуальные машины с использованием позиционно-независимого кода . [3]
TSS/360 включал раннюю реализацию «Планировщика, управляемого таблицами» - настраиваемой пользователем таблицы, столбцы которой представляли собой такие параметры, как текущий приоритет, размер рабочего набора и количество временных интервалов, использованных на сегодняшний день. Ядро будет обращаться к этой таблице при вычислении нового приоритета потока . Позже это появилось в таких разнообразных системах, как Honeywell CP-V и IBM z/OS .
Как это было стандартно для программного обеспечения операционной системы того времени, клиенты TSS/360 (такие как General Motors Research Laboratories ) получали полный доступ ко всему исходному коду операционной системы и инструментам разработки. Разработанные пользователями улучшения и исправления часто включались в официальный исходный код.
Пользовательский интерфейс
[ редактировать ]TSS предоставляет пользователям интерфейс командной строки . [4] Пользователи взаимодействуют с системой команд . Формат команды состоит из Command_Name[ operands]
. Имя команды может содержать от одного до восьми символов без вставных пробелов. Операнды являются необязательными в зависимости от команды и должны быть отделены от имени команды хотя бы одним пробелом. Несколько операндов следует разделять символами TAB или запятыми. Командные строки можно продолжить, введя дефис («-») в конце продолжаемой строки и введя продолжение в начале следующей строки. В одной строке можно записать несколько команд, разделив их точкой с запятой («;»). Комментарии допускаются в командных строках, отделяются от команды точкой с запятой и заключаются в одинарные кавычки («'»). Операнды могут быть как позиционными, так и ключевыми словами в формате «ключевое слово=значение».
Системные команды разделены на семь категорий:
- Управление задачами – ВХОД, ВЫХОД, ВЫКЛЮЧЕНИЕ и т. д.
- Управление данными – КАТАЛОГ, DDEF, DELETE и т. д.
- Управление программой – ЗАГРУЗКА, СБРОС, ДИСПЛЕЙ, ЛОВУШКА и т. д.
- Создание команды – PROCDEF, BUILTIN
- Обработка сообщений
- Профиль пользователя – СИНОНИМ, ПО УМОЛЧАНИЮ, ПРОФИЛЬ и т. д.
- Языковой интерфейс программного продукта – ASM ( Ассемблер (F) ), COBOL , HASM ( Ассемблер (H) ), PLI ( PL/I (F) ), PLIOPT ( Оптимизирующий компилятор PL/I ), FTNH ( ФОРТРАН (H)) , и т. д.
Независимый от позиции код
[ редактировать ]TSS предоставил раннюю реализацию позиционно-независимого кода , возможность запускать разные процессы одной копии исполняемого файла, возможно, сопоставленной с разными виртуальными адресами в каждом процессе.
Каждая процедура может иметь общедоступный CSECT только для чтения, доступную для записи частную секцию прототипа (PSECT) и записываемую область сохранения, обычно расположенную в PSECT. Адресные константы внешних процедур и точек входа должны располагаться в PSECT, поскольку динамический загрузчик [5] не будет размещать подпрограмму по одному и тому же виртуальному адресу в каждом процессе. Программа, которая следует соглашениям о связывании типа I, обычно несет ответственность при входе за сохранение своих регистров в области сохранения, на которую указывает регистр 13, получение адреса своего PSECT из слова 19 области сохранения, связывание области сохранения с новой областью сохранения. и помещение адреса новой области сохранения в регистр 13. Вызывающий абонент, который следует соглашениям о связывании типа I, загружает V-константу для подпрограммы в общий регистр 15 (GR15) и копирует R-константу для PSECT подпрограммы в 19-е слово. область сохранения была указана как GR13 до вызова этой процедуры. [6] [7]
Когда динамический загрузчик загружает программу, он создает копию PSECT и перемещает рекламные объявления, чтобы отразить виртуальные адреса, назначенные в текущем процессе, поэтому каждый пользователь программы имеет уникальную копию PSECT.
Динамический загрузчик не загружает страницы программы и не разрешает адресные константы до тех пор, пока не произойдет ошибка первой страницы.
Критика
[ редактировать ]TSS/360 страдал от проблем с производительностью и надежностью, а также от несовместимости с OS/360 , хотя в конечном итоге эти проблемы были решены. IBM попыталась разработать TSS в очень агрессивном графике с большим штатом программистов, чтобы конкурировать с Multics . К 1967 году стало очевидно, что TSS/360 страдает от тех же задержек, что и OS/360. В феврале 1968 года, во время SHARE 30, восемнадцать объектов S/360-67 пытались запустить TSS. Во время конференции IBM объявила «голубым письмом» о прекращении использования TSS/360, что стало большим ударом для сообщества систем разделения времени. Это решение было временно отменено, и TSS/360 не был официально отменен до 1971 года. Однако TSS/360 какое-то время продолжал оставаться доступным для существующих клиентов TSS/360 в качестве временной меры.
После отмены TSS/360 IBM сосредоточила свои основные усилия на Time Sharing Option (TSO), мониторе разделения времени для OS/360. Несколько других групп разработали менее амбициозные, но более успешные системы разделения времени для S/360-67, в частности, CP-67 IBM в Кембриджском научном центре , первый монитор виртуальных машин, который превратился в VM/370 , MTS в Мичиганском университете и ОРВИЛ в Стэнфордском университете . IBM также предоставила TSS/370 PRPQ в качестве пути миграции для существующих клиентов TSS/360, который прошел несколько выпусков.
См. также
[ редактировать ]- История операционных систем для мэйнфреймов IBM
- Эволюция системы разделения времени
- История операционных систем
- Хронология операционных систем
Ссылки
[ редактировать ]- ^ Фелтон, Вашингтон; Миллер, Г.Л.; Милнер, Дж. М. (октябрь 1984 г.). «Система UNIX: реализация системы UNIX для System/370». Технический журнал AT&T Bell Laboratories . 63 (8): 1751–1767. дои : 10.1002/j.1538-7305.1984.tb00063.x . S2CID 7425099 .
- ^ К. Гордон Белл; Дж. Крейг Мадж; Джон Э. Макнамара (12 мая 2014 г.). Компьютерная инженерия: взгляд DEC на проектирование аппаратных систем . Эльзевир Наука. п. 180. ИСБН 978-1-4832-2110-6 .
TSS/8 был разработан в Университете Карнеги-Меллона совместно с аспирантом Адрианом ван де Гоором в ответ на стоимость, производительность, надежность и сложность IBM TSS/360 (для их модели 67). Хотя TSS/360 не продавался, в конечном итоге он заработал, принес некоторые идеи и обучил тысячи людей для IBM. В Карнеги-Меллоне (CMU) TSS/8 работал до 1974 года, когда срок действия специального подкачивающего диска истек. Стоимость одного пользователя или задания обычно составляла около 1/20 от стоимости CMU системы TSS/360.
- ^ Левин, Джон Р. (2000) [октябрь 1999 г.]. «Глава 8: Загрузка и наложения». Линкеры и загрузчики . Серия Моргана Кауфмана по разработке программного обеспечения и программированию (1-е изд.). Сан-Франциско, США: Морган Кауфманн . ISBN 1-55860-496-0 . OCLC 42413382 . ISBN 978-1-55860-496-4 . Код: [1] Ошибки: [2]
- ^ Корпорация IBM (август 1976 г.). Руководство пользователя системы команд системы разделения времени (GC28-2001-9) (PDF) . Проверено 2 мая 2015 г.
- ^ Динамический загрузчик системы разделения времени IBM System / 360 (PDF) (Четвертое изд.). Сентябрь 1971 г. GY28-2031-3.
- ^ Корпорация IBM (апрель 1976 г.). Руководство программиста ассемблера системы разделения времени IBM (GC28-2032-6) (PDF) . стр. 132–147 . Проверено 25 декабря 2021 г.
- ^ Корпорация IBM (1966). Предварительное техническое описание системы разделения времени IBM System/360 Model 67 (C20-1647-0) (PDF) . стр. 47–50 . Проверено 25 декабря 2021 г.
Дальнейшее чтение
[ редактировать ]- Пью, Эмерсон; Лайл Р. Джонсон; Джон Х. Палмер (1991). Системы IBM 360 и Early 370 . Кембридж, Массачусетс: MIT Press. стр. 362–265 , 596. ISBN. 0-262-16123-0 . Описывает происхождение и график проблем TSS.
- Брукс, Фредерик П. (1995). Мифический человеко-месяц . Ридинг MA: Аддисон-Уэсли. ISBN 0-201-83595-9 . Описывает «синдром второй системы», поражающий СТШ.
Внешние ссылки
[ редактировать ]- Архив программного обеспечения, являющегося общественным достоянием , включает исходный код TSS/370 и двоичные архивы.
- Архив руководств по TSS/360 на BitSavers.org содержит PDF-файлы для большого количества руководств по TSS от IBM.