Кіріспе

MIT Parallel and Distributed Operating Systems тобының әзірлеген операциялық жүйе ядросы.

Экзожернел – MIT Parallel and Distributed Operating Systems тобының әзірлеген операциялық жүйе ядросы, сонымен қатар осыған ұқсас операциялық жүйелер класы. Операциялық жүйелер әдетте аппараттық ресурстарды (виртуалды) файлдық жүйелер сияқты жоғары деңгейдегі абстракциялар арқылы ұсынады. Экзожернелдің идеясы – қолданба дамытушыларға мүмкіндігінше аз абстракцияларды тану, оларға аппараттық абстракциялар туралы көптеген шешімдерді өздері қабылдауға мүмкіндік беру. Экзожернелдер өте кішкентай, себебі олардың функционалдығы ресурстарды қорғаумен және мультиплекстеумен шектеледі, бұл дәстүрлі микроядролардың хабар алмасуын және монолиттік ядролардың жоғары деңгейдегі абстракцияларын жүзеге асыруынан әлдеқайда қарапайым. Іске асырылған абстракциялар кітапханалық операциялық жүйелер деп аталады; олар белгілі бір жад адрестерін, дискілік блоктарды және т.б. сұрауы мүмкін. Ядро тек сұралған ресурс бос екенін және қолданбаға оған қол жеткізуге рұқсат етілетінін қамтамасыз етеді. Бұл төменгі деңгейдегі аппараттық қолжетімділік бағдарламашыға арнайы абстракцияларды жүзеге асыруға және қажетсіздерін жоюға мүмкіндік береді, көбінесе бағдарламаның өнімділігін арттыру үшін. Сондай-ақ, ол бағдарламашыларға абстракцияның қандай деңгейін – жоғарыны немесе төменгіні – таңдауға мүмкіндік береді. Экзожернелдерді операциялық жүйелерге қатысты соңғы-соңғы принциптің қолданылуы ретінде қарастыруға болады, себебі олар қолданбалық бағдарламаны өзге талаптарды ескере отырып жасалған басқа абстракциялардың үстіне өз абстракцияларын қоюға мәжбүр етпейді. Мысалы, MIT Exokernel жобасында Cheetah веб-сервері дискіде алдын ала форматталған Интернет протоколы пакеттерін сақтайды, ядро рұқсатсыз оқу мен жазуды болдырмау арқылы дискіге қауіпсіз қол жеткізуді қамтамасыз етеді, бірақ дискінің абстракциялануы қалай жүзеге асырылатыны қолданбаға немесе қолданба пайдаланатын кітапханаларға байланысты.

Мотивация

Дәстүрлі түрде, ядроны жобалаушылар жеке аппараттық ресурстарды қолданба бағдарламалары үшін көрінбейтін етуге тырысты, осы үшін бағдарламалардан аппараттық құралдармен абстракциялық модель арқылы өзара әрекеттесуді талап етті. Мұндай модельдерге дискіде сақтау үшін файлдық жүйелер, жад үшін виртуалды адрестік кеңістіктер, тапсырмаларды басқару үшін жоспарлаушылар және желілік байланыс үшін сокеттер кіреді. Аппараттық құралдардың осы абстракциялары бағдарламаларды жазуды жеңілдетсе де, өнімділікті шектейді және жаңа абстракциялармен тәжірибе жасауға кедеріл келтіреді. Қауіпсіздікке бағытталған қолданбаға дискіде ескі деректерді қалдырмайтын файлдық жүйе қажет болуы мүмкін, ал сенімділікке бағытталған қолданбаға осындай деректерді қателіктерден қалпына келтіру үшін сақтайтын файлдық жүйе қажет болуы мүмкін. Бір мүмкіндік – ядроны толығымен алып тастап, бағдарламаны тікелей аппараттық құралдарға бағдарлау, бірақ онда бүкіл машина жазылып жатқан қолданбаға арналады (және керісінше, бүкіл бағдарламалық код базасы осы машинаға арналады). Экзоядро тұжырымы – бұл компромисс: ядро машинаның негізгі физикалық ресурстарын (мысалы, дискілік блоктар, жад беттері және процессор уақыты) бірнеше қолданба бағдарламаларына бөліп берсін, ал әр бағдарлама осы ресурстармен не істеу керектігін өзі шешсін. Бағдарлама содан кейін өзіне қажетті абстракцияларды іске асыратын қолдау кітапханасына сілтеме жасай алады (немесе оларды өзі іске асыра алады).

MIT экзоядролары

MIT екі ядроны пайдалана отырып, экзоядроға негізделген екі операциялық жүйені әзірледі: Aegis – сақтау құрылғыларына шектеулі қолдау көрсеткен тұжырымдық үлгі және XOK, ол экзоядро тұжырымдамасын толыққандырақ іске асырды. MIT экзоядро жүйесінің маңызды идеясы – операциялық жүйенің қолданбалы бағдарламалық қамтамасыз ету ұсынған шағын бағдарламалар үшін басқарушы рөлінде жұмыс істеуі керек, мұнда экзоядро аппараттық құралдарды қауіпсіз пайдалануын кепілдік бере алуы тиіс деген талаппен ғана шектеледі.

Қолданбалар

Exokernel үшін қол жетімді кітапханалық операциялық жүйелерге арнайы ExOS жүйесі және BSD эмуляторы кіреді. Бұдан өзге, экзожерна командасы ядроны тікелей пайдаланатын Cheetah веб-серверін жасады.

Тарих

Экзоядролық тұжырымдама кем дегенде 1994 жылдан бері бар, бірақ экзоядролар әлі де зерттеу нысаны болып табылады және ең ірі коммерциялық операциялық жүйелердің ешқайсысында қолданылмаған. Экзоядролық жүйені іске асыру концепциясы – Кембридж университеті, Глазго университеті, Citrix Systems және Швеция компьютерлік ғылымдары институты жасаған Nemesis. MIT де бірнеше экзоядролық жүйелерді, оның ішінде ExOS-ты құрды.