Кіріспе

IBM мейнфреймдері үшін арналған, кіші машиналармен қолдануға бағытталған операциялық жүйе. IBM System/360 компьютерлер үшін операциялық жүйелер отбасы.

Дискілік операциялық жүйе/360, сондай-ақ DOS/360 немесе жай ғана DOS, IBM System/360, System/370 және кейінгі мейнфреймдер үшін операциялық жүйелер тізбегінің тоқтатылған бірінші мүшесі. Ол IBM компаниясымен 1964 жылдың соңғы күні жарияланды және алғаш рет 1966 жылдың маусым айында жеткізілді. Өз уақытында DOS/360 әлемдегі ең көп қолданылған операциялық жүйе болды.

BOS/360

Базалық операциялық жүйе (BOS) DOS және TOS-тің алғашқы нұсқасы болып, тек 8 КБ жад және бір 2311 дискілік жетекпен жұмыс істейтін жүйеде де пайдалы мүмкіндіктерді қамтамасыз ете алды.

TOS/360

TOS/360 (Tape Operating System/360, бұл DOS емес және осылай аталынбады) – System/360 үшін IBM операциялық жүйесі, 1965 жылдардың басында System/360 Model 30 және ұқсас платформаларды қолдау үшін пайдаланылды. TOS, атауындағы "Tape" сөзіне сәйкес, таспа жетегін қажет етті. Ол IBM-нің DOS/360 операциялық жүйесімен код базасының көп бөлігін және бірқатар нұсқаулықтарды бөлісті. TOS 14 нұсқадан өтті және System/360 пайдалану кезінде IBM 2311 және IBM 2314 сияқты дискілер қолжетімді болғанда тоқтатылды, бұл дискілер IBM 7090 кезінде өте қымбат құрал саналды.

DOS/360

DOS/360 көптеген шағын және орташа өлшемді S/360 жүйелері үшін негізгі операциялық жүйе болды.

DOS/VS

DOS/VS 1972 жылы жарық көрді. DOS/VS-тің алғашқы нұсқасы DOS/360-тан кезеңді жаңарту екенін көрсету үшін "Release 28" деп аталды. Ол жаңа System/370 сериялы аппараттық құралдарды қолдау үшін виртуалды жадты енгізді. Барлық бөлімдер үшін 16 мегабайтқа дейінгі бір адрес кеңістігін бейнелейтін тұрақты беттік кесте пайдаланды. DOS/VS бөлімдер санын (параллель түрде іске қосылатын жеке бағдарламалар) үштен (Түсіргі, Алдыңғы 1 және Алдыңғы 2 деп аталатын) беске (BG және F1-ден F4-ке дейін) дейін арттырды және жүйеде жалпы он бес қосалқы тапсырмаға рұқсат берді. DOS/VS-ті DOS/VSE, одан кейін z/VSE алмастырды.

DOS/VSE

DOS/VSE 1979 жылы жаңа 4300 процессорларын қолдау мақсатында DOS/VS-тің "толықтырылған" нұсқасы ретінде ұсынылды. 4300 жүйелері процессор және I/O арналары үшін біртұтас жадты қамтамасыз ететін ECPS:VSE атты мүмкіндікке ие болды. DOS/VSE ECPS:VSE-ді қолдағанмен, бұл мүмкіндіксіз System/370 жүйесінде де жұмыс істей алатын. VSE – DOS-тың соңғы ақысыз нұсқасы еді.

VSE/AF

VSE/Advanced Functions (VSE/AF) – DOS/VSE жүйесіне жаңа құрылғылар қолдауын және функционалдық мүмкіндіктерді қосатын өнім. Көптеген орналымдар VSE/AF-ті DOS/VSE, VSE/AF және түрлі басқа өнімдерді біріктіретін VSE System Installation Productivity Option/Extended (VSE System IPO/E) сияқты өнімдер арқылы орнатты.

SSX/VSE

