Кіріспе

Технологиялық жүйе (тоқтатылды)

RC 4000 Көп бағдарламалау жүйесі (кейде анықтамаға байланысты Монитор немесе RC 4000 деп аталады) – 1969 жылы RC 4000 миникомпьютері үшін жасалған, қолданыстан тоқтатылған операциялық жүйе. Мақаланың түсінікті болуы үшін, бұл жерде көбінесе Монитор термині қолданылады.

Шолу

RC 4000 Көп бағдарламалау жүйесі операциялық жүйені хабар алмасу ядросы арқылы байланысатын өзара әрекеттесетін бағдарламалар тобына бөлудің алғашқы талпынысы болып табылады. RC 4000 кеңінен қолданылмаған, бірақ өте ықпалды болды, 1970 және 1980 жылдары операциялық жүйелерді зерттеуге үстемдік еткен микроядро тұжырымын тудырды. Мониторды негізінен RC 4000 жобаланған Regnecentralen-де жұмыс істеген Пер Бринч Хансен бағдарламашы жасаған. Лейф Свальгаард Monitor-ді іске асыруға және сынауға қатысты. Бринч Хансен жаңа машинаға ешбір қолданыстағы операциялық жүйе сәйкес келмейтінін анықтады және қолданыстағы жүйелерді бейімдеуден шаршады. Ол бір-бірімен әрекеттесетін бағдарламалардан операциялық жүйені құрастыру үшін ядро деп аталатын ядроны жасауды жақсы шешім деп санады. Мысалы, Unix көптеген тапсырмалар үшін шағын өзара әрекеттесетін бағдарламаларды қолданады, олар деректерді құбыржолдар немесе құбырлар деп аталатын жүйе арқылы жібереді. Алайда, ядроға негізгі кодтың үлкен бөлігі, атап айтқанда файлдық жүйелер мен бағдарламаны басқару сияқты нәрселер кіріктірілген. Монитор мұндай кодты да көшіріп, жүйенің дерлік барлық бөлігін өзара әрекеттесетін бағдарламалар жиынтығына айналдырады, ядроны (ядроны) тек байланыс және қолдау жүйесіне дейін азайтады. Монитор процестер арасындағы байланыс (IPC) негізі ретінде ортақ жадтың құбыр тәрізді жүйесін қолданды. Бір процестен екіншісіне жіберілетін деректер бос жад буферіне көшіріліп, қабылдаушы бағдарлама дайын болған кезде қайтадан шығарылады. Содан соң буфер жиынтыққа қайтарылды. Бағдарламалар деректерді беру үшін төрт әдістің асинхронды жиынтығын пайдалана отырып, өте қарапайым қолданбалы бағдарламалау интерфейсін (API) қолданды. Клиенттік қолданбалар деректерді жіберу хабарламасымен жібереді және күту жауабын пайдалану арқылы қажет болса тоқтата алады. Серверлер шақырулардың айналысуын, хабар күтуді және жауап жіберуді қолданды. Ескерту: хабарламалардың әрбір жіберілген хабарлама үшін жасырын «қайтару жолы» бар, бұл семантиканы Mach-тың толық кіріс/шығыс (I/O) негізделген жүйесіне қарағанда қашықтан процедура шақыруына ұқсатады. Монитор қолданба кеңістігін екіге бөліп отырды: ішкі процестер – бұл сұраныс бойынша басталатын дәстүрлі бағдарламаларды орындау, ал сыртқы процестер – құрылғы драйверлері. Сыртқы процестер пайдаланушы кеңістігінен тыс ядромен басқарылатын, бірақ оларды кез келген басқа бағдарлама сияқты бастау және тоқтату мүмкін. Ішкі процестер оларды іске қосқан ата-ананың контекстінде басталды, сондықтан әрбір пайдаланушы өз контекстінде бағдарламаларды бастау және тоқтату арқылы өз операциялық жүйесін тиімді құрастыра алады. Жоспарлау, қажет болса, бағдарламаларға толықтай қалдырылды (1960 жылдары компьютерлік көп тапсырмалылық талқыланатын құндылық болды). Бір пайдаланушы сеансты алдын ала көп тапсырмалы ортада бастауы мүмкін, ал екіншісі топтық өңдеуді жоғары жылдамдықпен орындау үшін бір пайдаланушы режимінде бастауы мүмкін. Нақты уақыт кестесін тек тиісті уақытта қайтарылатын таймер процесіне хабарлама жіберу арқылы қолдауға болады. Бұл екі сала Monitor шығарылғаннан бері дамудың басым бөлігін құрады, жаңа дизайндарды хабарлауды қолдау үшін аппаратты пайдалануға және іске қосу уақытын қысқарту үшін қосымшалар ішіндегі жіптерді қолдауға итермеледі. Мысалы, Mach протоколды жазуға көшірмелеуді және процесстен процеске деректерді көшірудің орнына (картаға түсіру) пайдалану арқылы хабарлауды жақсарту үшін жад басқару блогын қажет етті. Mach сондай-ақ кеңінен жіктеуді қолданды, сыртқы бағдарламаларға немесе серверлерге, қазіргі заманғы терминдерде, кіретін сұраныстар үшін жаңа өңдеушілерді оңай іске қосуға мүмкіндік берді. Дегенмен, Mach IPC микроядролық тәсілді практикалық тұрғыда пайдалы ету үшін тым баяу болды. Бұл тек Джохен Лидтке-нің L4 микроядросы IPC-нің жалпы шығындарын шамамен азайғанын көрсеткенде ғана өзгерді.