Exokernel - Exokernel - Wikipedia

Exokernel-дің графикалық шолуы. Экзокернелдер кәдімгі ядродан әлдеқайда аз (монолитті ядро ). Олар аппараттық құралдарға көбірек тікелей қол жеткізуге мүмкіндік береді, осылайша абстракциялардың көпшілігін жояды

Exokernel болып табылады операциялық жүйе ядро әзірлеген MIT Параллельді және үлестірілген операциялық жүйелер тобы,[1] сонымен қатар ұқсас операциялық жүйелер класы.

Операциялық жүйелер, әдетте, бағдарламалық жасақтамаға жоғары деңгей арқылы аппараттық ресурстарды ұсынады абстракциялар сияқты (виртуалды) файлдық жүйелер. Экзокернелдердің идеясы - қолданбаны жасаушыларға мүмкіндігінше аз абстракцияны мәжбүрлеу, оларға аппараттық абстракциялар туралы мүмкіндігінше көп шешім қабылдауға мүмкіндік беру.[2] Экзокернелдер өте кішкентай, өйткені функционалдылық тек қорғауды қамтамасыз етумен шектеледі мультиплекстеу әдеттегіден едәуір қарапайым ресурстар микро ядролар 'хабарлама беруді жүзеге асыру және монолитті ядролар 'жоғары деңгейлі абстракцияларды жүзеге асыру.

Жүзеге асырылған қосымшалар кітапханалық операциялық жүйелер деп аталады; олар белгілі бір жад адрестерін, дискілік блоктарды және басқаларын сұрауы мүмкін. Ядро тек сұралған ресурстардың бос болуын, ал қосымшаның оған қол жетімді болуын қамтамасыз етеді. Бұл төмен деңгейлі аппараттық қол жетімділік бағдарламалаушыға қолданбалы абстракцияларды жүзеге асыруға, ал қажетсізін қалдыруға мүмкіндік береді, көбінесе бағдарламаның жұмысын жақсартуға мүмкіндік береді. Сондай-ақ, бұл бағдарламашыларға абстракцияның қандай деңгейін қалайтынын таңдауға мүмкіндік береді, жоғары немесе төмен.

Экзокернельдерді. Қосымшасы ретінде қарастыруға болады ұштан-аяқ принцип операциялық жүйелерге, олар қолданбалы бағдарламаны өзінің абстракцияларын әр түрлі талаптарды ескере отырып жасалған басқа абстракциялардың үстіне қабаттауға мәжбүр етпейтіндігіне байланысты. Мысалы, MIT Exokernel жобасында Гепард веб-сервер дүкендер алдын-ала форматталған Интернет хаттамасы дискідегі бумалар, ядро ​​рұқсат етілмеген оқудың және жазудың алдын алу арқылы дискіге қауіпсіз қол жеткізуді қамтамасыз етеді, бірақ дискінің абстракциялану тәсілі қосымшаға немесе қолданбаның пайдаланатын кітапханаларына байланысты.

Мотивация

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

Опциялардың бірі - ядроны толығымен алып тастау және тікелей аппараттық құралға бағдарламалау, бірақ содан кейін бүкіл машина жазылатын бағдарламаға арналады (және, керісінше, барлық қолданбаның код базасы осы машинаға арналады). Экзокернель тұжырымдамасы - бұл ымыраға келу: ядро ​​машинаның негізгі физикалық ресурстарын бөлсін (мысалы: диск блоктар, жад беттері, және процессордың уақыты) бірнеше қолданбалы бағдарламаларға дейін және әр бағдарламаға осы ресурстармен не істеу керектігін шешсін. Содан кейін бағдарлама өзіне қажетті абстракцияларды жүзеге асыратын қолдау кітапханасына сілтеме жасай алады (немесе ол өзін өзі жүзеге асыра алады).

MIT экзокернелдері

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

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

Дизайн

MIT exokernel аппараттық ресурстарды келесідей басқарады:

Процессор
Ядро процессордың ресурстарын бағдарламалар уақыт аралықтарын бөле алатын уақыт шкаласы ретінде ұсынады. Бағдарлама уақыттың қалған бөлігін басқа белгіленген бағдарламаға бере алады. Ядро сияқты процессор оқиғаларының бағдарламаларына хабарлайды үзілістер, аппараттық ерекшеліктер, және уақыт бөлігінің басы немесе соңы. Егер бағдарлама оқиғаны өңдеу үшін ұзақ уақытты қажет етсе, ядро ​​оны келесі уақыт бөлімдері үшін жазалайды; төтенше жағдайларда ядро ​​бағдарламаны тоқтатуы мүмкін.
Жад
Ядро физикалық жад беттерін бағдарламаларға бөліп, басқарады аудармаға арналған буфер. Бағдарлама а жіберу арқылы бетті басқа бағдарламамен бөлісе алады мүмкіндік сол бетке кіру үшін. Ядро бағдарламалардың мүмкіндіктері бар беттерге ғана қатынасуын қамтамасыз етеді.
Дискіні сақтау
Ядро қолданбалы бағдарламаның диск блоктарын физикалық блок адресі бойынша анықтайды, бұл қосымшаға деректерді орналастыруды оңтайландыруға мүмкіндік береді. Бағдарлама дискіні қолдануды бастағанда, ядроға бағдарламаның қай блокты басқаратынын анықтауға болатын функцияны ұсынады. Ядро бұл қайта шақыруды жаңа блокты бөлген кезде бағдарлама өзі басқарған блоктарға қосымша бөлінген блокқа ғана талап ететіндігін тексеру үшін қолданады.
Желі
Ядро бағдарламаланатын бағдарламаны жүзеге асырады пакеттік сүзгі, а бағдарламаларын орындайды байт коды ядроны қауіпсіздікті тексеруге арналған тіл.

Қолданбалар

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

Тарих

MINIX архитектурасы 3

Экзокернель тұжырымдамасы кем дегенде 1994 жылдан бері бар,[3] бірақ 2010 жылдан бастап экзокернельдер әлі күнге дейін зерттеу жұмыстары болып табылады және кез-келген ірі коммерциялық операциялық жүйелерде қолданылмаған.

Экзокернелдік жүйенің жұмыс істеу тұжырымдамасы Немезис, жазылған Кембридж университеті, Глазго университеті, Citrix жүйелері, және Швед информатика институты. MIT сонымен қатар экзокернелге негізделген бірнеше жүйелер, соның ішінде ExOS құрды.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ «MIT Exokernel операциялық жүйесі». pdos.csail.mit.edu. Алынған 2018-01-25.
  2. ^ Энглер, Д.Р .; Каасоук, М.Ф .; О'Тул кіші, Дж .; Энглер, Д.Р .; Каасоук, М.Ф .; O'Toole Jr., J. (1995-12-03). «Exokernel: қолданбалы деңгейдегі ресурстарды басқаруға арналған операциялық жүйенің архитектурасы». ACM SIGOPS Операциялық жүйелерге шолу. 29 (5): 251, 251–266, 266. дои:10.1145/224056.224076. ISSN  0163-5980.
  3. ^ Engler, Kaashoek & O'Toole 1995.

Библиография

Сыртқы сілтемелер