การเปิดตัวระบบปฏิบัติการ ToaruOS 2.1

การเปิดตัวระบบปฏิบัติการที่มีลักษณะคล้าย Unix ToaruOS 2.1 ได้รับการเผยแพร่ เขียนตั้งแต่เริ่มต้น และมาพร้อมกับเคอร์เนล บูตโหลดเดอร์ ไลบรารี C มาตรฐาน ตัวจัดการแพ็คเกจ ส่วนประกอบพื้นที่ผู้ใช้ และอินเทอร์เฟซแบบกราฟิกพร้อมตัวจัดการหน้าต่างคอมโพสิต โครงการนี้พัฒนาขึ้นครั้งแรกที่มหาวิทยาลัยอิลลินอยส์เพื่อเป็นงานวิจัยในด้านการสร้างอินเทอร์เฟซกราฟิกแบบคอมโพสิตใหม่ แต่จากนั้นก็เปลี่ยนเป็นระบบปฏิบัติการที่แยกจากกัน รหัสโครงการเขียนด้วยภาษา C และเผยแพร่ภายใต้ใบอนุญาต BSD ภาพสดขนาด 14.4 MB ได้รับการจัดเตรียมสำหรับการดาวน์โหลด ซึ่งสามารถทดสอบได้ใน QEMU, VMware หรือ VirtualBox

การเปิดตัวระบบปฏิบัติการ ToaruOS 2.1

