Tilck Project เคอร์เนลแบบง่ายที่เข้ากันได้กับ Linux

ขีด

Tilck เป็นเคอร์เนล x86 เสาหินเพื่อการศึกษาที่ออกแบบมาให้เข้ากันได้กับ Linux ในระดับไบนารี

ได้มีการเผยแพร่ข่าวของ การพัฒนาใหม่ที่มีชื่อว่า «Project Tilck», ซึ่งพนักงานของ VMware กำลังพัฒนาอยู่ เคอร์เนลเสาหินที่แตกต่างจาก Linux โดยพื้นฐาน แต่ได้รับการออกแบบมาให้เข้ากันได้ ไบนารีกับ Linux และสามารถเรียกใช้แอปพลิเคชันที่สร้างขึ้นสำหรับ Linux

การพัฒนา มีวัตถุประสงค์เพื่อใช้คุณสมบัติขั้นต่ำที่จำเป็น หลีกเลี่ยงการโอเวอร์โหลดของฟังก์ชันการทำงาน สถาปัตยกรรมที่เรียบง่ายและเข้าใจได้ การลดความซับซ้อนของโค้ดสูงสุด ไฟล์ไบนารีขนาดเล็ก พฤติกรรมที่คาดเดาได้ (กำหนดได้) รับประกันความล่าช้าขั้นต่ำ บรรลุความน่าเชื่อถือสูง และทำให้กระบวนการพัฒนาและการทดสอบง่ายขึ้น

Tilck แตกต่างจาก Linux โดยพื้นฐานตรงที่ไม่กำหนดเป้าหมายไปที่เซิร์ฟเวอร์ที่มีผู้ใช้หลายคนหรือเครื่องเดสก์ท็อป ไม่ใช่เลยเพราะมันไม่สมเหตุสมผล: Linux ไม่ใหญ่และซับซ้อนเพราะการใช้งานที่ไม่ดี แต่เนื่องจากจำนวนที่เหลือเชื่อ ของคุณสมบัติที่มี ข้อเสนอและความซับซ้อนที่แท้จริงที่พวกเขาต้องการ กล่าวอีกนัยหนึ่ง Linux นั้นยอดเยี่ยมเมื่อพิจารณาถึงปัญหาที่แก้ได้ Tilck จะเสนอคุณสมบัติน้อยลงเพื่อแลกกับ:

รหัสที่ง่ายกว่า (โดยไกล)
ขนาดไบนารีที่เล็กที่สุด
พฤติกรรมที่กำหนดขึ้นอย่างมาก
เวลาแฝงต่ำเป็นพิเศษ
พัฒนาและทดสอบได้ง่ายขึ้น
ความทนทานเพิ่มเติม

โครงการ ไม่ได้มีไว้สำหรับใช้ในสภาพแวดล้อมเซิร์ฟเวอร์ที่มีผู้ใช้หลายคน หรือระบบเดสก์ท็อป ในระบบไฟล์ FAT16 และ FAT32 ได้รับการสนับสนุนในโหมดอ่าน เช่นเดียวกับ ramfs, devfs และ sysfs ยังไม่ได้ใช้อุปกรณ์บล็อก ทุกอย่างอยู่ในความทรงจำ

วีเอฟเอสจัดทำขึ้นเพื่อสรุปการดำเนินงานของเอฟเอส มัลติเธรดในขั้นตอนปัจจุบันของการพัฒนามีให้ใช้งานในระดับเคอร์เนลเท่านั้น (ยังไม่มีให้ในพื้นที่ผู้ใช้)

เคอร์เนลรองรับการทำงานหลายอย่างพร้อมกันล่วงหน้าและใช้การเรียกพื้นฐานประมาณ 100 ครั้ง ไปยังระบบ Linux เช่น fork(), waitpid(), read(), write(), select() และ poll() ซึ่งเพียงพอที่จะเรียกใช้คอนโซลแอปพลิเคชันเช่น BusyBox, Vim, TinyCC, Micropython และ Lua เช่นเดียวกับแอปพลิเคชันกราฟิกที่ใช้เฟรมบัฟเฟอร์ เช่น เกม fbDOOM ในการสร้างโปรแกรมสำหรับ Tilck จะมีการจัดเตรียมชุดเครื่องมือตามไลบรารี Musl

เป็นที่กล่าวขวัญกันว่า ชุดไดรเวอร์ที่เสนออนุญาตให้เรียกใช้ Tilck ทั้งในสภาพแวดล้อม QEMU เช่นเดียวกับในระบบทั่วไปที่บูตจากไดรฟ์ USB นอกจากนี้ยังมีข้อสังเกตว่ามีการรองรับชุดคำสั่งเสริม SSE, AVX และ AVX2 มันมี bootloader แบบโต้ตอบของตัวเองที่รองรับระบบ BIOS และ UEFI แต่ก็เป็นไปได้ที่จะใช้ bootloaders ของบุคคลที่สามเช่น GRUB2 เมื่อโหลดเข้าสู่ QEMU เคอร์เนลสามารถทำงานในสภาพแวดล้อมที่มี RAM ขนาด 3 MB

ปัจจุบัน โครงการอยู่ในตำแหน่งโครงการการศึกษาแต่ในระยะยาวเป็นไปได้ที่ Tilck จะเติบโตในระดับที่เหมาะสมสำหรับใช้เป็นเคอร์เนลสำหรับระบบฝังตัวที่ต้องการพฤติกรรมที่คาดเดาได้และเวลาแฝงต่ำ

ในขณะที่ Tilck ใช้แนวคิดของเธรดเป็นการภายใน มัลติเธรดไม่ได้เปิดเผยพื้นที่ของผู้ใช้ในขณะนี้ (แน่นอนว่ามีเธรดเคอร์เนลอยู่) ทั้ง fork() และ vfork() ถูกนำไปใช้อย่างถูกต้อง และใช้การคัดลอกเมื่อเขียนสำหรับกระบวนการที่แยกส่วน การเรียกระบบ waitpid() ถูกนำมาใช้อย่างสมบูรณ์ (ซึ่งหมายถึงกลุ่มกระบวนการ ฯลฯ)

ฟีเจอร์หนึ่งที่น่าสนใจในพื้นที่นี้สมควรได้รับการกล่าวถึงเป็นพิเศษ: แม้จะไม่มี userspace multithreading แต่ Tilck ก็รองรับ TLS อย่างเต็มรูปแบบ

คาดว่า ติ๊ก เชื่อมช่องว่างระหว่างโซลูชันที่ใช้เคอร์เนลของ Linux และระบบปฏิบัติการตามเวลาจริงโดยเฉพาะ เช่น FreeRTOS และ Zephyr แผนประกอบด้วยการย้ายข้อมูล Tilck ไปยังโปรเซสเซอร์ ARM และ non-Memory Management Unit (MMU) การเพิ่มระบบย่อยของเครือข่าย การรองรับอุปกรณ์บล็อก และระบบไฟล์เพิ่มเติม เช่น ext2

รหัสนี้เขียนด้วยภาษา C และเผยแพร่ภายใต้ใบอนุญาต BSD ในขั้นตอนปัจจุบันของการพัฒนา เคอร์เนลสนับสนุนเฉพาะสถาปัตยกรรม x86 แต่โค้ดได้รับการออกแบบโดยคำนึงถึงความเป็นสากลและการนำไปใช้เพื่อรองรับสถาปัตยกรรมอื่นๆ ในอนาคต

ในที่สุดถ้าคุณเป็น สนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้คุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา