Tilck Project, en forenklet kerne, der er kompatibel med Linux

kryds

Tilck er en pædagogisk monolitisk x86-kerne designet til at være kompatibel med Linux på binært niveau.

Nyheden blev frigivet om en ny udvikling, der har navnet «Project Tilck», hvor en VMware-medarbejder er ved at udvikle sig en monolitisk kerne, der er fundamentalt forskellig fra Linux, men designet til at være kompatibel binær med Linux og i stand til at køre applikationer bygget til Linux.

Udviklingen har til formål at implementere de mindst nødvendige egenskaber, undgå overbelastning af funktionalitet, enkel og forståelig arkitektur, maksimal kodeforenkling, lille størrelse af binære filer, forudsigelig (deterministisk) adfærd, sikring af minimale forsinkelser, opnåelse af høj pålidelighed og forenkling af udviklings- og testprocesser.

Tilck er fundamentalt forskellig fra Linux ved, at den ikke er målrettet mod flerbrugerservere eller stationære maskiner, slet ikke fordi det ikke ville give mening: Linux er ikke stort og komplekst på grund af dårlig implementering, men på grund af det utrolige antal af funktioner, den har. tilbud og den iboende kompleksitet, de kræver. Med andre ord er Linux fantastisk i betragtning af det problem, det løser. Tilck vil tilbyde færre funktioner i bytte for:

enklere kode (langt)
mindste binære størrelse
ekstremt deterministisk adfærd
ultra lav latenstid
lettere udvikling og test
ekstra robusthed

Projektet ikke beregnet til brug i flerbrugerservermiljøer eller desktop-systemer. Af filsystemerne understøttes FAT16 og FAT32 i læsetilstand, ligesom ramfs, devfs og sysfs. Bloker enheder er endnu ikke blevet implementeret; alt er i hukommelsen.

VFS er tilvejebragt for at abstrahere FS's operationer. Multithreading på det nuværende udviklingstrin er kun tilgængelig på kerneniveau (endnu ikke tilgængeligt i brugerrummet).

Kernen understøtter forebyggende multitasking og implementerer omkring 100 grundlæggende opkald. til Linux-systemet, såsom fork(), waitpid(), read(), write(), select() og poll(), som er tilstrækkelige til at køre konsolapplikationer såsom BusyBox, Vim, TinyCC, Micropython og Lua, samt framebuffer-baserede grafiske applikationer som spillet fbDOOM. For at oprette programmer til Tilck leveres et sæt værktøjer baseret på Musl-biblioteket.

Det nævnes det det foreslåede driversæt tillader at køre Tilck både i QEMU-miljøet som i konventionelle systemer, der starter fra et USB-drev. Udover dette bemærkes det også, at der er understøttelse af SSE, AVX og AVX2 udvidede instruktionssæt. Den tilbyder sin egen interaktive bootloader, der understøtter BIOS- og UEFI-systemer, men det er også muligt at bruge tredjeparts bootloadere som GRUB2. Når den er indlæst i QEMU, kan kernen køre i et miljø med 3 MB RAM.

Currently, projektet er positioneret som et uddannelsesprojekt, men på længere sigt er det muligt, at Tilck vil vokse til et niveau, der er egnet til brug som en kerne til indlejrede systemer, der kræver forudsigelig adfærd og lav latenstid.

Mens Tilck internt bruger konceptet med en tråd, er multithreading i øjeblikket ikke eksponeret for brugerplads (kernetråde findes selvfølgelig). Både fork() og vfork() er implementeret korrekt, og copy-on-write bruges til forked processer. waitpid()-systemkaldet er fuldt implementeret (hvilket indebærer procesgrupper osv.).

En interessant funktion på dette område fortjener en særlig omtale: på trods af manglen på multithreading af brugerrum, har Tilck fuld understøttelse af TLS.

Det forventes at Sæt kryds bygge bro mellem Linux-kernebaserede løsninger og dedikerede realtidsoperativsystemer, som FreeRTOS og Zephyr. Planerne omfatter migrering af Tilck til ARM- og MMU-processorer (non-Memory Management Unit), tilføjelse af et netværksundersystem, understøttelse af blokenheder og yderligere filsystemer som ext2.

Koden er skrevet i C og distribueres under BSD-licensen. På det nuværende udviklingstrin understøtter kernen kun x86-arkitekturen, men koden er designet med universalitet og implementering i tankerne til fremtidig understøttelse af andre arkitekturer.

endelig hvis du er det interesseret i at vide mere om det, kan du kontrollere detaljerne I det følgende link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.