SSX/VSE ("Small System Executive") – IBM-нің VSE жүйесін сатып алу және орнатуды жеңілдету мақсатымен жасалған, операциялық жүйе мен ең көп қолданылатын өнімдерді қамтитын алдын ала дайындалған жүйе. SSX 1982 жылы жарыққа шықты, кейін VSE/SP онымен алмастырылды. SSX, IBM тарапынан 14 компоненттен тұратын өнімдер жиынтығы ретінде сатылды (Advanced Functions/VSE, VSE/POWER, ACF/VTAME, VSE/VSAM, CICS/DOS/VS, DOS/VS, Sort/Merge, VSE/ICCF, VSE/OCCF, VSE/IPCS, DOS/COBOL, Back Up/Restore, Space Management, VSE/DITTO). Бастапқыда IBM жеке өнімдерді тек RPQ арқылы ұсынуға келісті, бірақ кейін ISV компанияларының монополияға қарсы заңдар бұзылғаны туралы талаптарына байланысты, IBM бұл өнімдерді жеке баға тізіміне қосуға мәжбүр болды.

VSE/SP

1986 жылы IBM 9370 процессорларын жариялаумен бірге VSE/SP ("System Product") жүйесін шығарды. VSE/SP, SSX/VSE-ді ығыстырып, VSE-ді VSE/AF, ACF/VTAM, CICS және POWER/VS сияқты ең көп қолданылатын VSE бағдарламалық өнімдерімен бірге ұсынды. Клиенттердің XA (31 бит) нұсқасын беру туралы өтініштеріне қарамастан, VSE/SP тек 24 биттік адрестерді ғана қолдады.

VSE/ESA

VSE/ESA – 1990 жылы шығарылған, 384 МБ-ға дейін нақты жадты қолдайтын 31 биттік DOS/VSE нұсқасы. Ол он екі статикалық бөлімді қамтамасыз етті және VSE/POWER мен ACF/VTAM-ның жеке адрес кеңістіктерінде жұмыс істеуіне мүмкіндік берді. Ол сондай-ақ, әрқайсысы өз адрес кеңістігінде 150-ге дейін бір мезгілде жұмыс істеуге мүмкіндік беретін динамикалық бөлімдер деп аталатын жаңа мүмкіндікті ұсынды. 1-ші нұсқа ESA немесе 370 режимінде жұмыс істей алады, ал ESA режимі шектеулермен XA аппараттық құралдарын да қолдайды. 2-ші нұсқа (1995) тек ESA аппараттық құралдарымен ESA режимін ғана қолдайды. 2-ші нұсқада жаңа Turbo Dispatcher арқылы көппроцессорлық қолдау қосылды, ол әртүрлі процессорларда әртүрлі бөлімдердің бір уақытта орындалуына мүмкіндік береді. Бір бөлім бір уақытта тек бір процессорда ғана жұмыс істей алады, бұл көп процессорлық өңдеуді көбінесе көп тапсырмалы өңдеумен шектейді. Теориялық тұрғыдан онға дейін процессор қолдау көрсетіледі ("қабылданады"), бірақ нақты қолданылатындардың саны төртке дейін жетеді. Бұл шектеулер соңғы z/VSE нұсқасында да сақталады.

z/VSE

IBM z/VSE 3.1 2005 жылы жарияланды. Атаудың өзгеруі IBM-нің мейнфрейм өнімдерінің жаңа "System z" брендіне сәйкес келді, бірақ бұл VSE/ESA 2.7-ден архитектураның түбегейлі өзгеруін білдірмеді. Атап айтқанда, ол жаңа 64 биттік z/Architecture-ны қолдамады, тіпті 64 биттік мүмкіндігі бар машиналарда да тек 31 биттік режимде жұмыс істеді. 2007 жылы жарияланған z/VSE 4.1 8 ГБ дейін жадпен 64 биттік нақты адрестеуді енгізді. Дегенмен, супервайзердің бір бөлігі 64 биттік режимде жұмыс істесе де, ол проблемалық режимдегі бағдарламаларға тек 31 биттік виртуалды адрестік кеңістіктерді ғана ұсынады. 2011 жылғы мәлімет бойынша z/VSE-ні пайдаланатын шамамен 4000 орын болды.

Жабдықтарға қойылатын талаптар

