Tilck Project, zjednodušené jadro kompatibilné s Linuxom

kliešť

Tilck je vzdelávacie monolitické jadro x86 navrhnuté tak, aby bolo kompatibilné s Linuxom na binárnej úrovni.

Bola zverejnená správa o a nový vývoj s názvom «Project Tilck», v ktorej sa vyvíja zamestnanec VMware monolitické jadro, ktoré sa zásadne líši od Linuxu, ale je navrhnuté tak, aby bolo kompatibilné binárne s Linuxom a schopné spúšťať aplikácie vytvorené pre Linux.

Vývoj má za cieľ implementovať minimálne požadované vlastnosti, predchádzanie preťaženiu funkcionalitou, jednoduchá a zrozumiteľná architektúra, maximálne zjednodušenie kódu, malá veľkosť binárnych súborov, predvídateľné (deterministické) správanie, zabezpečenie minimálneho oneskorenia, dosiahnutie vysokej spoľahlivosti a zjednodušenie procesov vývoja a testovania.

Tilck sa zásadne líši od Linuxu v tom, že sa nezameriava na servery s viacerými používateľmi alebo stolové počítače, vôbec nie preto, že by to nedávalo zmysel: Linux nie je veľký a zložitý kvôli zlej implementácii, ale kvôli neuveriteľnému počtu funkcií, ktoré má. ponuky a vnútornú zložitosť, ktorú vyžadujú. Inými slovami, Linux je skvelý vzhľadom na problém, ktorý rieši. Tilck ponúkne menej funkcií výmenou za:

jednoduchší kód (zďaleka)
najmenšia binárna veľkosť
extrémne deterministické správanie
ultra nízka latencia
jednoduchší vývoj a testovanie
dodatočná robustnosť

Projekt nie je určený na použitie v prostrediach serverov s viacerými používateľmi alebo desktopové systémy. Zo súborových systémov sú v režime čítania podporované FAT16 a FAT32, ako aj ramfs, devfs a sysfs. Blokové zariadenia ešte neboli implementované; všetko je v pamäti.

VFS sa poskytuje na abstrahovanie operácií FS. Multithreading v súčasnej fáze vývoja je dostupný iba na úrovni jadra (zatiaľ nie je k dispozícii v užívateľskom priestore).

Jadro podporuje preemptívny multitasking a implementuje asi 100 základných volaní. do systému Linux, ako napríklad fork(), waitpid(), read(), write(), select() a poll(), ktoré sú dostatočné na spustenie konzolových aplikácií, ako sú BusyBox, Vim, TinyCC, Micropython a Lua, ako aj grafické aplikácie založené na framebufferoch, ako je hra fbDOOM. Na vytváranie programov pre Tilck je k dispozícii sada nástrojov založených na knižnici Musl.

Je to spomenuté navrhovaná sada ovládačov umožňuje spustiť Tilck v prostredí QEMU ako v konvenčných systémoch bootovanie z USB disku. Okrem toho je potrebné poznamenať, že existuje podpora pre rozšírené inštrukčné sady SSE, AVX a AVX2. Ponúka vlastný interaktívny bootloader, ktorý podporuje systémy BIOS a UEFI, ale je možné použiť aj bootloadery tretích strán, ako je GRUB2. Po načítaní do QEMU môže kernel bežať v prostredí s 3 MB RAM.

V súčasnej dobe, projekt je umiestnený ako vzdelávací projekt, ale z dlhodobého hľadiska je možné, že Tilck porastie na úroveň vhodnú na použitie ako jadro pre vstavané systémy, ktoré vyžadujú predvídateľné správanie a nízku latenciu.

Zatiaľ čo Tilck interne používa koncept vlákna, multithreading momentálne nie je vystavený užívateľskému priestoru (vlákna jadra, samozrejme, existujú). Fork() aj vfork() sú implementované správne a pre rozvetvené procesy sa používa copy-on-write. Systémové volanie waitpid() je plne implementované (čo znamená skupiny procesov atď.).

Jedna zaujímavá funkcia v tejto oblasti si zaslúži osobitnú zmienku: napriek nedostatku multithreadingu používateľského priestoru má Tilck plnú podporu pre TLS.

Očakáva sa, že Kliešť preklenúť priepasť medzi riešeniami založenými na jadre Linuxu a špecializovanými operačnými systémami v reálnom čase, ako FreeRTOS a Zephyr. Plány zahŕňajú migráciu Tilck na procesory ARM a iné ako Memory Management Unit (MMU), pridanie sieťového subsystému, podporu blokových zariadení a ďalšie súborové systémy ako ext2.

Kód je napísaný v jazyku C a je distribuovaný pod licenciou BSD. V súčasnej fáze vývoja jadro podporuje iba architektúru x86, ale kód je navrhnutý s ohľadom na univerzálnosť a implementáciu pre budúcu podporu pre iné architektúry.

konečne ak si záujem dozvedieť sa o tom viac, môžete skontrolovať podrobnosti Na nasledujúcom odkaze.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.