Tilck Project, egy egyszerűsített kernel, amely kompatibilis a Linuxszal

ketyegés

A Tilck egy oktatási monolitikus x86-os kernel, amelyet úgy terveztek, hogy bináris szinten kompatibilis legyen a Linuxszal.

Kiadták a hírt a új fejlesztés, melynek neve "Project Tilck", amelyben egy VMware alkalmazott fejleszt egy monolitikus kernel, amely alapvetően különbözik a Linuxtól, de kompatibilisnek tervezték bináris Linux-szal, és képes Linuxra épített alkalmazások futtatására.

A fejlesztés célja a minimálisan szükséges jellemzők megvalósítása, a funkcionalitás túlterhelésének elkerülése, egyszerű és érthető architektúra, maximális kódegyszerűsítés, kis méretű bináris fájlok, kiszámítható (determinisztikus) viselkedés, minimális késések biztosítása, nagy megbízhatóság elérése, valamint a fejlesztési és tesztelési folyamatok egyszerűsítése.

A Tilck alapvetően abban különbözik a Linuxtól, hogy nem célozza meg a többfelhasználós szervereket vagy az asztali gépeket, egyáltalán nem azért, mert ennek nem lenne értelme: a Linux nem a rossz megvalósítás miatt nagy és összetett, hanem a hihetetlen szám miatt. jellemzői közül. ajánlatokat és az általuk igényelt belső komplexitást. Más szóval, a Linux nagyszerű a megoldott problémához képest. A Tilck kevesebb szolgáltatást kínál a következőkért cserébe:

egyszerűbb kód (messze)
legkisebb bináris méret
rendkívül determinisztikus viselkedés
ultra alacsony késleltetés
könnyebb fejlesztés és tesztelés
további robusztusság

A projekt nem többfelhasználós szerverkörnyezetben való használatra készült vagy asztali rendszereket. A fájlrendszerek közül a FAT16 és a FAT32 támogatott olvasási módban, csakúgy, mint a ramfs, devfs és sysfs. A blokkolóeszközöket még nem implementálták; minden az emlékezetben van.

A VFS az FS műveleteinek elvonatkoztatására szolgál. A többszálú fejlesztés a fejlesztés jelenlegi szakaszában csak kernel szinten érhető el (a felhasználói területen még nem biztosított).

A kernel támogatja a megelőző multitaskingot, és körülbelül 100 alapvető hívást valósít meg. Linux rendszerre, például fork(), waitpid(), read(), write(), select() és poll(), amelyek elegendőek olyan konzolalkalmazások futtatásához, mint a BusyBox, Vim, TinyCC, Micropython és Lua, valamint framebuffer alapú grafikus alkalmazások, például az fbDOOM játék. A Tilck programjainak létrehozásához a Musl könyvtáron alapuló eszközöket biztosítunk.

Azt emlegetik a javasolt illesztőprogram-készlet lehetővé teszi a Tilck futtatását mindkét QEMU környezetben mint az USB-meghajtóról indító hagyományos rendszerekben. Ezen kívül meg kell jegyezni, hogy az SSE, AVX és AVX2 kiterjesztett utasításkészletek is támogatottak. Saját interaktív rendszerbetöltőt kínál, amely támogatja a BIOS és az UEFI rendszereket, de lehetőség van harmadik féltől származó rendszerbetöltők, például GRUB2 használatára is. A QEMU-ba betöltve a kernel 3 MB RAM-mal rendelkező környezetben futhat.

Jelenleg a projektet oktatási projektként pozícionálják, de hosszú távon lehetséges, hogy a Tilck olyan szintre fog növekedni, amely alkalmas a kiszámítható viselkedést és alacsony késleltetést igénylő beágyazott rendszerek kerneljeként való használatra.

Míg a Tilck belsőleg a szál fogalmát használja, a többszálú feldolgozás jelenleg nincs kitéve a felhasználói térnek (természetesen léteznek kernelszálak). Mind a fork() mind a vfork() megfelelően implementálva van, és a másolás-írás használatos a forked folyamatokhoz. A waitpid() rendszerhívás teljes mértékben megvalósul (ami folyamatcsoportokat jelent, stb.).

Ezen a területen egy érdekesség külön említést érdemel: a felhasználói tér többszálú kezelésének hiánya ellenére a Tilck teljes mértékben támogatja a TLS-t.

Várható, hogy Ketyegés áthidalni a szakadékot a Linux kernel alapú megoldások és a dedikált valós idejű operációs rendszerek között, mint a FreeRTOS és a Zephyr. A tervek között szerepel a Tilck áttelepítése ARM és nem memóriakezelő egység (MMU) processzorokra, hálózati alrendszer hozzáadása, blokkeszközök támogatása és további fájlrendszerek, például az ext2.

A kód C nyelven íródott, és a BSD licenc alatt kerül terjesztésre. A fejlesztés jelenlegi szakaszában a kernel csak az x86 architektúrát támogatja, de a kódot az univerzalitás és az implementáció szem előtt tartásával tervezték, hogy a jövőben is támogassa a többi architektúrát.

végre, ha az vagy érdekelne többet megtudni róla, ellenőrizheti a részleteket A következő linken.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.