Paucae disputationes de consilio systematum operativorum tam diu duraverunt quam disputatio inter micronucleos et nucleos monolithicos.

In superficie, distinctio simplex videtur:

  • nuclei monolithici pleraque officia systematis operativi intra nucleum servant
  • micronuclei pleraque officia in spatium usoris movent

In usu, compensatio subtilior est.

Quaestio vera non est utrum una structura ubique velocior, mundior, aut tutior sit. Quaestio vera est ubi auctoritas, complexitas, defectus, et sumptus efficientiae habitare debeant.

Hoc scriptum hanc compensationem iterum inspicit, explicat cur multa vetera argumenta de micronucleis nimis simpliciter dicta sint, et ostendit cur systemata moderna sicut EriX exemplar micronuclei iterum practicabile faciant.


Forma historica disputationis

Prima systemata operativa sub duris limitationibus ferramenti aedificata sunt.

Memoria limitata erat. CPU tardiores erant. Mutationes contextus carae erant. Caches, TLB, systemata multiprocessoria, et viae celeres syscall multo minus valebant quam hodie.

Sub illis condicionibus, nuclei monolithici electio naturalis erant.

Systemata Unix-similia systemata fasciculorum, moderatores machinarum, retia, administrationem processuum, et multa alia officia intra unum spatium allocationis privilegiatum nuclei ponebant. Illud consilium multas operationes viles faciebat:

  • systema fasciculorum stratum block directe vocare poterat
  • stratum retis structuras moderatoris directe accedere poterat
  • subsystemata nuclei data sine IPC communicare poterant

Effectus erat efficax et pragmaticus.

Id etiam significabat magnas copias codicis cum pleno privilegio nuclei currere.


Cur micronuclei apparuerint

Micronuclei ex alia observatione orti sunt:

Plurimus codex systematis operativi plenam auctoritatem machinae non indiget.

Systema fasciculorum tabulas paginarum arbitrarias mutare non debet. Moderator claviaturae omnes processus accedere non debet. Stratum retis schedulatore dominari non debet.

Micronuclei tantum mechanismos maxime fundamentales in nucleo servant, plerumque:

  • scheduling
  • administrationem spatiorum allocationis
  • communicationem inter processus
  • administrationem facultatum aut manubriorum
  • traditionem interruptorum et exceptionum

Officia altioris gradus ut processus ordinarii in spatio usoris currunt.

Hoc systemati separationem firmiorem dat. Ruina moderatoris non necessario ruina nuclei est. Vitium in systemate fasciculorum non statim fit corruptio arbitraria memoriae nuclei. Auctoritas accuratius distribui potest.

Idea valida erat, sed primae implementationes saepe cum efficientia et compatibilitate laborabant.


Prima difficultas efficientiae

Critica classica micronucleorum est eos lentos esse.

Illa critica non ex nihilo orta est.

Quaedam prima systemata micronucleorum officia tradita systematis operativi post multos ministros separatos in spatio usoris ponebant, deinde interfaces Unix notas desuper servare conabantur. Operatio simplex in catenam nuntiorum verti poterat:

  1. applicatio ad ministrum fasciculorum
  2. minister fasciculorum ad administratorem memoriae
  3. administrator memoriae ad paginatorem
  4. paginator ad officium block
  5. officium block ad moderatorem

Unusquisque gradus mutationem contextus, validationem nuntii, consilium scheduling, et interdum transcriptionem implicare poterat.

Si interfaces nimis loquaces sunt, sumptus accumulatur.

Error fuit hoc in regulam universalem vertere:

Micronuclei lenti sunt.

Regula accuratior est:

Viae IPC male designatae et fines officiorum nimis loquaces lenti sunt.

Haec distinctio interest.


Via celeris monolithica

Nuclei monolithici celerrimi esse possunt quia multos fines protectionis vitant.

Systema fasciculorum intra nucleum stratum block intra nucleum vocatione functionis ordinaria vocare potest. Moderator memoriam directe cum alio subsystemate communicare potest. Non necesse est omnem petitionem in formam nuntii serializare.

Hoc verum commodum est.

Sed gratuitum non est.

Via celeris monolithica saepe secum fert:

  • plus codicis privilegiati
  • plus status mutabilis communicati
  • plus complexitatis serarum internarum nuclei
  • plures vias quibus unum subsystema aliud corrumpere potest
  • maiorem basim computandi fidatam

