20 ธันวาคม 2558

Published 12/20/2558 by with 1 comment

รู้ไหมว่า ภาษาไพทอนก็สามารถนำไปสร้างระบบปฏิบัติการได้

ความเชื่อที่มีกันมานานว่า ภาษาไพทอนน่าจะไม่สามารถนำไปใช้สร้างระบบปฏิบัติการได้เพราะไม่ใช่ภาษาขั้นสูงเหมือน C/C++ (ภาษาไพทอนจัดเป็นภาษาขั้นสูงมาก) ไม่ใช่ภาษาแบบคอมไพล์แบบ C/C++, Java และเหตุผลอื่น ๆ เป็นต้น

บทความนี้ผมจะขอลบล้างความเชื่อดังกล่าวทิ้งไปกับบทความนี้ เนื่องจากเมื่อสองปีก่อน ได้มีนักพัฒนาได้ลองทำระบบปฏิบัติการโดยใช้ภาษาไพทอนกับระบบปฏิบัติการ Minix3 ได้สำเร็จ โดยสามารถบูตระบบได้จริง

ผมขอแนะนำโครงการเล็ก ๆ ที่อยู่บน GitHub ชื่อว่า pythonix

pythonix เป็นโครงการหนึ่งที่นำภาษาไพทอน (Python) ประกอบกับระบบปฏิบัติการ Minix โดยมีจุดเด่นดังนี้

  • พร้อมใช้งาน

  • ใช้ทรัพยากรเครื่องต่ำ

  • เป็น Open-source ( MIT )

  • เรียนรู้ง่ายและบำรุงรักษาได้


โดยโค้ดแกน pythonix ที่ถูกเขียนรันบน Python 2.7 (มีแผนจะรองรับ Python 3)
ภาพรวม pythonix

รู้ไหมว่า ภาษาไพทอนก็สามารถนำไปสร้างระบบปฏิบัติการได้

ใครสนใจอยากร่วมพัฒนา pythonix สามารถเข้าไปได้ที่ หน้าเว็บโครงการ pythonix https://github.com/vhpanisa/pythonix (มีคำถามตอบไว้ว่าทำไมถึงใช้ภาษาไพทอนพัฒนา OS  และมีเอกสารแนะนำพร้อมสำหรับการนำไปต่อยอดครับ)

และอีกโครงการหนึ่งที่ผมขอแนะนำ Python OS Project เป็นอีกโครงการหนึ่งที่ใช้ภาษาไพทอนสร้างระบบปฏิบัติการโดยใช้ linux kernel เข้ามาร่วมกับภาษาไพทอน โดยมีโปรแกรมต่าง ๆ ที่เขียนด้วยภาษาไพทอนพร้อมใช้งาน เช่น Web browser , Python games และอื่น ๆ เป็น GPL v 2.0

Python OS Project เป็นอีกโครงการหนึ่งที่สร้างระบบปฏิบัติการด้วยภาษาไพทอนกับ Linux

หากสนใจ Python OS Project สามารถเข้าไปได้ที่ http://python-os.info/en/

cleese เป็นอีกโครงการที่นำภาษาไพทอนมาใช้สร้างระบบปฏิบัติการอีก microkernel เขียนด้วย Python  เป็น Open-source ( MIT ) สนใจเข้าไปได้ที่ https://github.com/jtauber/cleese

ขอให้สนุกกับ Operating System Development กันนะครับ (ส่วนตัวผมยังทำได้แค่ลองทำ OS บน 16 bit (ด้วยภาษา C) คอมไพล์ เขียนบูตโหลดด้วย Assembler แล้วใช้ nasm คอมไพล์บูตโหลดแล้วบูต OS ปรากฎข้อความ Hello World บนหน้าจอ QEMU)
ใครเคยลองทำระบบปฏิบัติการไม่ว่าจะเป็น เขียนโค้ดและบูตโหลด หรือ Linux LFS เป็นต้น สามารถแบ่งปันประสบการณ์กันได้ที่ช่องความคิดเห็นนี้ครับ
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

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

แสดงความคิดเห็นได้ครับ :)