Tilck Project, pojednostavljeni kernel kompatibilan sa Linuxom

tick

Tilck je edukativni monolitni x86 kernel dizajniran da bude kompatibilan sa Linuxom na binarnom nivou.

Objavljena je vijest o a novi razvoj koji nosi naziv «Project Tilck», u kojoj se razvija zaposlenik VMware-a monolitno jezgro koje se fundamentalno razlikuje od Linuxa, ali dizajnirano da bude kompatibilno binarni sa Linuxom i sposoban za pokretanje aplikacija napravljenih za Linux.

Razvoj ima za cilj implementaciju minimalno potrebnih karakteristika, izbjegavanje preopterećenja funkcionalnosti, jednostavna i razumljiva arhitektura, maksimalno pojednostavljenje koda, mala veličina binarnih datoteka, predvidljivo (determinističko) ponašanje, osiguranje minimalnih kašnjenja, postizanje visoke pouzdanosti i pojednostavljivanje procesa razvoja i testiranja.

Tilck se suštinski razlikuje od Linuxa po tome što ne cilja višekorisničke servere ili desktop mašine, uopšte ne zato što to ne bi imalo smisla: Linux nije veliki i složen zbog loše implementacije, već zbog neverovatnog broja karakteristika koje ima. ponude i intrinzičnu složenost koju zahtijevaju. Drugim riječima, Linux je odličan s obzirom na problem koji rješava. Tilck će ponuditi manje funkcija u zamjenu za:

jednostavniji kod (daleko)
najmanja binarna veličina
krajnje determinističko ponašanje
ultra niska latencija
lakši razvoj i testiranje
dodatnu robusnost

Projekat nije predviđeno za upotrebu u višekorisničkim serverskim okruženjima ili desktop sisteme. Od sistema datoteka, FAT16 i FAT32 su podržani u načinu čitanja, kao i ramfs, devfs i sysfs. Blok uređaji još nisu implementirani; sve je u sećanju.

VFS je obezbeđen da apstrahuje operacije FS. Multithreading u trenutnoj fazi razvoja je dostupan samo na nivou kernela (još nije obezbeđen u korisničkom prostoru).

Kernel podržava preventivni multitasking i implementira oko 100 osnovnih poziva. na Linux sistem, kao što su fork(), waitpid(), read(), write(), select() i poll(), koji su dovoljni za pokretanje konzolnih aplikacija kao što su BusyBox, Vim, TinyCC, Micropython i Lua, kao i grafičke aplikacije zasnovane na baferu okvira poput igre fbDOOM. Za kreiranje programa za Tilck, obezbeđen je skup alata zasnovanih na Musl biblioteci.

To se spominje predloženi set drajvera omogućava pokretanje Tilck-a i u QEMU okruženju kao u konvencionalnim sistemima koji se dižu sa USB drajva. Pored ovoga, takođe se primećuje da postoji podrška za SSE, AVX i AVX2 proširene skupove instrukcija. Nudi sopstveni interaktivni bootloader koji podržava BIOS i UEFI sisteme, ali je takođe moguće koristiti pokretače pokreta drugih proizvođača kao što je GRUB2. Kada se učita u QEMU, kernel može raditi u okruženju sa 3 MB RAM-a.

Trenutno, projekat je pozicioniran kao obrazovni projekat, ali dugoročno je moguće da će Tilck narasti do nivoa pogodnog za korištenje kao kernel za ugrađene sisteme koji zahtijevaju predvidljivo ponašanje i nisko kašnjenje.

Dok Tilck interno koristi koncept niti, multithreading trenutno nije izložen korisničkom prostoru (naravno, niti kernela postoje). I fork() i vfork() se implementiraju ispravno i copy-on-write se koristi za forkirane procese. Waypid() sistemski poziv je u potpunosti implementiran (što podrazumijeva grupe procesa, itd.).

Jedna zanimljiva karakteristika u ovoj oblasti zaslužuje poseban spomen: uprkos nedostatku višenitnosti korisničkog prostora, Tilck ima punu podršku za TLS.

To se očekuje Tick premostiti jaz između Linux kernel-baziranih rješenja i namjenskih operativnih sistema u realnom vremenu, kao što su FreeRTOS i Zephyr. Planovi uključuju migraciju Tilck na ARM i procesore ne-Memory Management Unit (MMU), dodavanje mrežnog podsistema, podršku za blok uređaje i dodatne sisteme datoteka kao što je ext2.

Kod je napisan u C i distribuira se pod BSD licencom. U trenutnoj fazi razvoja, kernel podržava samo x86 arhitekturu, ali je kod dizajniran sa univerzalnošću i implementacijom na umu za buduću podršku za druge arhitekture.

konačno ako jesi zainteresovani da saznaju više o tome, možete provjeriti detalje Na sledećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.