Efficientia non est sola numeratio instructionum. Etiam mores cache, contentio serarum, continentia defectuum, recuperatio, et sumptus rectitudinis per tempus servandae ad eam pertinent.

Nucleus monolithicus microbenchmark crudum vincere potest et tamen separationem atque examinabilitatem difficiliores facere.


Fabula efficientiae: omnis finis fatalis est

Fabula communis est unumquemque finem micronuclei tam carum esse ut consilium certare non possit.

Haec sententia obsoleta est.

Finis sumptum habet, sed systemata moderna hunc sumptum tractabilem facere possunt:

  • viae celeres syscall et reditus
  • meliores heuristicae scheduling
  • viae datorum memoria communicata
  • mappatio paginarum pro transcriptione magna
  • petitiones aggregatae
  • traditio eventuum asynchrona
  • ABI IPC diligenter designatae

Propositum magni momenti est consilium politicam extra nucleum servare sine eo ut omnis byte datorum per nucleum ire cogatur.

Nucleus auctoritatem mediare debet. Non necesse est omnia data movere.


Fabula efficientiae: IPC omnia transcribere significat

IPC saepe imaginatur ut “totum hunc buffer e processu A ad processum B transcribe”.

Hoc unum tantum consilium possibile est.

Micronucleus parvos nuntios imperii mittere potest dum auctoritatem ad memoriam communicatam, frames, endpoints, aut obiecta machinarum transfert. Via datorum cara mappata manere potest, dum nucleus tantum validat quis accedere liceat.

Hoc centrale est in consilio facultatibus innixo.

Pro magnis structuris datorum per subsystema privilegiatum transcribendis, processus facultatem accipere potest quae accessum ad obiectum certum cum iuribus certis permittit.

Nucleus responsalis manet ut translatio cogatur. Non necesse est eum intellegere omnia protocolla altioris gradus super illam translationem aedificata.


Fabula efficientiae: moderatores in spatio usoris non sunt practici

Moderatores in spatio usoris saepe ut idea investigationis tractantur.

Cura intellegibilis est. Accessus ad ferramentum sensitivus est, interrupta tempore pendent, et moderatores saepe in viis calidis sedent.

Sed plerique moderatores plena auctoritate nuclei non indigent.

Moderator plerumque accessu indiget ad:

  • certum intervallum portuum I/O
  • certam regionem MMIO
  • certam lineam interrupti
  • certam dispositionem DMA aut bufferum

Hae sunt formae auctoritatis angustiores quam “totus nucleus”.

Si nucleus exacte has opes delegare potest, moderator extra nucleum currere et tamen opus utile facere potest. Si deficit, systema occasionem habet illum moderatorem sistere, denuo incipere, aut substituere sine eo ut defectus pro corruptione memoriae nuclei habeatur.

Compensatio vera est: moderatores in spatio usoris bono IPC, diligenti traditione interruptorum, et proprietate opum explicita indigent. Sed exemplar per se impracticabile non est.


Quid EriX in nucleo ponat

EriX ut micronucleus facultatum designatur.

Nucleus EriX consulto politice minimus est. Documenta architecturae eum responsalem definiunt pro:

  • validatione traditionis a bootloader ad nucleum
  • administratione obiectorum fundamentalium nuclei et semantica facultatum
  • creatione muneris root
  • expositione introitus trap, syscall, et interruptorum

Nucleus expresse non est responsalis pro:

  • politica systematis
  • politica orchestrationis processuum
  • politica memoriae altioris gradus
  • politica vitae officiorum

Hic est finis micronuclei in usu.

Nucleus cum auctoritate machinae incipit, sed hanc auctoritatem in obiecta nuclei explicita et references facultatum convertere debet. Nulla auctoritas ambiens in spatium usoris effluere debet.


Quid EriX extra nucleum moveat

EriX functiones quae politicam portant in officia spatii usoris ponit.

Exempli gratia:

  • rootd est prima auctoritas spatii usoris quae politicam fert
  • procd administrationem vitae processuum possidet
  • deviced politicam moderatorum et orchestrationem initii moderatorum possidet
  • vfsd spatium nominum publicum systematis fasciculorum possidet
  • provisores systematis fasciculorum sicut ramfsd, e2fsd, et fatd manent pares backend privati post vfsd