DOS/360 стандартты нұсқаулар жиынтығымен System/360 процессорын (25 және одан жоғары модель) қажет етті (ондық және қозғалатын нүкте нұсқаулар жиынтықтары қосымша). Ең аз жад көлемі 16 КБ болды; сақтауды қорғау тек көп бағдарламалық қолданылса ғана қажет болды. 1052 Model 7 принтерлік пернетақта, таңдау немесе көптеулеу канал және кемінде бір дискілік жетек қажет болды – бастапқыда 7,25 МБ көлемді 2311 жетегі. Әдетте карта оқу құрылғысы, карта тесу құрылғысы және жолдық принтер қосылған, бірақ магниттік ленталық жетектерді алмастыруға болады. Жадты одан әрі азайту үшін, қажет болған жағдайда екі уақытша аймақтың біріне оқылатын «транзиенттер» деп аталатын жапсырмалар қолданылды. Физикалық транзиенттер 556 байттық А транзиенттік аймаққа аппараттық қателерді (ERP) өңдеу, IJSYSRC-де қате туралы нақты деректерді (OBR/MDR) жазу және қате туралы хабарламаларды шығару үшін жүктелді. Барлық А транзиенттік модульдер атауымен басталды. Логикалық транзиенттер 1200 байттық B транзиенттік аймаққа жүктелді, LIOCS үшін OPEN және CLOSE сияқты жалпы бағдарламалық қызметтерді ұсыну үшін. Барлық B транзиенттік модульдер атауымен басталды. және префикстерін пайдалану транзиенттердің тез жүктелуін қамтамасыз етті, өйткені олардың атаулары каталогта бірінші орында сақталды. DOS/VS машиналық тексеру және каналдық тексеру басқарушыларын қосты, олар қалпына келтіру транзиттік аймағында басталатын және орындалатын транзиенттердің тағы бір жиынтығы болды. Бұл System/370 жүйесінің сенімділігін, қолжетімділігін және қызмет көрсету мүмкіндігін (RAS) жақсартудың бір бөлігі ретінде жасалды. Осы қосымшадан бұрын машиналық тексеру бағдарламаның тоқтауына, ал каналдық тексеру қате пайда болған кезде құрылғыға қол жеткізуге тырысатын бағдарламаның тоқтауына әкелді.

Көп бағдарламалау

OS/360 сияқты, DOS-тың алғашқы нұсқалары бір уақытта тек бір бағдарламаны ғана іске қоса алатын. "Нағыз" DOS-тың кейінгі нұсқалары жеке жад бөлімдерінде бір мезгілде үш бағдарламаны іске қоса алды, бұл OS/360 операциялық жүйесінің сол аппараттық жадты қорғау мүмкіндіктерімен қолдау көрсетілді. Олар BG (фондық), F1 (алдыңғы план 1) және F2 (алдыңғы план 2) деп белгіленді. Көп бағдарламалау DOS/360-тың қосымша мүмкіндігі болды және жүйе құрылған кезде таңдауға болатын. Кейінірек SYSGEN опциясы FG бөлімінде пакеттік режимде жұмыс істеуге мүмкіндік берді. Әйтпесе, алдыңғы план бағдарламаларын компьютер операторы қолмен іске қосу керек еді. DOS/VS бір мезгілде жеті бағдарламаға дейін іске қосуға рұқсат берді, бірақ DOS жүйелерін қолдайтын аппараттық құралдардың көлемі шағын болғандықтан бес немесе алты бағдарлама көбірек кездесетін. DOS және DOS/VS екеуі де бөлімдер санын IPL (Initial Program Load) кезінде орнатуға мүмкіндік береді, бұл IBM терминінде жүктеу.

Бағдарлама кітапханалары

Орындалатын бағдарламалар Core Image Library-де сақталған. Жұмыс істеп тұрғанда, DOS бағдарламалар жойылғанда немесе жаңа нұсқалармен алмастырылғанда кеңістікті босата алмайтын. Core Image Library толып кеткенде, оны арнайы бағдарлама арқылы сығып алу қажет болатын, бұл толық аяқталғанша әзірлеме жұмысын тоқтата тұруға мүмкіндік беретін. Көптеген мекемелер өзгерістерді бір күнге тоқтатып, CIL-ді "офлайн" режимінде сығып, жұмыс күнінің басында жаңа Core Image Library-мен IPL-ді жүзеге асыратын. Сонымен қатар, байланыстырылатын объектілік бағдарламалар үшін жылжымалы кітапхана, ал құрастырушы макростары мен қосымша мәтін үшін бастапқы код кітапханасы да қолдау көрсетілді. Орнатулар басқа дискілерде қосымша жеке жылжымалы және бастапқы код кітапханаларын анықтай алатын.

