1 คะแนน โดย GN⁺ 2025-09-14 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • SkiftOS เป็น ระบบปฏิบัติการโอเพนซอร์สที่ออกแบบและพัฒนาขึ้นใหม่ตั้งแต่ต้นด้วยภาษา C/C++
  • ถูกสร้างขึ้นให้ ทำงานได้บนหลายสถาปัตยกรรม เช่น ARM, x86 และ RISC-V
  • มีจุดเด่นที่มุ่งเน้น ความเรียบง่าย และ ความสนุกในการใช้งาน ซึ่งแตกต่างจากระบบปฏิบัติการกระแสหลัก
  • เหมาะสำหรับทั้ง ผู้เริ่มต้นและนักพัฒนา ในการทดลอง เรียนรู้ ศึกษาโครงสร้างระบบปฏิบัติการ และใช้งานส่วนตัว
  • ดูซอร์สโค้ดทั้งหมดได้ที่ GitHub

ความสำคัญและจุดแตกต่างของโปรเจกต์

  • SkiftOS พัฒนาโดยทีมขนาดเล็กที่มาพร้อมมุมมองสดใหม่ ต่างจากดิสทริบิวชันรายใหญ่
  • การออกแบบบนพื้นฐาน C/C++ ช่วยให้เข้าใจระบบระดับล่างและ เป็นประโยชน์ต่อการเรียนรู้อัลกอริทึม
  • การรองรับฮาร์ดแวร์หลายแพลตฟอร์มช่วยมอบ โอกาสในการทดลองและการขยายต่อได้อย่างกว้างขวาง
  • ขับเคลื่อนโดยชุมชน ทำให้ทุกคนสามารถ มีส่วนร่วมกับโปรเจกต์หรือส่งข้อเสนอแนะได้