Hoc non est solum “codicem extra nucleum movere” ut electio aesthetica.

Unusquisque finis officii finem auctoritatis definit.

rootd facultates initii minimae potestatis distribuit. procd processus creat et incipit per creationem filii gradatim factam et concessiones institutionis. deviced non directe nucleus fit; procd rogat ut processus moderatorum regat et tantum auctoritatem moderatoris pro unoquoque munere necessariam tradit.

Haec structura verbosior est quam graphum vocationum nuclei monolithici, sed fluxum auctoritatis visibilem facit.


Auctoritas angusta pro privilegio lato

Unum ex maximis rebus implementationis EriX est discessus a lato endpoint root ut superficie imperii normali tempore executionis.

Nucleus hodiernus familias angustas endpointorum imperii nuclei pro certis operibus exponit:

  • imperium temporis
  • imperium interruptorum
  • eventus hotplug
  • lectiones configurationis PCI
  • accessum ad consolam et framebuffer
  • I/O COM1
  • I/O i8042
  • retyping memoriae
  • mappationem VSpace
  • resolutionem defectuum paginatoris
  • imperium processuum
  • lectiones ACPI

Dispatch tempore executionis ab obiecto endpoint et eius genere regitur, non a numero slot globali privilegiato.

Hoc interest quia munus auctoritatem non acquirit tantum sciendo valorem slot conventionalem. Rectam facultatem in proprio spatio facultatum locali vere habere debet.

Exempli gratia, drv-serial auctoritatem I/O COM1-specificam accipit. drv-i8042 auctoritatem I/O i8042-specificam accipit. drv-acpi auctoritatem lectionis ACPI accipit. probed auctoritatem lectionis configurationis PCI accipit.

Haec est alia forma securitatis quam omnes illas operationes post unum latum manubrium nuclei ponere.


Memoria machinae ut obiectum explicitum

EriX etiam auctoritatem memoriae machinae ut explicitam et typatam tractat.

Nucleus CAP_TYPE_DEVICE_FRAME distinctum habet pro memoria machinae validata. In via repositorii, frame MMIO a BAR sustentatum pro deviced derivari potest, et deviced deinde tantum illum frame machinae derivatum in fasciculo initii gradatim facto moderatoris instituere potest.

Propositum non est moderatores machinarum simplices fieri.

Propositum est ne auctoritas MMIO cum frame RAM ordinariis confundatur neque per effugium genericum “quidlibet cum memoria machinae fac” exponatur.

Hoc est ipsum genus singularis rei quod micronucleos modernos viabiles facit: accessus ferramenti delegatur ut obiectum certum cum iuribus certis.


IPC ut ABI, non ut casus

In nucleo monolithico, multae interfaces internae sunt vocationes functionum ordinariae.

In micronucleo, IPC pars ABI systematis fit. Hoc eam maiorem momenti facit, non minorem.

EriX IPC ut contractum commune tractat:

  • capita nuntiorum versionata sunt
  • dispositiones fixae sunt
  • parsing arithmetica comprobata utitur
  • payloads male formata clauso modo deficiunt
  • translationes facultatum explicitae sunt
  • nuntii runtime qui translationes ferunt GRANT requirunt

Hoc contrarium est ei quod IPC ut cogitatio postrema tractetur.

Sumptus IPC partim implementatione regitur, sed etiam consilio interfaciei. ABI diligenter designata ambitus inutiles vitat, nuntios intra fines tenet, et translationem imperii a motu datorum separat.


Cur micronuclei iterum viabiles sint

Micronuclei hodie propter plures causas magis viabiles sunt.

1. Ferramentum mutatum est

Sumptus relativus finis protectionis mutatus est.

Mutationes contextus et syscalls adhuc gratuitae non sunt, sed CPU modernae, systemata memoriae, et mechanismi interruptorum sumptum crudum minus decretorium faciunt quam erat cum prima experimenta micronucleorum iudicabantur.

Eodem tempore, systemata moderna complexiora et magis exposita sunt. Sumptus compromissionis nuclei crevit.

Separatio nunc pretiosior est.


2. IPC melius intellegimus

Doctrina ex prioribus systematibus non est “IPC evita”.

