Кіріспе

Мейнфрейм компьютерлік операциялық жүйе

MCP (Master Control Program) – Burroughs B5000/B5500/B5700 және B6500 және оның ізбасарларының, соның ішінде Unisys Clearpath/MCP жүйелерінің операциялық жүйесі. MCP бастапқыда 1961 жылы ESPOL (Executive Systems Problem Oriented Language) тілінде жазылған. 1970 жылдары MCP, ESPOL-дің жақсы құрылымдалған, сенімді және қауіпсіз түрі болған NEWP-ге түрлендірілді. MCP көптеген салаларда алғашқы болып табылды, оның ішінде: бірнеше процессорды басқаруға арналған алғашқы операциялық жүйе, виртуалды жадты алғашқы коммерциялық енгізілімі және жоғары деңгейдегі бағдарламалау тілінде жазылған алғашқы операциялық жүйе.

Тарих

1961 жылы MCP жоғары деңгейдегі тілде (HLL) ғана жазылған алғашқы операциялық жүйе болды. Burroughs Large System (B5000 және одан кейінгілері) ерекшеліктерінің бірі – барлық бағдарламалық жасақтама, оның ішінде жүйелік бағдарламалық жасақтама да, құрастыру тілінің орнына HLL-де жазылатын болады деген болжаммен жасалған. Бұл 1961 жылы өте жаңа және инновациялық тәсіл еді. Джин Амдал кеткеннен кейін аппараттық бәсекеге тап болған IBM-нен айырмашылығы, Burroughs бағдарламалық жасақтамасы тек Burroughs аппараттық құралдарында ғана жұмыс істеді, себебі үйлесімді үшінші тараптан аппараттық құралдар жетіспеді. Осы себепті, Burroughs өзі сатқан барлық бағдарламалық жасақтаманың, соның ішінде осы ашықтықты ескере отырып жасалған MCP-нің бастапқы кодын еркін тарата алды. Мысалы, жаңарту үшін пайдаланушы жүйелік бағдарламалық жасақтаманы қайта құрастырып, қажетті жергілікті түзетулерді енгізуі керек болды. Бұл сол кездегі қалыпты жағдай еді, себебі клиенттердің, әсіресе ірі клиенттердің (мысалы, Федералды резерв) бағдарламаны өздерінің нақты қажеттіліктеріне сәйкес өзгетуі жиі кездесетін жайт болатын. Осының нәтижесінде Burroughs пайдаланушылар тобы құрылды, ол жыл сайынғы жиналыстар өткізіп, пайдаланушыларға операциялық жүйеге және жүйелік бағдарламалық қамтамасыз ету жиынтығының басқа бөліктеріне өздерінің кеңейтулерін алмасуға мүмкіндік берді. Көптеген мұндай кеңейтулер жылдар бойы негізгі операциялық жүйе кодын құрап, қазір барлық клиенттерге қолжетімді. Осылайша, MCP ең алғашқы ашық кодты жобалардың бірі деп санауға болады. Burroughs бастапқы кодты таратқан алғашқы өндіруші емес, және ол электрондық есептеуге салыстырмалы түрде кеш кірді (дәстүрлі бәсекелестері NCR, IBM және Univac-пен салыстырғанда). Қазір MCP стандартты аппараттық құралдарда жұмыс істейтін болғандықтан, MCP-ге негізделген бағдарламалық жасақтаманың кейбір элементтері енді Unisys тарапынан бастапқы код түрінде қолжетімді емес. MCP виртуалды жадты қамтамасыз еткен алғашқы коммерциялық операциялық жүйе болды, және ол Burroughs ірі жүйелер архитектурасының бастапқы қағидаларының бірі болды. Бұл схема индустрияда бірегей, себебі ол компилятормен анықталған объектілерді сақтайды және қайтарып алады, ал белгіленген өлшемдегі жад беттері емес, оның жалпы фон Нейман емес және біркелкі стек негізделген архитектурасының салдары ретінде. Unisys 2010 жылдардың басында аппараттық құралдарды өндіруді тоқтатты, ал операциялық жүйе қазір эмуляция арқылы жұмыс істейді.

Файл жүйесі

