การเปิดตัวระบบปฏิบัติการ ToaruOS 1.14 และภาษาการเขียนโปรแกรม Kuroko 1.1

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

การเปิดตัวระบบปฏิบัติการ ToaruOS 1.14 และภาษาการเขียนโปรแกรม Kuroko 1.1

โครงการนี้เริ่มต้นในปี 2010 ที่มหาวิทยาลัยอิลลินอยส์ และเริ่มพัฒนาเป็นงานวิจัยในด้านการสร้างอินเทอร์เฟซกราฟิกแบบคอมโพสิตใหม่ ตั้งแต่ปี 2012 การพัฒนาได้เปลี่ยนเป็นระบบปฏิบัติการ ToaruOS ซึ่งได้รับการพัฒนาในขั้นต้นเป็นโครงการสำหรับนักเรียน จากนั้นจึงขยายเป็นงานอดิเรกช่วงสุดสัปดาห์ โดยชุมชนที่ก่อตั้งขึ้นรอบโครงการเป็นผู้เลือก ในรูปแบบปัจจุบัน ระบบได้รับการติดตั้งตัวจัดการหน้าต่างแบบคอมโพสิต รองรับไฟล์ปฏิบัติการที่เชื่อมโยงแบบไดนามิกในรูปแบบ ELF การทำงานหลายอย่างพร้อมกัน กราฟิก และสแต็กเครือข่าย

แพ็คเกจนี้ประกอบด้วยพอร์ตของภาษาการเขียนโปรแกรม Python 3.6 ซึ่งใช้ในการพัฒนาแอปพลิเคชันกราฟิกเฉพาะของ ToaruOS บางตัว เช่น ตัวจัดการแพ็คเกจ โปรแกรมแก้ไขกราฟิก โปรแกรมดู PDF เครื่องคิดเลข และเกมง่ายๆ โปรแกรมบุคคลที่สามที่ย้ายไปยัง ToaruOS ได้แก่ Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs เป็นต้น

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

พื้นฐานที่เคอร์เนลมอบให้ ได้แก่ เธรด Unix, TTY, ระบบไฟล์เสมือน, มัลติเธรด, IPC, หน่วยความจำที่ใช้ร่วมกัน, มัลติทาสก์ และคุณสมบัติมาตรฐานอื่น ๆ ext2 ถูกใช้เป็นระบบไฟล์ ในการโต้ตอบกับเคอร์เนล จะมีการเตรียมการใช้งาน pseudo-FS /proc ซึ่งสร้างขึ้นโดยการเปรียบเทียบกับ Linux

แผนสำหรับปี 2021 จะรวมการทำงานบนสถาปัตยกรรม 64 บิต x86-64 (ในขณะนี้ แอสเซมบลีจะถูกสร้างขึ้นสำหรับระบบ x32 86 บิตเท่านั้น) และการรองรับระบบมัลติโปรเซสเซอร์ (SMP) เป้าหมายอื่นๆ ได้แก่ การปรับปรุงความเข้ากันได้กับข้อกำหนด POSIX ในด้านการประมวลผลสัญญาณและวิธีการซิงโครไนซ์ การนำไลบรารี C มาตรฐานไปสู่ระดับ Newlib และการนำคอมไพเลอร์ภาษา C และเครื่องมือการพัฒนาของตนเองไปใช้

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

ToaruOS รุ่นใหม่มุ่งเน้นไปที่การพัฒนาไลบรารี C มาตรฐานและภาษาการเขียนโปรแกรม Kuroko ตัวอย่างเช่น มีการเพิ่มฟังก์ชันทางคณิตศาสตร์ที่จำเป็นสำหรับการคำนวณพารามิเตอร์แสงในเกม Quake ที่ถูกต้องลงใน libc ความสามารถในการบูตเข้าสู่ VirtualBox ในโหมด EFI ได้รับการปรับปรุงแล้ว ขนาดของอิมเมจ ISO ลดลงโดยใช้การบีบอัดอิมเมจดิสก์ RAM

ภาษา Kuroko 1.1 รุ่นใหม่เพิ่มการรองรับ async และ await การใช้งานมัลติเธรด ปรับปรุงความเข้ากันได้กับ Python 3 รองรับการกำหนดค่าหลายค่า ขยายเครื่องมือสำหรับการเขียนตัวจัดการในภาษา C เพิ่มการรองรับคำอธิบายประกอบประเภทสำหรับฟังก์ชัน เพิ่ม คำหลัก "yield" และ "yield from", ระบบปฏิบัติการ, dis, fileio และโมดูลเวลาได้รับการรวมเข้าด้วยกัน มีการนำวิธีการใหม่ใน str, list, dict และ bytes เพิ่มการสนับสนุนสำหรับการคอมไพล์ล่วงหน้าลงใน bytecode แล้ว ใบอนุญาตมี เปลี่ยนเป็น MIT (ก่อนหน้านี้มีการรวมกันของ MIT และ ISC)

ที่มา: opennet.ru

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