Doctrina est:

  • IPC inutile vitare
  • protocolla nimis loquacia vitare
  • magnorum datorum transcriptionem vitare cum translatio auctoritatis sufficiat
  • fines officiorum circa veram proprietatem designare

Micronuclei viabiles sunt cum IPC ut problema consilii primi ordinis tractatur.


3. Facultates fines utiles faciunt

Codicem in spatium usoris movere tantum dimidia pars fabulae est.

Si omnis minister spatii usoris adhuc privilegium implicitum latum accipit, systema plerumque monolithum cum mutationibus contextus additis recreavit.

Facultates finem significantem faciunt.

In EriX, auctoritas per facultates typatas cum iuribus explicitis repraesentatur. Officia facultates quas accipiunt validant. Fasciculi initii auctoritatem declaratam describunt. Codex nuclei et officiorum numeros slot canonicos ut permissionem ambientem tractare vitat.

Hoc decompositionem plus quam modularitatem facit. Decompositionem partem exemplaris securitatis facit.


4. Linguae et instrumenta meliora facta sunt

Linguae implementationis modernae et instrumenta moderna etiam compensationem mutant.

Rust vitia systematum operativorum non tollit, sed multa vitia securitatis memoriae casu scribere difficilius facit. Etiam fines unsafe in recensione visibiles facit.

Pro systemate micronuclei, hoc praecipue utile est. Nucleus parvus et examinabilis manere potest, dum officia spatii usoris adhuc cum cautionibus securitatis firmioribus quam componentia systematis traditionalia C-gravia scribi possunt.

EriX hoc cum ratione conclavis puri et sine crates tertiarum partium coniungit, quod systema facilius examinabile servat, quamquam laborem implementationis auget.


Sumptus reliqui

Micronuclei adhuc sumptus reales habent.

Requirunt:

  • logicam initii magis explicitam
  • contractus IPC diligenter versionatos
  • robustam supervisionem officiorum
  • plus cogitationis de aggregatione et motu datorum
  • claram proprietatem uniuscuiusque facultatis
  • bonum tracing et mensuram efficientiae

Etiam partem complexitatis extra nucleum movent potius quam delent.

rootd, procd, deviced, et officia systematis fasciculorum adhuc consilio diligenti indigent. Extra nucleum esse possunt, sed tamen componentia fidata pro certis partibus systematis esse possunt.

Differentia est quod eorum auctoritas angustior quam auctoritas nuclei esse potest, et eorum defectus consultius contineri possunt.


Compensatio iterum inspecta

Vetus forma saepe erat:

  • nuclei monolithici celeres sunt
  • micronuclei mundi sed lenti sunt

Haec forma nimis simplex est.

Melior forma est:

  • nuclei monolithici cooperationem directam intra nucleum optimizant
  • micronuclei auctoritatem explicitam et separationem defectuum optimizant
  • uterque designus celer aut lentus esse potest secundum implementationem
  • uterque designus complexus fieri potest si fines male eliguntur

Pro EriX, electio micronuclei ex propositis systematis sequitur:

  • minima basis computandi fidata
  • auctoritas explicita per facultates
  • stricta separatio inter nucleum et spatium usoris
  • fines officiorum examinabiles
  • bootstrap et mores defectuum deterministici

Haec proposita efficientiam non faciunt irrelevantem.

Definiunt ubi opus efficientiae fieri debeat: IPC celer, interfaces officiorum diligentes, viae datorum memoria communicata, familiae endpoint angustae, et translatio facultatum explicita.


Prospectus

Micronuclei non sunt via compendiaria.

Plus disciplinae consilii ante tempus exigunt quam simplex graphum vocationum intra nucleum. Systema cogunt ut auctoritatem, proprietatem, et mores defectuum cito definiat.

Ita prorsus sunt interesting.

EriX exemplar micronuclei adhibet non quia in more est, sed quia architecturae congruit: nucleus parvus, auctoritas per facultates mediata, et politica per officia explicita spatii usoris impleta.

Proximum scriptum ideam examinabit quae multum huius structurae movet: basis computandi fidata.

Videbimus quid TCB vere includat, cur magnitudo eius superficiem oppugnationis afficiat, et quomodo EriX codicem fidatum parvum servare conetur, politicam in officia spatii usoris explicita et facultatibus constricta movendo.