Кіріспе
Мейнфрейм операциялық жүйесі
Мичиган терминалды жүйесі (MTS) – уақытты бөлісе отырып жұмыс істейтін алғашқы компьютерлік операциялық жүйелердің бірі. 1967 жылы Мичиган университетінде IBM S/360 67, S/370 және олармен үйлесімді мейнфрейм компьютерлерде пайдалану мақсатында жасалған. Оны 33 жыл бойы (1967 жылдан 1999 жылға дейін) АҚШ, Канада және Ұлыбританияның сегіз университетінен құралған консорциум әзірледі және қолданды.
Шолу
Мичиган Университетінің көп бағдарламалық басқарушысы (UMMPS) бастапқыда Мичиган Университетінің академиялық есептеу орталығының қызметкерлері IBM S/360 67, S/370 және олармен үйлесімді компьютерлерді жұмыс істету үшін әзірлеген. Бұл бағдарламаны көп бағдарламалық, көп процессорлық, виртуалды жадты, уақытты бөлісе пайдалану басқарушысы деп сипаттауға болады, ол бірнеше тұрақты, қайтадан кіретін бағдарламаларды іске қосады. Осы бағдарламалардың ішінде командаларды түсіндіру, орындауды басқару, файлдарды басқару және есеп жүргізу үшін Мичиган терминалдық жүйесі (MTS) бар. Соңғы пайдаланушылар терминал, пакеттік және серверлік мүмкіндіктерді пайдалана отырып, MTS арқылы есептеу ресурстарымен өзара әрекеттеседі. 1996 жылдың 30 маусымында ол соңғы пайдаланушылар үшін MTS жұмысын тоқтатты. Сол кезде көптеген қызметтер клиент/серверлік есептеу жүйелеріне көшті, әдетте серверлер үшін Unix, ал клиенттер үшін Mac, PC және Unix түрлері қолданылды. Мичиган Университеті 1997 жылдың 30 мамырында MTS жүйесін соңғы рет өшірді. Ренсселер политехникалық институты (RPI) өндірістік ортада MTS-ті пайдаланған соңғы орын деп есептеледі. RPI 1999 жылдың маусым айында MTS-тен бас тартты. Бүгінде MTS әлі де IBM S/370 эмуляторларын, мысалы Hercules, Sim390 және FLEX ES пайдаланып жұмыс істейді.
Шығу тегі
1960 жылдардың ортасында Мичиган университеті Мичиган университетінің Басқару жүйесінің (UMES) бақылауындағы IBM 7090 аппараттық құралдарында пакеттік өңдеу қызметтерін ұсынды, бірақ уақытты бөлісуді пайдалана отырып, өзара әрекеттесетін қызметтерді ұсынуға мүдделі болды. Сол кезде компьютерлердің орындай алатын жұмысы олардың кішкентай нақты жады сыйымдылығымен шектелген еді. IBM 1960 жылдардың ортасында System/360 компьютерлер отбасын ұсынғанда, бұл шектеуге шешім бермеді және IBM ішінде уақытты бөлісудің маңыздылығы және қажеттілігі туралы әртүрлі пікірлер болды. Брюс Арден, Бернард Галлер, Фрэнк Вестервелт (барлығы UM академиялық есептеу орталығының орынбасар директорлары) және Том О'Брайан, Массачусетс технология институтында (MIT) жасалған негізгі идеяларға сүйене отырып, «Уақытты бөлісу ортасында бағдарлама және адрестеу құрылымы» деген мақала 1966 жылдың қаңтарында жарияланды. Мақалада уақытты бөлісуді іске асыру үшін қолданылатын динамикалық мекенжай аудармасын (DAT) пайдаланатын виртуальды жад архитектурасы сипатталды. Бір жылдық келіссөздер мен жобалау зерттеулерінен кейін IBM өзінің S/360 65 негізгі компьютерінің виртуальды жадты қолдайтын және UM-нің уақытты бөлісуді қолдау тілегін қанағаттандыратын динамикалық мекенжай аударма (DAT) мүмкіндіктері бар бірегей нұсқасын жасауға келісті. Компьютер Model S/360 65M деп аталды. Уақытты бөлісу эксперименті MIT-тің Линкольн зертханасынан алынған LLMPS кішкентай көп бағдарламалау жүйесімен біріктірілген «ас үйдегі үстелге жазылған жарты бет код» ретінде басталды. Осы кезде UM Model 67-ні қайтарып, басқа мейнфреймді таңдау, немесе TSS дайын болғанға дейін пайдалану үшін уақытша жүйе ретінде MTS-ті дамыту туралы шешім қабылдау керек болды. Шешім MTS-ті дамытуды жалғастыру болды және персонал бастапқы даму жұмысын 50-ші модельден 67-ші модельге көшірді. TSS-ті IBM ақырында тоқтатты, содан кейін қайта жандандырды, бірақ қайтадан тоқтатты. Бірақ осы уақытқа қарай UM өздері дамытқан жүйені ұнатып қалды, ол енді уақытша деп есептелмейтін еді, және MTS UM және басқа да орталықтарда 33 жыл бойы қолданылды.
Жабдық
Теориялық тұрғыдан алғанда, MTS IBM S/360 67, виртуалды жады бар IBM S/370 сериясының кез келгенінде және олардың мұрагерлерінде жұмыс істейді. MTS келесі компьютерлерде өндірісте, тестілеуде немесе сынақ конфигурациясында жұмыс істеді: 1982 жылы бірінші Amdahl 5860 (сериялық нөмірі 1) және 1986 жылы алғашқы фабрикадан жіберілген IBM 3090–400. NUMAC Ұлыбританиядағы және, мүмкін, Еуропадағы алғашқы S/360 67 желісінде MTS-ті іске қосты. Британ Колумбия Университеті (UBC) 1974 жылы IBM S/370 сериясында (IBM S/370 168) жұмыс істеуге MTS-ті түрлендіруде көшбасшылықты алды. Альберта университеті 1975 жылы Канадада алғашқы Amdahl 470V/6 (сериялық нөмірі P5) орнатты. 1978 жылы NUMAC (Ньюкасл-апон-Тайн және Дурхам университеттерінде) негізгі MTS қызметін IBM S/370 сериясына (IBM S/370 168) көшірді. MTS IBM S/360 67 процессорында төрт процессорды қолдауға арналған, бірақ IBM тек бір (simplex және half duplex) және екі (duplex) процессор конфигурацияларын шығарды. 1984 жылы RPI MTS-ті IBM S/370 XA (Extended Addressing) аппараттық сериясындағы 32 процессорды қолдау үшін жаңартты, бірақ 6 процессор шын мәнінде қолданылған ең үлкен конфигурация болуы мүмкін. MTS IBM 3090 және ES/9000 жүйелерінде опция ретінде қол жетімді IBM Vector Facility-ті қолдайды. 1967 жылдың басында виртуалды жады қолдаусыз UM-дегі IBM S/360 67 бір процессорында жұмыс істейтін MTS әдетте 5 бір мезгілдегі терминал сессиясын және бір топтама жұмысын қолдайтын. 1991 жылдың соңында UM-дегі MTS 600-ден астам бір мезгілдегі терминал сессиясын және 3-тен 8-ге дейінгі топтамалық жұмыстарды қолдайтын IBM ES/9000 720-де жұмыс істеді. 1967 жылы IBM S/360 67 компьютерінде виртуалды жады және динамикалық адресті аудару (DAT) қолданылды. 1968 жылы екі процессорлы IBM S/360 67 компьютерінде мультипроцессорлық технология қолданылды. (Ол кездегі) өте үлкен виртуалды адрестік кеңістікке қол жетімді бағдарламалар. Терминал және топтама жұмыстары үшін бірдей қарапайым команда тілі. Терминалдарға, дискі файлдарына, принтерлерге, магниттік және қағаз таспаларына, карталарды оқығыштарға және перфораторларға, дискеталарға, желілік хосттарға және дыбыстық жауап беру блогына (ARU) қол жеткізуге мүмкіндік беретін тәуелсіз құрылғыға тәуелсіз кіріс/шығыс моделі. "Сызық файлдарын" қолданатын файл жүйесі, онда жеке жолдардың нөмірлері мен ұзындығы жолдың дерек мазмұнынан бөлек метадеректер ретінде сақталады, сондай-ақ файлдың кез келген жерінде жеке жолдарды оқу, енгізу, ауыстыру және жою мүмкіндігі бар, бұл бүкіл файлды оқу немесе жазу қажеттігін жояды. SNOBOL4 үлгілеріне негізделген командалық және "көрнекі" интерфейстермен және үлгілерді сәйкестендіруге арналған файл редакторы ($EDIT). Файлдарды басқарылатын тәсілдермен бөлісу мүмкіндігі (оқу, жазу, өзгерту, жазу, кеңейту, жою, рұқсат беру). Файлдарға тек басқа пайдаланушы идентификаторлары мен жобаларына (топтар деп аталады) ғана емес, сонымен қатар белгілі бір командалар немесе бағдарламалар мен пайдаланушы идентификаторларының, жобалардың, командалардың және бағдарламалардың комбинацияларына рұқсат ету мүмкіндігі. Электрондық пошта жүйесі ($MESSAGESYSTEM) жергілікті және желілік поштаны қолдайды, топтарға жіберу, әлі оқылмаған хаттарды қайтару, жіберілгеннен кейін хаттарға алушыларды қосу және электрондық пошта тізбегіндегі хаттар тарихын көрсету мүмкіндігі бар, бұл жаңа хабарламаларға ескі хабарламалардың мәтінін қосу қажеттігін жояды. Таспаларға қашықтан қол жеткізу және бірнеше таспаларға таралған дерек жиынтықтарын тиімді басқару мүмкіндігі. Жақсы құжатталған ішкі бағдарламалық кітапханалардың бай жинағы. Бірнеше пайдаланушының ортақ қайта кіретін ішкі бағдарламалар жиынтығын жылдам жүктеу және пайдалану мүмкіндігі, олар ортақ виртуалды жадыда қол жетімді. Компиляторлар, ассемблерлер және Символды жөндеу жүйесі (SDS) бар, олар FORTRAN, Pascal, PL/I сияқты жоғары деңгейдегі тілдерде жазылған бағдарламаларды, сондай-ақ ассемблер тілінде де жөндеуге мүмкіндік береді. Виртуалды жадының аппараттық және S/360 және S/370 аппараттық қадағалаушы және проблемалық күйлерін пайдаланатын және бағдарламалық қамтамасыз ету арқылы проблемалық күйді орындауды жүйелік (мүліктілігі бар немесе қорғалмаған) және пайдаланушы (қорғалған немесе қорғалмаған) режимдерге бөлетін күшті қорғау моделі. Қадағалаушы күйінде салыстырмалы түрде аз код орындалады. Мысалы, құрылғыларды қолдау реті (DSR, құрылғы драйверлері) қадағалаушының бөлігі емес және қадағалаушы күйінде емес, проблемалық күйде жүйелік режимде жұмыс істейді. Бағдарламаны үзіп-төсу (BPI) нұсқаулығы бойынша симуляцияланған.
on the following computers in production, benchmarking, or trial configurations: the first Amdahl 5860 (serial number 1) in 1982, and the first factory shipped IBM 3090–400 in 1986. NUMAC ran MTS on the first S/360 67 in the UK and very likely the first in Europe. The University of British Columbia (UBC) took the lead in converting MTS to run on the IBM S/370 series (an IBM S/370 168) in 1974. The University of Alberta installed the first Amdahl 470V/6 in Canada (serial number P5) in 1975. By 1978 NUMAC (at University of Newcastle upon Tyne and University of Durham) had moved main MTS activity on to its IBM S/370 series (an IBM S/370 168). MTS was designed to support up to four processors on the IBM S/360 67, although IBM only produced one (simplex and half duplex) and two (duplex) processor configurations of the Model 67. In 1984 RPI updated MTS to support up to 32 processors in the IBM S/370 XA (Extended Addressing) hardware series, although 6 processors is likely the largest configuration actually used. MTS supports the IBM Vector Facility, available as an option on the IBM 3090 and ES/9000 systems. In early 1967 running on the single processor IBM S/360 67 at UM without virtual memory support, MTS was typically supporting 5 simultaneous terminal sessions and one batch job. By late 1991 MTS at UM was running on an IBM ES/9000 720 supporting over 600 simultaneous terminal sessions and from 3 to 8 batch jobs. The use of Virtual memory and Dynamic Address Translation (DAT) on the IBM S/360 67 in 1967. The use of multiprocessing on an IBM S/360 67 with two CPUs in 1968. Programs with access to (for the time) very large virtual address spaces. A straightforward command language that is the same for both terminal and batch jobs. A strong device independent input/output model that allows the same commands and programs to access terminals, disk files, printers, magnetic and paper tapes, card readers and punches, floppy disks, network hosts, and an audio response unit (ARU). A file system with support for "line files" where the line numbers and length of individual lines are stored as metadata separate from the data contents of the line, and the ability to read, insert, replace, and delete individual lines anywhere in the file without the need to read or write the entire file. A file editor ($EDIT) with both command line and "visual" interfaces and pattern matching based on SNOBOL4 patterns. The ability to share files in controlled ways (read, write change, write expand, destroy, permit). The ability to permit files, not just to other user IDs and projects (aka groups), but to specific commands or programs and combinations of user IDs, projects, commands and programs. An e mail system ($MESSAGESYSTEM) that supports local and network mail with the ability to send to groups, to recall messages that haven't already been read, to add recipients to messages after they have been sent, and to display a history of messages in an e mail chain without the need to include the text from older messages in each new message. The ability to access tapes remotely, and to handle data sets that extend across multiple tapes efficiently. The availability of a rich collection of well documented subroutine libraries. The ability for multiple users to quickly load and use a collection of common reentrant subroutines, which are available in shared virtual memory. The availability of compilers, assemblers, and a Symbolic Debugging System (SDS) that allow users to debug programs written in high level languages such as FORTRAN, Pascal, PL/I, as well as in assembly language. A strong protection model that uses the virtual memory hardware and the S/360 and S/370 hardware's supervisor and problem states and via software divides problem state execution into system (privileged or unprotected) and user (protected or unprivileged) modes. Relatively little code runs in supervisor state. For example, Device Support Routines (DSRs, aka device drivers) are not part of the supervisor and run in system mode in problem state rather than in supervisor state. A simulated Branch on Program Interrupt (BPI) instruction.
Тарату
Мичиган университеті МТС-ті магниттік таспада үзіліс-кесіліс шығарды, сондай-ақ Мичиган университетінің Deep Blue цифрлық архивінен де қолжетімді болды. D6.0 тарату материалдарымен жұмыс істеу арқылы МТС-тің IPLable нұсқасын жасау мүмкін. МТС-тің жаңа D6.0A дистрибуциясы осы процесті жеңілдетеді. D6.0A 1988 жылғы МТС D6.0 нұсқасына негізделген, түрлі түзетулер мен жаңартулар енгізіліп, 2012 жылы Hercules жүйесінде жұмыс істеуді оңайлатуға бағытталған. Болашақта МТС-тің IPLable нұсқасы 1996 жылы МТС жабылуға азықалғанда Мичиган университетінде қолданылған нұсқаның негізінде қолжетімді болады. Бастапқыда МТС қызығушылық танытқан және оны қолдауға білікті персоналға ие сайттарға лицензиясыз, тегін ұсынылды. 1980 жылдардың ортасында Мичиган университеті МТС консорциумының атынан агенттік қызмет атқарып, лицензияларды ресімдеу рәсімделді. МТС лицензиясы академиялық ұйымдар үшін жылдық 5000 доллар, коммерциялық емес ұйымдар үшін 10 000 доллар, ал коммерциялық ұйымдар үшін 25 000 доллар тұратын. Лицензия МТС-ті коммерциялық есептеу қызметтерін ұсыну үшін пайдалануға тыйым салды. Лицензия алғандар МТС тарату таспаларының толық жиынтығын, жыл ішінде дайындалған барлық қосымша таратуларды, жазбаша орнату нұсқауларын, қолданыстағы пайдаланушы құжаттамасының екі данасын және шектеулі көмек алатын. МТС лицензиясын тек бірнеше ұйым ғана алды. Бірнеше ұйым CONFER сияқты бір ғана бағдарламаны іске қосу үшін МТС лицензиясын алды. Жиналған ақылар МТС консорциумының ортақ шығындарын өтеуге жұмсалды.