MCP иерархиялық каталог құрылымы бар файл жүйесін ұсынады. Алғашқы MCP нұсқаларында каталогтар басқа жүйелердегідей, каталог жазбалары бар жеке файлдар түрінде бейнеленген. Алайда, шамамен 1970 жылдан бастап MCP ішкі түрде 'FLAT' каталогын пайдаланады, онда томдағы барлық файлдық жолдар тізімделеді. Бұл, файлдарды файлдық жол бойынша іздеп, әрбір каталогты ашудың тиімсіздігіне және өндірістік ортада барлық файлдарды бір каталогта сақтаудың жақсырақ екендігіне байланысты болды, тіпті олар иерархиялық атау схемасын сақтайтын болса да. Бағдарламалық тұрғыдан бұл ешқандай айырмашылық жасамайды. Пайдаланушылар үшін көрінетін жалғыз айырмашылық – файлдың атауы каталогтың атауымен бірдей болуы мүмкін. Мысалы, "A/B" және "A/B/C" екеуі де қатар болуы мүмкін; "B" бір мезгілде файлда да, каталогта да түйін бола алады. Файлдар атаулы томдарда сақталады, мысалы, 'myvol' томындағы 'осы/осы/файл_атауы', мұнда 'myvol' – томның атауы. Бұл құрылғыдан тәуелсіз, себебі 'myvol' томын қамтитын дискіні басқа физикалық дискілерге көшіруге немесе көшіруге болады. Дискілерді бірнеше дискіде бір томды орнату үшін, сондай-ақ маңызды деректерді қалпына келтіру үшін айналдыруға болады. Қосымша икемділік үшін әрбір бағдарлама томдарды алмастыруды жасай алады, томның атауы негізгі және қосымша алмастыратын атаумен ауыстырылуы мүмкін. Бұл процесс 'FAMILY' деп аталады. Мысалы, 'FAMILY DISK = USERPACK OTHERWISE SYSPACK' тапсырмасы логикалық түрде DISK томында белгіленген файлдарды USERPACK томында сақтайды және файлдарды алдымен USERPACK томында іздейді. Егер бұл іздеу сәтті болмаса, файл SYSPACK томында ізделеді. Егер ешқандай том көрсетілмесе, DISK – әдепкі том атауы. Жүйедегі әрбір файлдың файл атрибуттарының жиынтығы болады. Бұл атрибуттар файл туралы барлық метадеректерді, ең бастысы оның атауын және түрін (Macintosh-тағы төрт таңбалы файл түрінің коды сияқты, файлды қалай өңдеу керектігін жүйеге хабарлайды) тіркейді. Басқа атрибуттарда файлдың жазба көлемі (егер коммерциялық қолданбалар үшін белгіленген болса), блок көлемі (бір физикалық I/O операциясында қанша жазбаны оқу және жазу керектігін көрсететін жазбалардың еселігі) және файл кеңейгенде бөлінетін дискілік аумақтардың көлемін анықтайтын блоктардың еселігіндегі аймақ көлемі болады. Файл түрі файлдың таңбалық деректер, нақты бір тілдерде жазылған бастапқы код, екілік деректер немесе код файлдары екенін көрсетеді. Файлдар әдеттегі қауіпсіздікке қол жеткізу механизмдерімен, мысалы, жалпыға қолжетімді немесе жекемен қорғалады, немесе файлдың иесі күрделі қауіпсіздік ережелерін анықтай алатын күзет файлы болуы мүмкін. Басқа қауіпсіздік механизмі – код файлдарын тек сенімді компиляторлар ғана құра алады. Зардапты бағдарламашылар бағдарламаны жасап, оны компилятор деп атауға құқылы емес. Бағдарламаны компиляторға жеткілікті құқықтары бар оператор 'mc' make compiler оператор командасы арқылы ғана түрлендіре алады. MCP журналдау файл жүйесін іске асырады, бұл дискінің істен шығуы, қуаттың жоғалуы және т.б. жағдайларда қатеге төзімділікті қамтамасыз етеді. Файл жүйесін бұзу мүмкін емес (оның төменгі қабаттарына тікелей қол жеткізімі бар операциялық жүйе немесе басқа сенімді жүйелік бағдарламалық жасақтамадан басқа). Файл жүйесі үлкен-кішілі әріптерге сезімтал емес және үлкен-кішілі әріптерді сақтамайды, егер атаудың айналасына тырнақшалар қосылмаса, онда ол үлкен-кішілі әріптерге сезімтал және үлкен-кішілі әріптерді сақтайды.