Телекоммуникациялар

DOS/360 негізгі телекоммуникациялық қолжетімділік әдісін (BTAM) және кезекке қойылған телекоммуникациялық қолжетімділік әдісін (QTAM) ұсынды. BTAM кейінгі стандарттармен салыстырғанда қарапайым және қолдануға қиын болды, бірақ байланыс протоколдарының стандарты аз болған кезде кез келген типтегі терминалмен байланыс орнатуға мүмкіндік берді, бұл үлкен артықшылық болды. Оның API-ының қарапайымдылығы сыртқы байланыс процессорларын салыстырмалы түрде оңай қосуға мүмкіндік берді, бұл DOS/360 машиналарының ірі ұйымдардың көп деңгейлі желілерінде түйін ретінде жұмыс істеуіне жағдай жасады. Ал QTAM пайдаланушыларына жеке құрылғылар туралы көп білім қажет болмады, себебі QTAM логикалық деңгейде OPEN/CLOSE/GET/PUT макрокомандаларын қолданды.

Жұмысты бақылау

DOS-тың барлық жұмыс басқару операторлары картаның бірінші және екінші бағаналарында "" символымен басталды, жұмыстың соңынан басқа, ол "", деректердің соңы "", және түсініктемелер "", болды. (Төмендегі сипаттамада "" символы бір бос орынды білдіреді.) // JOB <жұмыс аты> <түсініктемелер> операторы "жұмыс үшін басқару ақпаратының басталуын" көрсетеді. <жұмыс аты> жұмысты анықтау үшін бірден сегізге дейін әріптік-сандық символдардан тұруы керек. қалғандары ескерілмейді. // EXEC <бағдарлама> операторы жұмыс қадамы ретінде орындалатын бағдарламаны анықтайды. "Орындалуға қажетті барлық басқару операторлары" // EXEC операторы оқылғанға дейін өңделуі тиіс. // PAUSE <түсініктемелер> операторы "жұмыс қадамдары арасында оператордың әрекетіне рұқсат беру үшін пайдаланылуы мүмкін". Түсініктеме операторға хабарлама беру үшін қолданылады. Операторға хабарлама көрсету үшін операторды пайдалануға болады. Форматы: Деректердің соңы операторы кіріс ағынындағы деректердің соңына белгілейді. Форматы - /*. Бос орыннан кейінгі оператордағы кез келген деректер ескерілмейді. Жұмыстың соңы операторы жұмыстың соңына белгілейді және жұмыс қалыпты емес аяқталған жағдайда, құбылуға тиіс деректердің соңына белгілей алады. Форматы /&. Бос орыннан кейінгі оператордағы кез келген деректер ескерілмейді. // OPTION <option1>[,<option2>] операторы осы жұмысқа қолданылатын жүйелік опциялардың мәндерін көрсетеді. // ASSGN SYSxxx,<құрылғы>[,<таспа опциясы>] операторы "физикалық құрылғыға логикалық I/O блогын тағайындайды". SYSxxx SYS001 немесе SYSIPT сияқты логикалық бірлікті көрсетеді. физикалық құрылғыны (канал және бірлік) көрсету үшін "X'cuu'", назарда ұстамау үшін "IGN" немесе тағайындалмаған үшін "UA" қолданылады. таспа режимінің параметрлерін, мысалы тығыздық, теңдік және т.б. немесе балама құрылғыны көрсету үшін "ALT" қолданылады. // RESET <option> операторы көрсетілген I/O бірліктерінің тағайындамаларын олардың тұрақты мәндеріне қайта орнатады. <option> "SYS" барлық жүйелік логикалық бірлік тағайындамаларын қалпына келтіру үшін, "PROG" барлық бағдарламалаушы тағайындамаларын қалпына келтіру үшін, "ALL" барлық тағайындамаларды қалпына келтіру үшін немесе "SYSxxx" логикалық бірлік "SYSxxx" үшін тағайындаманы қалпына келтіру үшін, мысалы SYS002 болуы мүмкін. // LISTIO <option> операторы жүйеге барлық нақтыланған және қолданыстағы I/O тағайындамаларының тізімін басып шығаруға нұсқау береді. <option> "SYS" - барлық жүйелік тағайындамаларды, "PROG", "F1" немесе "F2" - фондық немесе белгіленген алдыңғы пландық бөлім үшін барлық тағайындамаларды, "ALL", "SYSxxx", "X'cuu'", "UNITS" - барлық тағайындалған бірліктерді, "UA" - тағайындалмаған бірліктерді, "DOWN" - жұмыс істемейтін деп белгіленген бірліктерді тізімдейді. // MTC <opcode>,SYSxxx[,<nn>] операторы магниттік таспа бірлігіне команда жібереді. <opcode> "FSF" - бір файлды алға жылжыту үшін немесе "REW" - таспаны артқа орау үшін қолданылады. <nn> операцияның орындалу санын анықтайтын сан, мысалы, екі файлды алға жылжыту. // VOL SYSxxx,<көлiм> операторы стандартты таңбалауды тексеру үшін диск немесе таспа көлемінің таңбалау туралы ақпаратты береді. DOS бастапқыда // VOL операторын таспа таңбасы туралы ақпарат үшін, ал // ASSGN және // RESET операторларын диск таңбасы және көлем туралы ақпарат үшін ұсынды. 1968 жылға дейін // VOL операторы // ASSGN операторымен алмастырылды және // RESET операторы // LISTIO операторымен алмастырылды. Бұл операторлар көптеген позициялық параметрлерді қолданды және ақпараттың тығыздығы өте жоғары болды.

