Tilck Project, supaprastintas branduolys, suderinamas su Linux

varnele

Tilck yra mokomasis monolitinis x86 branduolys, sukurtas taip, kad būtų suderinamas su Linux dvejetainiu lygiu.

Buvo paskelbta žinia apie a nauja plėtra, pavadinta „Project Tilck“, kuriame VMware darbuotojas kuria monolitinis branduolys, kuris iš esmės skiriasi nuo Linux, bet sukurtas taip, kad būtų suderinamas dvejetainis su Linux ir galintis paleisti programas, sukurtas Linux.

Plėtra siekia įgyvendinti minimalias reikalaujamas charakteristikas, funkcionalumo perkrovos išvengimas, paprasta ir suprantama architektūra, maksimalus kodo supaprastinimas, mažas dvejetainių failų dydis, nuspėjamas (deterministinis) elgesys, minimalių vėlavimų užtikrinimas, aukšto patikimumo pasiekimas, kūrimo ir testavimo procesų supaprastinimas.

„Tilck“ iš esmės skiriasi nuo „Linux“ tuo, kad jis netaikomas kelių vartotojų serveriams ar staliniams kompiuteriams, visai ne todėl, kad tai nebūtų prasminga: „Linux“ nėra didelė ir sudėtinga dėl prasto įgyvendinimo, o dėl neįtikėtino skaičiaus. turimų savybių. pasiūlymai ir jiems reikalingas sudėtingumas. Kitaip tariant, Linux yra puikus, atsižvelgiant į problemą, kurią ji išsprendžia. Tilck pasiūlys mažiau funkcijų mainais už:

paprastesnis kodas (iki šiol)
mažiausias dvejetainis dydis
itin deterministinis elgesys
itin mažas delsimas
lengviau kurti ir išbandyti
papildomas tvirtumas

El proyecto neskirtas naudoti kelių vartotojų serverių aplinkoje arba darbalaukio sistemos. Iš failų sistemų FAT16 ir FAT32 palaikomos skaitymo režimu, taip pat ramfs, devfs ir sysfs. Blokuoti įrenginiai dar neįdiegti; viskas atmintyje.

VFS yra skirtas FS operacijoms abstrahuoti. Kelių gijų naudojimas dabartiniame kūrimo etape galimas tik branduolio lygiu (dar nepateiktas naudotojo erdvėje).

Branduolys palaiko prevencinį kelių užduočių atlikimą ir įgyvendina apie 100 pagrindinių iškvietimų. Linux sistemai, pvz., fork(), waitpid(), read(), write(), select() ir poll(), kurių pakanka paleisti konsolės programas, tokias kaip BusyBox, Vim, TinyCC, Micropython ir Lua, taip pat kadrų buferio pagrindu veikiančios grafinės programos, tokios kaip žaidimas fbDOOM. Norint sukurti Tilck programas, pateikiamas įrankių rinkinys, pagrįstas Musl biblioteka.

Minima, kad siūlomas tvarkyklių rinkinys leidžia paleisti „Tilck“ tiek QEMU aplinkoje kaip ir įprastose sistemose, paleidžiančiose iš USB atmintinės. Be to, taip pat pažymima, kad palaikomi SSE, AVX ir AVX2 išplėstiniai instrukcijų rinkiniai. Jis siūlo savo interaktyvų įkrovos įkroviklį, kuris palaiko BIOS ir UEFI sistemas, tačiau taip pat galima naudoti trečiųjų šalių įkrovos įkroviklius, tokius kaip GRUB2. Kai įkeliamas į QEMU, branduolys gali veikti aplinkoje, kurioje yra 3 MB RAM.

Šiuo metu projektas pozicionuojamas kaip edukacinis projektas, tačiau ilgainiui gali būti, kad Tilck išaugs iki tokio lygio, kuris bus tinkamas naudoti kaip branduolys įterptosiose sistemose, kurioms reikalingas nuspėjamas elgesys ir mažas delsimas.

Nors Tilck viduje naudoja gijos sąvoką, kelių gijų kūrimas šiuo metu nėra veikiamas vartotojo erdvės (žinoma, branduolio gijos egzistuoja). Fork () ir vfork () yra tinkamai įdiegti, o kopijavimas rašant naudojamas šakotiems procesams. Waitpid() sistemos iškvietimas yra visiškai įgyvendintas (tai reiškia procesų grupes ir pan.).

Viena įdomi šios srities savybė nusipelno atskiro paminėjimo: nepaisant to, kad trūksta vartotojo erdvės kelių gijų, „Tilck“ visiškai palaiko TLS.

Tikimasi, kad Varnelė panaikinti atotrūkį tarp Linux branduolio sprendimų ir tam skirtų realaus laiko operacinių sistemų, kaip FreeRTOS ir Zephyr. Į planus įtrauktas „Tilck“ perkėlimas į ARM ir ne atminties valdymo bloko (MMU) procesorius, tinklo posistemio pridėjimas, blokinių įrenginių palaikymas ir papildomos failų sistemos, pvz., ext2.

Kodas parašytas C kalba ir platinamas pagal BSD licenciją. Dabartiniame kūrimo etape branduolys palaiko tik x86 architektūrą, tačiau kodas sukurtas atsižvelgiant į universalumą ir įgyvendinimą, kad ateityje būtų galima palaikyti kitas architektūras.

pagaliau jei esi domina sužinoti daugiau apie tai, galite patikrinti išsamią informaciją Šioje nuorodoje.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.