Процестерді басқару

MCP процестері «Жұмыс» және «Тапсырма» деп аталады. Жұмыста бір немесе бірнеше тапсырма болады. Жұмыстағы тапсырмалар тізбектей немесе параллель түрде орындалуы мүмкін. Логиканы жұмыс деңгейінде, әдетте, MCP-нің жұмыс басқару тілінде (WFL) іске асыруға болады, жұмыс ағынын басқару үшін. Жұмыстағы барлық тапсырмалар орындалғаннан кейін, жұмыстың өзі аяқталады. MCP процесі жүйеге кіргеннен бастап, одан шыққанға дейін өмірлік циклден өтеді. Жұмыстың бастапқы күйі – «Кезекте». Жұмыс бірнеше пайдаланушы анықтаған жұмыс кезектерінің бірінде тұрған уақыт аралығы бар. Келесі күй – «Жоспарланған», өйткені жұмыс кезектен жадқа өтеді. Жұмыстағы тапсырмалар кезекке тұрмайды, олар басталған кезде тікелей «Жоспарланған» күйіне өтеді. Жұмысты немесе тапсырманы бастағаннан кейін, ол «Белсенді», «Күтуде» және «Жоспарланған» аралығында ауыса алады. Жұмыстың немесе тапсырманың аяқталуы «Аяқталды» күйіне ауысады. Іске қосылып жатқан процестер – процессор ресурсын пайдаланатын және «іске қосылып жатыр» деп белгіленетін процестер. Бос процессор болмаған кезде процессорға тағайындауға дайын процестер дайын кезекке орналастырылады. Процестерге «Жарланған» немесе «Көрінетін» басымдық беріледі, әдетте 50 – әдепкі мән, бірақ пайдаланушы процестері үшін 0-ден 99-ға дейін болуы мүмкін. Жүйелік процестерге жоғары мәндер берілуі мүмкін. Бұл сандық басымдық тапсырма түріне негізделген жалпы басымдыққа қарағанда екіншілік екенін ескеріңіз. Операциялық жүйенің тікелей бөлігі болып табылатын процестер, «Тәуелсіз орындаушылар» деп аталады, сандық басымдық мәніне қарамастан, ең жоғары басымдыққа ие. Содан кейін MCP құлпын пайдаланатын процестер, содан кейін CANDE сияқты хабарлама басқару жүйелері келеді. Содан кейін тоқтатылған процестер. Содан кейін Work Flow Language жұмыстары. Соңында пайдаланушы процестері келеді. Төменгі деңгейде процессордың толық бөлігін пайдаланбайтын тапсырмалардың басымдығын көтеруге арналған «Жұмсақ» басымдық бар. Бұл IO-ға байланысты тапсырмаға бірдей жарияланған басымдыққа ие процессорға байланысты тапсырмадан бұрын процессор уақытын алуға мүмкіндік береді. Басқа ресурстарды күтіп тұрған процестер, мысалы файлды оқу, EVENT дерек құрылымында күтеді. Осылайша, бір ресурсты күтіп тұрған барлық процестер бір оқиғаны күтеді. Ресурс қолжетімді болған кезде оқиға оянып, оны күтіп тұрған барлық процестерді оятады. Процестер кез келген оқиғаның пайда болуын бірнеше оқиғада күтуі мүмкін, соның ішінде белгілі бір уақыт өткеннен кейін. Оқиғалар толыққанды пайдаланушымен бағдарламаланады, яғни пайдаланушылар MCP ұсынған жалпыланған оқиғалар жүйесін пайдаланатын жүйелерді жаза алады. Аяқталған процестер «Аяқталды» деп белгіленеді. Операциялық жағынан операторға жүйедегі барлық тапсырмалардың жағдайы көрсетіледі. Барлық іске қосылып жатқан және дайын процестер «Белсенді» тапсырмалар ретінде көрсетіледі (жүйе алдын ала көп тапсырманы іске асыратындықтан, дайыннан іске қосылуға және кері қарай ауыстыру өте тез, сондықтан дайын және іске қосылып жатқан тапсырмаларды ажыратудың қажеті жоқ, өйткені олардың барлығы процессордың бір бөлігін бір секунд ішінде алады). Барлық белсенді тапсырмаларды «А» командасымен көрсетуге болады. Аяқталған тапсырмалар аяқталу себебімен аяқталған тапсырмалар ретінде көрсетіледі, әдеттегі «тапсырманың аяқталуы» үшін EOT, ал процесс қателігінің себебімен DSed көрсетіледі. Барлық процестерге аралас нөмір беріледі, ал операторлар осы нөмірді бақылауға арналған процесті анықтау үшін пайдалана алады. Мұндай командалардың бірі – DS командасы (Кіммен сөйлескеніңізге байланысты, Әскери-теңіз қызметкерлерінің алғашқы компьютерлік жобаларға тигізген әсерінен кейін Жоспардан өшіру, DiScontinue немесе Deep Six дегенді білдіреді). Оператормен аяқталған тапсырмалар толық жазбаларда O DS ретінде көрсетіледі. Тапсырмалар бағдарламаның қателері, F DS немесе P DS ретінде белгіленіп, жарамсыз индекс, сандық ағып кету және т.б. сияқты қателер үшін аяқталуы мүмкін. Орындалған жазбаларды оператор «С» командасымен тізімдей алады. Ресурста күтіп тұрған тапсырмалар күту жазулары мен күту себебі бойынша тізімделеді. Барлық күту тапсырмалары «W» командасымен тізімделуі мүмкін. Күтудің себебі де тізімделеді және «Y» командасымен тапсырма туралы қосымша ақпарат алуға болады. Мүмкін, тапсырма оператордың кірісін күтіп тұр, ол тапсырмаға «AX» командасын қабылдау арқылы жіберіледі (ескеріңіз, оператордың кірісі GUI интерфейсі бар желі құрылғысынан кіріс болатын пайдаланушының кірісінен мүлдем өзгеше). Пайдаланушы кірісін немесе файлды оқуды күтіп тұрған тапсырмалар әдетте оператор назарына арналған күту жазбалары ретінде тізімделемейді. Тапсырма күтудің тағы бір себебі – файлды күту. Процесс файлды ашқанда және файл болмаса, тапсырма күту жазбаларына орналастырылады, ол белгілі бір файлды күтіп тұрғанын көрсетеді. Оператор (немесе процесс иесі) файлды күтілетін жерге көшіруге немесе тапсырманы файлды басқа жерден оқуға қайта бағыттауға мүмкіндік алады, немесе файл басқа тәуелсіз процесспен жасалуы мүмкін, ол әлі аяқталмаған. Егер оператор ресурсты ұсына алмаса, оператор тапсырманы соңғы шара ретінде DS-теуге болады. Бұл басқа жүйелерден өзгеше, олар файл сияқты ресурс қолжетімсіз болған кезде тапсырманы автоматты түрде тоқтатып тастайды. MCP тапсырмаларды оператормен қалпына келтірудің осы деңгейін ұсынады. Басқа жүйелер бағдарламашыларды файлдың болуын тексеру үшін кодты қосуға мәжбүр етеді, сонымен қатар қалпына келтіруді қамтамасыз ету үшін әр жағдайда қосымша код жазылуы керек, немесе процесс синхрондауын қамтамасыз ету керек. Мұндай код MCP бағдарламасында тапсырма күтуі қажет болмаған жағдайда жазылуы мүмкін, бірақ оператор деңгейінде қалпына келтіруге мүмкіндік болғандықтан, бұл міндетті емес, сондықтан бағдарламалау әлдеқайда қарапайым. Файлдарды (немесе дерекқорларды) сұрауларды бағдарлама орындалуына дейін немесе орындалу кезінде басқа файлдарға (немесе дерекқорларға) қайта бағыттау мүмкіндігіне қоса, бағдарламашыларға қателерді анықтауға және олардан қалпына келтіруге мүмкіндік беретін бірнеше механизмдер бар. Бір жолы, «ON» операторы, көп жылдар бойы қолданылып келеді. Нақты қателер (мысалы, нөлге бөлу) тізімделуі мүмкін немесе «anyfault» қолданылуы мүмкін. «ON» операторынан кейін келетін оператор немесе блок компилятормен қателерді басқару кодын ретінде танылады. Орындалу кезінде, егер «on» операторының ауқытында қалпына келтірілетін қате туындаса, стек кешіріледі және басқару одан кейін келетін операторға беріледі. «ON» операторының артындағы басқару логикасымен байланысты мәселе, ол тек бағдарлама қателері үшін ғана шақырылатыны, басқа себептерге байланысты бағдарлама тоқтатылуы үшін емес еді. Уақыт өте келе, аномалды тоқтатуларды кепілді түрде басқару қажеттілігі артты. Атап айтқанда, бағдарламалар клиенттер немесе үшінші тараптар жазған плагиндерді шақыруға мүмкіндік беру қажет болды, егер плагин дұрыс жұмыс істемесе, ешқандай тәуекел болмайды. Жалпы плагиндер механизмдеріне қоса, динамикалық кітапхана байланысының жаңа түрі (Connection Libraries) бағдарламаларға функциялар мен деректерді импорттауға және экспорттауға мүмкіндік береді, сондықтан бір бағдарлама басқа бағдарлама ұсынған кодты орындайды. Мұндай күшейтілген қорғауды қамтамасыз ету үшін 1990 жылдардың ортасында жаңа механизм енгізілді. Қайта үйлесімділікке бағытталған қателік талпыныспен, ол сол кезде ұсынылған C++ тілінің құрылымымен аталды. Екі синтаксис және мінез-құлықтың өте үлкен айырмашылығына байланысты, бірдей атауды таңдау тек шатасу мен түсініксіздікке әкелді. Синтаксистік тұрғыдан алғанда, «try» операторлары «if» операторларына ұқсайды: «try», содан кейін оператор немесе блок, содан кейін «else» және тағы бір оператор немесе блок. Біріншісінен кейін қосымша «else» тармақтары келуі мүмкін. Орындалу кезінде, егер «try» тармағынан кейін келетін кодта қалпына келтірілетін тоқтату туындаса, стек қажет болса кешіріледі және басқару бірінші «else» тармағынан кейін келетін кодқа беріледі. Сонымен қатар, бағдарламаға не болғанын және қайда болғанын анықтауға мүмкіндік беретін атрибуттар орнатылады (соның ішінде нақты жол нөмірі). Тапсырманы тоқтатуға әкелетін көптеген оқиғаларды қалпына келтіруге болады. Бұған стек ағып кетуі, массивке шектен тыс кіру, бүтін санның асып кетуі/жетіспеуі және т.б. жатады. Оператордың (немесе пайдаланушының) DS-і қалпына келтірілмейді, егер UNSAFE түріндегі try қолданғандықтан ерекше құқықтары бар тапсырмалар болмаса. Осылайша, MCP өте қатеге төзімді ортаны ұсынады, басқа жүйелердегідей құлау және ядролық құлауды емес. Файлдармен айналысқанда...