Жұмыс бақылау тілі

DOS JCL жылдамдық пен қарапайымдылықты ескере отырып жасалған; нәтижесіндегі орналасу синтаксисі OS/360 кілт сөздерге негізделген жұмыс басқарудан әлдеқайда түсініксіз болды.

Қаптама

Ерте DOS перфокарталар мен желілік принтерлердің I/O тиімділігін арттыру үшін катушкалық қосалқы жүйесіз болды. 1960 жылдардың соңына қарай IBM және үшін тарап сатушылары бұл кемшілікті толтыра бастады. IBM-нің катушкасы POWER деп аталатын қосымша опция болды, ал Software Design, Inc. тәуелсіз бағдарламалық компаниясы GRASP деп аталатын катушканы сатты.

Бағдарламаны жүктеу

DOS/360-да қайта орналастырылатын жүктеуші болмағандықтан, бағдарламашылар әр бағдарламаның әр бөлімде немесе бағдарлама іске қосылуы мүмкін адрес кеңістігінде жұмыс істеуі үшін жеке орындалатын нұсқасын жасауға мәжбүр болды. Балама ретінде, ассемблер тілінде жазылған бағдарламаларды өздігінен орналастырылатын етіп жасауға болады, бірақ бұл қосымша күрделілік пен, аздаған болса да, көлемнің артуына себеп болар еді. Көптеген машиналары мен әртүрлі бөлімдерге бөлінген үлкен DOS жүйелері көбінесе осы мәселенің шешімі ретінде өздерінің қайта орналастырылатын жүктеушілерін жасайтын.

Қолданбалық бағдарламалау интерфейсі

DOS/360 қолданбалы бағдарламалау интерфейсі OS/360-пен үйлесімсіз болды. DOS үшін жазылған жоғары деңгейдегі тіл бағдарламаларын OS/360-пен пайдалану үшін алдымен құрастырып, байланыстыру қажет еді. DOS компиляторлары мен OS компиляторлары арасындағы шағын айырмашылықтар кейде бағдарламаларға түзетулер енгізуді талап етті. Дегенмен, кері порттау әлдеқайда қиын болды. OS/360 API-ында DOS-қа қарағанда әлдеқайда көп мүмкіндіктер болғандықтан, бағдарламаларды DOS-қа көшіру кезінде осы мүмкіндіктердің барлығын жою қажет еді. Бұл COBOL сияқты жоғары деңгейдегі тілдерде жұмыс істейтін бағдарламашылар үшін үлкен мәселе болмады. Алайда, ассемблерлік бағдарламалар көбінесе осы мүмкіндіктерді пайдаланғандықтан, DOS-та іске қосу үшін оларға көбірек өзгеріс енгізу қажет болды.