Tilck Project, zjednodušené jádro kompatibilní s Linuxem

klíště

Tilck je vzdělávací monolitické x86 jádro navržené tak, aby bylo kompatibilní s Linuxem na binární úrovni.

Byla zveřejněna zpráva o a nový vývoj, který nese název «Project Tilck», ve kterém se vyvíjí zaměstnanec VMware monolitické jádro, které se zásadně liší od Linuxu, ale je navrženo tak, aby bylo kompatibilní binární s Linuxem a schopný spouštět aplikace vytvořené pro Linux.

Vývoj má za cíl implementovat minimální požadované vlastnosti, zamezení přetížení funkčností, jednoduchá a srozumitelná architektura, maximální zjednodušení kódu, malá velikost binárních souborů, předvídatelné (deterministické) chování, zajištění minimálních zpoždění, dosažení vysoké spolehlivosti a zjednodušení procesů vývoje a testování.

Tilck se zásadně liší od Linuxu v tom, že se nezaměřuje na víceuživatelské servery nebo stolní počítače, vůbec ne proto, že by to nedávalo smysl: Linux není velký a složitý kvůli špatné implementaci, ale kvůli neuvěřitelnému počtu funkcí, které má. nabídky a vnitřní složitost, kterou vyžadují. Jinými slovy, Linux je skvělý vzhledem k problému, který řeší. Tilck nabídne méně funkcí výměnou za:

jednodušší kód (zdaleka)
nejmenší binární velikost
extrémně deterministické chování
ultra nízká latence
snadnější vývoj a testování
dodatečná robustnost

El Proyecto není určeno pro použití v prostředí serveru s více uživateli nebo stolní systémy. Ze souborových systémů jsou v režimu čtení podporovány FAT16 a FAT32, stejně jako ramfs, devfs a sysfs. Bloková zařízení ještě nebyla implementována; vše je v paměti.

VFS je poskytován k abstrahování operací FS. Multithreading v současné fázi vývoje je k dispozici pouze na úrovni jádra (zatím není k dispozici v uživatelském prostoru).

Jádro podporuje preemptivní multitasking a implementuje asi 100 základních volání. do systému Linux, jako je fork(), waitpid(), read(), write(), select() a poll(), které jsou dostatečné pro spuštění konzolových aplikací, jako jsou BusyBox, Vim, TinyCC, Micropython a Lua, stejně jako grafické aplikace založené na framebufferu, jako je hra fbDOOM. Pro vytváření programů pro Tilck je k dispozici sada nástrojů založených na knihovně Musl.

Je to zmíněno navrhovaná sada ovladačů umožňuje provoz Tilck jak v prostředí QEMU jako u konvenčních systémů bootování z USB disku. Kromě toho je také třeba poznamenat, že existuje podpora pro rozšířené instrukční sady SSE, AVX a AVX2. Nabízí vlastní interaktivní bootloader, který podporuje systémy BIOS a UEFI, ale je možné použít i bootloadery třetích stran, jako je GRUB2. Po nahrání do QEMU může jádro běžet v prostředí s 3 MB RAM.

V současné době, projekt je umístěn jako vzdělávací projekt, ale v dlouhodobém horizontu je možné, že Tilck poroste na úroveň vhodnou pro použití jako jádro pro vestavěné systémy, které vyžadují předvídatelné chování a nízkou latenci.

Zatímco Tilck interně používá koncept vlákna, multithreading není v současné době vystaven uživatelskému prostoru (vlákna jádra samozřejmě existují). Fork() i vfork() jsou implementovány správně a pro rozvětvené procesy se používá copy-on-write. Systémové volání waitpid() je plně implementováno (což znamená skupiny procesů atd.).

Jedna zajímavá funkce v této oblasti si zaslouží zvláštní zmínku: navzdory nedostatku multithreadingu v uživatelském prostoru má Tilck plnou podporu pro TLS.

Očekává se, že Klíště překlenout propast mezi řešeními založenými na jádře Linuxu a specializovanými operačními systémy v reálném čase, jako FreeRTOS a Zephyr. Plány zahrnují migraci Tilck na ARM a procesory jiné než Memory Management Unit (MMU), přidání síťového subsystému, podporu pro bloková zařízení a další souborové systémy, jako je ext2.

Kód je napsán v jazyce C a je distribuován pod licencí BSD. V současné fázi vývoje jádro podporuje pouze architekturu x86, ale kód je navržen s ohledem na univerzálnost a implementaci pro budoucí podporu jiných architektur.

konečně jestli jsi zájem dozvědět se o tom více, můžete zkontrolovat podrobnosti Na následujícím odkazu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.