ToaruOS ใช้เคอร์เนลที่ใช้สถาปัตยกรรมโมดูลาร์แบบไฮบริดที่รวมเฟรมเวิร์กเสาหินและเครื่องมือสำหรับการใช้โมดูลที่โหลดได้ ซึ่งประกอบเป็นไดรเวอร์อุปกรณ์ส่วนใหญ่ที่มีอยู่ เช่น ไดรเวอร์ดิสก์ (PATA และ ATAPI), ระบบไฟล์ EXT2 และ ISO9660, framebuffer , คีย์บอร์ด, เมาส์ , การ์ดเครือข่าย (AMD PCnet FAST, Realtek RTL8139 และ Intel PRO/1000), ชิปเสียง (Intel AC'97) รวมถึงโปรแกรมเสริม VirtualBox สำหรับระบบแขก เคอร์เนลรองรับเธรด Unix, TTY, ระบบไฟล์เสมือน, ระบบไฟล์หลอก /proc, มัลติเธรด, IPC, ramdisk, ptrace, หน่วยความจำที่ใช้ร่วมกัน, มัลติทาสกิ้ง และคุณสมบัติมาตรฐานอื่น ๆ

ระบบนี้มาพร้อมกับตัวจัดการหน้าต่างแบบคอมโพสิตรองรับไฟล์ปฏิบัติการที่เชื่อมโยงแบบไดนามิกในรูปแบบ ELF, มัลติทาสกิ้ง, สแต็กกราฟิก, สามารถเรียกใช้ Python 3 และ GCC ได้ Ext2 ใช้เป็นระบบไฟล์ bootloader รองรับ BIOS และ EFI สแต็กเครือข่ายอนุญาตให้ใช้ API ซ็อกเก็ตสไตล์ BSD และรองรับอินเทอร์เฟซเครือข่าย รวมถึงลูปแบ็ค

ในบรรดาแอปพลิเคชันเนทิฟ Bim ตัวแก้ไขโค้ดแบบ Vi-like มีความโดดเด่น ซึ่งถูกใช้ในช่วงไม่กี่ปีที่ผ่านมาเพื่อพัฒนาแอปพลิเคชันเฉพาะของ ToaruOS เช่น ตัวจัดการไฟล์ เทอร์มินัลอีมูเลเตอร์ แผงกราฟิกที่รองรับวิดเจ็ต ตัวจัดการแพ็คเกจ เช่นกัน เป็นไลบรารีสำหรับรองรับรูปภาพ (PNG, JPEG) และแบบอักษร TrueType โปรแกรมเช่น Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs ฯลฯ ได้รับการย้ายไปยัง ToaruOS

โปรเจ็กต์นี้ยังกำลังพัฒนาภาษาการเขียนโปรแกรมแบบไดนามิกของตัวเองชื่อ Kuroko ซึ่งออกแบบมาเพื่อแทนที่ Python เมื่อพัฒนายูทิลิตี้และแอปพลิเคชันแบบกำหนดเองสำหรับระบบ ภาษานี้ชวนให้นึกถึง Python ในรูปแบบไวยากรณ์ (อยู่ในตำแหน่งเป็นภาษาถิ่นที่สั้นลงของ Python พร้อมคำจำกัดความของตัวแปรที่ชัดเจน) และมีการใช้งานที่กะทัดรัดมาก รองรับการคอมไพล์และการตีความ bytecode ล่าม bytecode จัดเตรียมตัวรวบรวมขยะและรองรับการทำงานแบบมัลติเธรดโดยไม่ต้องใช้การล็อคแบบโกลบอล คอมไพเลอร์และล่ามสามารถคอมไพล์ในรูปแบบของไลบรารีที่ใช้ร่วมกันขนาดเล็ก (~ 500KB) ซึ่งรวมเข้ากับโปรแกรมอื่น ๆ และขยายได้ผ่าน C API นอกจาก ToaruOS แล้ว ภาษาดังกล่าวยังสามารถใช้บน Linux, macOS, Windows และทำงานในเบราว์เซอร์ที่รองรับ WebAssembly

ในรุ่นใหม่:

  • เพิ่มการรองรับเบื้องต้นสำหรับสถาปัตยกรรม AArch64 (ARMv8) รวมถึงความสามารถในการทดลองใช้ ToaruOS บนบอร์ด Raspberry Pi 400 และในโปรแกรมจำลอง QEMU
  • การประมวลผลและการส่งสัญญาณไปยังกระบวนการในพื้นที่ผู้ใช้ได้รับการออกแบบใหม่ ดำเนินการ sigaction, sigprocmask, sigwait และ sigsuspend โทร
  • ปรับปรุงการจัดการหน่วยความจำในพื้นที่ผู้ใช้ เพิ่มการเรียกระบบ munmap
  • ตัวจัดการคอมโพสิตใช้เอฟเฟกต์เบลอและทำการจัดการเหตุการณ์ใหม่เมื่อขนาดหน้าต่างเปลี่ยนไป
  • การเรนเดอร์เทอร์มินัลได้รับการปรับปรุง การใช้การเรนเดอร์แบบ Lazy และเพิ่มแคชสัญลักษณ์สำหรับแบบอักษร TrueType
  • ความสามารถของนักแต่งเพลงได้รับการขยาย
  • เพิ่มกลไกในการตั้งนาฬิกาแล้ว รวมถึงการเรียกระบบตั้งเวลาของวัน และความสามารถที่เพิ่มขึ้นของยูทิลิตี้วันที่
  • ปรับปรุงสแต็กเครือข่าย ยูทิลิตี้ ifconfig ได้เพิ่มการรองรับสำหรับการตั้งค่าที่อยู่ IPv4 และการตั้งค่าเส้นทาง เปิดใช้งานการทำงานของซ็อกเก็ต ICMP เพิ่มการรองรับฟังก์ชัน recvfrom สำหรับซ็อกเก็ต UDP และ ICMP
  • Bootloader ได้เพิ่มความสามารถในการทำงานกับคีย์บอร์ด USB
  • เพิ่มรายการสำหรับการลบไฟล์ลงในเมนูบริบทของตัวจัดการไฟล์แล้ว
  • ปรับปรุงการแสดงกราฟในมอนิเตอร์ระบบ
  • เพิ่มยูทิลิตี้ grep พร้อมการรองรับนิพจน์ทั่วไป
  • ปรับปรุงเอาต์พุตคำสั่ง ps (เพิ่มคอลัมน์เพิ่มเติม)

การเปิดตัวระบบปฏิบัติการ ToaruOS 2.1


ที่มา: opennet.ru

เพิ่มความคิดเห็น