Tilck Project, kernel sederhana yang kompatibel dengan Linux

kutu

Tilck adalah kernel x86 monolitik pendidikan yang dirancang agar kompatibel dengan Linux di tingkat biner.

Berita itu dirilis dari a pengembangan baru yang bernama «Project Tilck», di mana karyawan VMware sedang berkembang kernel monolitik yang secara fundamental berbeda dari Linux, tetapi dirancang agar kompatibel biner dengan Linux dan mampu menjalankan aplikasi yang dibangun untuk Linux.

Perkembangan bertujuan untuk menerapkan karakteristik minimum yang diperlukan, menghindari kelebihan fungsi, arsitektur sederhana dan mudah dipahami, penyederhanaan kode maksimum, ukuran kecil file biner, perilaku yang dapat diprediksi (deterministik), memastikan penundaan minimum, mencapai keandalan tinggi, dan menyederhanakan proses pengembangan dan pengujian.

Tilck pada dasarnya berbeda dari Linux karena tidak menargetkan server multi-pengguna atau mesin desktop, sama sekali tidak karena itu tidak masuk akal: Linux tidak besar dan kompleks karena implementasi yang buruk, tetapi karena jumlah yang luar biasa dari fitur yang dimilikinya. penawaran dan kompleksitas intrinsik yang mereka butuhkan. Dengan kata lain, Linux sangat bagus mengingat masalah yang dipecahkannya. Tilck akan menawarkan lebih sedikit fitur dengan imbalan:

kode yang lebih sederhana (sejauh ini)
ukuran biner terkecil
perilaku yang sangat deterministik
latensi sangat rendah
pengembangan dan pengujian yang lebih mudah
kekokohan tambahan

Proyek tidak dimaksudkan untuk digunakan dalam lingkungan server multi-pengguna atau sistem desktop. Sistem file, FAT16 dan FAT32 didukung dalam mode baca, seperti ramfs, devfs, dan sysfs. Perangkat blok belum diterapkan; semuanya ada dalam ingatan.

VFS disediakan untuk abstrak operasi FS. Multithreading pada tahap pengembangan saat ini hanya tersedia di tingkat kernel (belum tersedia di ruang pengguna).

Kernel mendukung preemptive multitasking dan mengimplementasikan sekitar 100 panggilan dasar. ke sistem Linux, seperti fork(), waitpid(), read(), write(), select() dan poll(), yang cukup untuk menjalankan aplikasi konsol seperti BusyBox, Vim, TinyCC, Micropython dan Lua, serta aplikasi grafis berbasis framebuffer seperti game fbDOOM. Untuk membuat program untuk Tilck, disediakan seperangkat alat berdasarkan perpustakaan Musl.

Disebutkan itu set driver yang diusulkan memungkinkan menjalankan Tilck baik di lingkungan QEMU seperti pada sistem konvensional yang mem-boot dari drive USB. Selain itu, juga dicatat bahwa ada dukungan untuk set instruksi tambahan SSE, AVX dan AVX2. Ini menawarkan bootloader interaktifnya sendiri yang mendukung sistem BIOS dan UEFI, tetapi juga memungkinkan untuk menggunakan bootloader pihak ketiga seperti GRUB2. Saat dimuat ke QEMU, kernel dapat berjalan di lingkungan dengan RAM 3 MB.

Saat ini, proyek diposisikan sebagai proyek pendidikan, tetapi dalam jangka panjang ada kemungkinan Tilck akan tumbuh ke tingkat yang sesuai untuk digunakan sebagai kernel untuk sistem tertanam yang memerlukan perilaku yang dapat diprediksi dan latensi rendah.

Sementara Tilck secara internal menggunakan konsep utas, multithreading saat ini tidak diekspos ke ruang pengguna (tentu saja ada utas kernel). Baik fork() dan vfork() diimplementasikan dengan benar dan copy-on-write digunakan untuk proses bercabang. Panggilan sistem waitpid() diimplementasikan sepenuhnya (yang menyiratkan grup proses, dll.).

Salah satu fitur menarik di area ini patut mendapat perhatian khusus: meskipun multithreading ruang pengguna tidak ada, Tilck memiliki dukungan penuh untuk TLS.

Diharapkan begitu Kutu menjembatani kesenjangan antara solusi berbasis kernel Linux dan sistem operasi real-time khusus, seperti FreeRTOS dan Zephyr. Rencananya termasuk memigrasi prosesor Tilck ke ARM dan non-Memory Management Unit (MMU), menambahkan subsistem jaringan, dukungan untuk perangkat blok, dan sistem file tambahan seperti ext2.

Kode ditulis dalam C dan didistribusikan di bawah lisensi BSD. Pada tahap pengembangan saat ini, kernel hanya mendukung arsitektur x86, tetapi kode dirancang dengan mempertimbangkan universalitas dan implementasi untuk dukungan arsitektur lain di masa mendatang.

akhirnya jika kamu tertarik untuk mengetahui lebih banyak tentangnya, Anda dapat memeriksa detailnya Di tautan berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.