1 ความคิดเห็น

 
GN⁺ 2025-09-14
ความเห็นจาก Hacker News
  • ทึ่งที่คนคนเดียวใช้เวลา 6 ปีสร้างได้ไม่ใช่แค่ไมโครเคอร์เนลที่ออกแบบมาอย่างยอดเยี่ยม แต่ยังรวมถึง build system, UEFI bootloader, graphical shell, UI framework และ browser engine ด้วย ทำให้รู้สึกว่าเรื่องเล่าเกี่ยวกับนักพัฒนา 10x ไม่ได้พูดเกินจริง แต่กลับประเมินต่ำกว่าความเป็นจริงเสียอีก
    • ต่างจากโปรเจ็กต์คล้ายกันอื่น ๆ คนนี้ทำทั้งหมดนี้ได้โดยไม่ต้องรอแรงบันดาลใจจากพระเจ้า ยิ่งทำให้น่าประทับใจขึ้นไปอีก
    • แนะนำให้อ่านบันทึกการพัฒนา SerenityOS และแปะลิงก์ https://serenityos.org/
    • มันน่าทึ่งและสุดยอดจริง ๆ
  • ไม่คาดคิดเลยว่าโปรเจ็กต์ของฉันจะขึ้นหน้าแรกวันนี้ ตอนนี้ build พังอยู่เลยยังทดสอบทั้ง OS ไม่ได้ แต่สามารถรันแอปแยกบน Linux หรือ macOS ได้ วิธีใช้คือ ./skift.sh run --release <app-name> และดูรายชื่อแอปที่ใช้ได้ด้วยคำสั่ง ls ./src/apps
    • เบราว์เซอร์ (vaev-browser) ต้องใช้คำสั่งแยกต่างหาก (./skift.sh run --release vaev-browser -- <url-or-file>), HTTP stack ยังมีแค่ขั้นต่ำมากจึงรองรับเฉพาะ http:// (ไม่รองรับ HTTPS), บนเว็บของฉันใช้งานได้ แต่กับเว็บอื่นผลลัพธ์อาจต่างกันไป, เวลาส่วนใหญ่จนถึงตอนนี้ฉันทุ่มไปกับงานด้าน styling และ layout engine มากกว่างาน networking
    • คุณบอกว่า "ไมโครเคอร์เนลของฉันได้รับอิทธิพลจาก Zircon" เลยสงสัยว่าคุณได้ศึกษาแนวทางอื่นอย่าง sel4, Minix, openQNX ด้วยหรือไม่ และในการออกแบบไมโครเคอร์เนล คุณให้ความสำคัญกับตัวเลือกด้านดีไซน์อะไรเป็นพิเศษ มีเอกสารที่อธิบายเรื่องนี้ละเอียดกว่านี้ไหม มี benchmark หรือการวัดประสิทธิภาพบ้างหรือยัง และประสิทธิภาพใกล้เคียงกับไมโครเคอร์เนลตัวไหน
    • น่าประทับใจที่ได้ลองสำรวจแนวทางที่ไม่ใช่แบบ UNIX
    • เอ่ยถึงชื่ออย่าง Skift, Karm, Hjert, Opstart และในฐานะชาวนอร์เวย์ก็รู้สึกว่าชื่อระบบเหล่านี้เหมือนมาจากภาษาเดนมาร์กหรือสไตล์เดนมาร์ก
    • อยากฟังจาก monax ว่าเริ่มโปรเจ็กต์นี้ได้อย่างไร ตัวฉันเองก็กำลังทำไมโครเคอร์เนลเพื่อเรียนพื้นฐาน OS แต่ไม่รู้ว่าควรเริ่มตรงไหน อยากรู้ว่าขั้นแรกควรโฟกัสอะไร
  • ชมว่าโค้ดเขียนได้ดีมาก อ่านเข้าใจง่ายและทันสมัย พร้อมถามว่าแอปที่เพิ่งคอมไพล์เสร็จทำงานบน macOS ได้อย่างไร
    • อธิบายว่า framework มีชั้น OS abstraction และใช้ SDL สำหรับสร้างหน้าต่างและรับอินพุตจากผู้ใช้
  • บอกว่าถ้าเป็นโปรเจ็กต์แบบนี้ ต่อให้เรซูเม่มีแค่สองบรรทัด (อีเมล, เว็บไซต์โปรเจ็กต์) ก็ยังน่าจะถูกหลายที่รับเข้าทำงาน
  • สงสัยว่าคนเราจะสร้างอะไรแบบนี้ได้อย่างไรภายใต้ข้อจำกัดเวลาปกติ ในฐานะนักพัฒนาทั่วไปที่ทำงาน 9 to 5 รู้สึกว่ายากมากที่จะทำโปรเจ็กต์ระดับนี้ได้
    • เอาจริง ๆ มันทำไม่ได้หรอก ฉันเขียนโค้ดส่วนใหญ่ในช่วงชีวิตที่แทบไม่มีสังคมเลย และพูดอย่างตรงไปตรงมา
    • ฉันก็สงสัยเหมือนกัน
  • น่าทึ่งจริง ๆ ที่ทำสิ่งนี้คนเดียว ในฐานะนักพัฒนา C/C++ ฉันพอรู้วิธีสร้าง OS แต่ปกติก็มีแค่ไอเดีย ทำงานระดับนี้ออกมาคนเดียวจนพูดไม่ออก
    • มีการบอกว่าในส่วน browser engine ได้รับความช่วยเหลือ
  • อยากรู้ว่าใช้แนวคิดอะไรด้านความปลอดภัย แอปเข้าถึงหน่วยความจำหรือฮาร์ดแวร์ได้เต็มที่หรือไม่ มีระบบสิทธิ์หรือเปล่า ถามเพราะไม่คุ้นกับไมโครเคอร์เนล
    • แอปไม่สามารถเข้าถึงหน่วยความจำหรือฮาร์ดแวร์ได้ทั้งหมด เคอร์เนลจะ map ให้เฉพาะส่วนที่ได้รับอนุญาต ไดรเวอร์ทำงานใน userspace และแอปสื่อสารกับไดรเวอร์ผ่าน capability (handle) จึงเข้าถึงได้เฉพาะเมื่อได้รับสิทธิ์ไว้ล่วงหน้าเท่านั้น
  • ดูยอดเยี่ยมมาก เลยอยากถามด้วยความสงสัยว่าตอนเขียนโค้ดใช้ AI มากแค่ไหน
  • โปรเจ็กต์ดูเจ๋งมาก และทึ่งที่เขียน browser engine เองด้วย เลยสงสัยว่ามีวิดีโอเดโมหรือไม่
    • ถ้ามีวิดีโอเดโมก็น่าจะดีมากจริง ๆ
  • ดูเหมือนใส่งานไปมหาศาล และน่าทึ่งที่สร้าง custom build system ขึ้นมาเอง พอมองสภาพ build system ของ C++ ปัจจุบันก็พอเข้าใจได้ สงสัยว่าทำไมนักพัฒนา OS ถึงมักหมกมุ่นกับการสร้างเบราว์เซอร์ ทั้งที่เบราว์เซอร์ดูเหมือนไม่ได้พึ่งพา OS มากนัก พร้อมเสริมว่า UI สวยดี
    • มองว่าเบราว์เซอร์ก็เป็นแค่ application runtime แบบหนึ่ง