Tso tawm Muen 1.0, qhib qhov chaw microkernel rau kev tsim cov kab ke txhim khu kev qha

Tom qab yim xyoo ntawm txoj kev loj hlob, Muen 1.0 qhov project tau raug tso tawm, txhim kho lub Separation kernel, qhov tsis muaj qhov yuam kev hauv qhov chaws uas tau lees paub los ntawm kev siv lej ntawm kev txheeb xyuas qhov tseeb. Cov ntsiav yog muaj rau x86_64 architecture thiab tuaj yeem siv rau hauv lub hom phiaj tseem ceeb uas yuav tsum tau nce qib ntawm kev ntseeg siab thiab lav tsis muaj qhov ua tsis tiav. Lub hauv paus chaws ntawm txoj haujlwm yog sau ua lus Ada thiab nws cov lus txheeb xyuas tau SPARK 2014. Cov lej raug faib raws li daim ntawv tso cai GPLv3.

Kev sib cais kernel yog microkernel uas muab ib puag ncig rau kev ua tiav ntawm cov khoom sib cais los ntawm ib leeg, kev sib cuam tshuam ntawm cov txheej txheem nruj me ntsis raws li cov cai. Kev rho tawm yog ua raws li kev siv Intel VT-x virtualization txuas ntxiv thiab suav nrog cov txheej txheem kev nyab xeeb los thaiv lub koom haum ntawm cov kev sib txuas lus zais cia. Lub partitioning kernel yog ntau minimalistic thiab zoo li qub dua li lwm cov microkernels, uas txo tus naj npawb ntawm cov xwm txheej uas tuaj yeem ua tsis tiav.

Lub kernel khiav hauv VMX hauv paus hom, zoo ib yam li lub hypervisor, thiab tag nrho lwm cov khoom siv khiav hauv VMX hom tsis yog hauv paus, zoo ib yam li cov qhua. Kev nkag mus rau cov khoom siv yog tsim los siv Intel VT-d DMA txuas ntxiv thiab cuam tshuam kev rov ua dua tshiab, uas ua rau nws muaj peev xwm siv kev ruaj ntseg ntawm PCI cov khoom siv rau cov khoom siv khiav hauv Muen.

Tso tawm Muen 1.0, qhib qhov chaw microkernel rau kev tsim cov kab ke txhim khu kev qha

Muen lub peev xwm suav nrog kev txhawb nqa rau ntau lub hauv paus, nplooj ntawv cim xeeb (EPT, Nplooj Ntawv Ntxiv), MSI (Xov Xwm Teeb Meem cuam tshuam), thiab cov ntawv cim xeeb nplooj ntawv (PAT, Page Attribute Table). Muen kuj tseem muab lub sijhawm teem caij sib tw ua haujlwm raws li Intel VMX preemptive timer, lub sijhawm ua haujlwm compact uas tsis cuam tshuam rau kev ua haujlwm, kev tshawb xyuas kev sib tsoo, txoj cai raws li txoj cai tswjfwm kev pabcuam zoo li qub, kev tswj hwm qhov xwm txheej, thiab kev sib koom ua ke ntawm kev nco rau kev sib txuas lus hauv cov khoom siv ua haujlwm.

Nws txhawb kev khiav haujlwm nrog 64-ntsis tshuab code, 32- lossis 64-ntsis virtual tshuab, 64-ntsis kev siv hauv Ada thiab SPARK 2014 cov lus, Linux virtual machines thiab nws tus kheej muaj "unikernels" raws li MirageOS saum Muen.

Cov kev hloov tshiab tseem ceeb muaj nyob rau hauv kev tso tawm Muen 1.0:

  • Cov ntaub ntawv tau muab luam tawm nrog cov lus qhia tshwj xeeb rau cov ntsiav (device thiab architecture), system (system policy, Tau0 and toolkit) thiab cov khoom, uas sau txhua yam ntawm qhov project.
  • Tau0 (Muen System Composer) cov cuab yeej tau raug ntxiv, uas suav nrog cov txheej txheem npaj ua tiav rau kev sau cov duab thiab tsim cov kev pabcuam txheem uas khiav saum Muen. Cheebtsam muab suav nrog AHCI (SATA) tsav tsheb, Tus Thawj Tswj Ntaus Ntaus (DM), khau raj loader, tus tswj hwm qhov system, lub davhlau ya nyob twg virtual, thiab lwm yam.
  • Tus neeg tsav tsheb muenblock Linux (ib qho kev siv ntawm cov cuab yeej thaiv ua haujlwm saum toj ntawm Muen sib koom nco) tau hloov dua siab tshiab los siv blockdev 2.0 API.
  • Siv cov cuab yeej los tswj lub neej voj voog ntawm cov khoom ib txwm muaj.
  • Cov duab kab ke tau hloov dua siab tshiab los siv SBS (Signed Block Stream) thiab CSL (Command Stream Loader) los tiv thaiv kev ncaj ncees.
  • Tus neeg tsav tsheb tau lees paub AHCI-DRV tau raug coj los siv, sau rau hauv SPARK 2014 hom lus thiab tso cai rau koj los txuas cov drives uas txhawb nqa ATA interface lossis ib tus neeg disk faib rau cov khoom.
  • Txhim kho unikernel kev txhawb nqa los ntawm MirageOS thiab Solo5 cov haujlwm.
  • Cov khoom siv lus Ada tau hloov kho rau GNAT Community 2021 tso tawm.
  • Qhov kev sib txuas txuas ntxiv tau raug xa mus los ntawm Bochs emulator mus rau QEMU / KVM nested ib puag ncig.
  • Linux feem dluab siv lub Linux 5.4.66 kernel.

Tau qhov twg los: opennet.ru

Ntxiv ib saib