Порт файлдары

Процестер аралық байланыс (IPC) үшін тағы бір тәсіл – порт файлдары. Олар Unix құбырларына ұқсас, бірақ көп жолды және екі жақты болып келеді. Бұл тәсіл кітапханалар сияқты басқа IPC тәсілдерінен шамамен он есе баяу болғандықтан, егер IPC бір машинадағы әртүрлі процестер арасында болса, басқа тәсілдерді қолдану оңтайлы. Сондықтан порт файлдарын пайдаланудың ең тиімдісі – таратылған IPC үшін. Порт файлдары BNA (Burroughs Network Architecture) жүйесінде пайда болған, бірақ OSI және TCP/IP сияқты стандартты желілік технологиялардың дамуымен оларды осы желілерде де қолдануға болады. Кіріс байланыстарын күтіп отыратын сервер порт файлын жариялайды (KIND атрибуты PORT-қа тең файл). Клиенттен құрылған әрбір байланыс индексі бар қосалқы файлды құрайды, сондықтан әрбір порт файлы желідегі әртүрлі клиенттермен бірнеше байланысты көрсетеді. Сервер процесі порт файлынан оқу арқылы (кез келген қосалқы файлдан оқу үшін қосалқы файл = 0) желідегі кез келген жерден клиенттердің сұрауларын қабылдайды. Сұрауды жіберген клиентке жауап беру үшін, сұрау оқылған нақты қосалқы файлға жазу амалы қолданылады.

Жұмыс істеу ортасы

MCP сонымен қатар күрделі, бірақ қарапайым операторлық ортаны қамтамасыз етеді. Үлкен орналымдар үшін көптеген операторлар принтерлер (қағаз жүктеу, тонер картридждері және т.б.) сияқты физикалық ресурстарды қолжетімді етуі қажет болуы мүмкін. Кіші кеңселер немесе жеке пайдаланушылар үшін төменгі деңгейлі ортада операторсыз орта қажет болуы мүмкін (әсіресе ноутбук нұсқасында). Үлкен жүйелерде ODT (Операторлық дисплей терминалдары) деп аталатын арнайы операциялық терминалдар бар, олар әдетте қауіпсіз ортада сақталады. Кіші жүйелер үшін машиналарды кез келген терминалдан (терминал мен пайдаланушының жеткілікті құқықтары болған жағдайда) MARC бағдарламасы (Menu Assisted Resource Control) арқылы басқаруға болады. Оператор командаларын оларды білетін пайдаланушылар да қолдана алады. Оператор командалары көбінесе екі әріптен тұрады (Unix-тегідей), ал кейбіреулері бір әріптен ғана тұрады. Бұл оператор интерфейсін үйренуді талап етеді, бірақ тәжірибелі операторлар үшін, үлкен жүйемен күнделікті жұмыс істейтіндер үшін өте тиімді. Командалар регистрге сезімтал емес. Тапсырмалар 'mix' бағдарламасына енгізіліп, кітапханалар сияқты mix нөмірлерімен анықталады. Бағдарламаны орындау үшін операторлар 'EX' немесе 'RUN' командасын, содан кейін бағдарламаның файл атауын қолданады. ODT-лар әдетте ADM (автоматты дисплей режимі) арқылы іске қосылады, бұл жүйе күйінің бейімделетін дисплейі, әдетте белсенді, күтуде және аяқталған mix жазбаларын, сондай-ақ операторға хабарламалар немесе оператордың араласуын қажет ететін жағдайлар туралы жүйелік хабарламаларды көрсету үшін орнатылған. Бұл дисплейлердің толық тізімі 'A' (белсенді), 'W' (күтуде), 'C' (аяқталған) және 'MSG' (хабарлама командалары) арқылы беріледі. Егер тапсырма оператордың әрекетін күтіп тұрса, оператор тапсырманың не қажет екенін білу үшін оның mix нөмірін және 'Y' командасын енгізе алады. (Командалардың объектіге бағытталған стиліне назар аударыңыз, алдымен объектіні таңдап, содан кейін команданы таңдаңыз.) Мысалы, '3456Y'. Оператор '3456ST' тоқтату командасымен тапсырманы күту тізіміне мәжбүрлеп енгізе алады және оны 'OK' командасымен қайтадан белсенді ете алады: '3456OK'. OK командасы оператор ресурсты тапсырма үшін қолжетімді еткен кезде де қолданылуы мүмкін, бірақ көбінесе MCP ресурстардың қолжетімді болғанын анықтайды, бұл процестер күтіп тұрған оқиғаны тудырады, оператордың қосымша араласуынсыз. Оператордан бағдарламаға мәтіндік ақпаратты жіберу үшін '3456AX MORE INFO' қабылдау командасын пайдалануға болады. Бағдарламалар DISPLAY механизмін пайдалана отырып, операторларға ақпаратты жібере алады, бұл MSG дисплейіне DISPLAY хабарламаларын қосады. Тапсырмалар мен процестерден басқа, операторлар файлдарды да басқарады. Файлдарды FILE командасымен тізімдеуге, COPY командасымен көшіруге, REMOVE командасымен жоюға және қайта атауға болады. MCP-нің жұмыс ортасы қуатты, бірақ қарапайым және әдетте басқа жүйелердің операторларының санынан әлдеқайда азды құрайды. Операциялық ортаның маңызды бөлігі – жоғары деңгейдегі Жұмыс ағыны тілі.

