Tilck Project, yksinkertaistettu ydin, joka on yhteensopiva Linuxin kanssa

puutiainen

Tilck on opetuksellinen monoliittinen x86-ydin, joka on suunniteltu yhteensopivaksi Linuxin kanssa binääritasolla.

Uutinen julkaistiin a uusi kehitys, jonka nimi on "Project Tilck", jossa VMwaren työntekijä kehittyy monoliittinen ydin, joka eroaa pohjimmiltaan Linuxista, mutta on suunniteltu yhteensopivaksi binaari Linuxin kanssa ja pystyy suorittamaan Linuxille suunniteltuja sovelluksia.

Kehitys pyrkii toteuttamaan vaaditut vähimmäisominaisuudet, toimintojen ylikuormituksen välttäminen, yksinkertainen ja ymmärrettävä arkkitehtuuri, koodin maksimaalinen yksinkertaistaminen, binääritiedostojen pieni koko, ennustettava (deterministinen) käyttäytyminen, vähimmäisviiveiden varmistaminen, korkean luotettavuuden saavuttaminen sekä kehitys- ja testausprosessien yksinkertaistaminen.

Tilck on pohjimmiltaan erilainen kuin Linux siinä mielessä, että se ei kohdistu usean käyttäjän palvelimiin tai työpöytäkoneisiin, ei ollenkaan siksi, ettei siinä olisi järkeä: Linux ei ole iso ja monimutkainen huonon toteutuksen, vaan uskomattoman määrän vuoksi. sen ominaisuuksista. tarjouksista ja niiden vaatimasta monimutkaisuudesta. Toisin sanoen Linux on loistava ottaen huomioon sen ratkaiseman ongelman. Tilck tarjoaa vähemmän ominaisuuksia vastineeksi:

yksinkertaisempi koodi (ylivoimaisesti)
pienin binäärikoko
äärimmäisen determinististä käytöstä
erittäin pieni latenssi
helpompaa kehitystä ja testausta
lisäkestävyyttä

El proyecto ei ole tarkoitettu käytettäväksi usean käyttäjän palvelinympäristöissä tai työpöytäjärjestelmiin. Tiedostojärjestelmistä FAT16 ja FAT32 ovat tuettuja lukutilassa, samoin kuin ramfs, devfs ja sysfs. Lohkolaitteita ei ole vielä otettu käyttöön; kaikki on muistissa.

VFS on tarkoitettu FS:n toimintojen tiivistämiseen. Monisäikeisyys on nykyisessä kehitysvaiheessa käytettävissä vain ydintasolla (ei vielä käytössä käyttäjätilassa).

Ydin tukee ennaltaehkäisevää moniajoa ja toteuttaa noin 100 peruskutsua. Linux-järjestelmään, kuten fork(), waitpid(), read(), write(), select() ja poll(), jotka riittävät ajamaan konsolisovelluksia, kuten BusyBox, Vim, TinyCC, Micropython ja Lua, sekä kehyspuskuripohjaiset graafiset sovellukset, kuten peli fbDOOM. Tilckille ohjelmien luomiseksi tarjotaan joukko työkaluja, jotka perustuvat Musl-kirjastoon.

Mainitaan se ehdotettu ajurisarja mahdollistaa Tilckin käytön sekä QEMU-ympäristössä kuten perinteisissä järjestelmissä, jotka käynnistyvät USB-asemalta. Tämän lisäksi on myös huomattava, että SSE-, AVX- ja AVX2-laajennetuille käskysarjoille on tuki. Se tarjoaa oman interaktiivisen käynnistyslataimen, joka tukee BIOS- ja UEFI-järjestelmiä, mutta on myös mahdollista käyttää kolmannen osapuolen käynnistyslataimia, kuten GRUB2. Kun se ladataan QEMU:hun, ydin voi toimia ympäristössä, jossa on 3 Mt RAM-muistia.

tällä hetkellä, hanke on sijoitettu koulutusprojektiksi, mutta pitkällä aikavälillä on mahdollista, että Tilck kasvaa tasolle, joka soveltuu käytettäväksi ytimenä sulautetuissa järjestelmissä, jotka vaativat ennustettavaa toimintaa ja pientä latenssia.

Vaikka Tilck käyttää sisäisesti säikeen käsitettä, monisäikeisyys ei ole tällä hetkellä alttiina käyttäjätilalle (ydinsäikeitä on tietysti olemassa). Sekä fork() että vfork() on toteutettu oikein ja kopiointi-kirjoitustoimintoa käytetään haaroittuneisiin prosesseihin. Waitpid()-järjestelmäkutsu on täysin toteutettu (mikä tarkoittaa prosessiryhmiä jne.).

Yksi mielenkiintoinen ominaisuus tällä alueella ansaitsee maininnan: käyttäjätilan monisäikeisyyden puutteesta huolimatta Tilckillä on täysi tuki TLS:lle.

On odotettavissa, että Puutiainen kattamaan Linuxin ydinpohjaisten ratkaisujen ja omistettujen reaaliaikaisten käyttöjärjestelmien välinen kuilu, kuten FreeRTOS ja Zephyr. Suunnitelmiin kuuluu Tilckin siirtäminen ARM- ja ei-MMU-prosessoreihin, verkkoalijärjestelmän lisääminen, tuki lohkolaitteille ja muita tiedostojärjestelmiä, kuten ext2.

Koodi on kirjoitettu C-kielellä ja sitä jaetaan BSD-lisenssillä. Kehitysvaiheessa ydin tukee vain x86-arkkitehtuuria, mutta koodi on suunniteltu universaalisuutta ja toteutusta ajatellen tulevaa tukea varten muille arkkitehtuureille.

vihdoin jos olet kiinnostunut tietämään asiasta lisää, voit tarkistaa yksityiskohdat Seuraavassa linkissä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.