Tilck Project, Linuxiga ühilduv lihtsustatud kernel

linnuke

Tilck on hariduslik monoliitne x86 kernel, mis on loodud ühilduma Linuxiga binaarsel tasemel.

Uudis avaldati a uusarendus, mis kannab nime "Project Tilck", milles VMware töötaja areneb monoliitne kernel, mis erineb põhimõtteliselt Linuxist, kuid on loodud ühilduma binaarne Linuxiga ja suudab käivitada Linuxi jaoks loodud rakendusi.

Areng eesmärk on rakendada minimaalseid nõutavaid omadusi, funktsionaalsuse ülekoormuse vältimine, lihtne ja arusaadav arhitektuur, maksimaalne koodi lihtsustamine, binaarfailide väiksus, ennustatav (deterministlik) käitumine, minimaalsete viivituste tagamine, kõrge töökindluse saavutamine ning arendus- ja testimisprotsesside lihtsustamine.

Tilck erineb põhimõtteliselt Linuxist selle poolest, et see ei sihiks mitme kasutajaga servereid ega lauaarvuteid, sugugi mitte sellepärast, et sellel poleks mõtet: Linux ei ole suur ja keeruline kehva rakendamise, vaid uskumatu arvu tõttu. funktsioonidest. pakkumisi ja nende vajalikku keerukust. Teisisõnu, Linux on suurepärane, arvestades probleemi, mida see lahendab. Tilck pakub vähem funktsioone vastutasuks:

lihtsam kood (kaugelt)
väikseim binaarne suurus
äärmiselt deterministlik käitumine
ülimadal latentsusaeg
lihtsam arendus ja testimine
täiendav vastupidavus

El proyecto ei ole mõeldud kasutamiseks mitme kasutajaga serverikeskkondades või lauaarvutisüsteemid. Failisüsteemidest toetatakse lugemisrežiimis FAT16 ja FAT32, nagu ka ramfs, devfs ja sysfs. Blokeerimisseadmeid pole veel rakendatud; kõik on mälus.

VFS on ette nähtud FS-i toimingute abstrakteerimiseks. Praeguses arendusetapis on mitme lõime kasutamine saadaval ainult kerneli tasemel (pole veel kasutajaruumis saadaval).

Kernel toetab ennetavat multitegumtöötlust ja rakendab umbes 100 põhikutset. Linuxi süsteemile, näiteks fork(), waitpid(), read(), write(), select() ja poll(), millest piisab konsoolirakenduste, nagu BusyBox, Vim, TinyCC, Micropython ja Lua, käitamiseks, samuti kaadripuhvripõhised graafilised rakendused nagu mäng fbDOOM. Tilcki programmide loomiseks pakutakse Musli teegil põhinevat tööriistakomplekti.

Seda mainitakse pakutud draiverikomplekt võimaldab käivitada Tilcki mõlemas QEMU keskkonnas nagu tavalistes süsteemides, mis käivituvad USB-draivilt. Lisaks märgitakse, et on olemas SSE, AVX ja AVX2 laiendatud käsukomplektide tugi. See pakub oma interaktiivset alglaadurit, mis toetab BIOS-i ja UEFI-süsteeme, kuid on võimalik kasutada ka kolmandate osapoolte alglaadureid, näiteks GRUB2. QEMU-sse laadituna saab kernel töötada keskkonnas, kus on 3 MB RAM-i.

Praegu projekt on positsioneeritud haridusprojektina, kuid pikemas perspektiivis on võimalik, et Tilck kasvab tasemeni, mis sobib kasutamiseks etteaimatavat käitumist ja madalat latentsust nõudvate manustatud süsteemide tuumana.

Kuigi Tilck kasutab sisemiselt lõime kontseptsiooni, ei puutu mitmelõimega praegu kasutajaruumi (kerneli lõimed on loomulikult olemas). Nii fork () kui ka vfork () on õigesti rakendatud ja kahvliga protsesside jaoks kasutatakse kopeerimist kirjutamisel. Waitpid() süsteemikutse on täielikult rakendatud (mis tähendab protsessigruppe jne).

Eraldi äramärkimist väärib üks huvitav funktsioon selles valdkonnas: vaatamata kasutajaruumi mitmelõime puudumisele on Tilckil TLS-i täielik tugi.

Eeldatakse, et Puuk ületada lõhe Linuxi tuumapõhiste lahenduste ja spetsiaalsete reaalajas kasutatavate operatsioonisüsteemide vahel, nagu FreeRTOS ja Zephyr. Plaanid hõlmavad Tilcki migreerimist ARM-i ja mittemäluhaldusüksuse (MMU) protsessoritele, võrgu alamsüsteemi lisamist, plokkseadmete tuge ja täiendavaid failisüsteeme, nagu ext2.

Kood on kirjutatud C-keeles ja seda levitatakse BSD litsentsi all. Praeguses arendusetapis toetab tuum ainult x86 arhitektuuri, kuid kood on loodud universaalsust ja rakendamist silmas pidades, et tulevikus saaks toetada teisi arhitektuure.

lõpuks kui oled huvitatud sellest rohkem teada, saate üksikasju vaadata Järgmisel lingil.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.