Ағаш кесу

Жүйедегі барлық әрекеттер тіркеледі, мысалы операторға көрсетілген барлық хабарламалар және оператордың барлық амалдары. Барлық маңызды бағдарламалық іс-әрекеттер жүйелік журналға және бағдарламалық журналға тіркеледі, мысалы, WFL жұмысының басталуы үшін BOJ, WFL жұмысындағы тапсырманың басталуы үшін BOT, тапсырмалар мен жұмыстардың аяқталуы үшін EOT және EOJ. Сонымен қатар, барлық файлдар мен деректер қорының ашылуы мен жабылуы тіркелуі мүмкін. Көптеген оқиғаларды тіркеу Unix сияқты жүйелерге қарағанда MCP операциялық ортасының баяу жұмыс істеуіне себеп болады, себебі әрбір жазбадан кейін барлығы физикалық жазу арқылы бағдарлама журналына жазылады, ал Unix сияқты жүйелер мұны жасамайды, тіпті олар жүйелік журналда көптеген ақпаратты сақтайды. Журналдар сот сараптамасы үшін бағдарламалардың немесе жүйелердің неге сәтсіз аяқталғанын анықтауға немесе жүйе қауіпсіздігін бұзу әрекеттерін анықтауға пайдаланылуы мүмкін. Жүйелік журналдар жүйеде белгіленген мерзім аяқталғаннан кейін автоматты түрде жабылады және жаңасы ашылады. Жүйелік журналдарда LOGANALYZER сияқты бағдарламалармен сүзгіленіп, талдауға болатын көп көлемде ақпарат бар. ДУМПАНАЛИЗЕР бастапқыда таспаға жазылған жадтың жадына түсірілуін талдайды. Барлық компиляторлар код файлдарына LINEINFO қосқандықтан, DUMPANALYZER қате кезінде қандай бастапқы кодтың орындалғанын дәл анықтай алады. Сондай-ақ, тек бір бағдарламаны құратын әдеттегі бағдарламалық құжатта бастапқы кодтың реттік нөмірі мен айнымалылардың атаулары туралы ақпарат болады. Екі анализатор да әртүрлі мақсаттар үшін маңызды диагностикалық құралдар болып табылады.

Жаңалықтар

MCP дизайнындағы көптеген техникалық жаңалықтардан өзге, Burroughs Large Systems жүйелерінде қазір жалпы интернет қоғамдастығы қолданып жүрген көптеген басқару инновациялары да болды. Жүйелік бағдарламалық жасақтама клиенттерге бастапқы кодты, сондай-ақ клиенттер үшін MCP-нің жаңа нұсқаларын жасауға қажетті барлық өңдеу және компиляция құралдарын қоса жеткізілді. Көптеген клиенттер MCP-нің ішкі құрылымын жақсы біліп, арнайы тәжірибе жинақтады және клиенттер жиі "түзетулерді" (тізбектелген нөмірлері бар бастапқы кодтың бөліктері) жаңа мүмкіндіктерді ұсыну немесе ақауларды жою (FTR – далалық қате туралы хабарламалар) ретінде жіберді. Ұсынылған түзетулердің көпшілігі жүйе әзірлеушілер тарапынан қабылданып, MCP-нің келесі нұсқасына енгізілді. Ерікті, өздерін сарапшы деп есептейтін мамандарды негізгі техникалық жұмысқа тарту қазір кеңінен қолданылады және ашық инновацияның мәнін құрайды. Қоғамдық дамудың бұл басқару инновациясы 1970 жылдарға дейін жетеді.

Құрастырушы

Unisys MCP операциялық жүйесінде құрастырушы бағдарламасы жоқ.

Қорытынды

MCP жоғары деңгейдегі тілде жасалған алғашқы операциялық жүйе болды. 50 жылдық тарихында коммерциялық іске асыруда көптеген жаңалықтарды көріп, виртуалды жад, симметриялық көппроцессорлық өңдеу және жоғары деңгейдегі жұмыс басқару тілі (WFL) сияқты мүмкіндіктерді енгізді. Ол көптен бері басқа кең таралған операциялық жүйелерде ғана қолданылатын көптеген мүмкіндіктерге ие, ал Берроуздың үлкен жүйелер архитектурасымен бірге MCP жоғары өнімділік, көп тапсырмалылық және транзакциялық өңдеу ортасын қамтамасыз етеді.