แนวโน้มการพัฒนาระบบสมองกลฝังตัวบนระบบปฏิบัติการลีนุกซ์

ผู้เขียน

วิรุฬห์ ศรีบริรักษ์

21 เมษายน 2553

ระบบสมองกลฝังตัว (Embedded System) เป็นระบบที่ถูกออกแบบสำหรับใช้งานในวัตถุประสงค์เฉพาะด้าน  ไม่เหมือนกับคอมพิวเตอร์ที่ใช้งานทั่วไป ระบบสมองกลฝังตัวจะถูกกำหนดการทำงานตามความต้องการอย่างชัดเจนไว้ล่วงหน้าเรียบร้อยแล้ว เมื่อมองย้อนไปตั้งแต่ปี ค.ศ.​1940 ซึ่งเป็นจุดเริ่มต้นของการนำระบบสมองกลฝังตัวมาควบคุมขีปนาวุธนำวิถี (Missile) สำหรับกองทัพ แต่ด้วยต้นทุนที่สูงและข้อจำกัดในการทำงานยังไม่เป็นที่นิยมสำหรับอุตสาหกรรมโดยทั่วไป จนมากระทั่งปี ค.ศ. 1992 เมื่อ 12 บริษัทยักษ์ใหญ่ทางด้านคอมพิวเตอร์เทคโนโลยีได้ร่วมกันจัดตั้งกลุ่มสมาคม PC/104 Consortium เพื่อกำหนดแนวทางในการนำเทคโนโลยีเครื่องคอมพิวเตอร์ทั่วไปมาปรับให้เหมาะสมกับการประยุกต์ใช้ระบบสมองกลฝังตัว โดยได้ออกแบบเมนบอร์ดและปรับขนาดของกล่องให้มีขนาดเล็กกระทัดรัดเพื่อให้สามารถวางซ้อนกันเป็นชั้นได้ ด้วยขนาดกว้างยาวเพียง 4 นิ้วและมีความหนาเพียง 1 นิ้ว

source: http://www.directindustry.com/

ด้วยการนำเสนอของกลุ่มสมาคม PC/104 ทำให้ได้รับการตอบรับจากภาครัฐและภาคเอกชนอย่างคาดไม่ถึง ดังนั้นกลุ่มตลาดทางด้านการทหารและการแพทย์จึงเป็นกลุ่มแรกนำแนวคิดและเทคโนโลยีสมองกลฝังตัวไปใช้งาน จนกระทั่งเทคโนโลยีสมองกลฝังตัวเริ่มได้รับความนิยมอย่างกว้างขวาง และประสิทธิภาพของตัวประมวลผลก็เพิ่มขึ้นอย่างรวดเร็ว จึงเริ่มนำไปสู่ในพัฒนาในอุตสาหกรรมสื่อมัลติมิเดีย โดยได้สร้างตู้ PC/104-based Kiosk ขึ้นมาเป็นตัวแรก จนถึงวันนี้ได้มีบริษัทมากกว่า 100 แห่งที่เข้าร่วมกลุ่มสมาคม PC/104 Embedded Consortium เพื่อร่วมกำหนดมาตราฐานของผลิตภัณฑ์ตัวอย่างเช่น Ethernet card, FireWire, hard drives, RAM drives, video cards, audio cards, general I/O, flash cards, modems, GPS, cellular telephone, wireless Internet และอีกมากมาย นอกจากนั้นก็ยังมีอีกปัจจัยหนึ่งที่กระตุ้นกลุ่มนักพัฒนาและผู้สนใจเทคโนโลยีสมองกลฝังตัวคือการออกนิตยสารทางด้านระบบสมองกลฝังตัว ซึ่งเริ่มออกสู่สายตานักพัฒนามาตั้งแต่ปี ค.ศ. 1988 ในชื่อว่า “Embedded Systems Programming” และเพิ่งมาเปลี่ยนชื่อเป็น “Embedded Systems Design” เมื่อปี ค.ศ. 2005 จนกระทั่งถึงปััจจุบันนี้

ค.ศ. 1988                                                                                  พฤษภาคม ค.ศ. 2010

ในงานที่ไม่ซับซ้อนมากระบบสมองฝังตัวก็อาจจะมีเพียงไมโครโปรเซสเซอร์เดี่ยว และโปรแกรมควบคุมก็จะถูกเก็บอยู่ภายในหน่วยความจำชนิดอ่านได้อย่างเดียว หรือเรียกสั้นๆว่า ROM (Read-only Memory) แต่ในกรณีที่ต้องมีการประมวลผลที่ซับซ้อนหลายส่วนพร้อมกัน ภายในตัวระบบสมองกลฝังตัวจำเป็นต้องมีระบบปฏิบัติการ (Operating System) ฝังอยู่ภายใน เพื่อคอยจัดการงานและหน่วยความจำอย่างเป็นระบบและมีประสิทธิภาพ ซึ่งระบบปฏิบัติการลีนุกซ์ก็เป็นตัวเลือกที่น่าสนใจที่สุดในกลุ่มนักพัฒนาทางด้านระบบสมองกลฝังตัว ด้วยเหตุผลที่เป็นระบบที่มีความยืดหยุ่นและประสิทธิภาพสูง สามารถรองรับสถาปัตยกรรมได้ถึง 23 สถาปัตยกรรม เป็นที่รู้กันดีว่า Kernel ส่วนใหญ่ถูกเขียนด้วยภาษาซีและแอสเซมบลี้ นอกจากนั้นในมุมมองการเติบโตและความได้เปรียบของการแข่งขันในตลาดก็ไม่ทำธรรมดา เพราะตั้งแต่ปี ค.ศ. 2005 จำนวนนักพัฒนา Linux Kernel จนกลายเป็น official kernel เพิ่มขึ้นจากเดิมเกือบสามเท่าตัวโดยทุกวันจะมีโค้ดใหม่เพิ่มโดยเฉลี่ย 10,000 บรรทัด ทุกๆชั่วโมงจะมีประมาณ​5.45 patch files ที่ถูกอัพโหลดเข้าสู่เว๊ปไซต์ Linux Kernel (อ้างอิง: Linux Foundation Analysis) รวมทั้งผู้ผลิตอุปกรณ์รายใหญ่ต่างๆ และผู้จำหน่ายซอฟแวร์ที่ได้รับการรองรับมาตราฐาน (ISV: Independent Software Vendors) จำนวนมากก็ยังหันมาสนับสนุนระบบปฏิบัติการลีนุกซ์อย่างจริงจัง และที่สำคัญ GNU GPL (General Public License) ยังให้สิทธิ์แก่ผู้ใช้อิสระในการใช้โปรแกรม การแก้ไขภายในโปรแกรม และคัดลอกแจกจ่ายให้ผู้อื่นอย่างไม่มีจำนวนจำกัด

นอกจากนั้นระบบปฏิบัติการลีนุกซ์ก็มีการเติบโตในระดับสูงต่อปีอย่างต่อเนื่อง และเริ่มเข้ามามีบทบาทสำคัญในตลาดทางด้านอุตสาหกรรมเทคโนโลยีระบบสมองกลฝังตัวตั้งแต่ปี 2002 เป็นต้นมา โดยในช่วงแรกตั้งแต่ปี ค.ศ. 2001-2002 ผลการสำรวจระบบปฏิบัติการที่ถูกใช้ใน smart gadgets มากที่สุดคือ ระบบปฏิบัติการลีนุกซ์ (15.5%) ซึ่งเอาชนะระบบปฏิบัติการ WinCE/WinCE.Net (6%) and XPe (5%) จากค่าย Microsoft และ VxWorks (10.3%) จากค่าย Wind River ในช่วงเวลาต่อมาตั้งแต่ปี ค.ศ. 2003-2005 ผลการสำรวจพบว่าจำนวนผู้ที่ใช้ระบบปฏิบัติการลีนุกซ์ภายในบริษัทเพื่อสร้างผลิตภัณฑ์อย่างต่อเนื่องอยู่ที่ประมาณ 49-52% หลังจากปี ค.ศ. 2006 เป็นต้นมา จึงถือได้ว่าเป็นช่วงเริ่มต้นของการขยายตัวของระบบสมองกลฝังตัวไม่ว่าจะเป็นการแข่งขันของชิพประมวลผลกลาง (CPU) เช่น ARM, x86, PowerPC, MIPS, Coldfire, DSP เป็นต้น การแข่งขันด้านระบบปฏิบัติการเช่น OpenZaurus, Ångström distribution, Familiar Linux, webOS from Palm, Inc., Maemo based on Debian เป็นต้น นอกจากนั้นก็ยังมีระบบปฏิบัติการที่คุ้นหูกันดีในวงการนักพัฒนาไทย ที่ฝังอยู่ในอุปกรณ์เครือข่าย อุปกณ์ชนิดพกพาไม่ว่าจะเป็น PDA, Pocket PC, Smart Phone, Netbook ต่างๆ ตัวอย่างเช่น AirOS (Ubiquiti Network), CatOS/Cisco IOS/IOS-XR (Cisco Systems), DD-WRT (NewMedia-NET),  JunOS (Juniper Networks), OpenWRT (LinkSys), Plam OS (Plam Inc.), Symbian OS (Nokia), Windows CE/Mobile (microsoft), iPhone (Apple), OpenZaurus (Sharp), Maemo (Nokia), Qtopia/Qt Embedded (TrollTech), Openmoko (based on Ångström), Mobilinux (Montavista), Android (Google), Moblin (Intel), Ubuntu Mobile และ Meego (Maemo+Moblin) เป็นต้น โดย embedded vendors ที่เน้นขายระบบปฏิบัติการลีนุกซ์สำหรับระบบสมองกลฝังตัวได้แก่ MontaVista, Koan, Sysgo, Denx, Metrowerks, FSMLabs, LynuxWorks, Wind River, และ TimeSys เป็นต้น จึงทำให้เทคโนโลยีสมองกลฝังตัวกลายเป็นองค์ประกอบสำคัญของตลาดอุปกรณ์อิเล็กทรอนิกส์ในทุกระดับ และใช้ระบบปฏิบัติการลีนุกซ์เป็นระบบปฏิบัติการหลักเช่นกัน โดยสามารถแบ่งกลุ่มตลาดหลักๆได้ดังนี้

  • กลุ่มอุตสาหกรรมยานยนต์ (Automotive) -- ระบบควบคุมภายในยานพาหนะ (ECU-Electronic Control Unit) ระบบความปลอดภัยภายใน
  • เครื่องใช้ไฟฟ้า -- รวมถึงอุปกรณ์ Set-top Box อุปกรณ์สำหรับการสื่อสารและใช้งานระบบอินเทอร์เน็ต
  • ระบบควบคุมอุตสาหกรรม (Industrial Automation) -- ระบบควบคุมขบวนการผลิตทั้งหมด ระบบควบคุมหุ่นยนต์ในสายการผลิต รวมไปถึงระบบควบคุมไฟฟ้ากำลังสูง (HVAC System) เป็นต้น
  • เครื่องมือแพทย์ -- ระบบเฝ้าติดตามอาการผู้ป่วยอัตโนมัติ ระบบบำบัดอาการป่วย ระบบตรวจสอบและวิเคราะห์ผล ระบบช่วยในการผ่าตัด และระบบตรวจวิเคราะห์ด้วยเสียงและภาพ เป็นต้น
  • โทรศัพท์เคลื่อนที่ และคอมพิวเตอร์ชนิดพกพา
  • เครื่องมือทางทหารและอวกาศ -- ระบบนำร่องและควบคุมการบิน ระบบสื่อสารผ่านดาวเทียม
  • อุปกรณ์สำนักงาน -- เครื่องถ่ายเอกสาร แฟกซ์ เครื่องพิมพ์ เครื่องแสกน โทรศัพท์ VoIP เครื่องสำรองข้อมูลขนาดใหญ่ เป็นต้น
  • ระบบสื่อสารแบบสายและไร้สาย -- อุปกรณ์เครือข่ายตั้งแต่ระดับ LAN, MAN และ WAN

 

 

จากการขยายตัวอย่างสูงของเทคโนโลยีสมองกลฝังตัวไปยังตลาดที่ได้กล่าวมาข้างต้น เกิดจากปัจจัยสำคัญได้แก่

  • การเพิ่มจำนวนของนักพัฒนาทางด้านฮาร์ดแวร์และซอฟแวร์ระบบสมองกลฝังตัวมีแนวโน้มสูงขึ้น โดยเฉพาะนักพัฒนาซอฟแวร์
  • การขยายตัวของอุปกรณ์สมองกลฝังตัวที่มีอยู่เดิมประมาณสองพันล้านตัว และมีแนวโน้มจะเพิ่มได้ถึงสองแสนล้านตัวภายในปี ค.ศ. 2010
  • ระบบปฏิบัติการลีนุกซ์ได้รับการตอบรับและสนับสนุนเป็นอย่างดีจากบริษัทยักษ์ใหญ่ต่างๆ ตัวอย่างเช่น Sony, Motorola, Philips, Panasonics, Google, Samsung และ Siemens เป็นต้น
  • ภาษาซียังคงถูกใช้เป็นภาษาหลักในการเขียนโปรแกรมทางด้านฮาร์ดแวร์ (Device Programming) ตามมาด้วยภาษา Assembly, C++ และ embedded C++
  • จุดเด่นทางด้านเทคนิคของระบบปฏิบัติการลีนุกซ์และการใช้ Open source ได้แก่
    • การอัพเดทและออกใหม่อย่างต่อเนื่องของ device driver
    • รองรับโปรโตคอลการสื่อสารล่าสุดที่มีอยู่ในปัจจุบัน
    • ความแข็งแกร่งและความมีเสถียรภาพสูงในการทำงานของระบบปฏิบัติการ
    • ง่ายต่อการพัฒนาและใช้งานชุดพัฒนา GUI
    • ไม่มีค่าใช้จ่ายด้านลิขสิทธิ์ และการเข้าถึง source code ได้ 100%
    •  จำนวนชุดเครื่องมือสำหรับพัฒนาโปรแกรมมีจำนวนมากขึ้น
    •  ผู้ขายชิฟและบอร์ดสมองกลฝังตัวจะแนบรายละเอียดในการพัฒนารวมถึงโค้ดมาให้อย่างครบถ้วน เพื่อให้นักพัฒนาสามารถพัฒนาต่อยอดได้ทันที

อย่างไรก็ตามก็ยังมีปัจจัยบางอย่างที่อาจเป็นอุปสรรคในการเติบโตของตลาดทางด้านระบบสมองกลฝังตัว ตัวอย่างเช่น

  • ข้อจำกัดของ Kernel เช่น footprint หรือ real-time performance
  •  นักพัฒนาต้องใช้เวลาส่วนใหญ่ในการลงลึกในระบบเปิด โดยไม่ต้องการใช้ commercial Linux support
  • ความคุ้มครองด้านสิทธิบัตร
  • การแข่งขันอย่างสูงจากบริษัท Microsoft

การพัฒนาซอฟแวร์ในปัจจุบันมีความหลากหลาย และมีความเชื่อมโยงเกี่ยวข้องกันสูง การคุ้มครองและให้สิทธิ์ผู้พัฒนาและผู้นำไปใช้หรือพัฒนาต่อยอด เพื่อขยายผลทางด้านธุรกิจจึงมีความสำคัญอย่างยิ่ง ดังนั้นหน่วยงานกำหนดมาตราฐาน Open Source Initiative (OSI) จึงได้อนุมัติประกาศประเภทของลิขสิทธิ์ประเภทต่างๆ รวมทั้งสิ้น 58 ประเภท โดยลิขสิทธิ์ที่รู้จักกันดี ตัวอย่างเช่น GNU General Public License (GPL) และ Lesser General Public License(LGPL) ซึ่งทั้งสองถูกเผยแพร่โดยองค์กรอิสระ Free Software Foundation (FSF)

GPL เป็นสัญญาอนุญาตสำหรับซอฟต์แวร์เสรี ที่ได้รับความนิยมสูงที่สุดในปัจจุบัน ฉบับแรกสุดเขียนโดยริชาร์ด สตอลแมน เริ่มต้นใช้สำหรับโครงการ GNU ในปี พ.ศ. 2534 (ค.ศ. 1991) สัญญาอนุญาต GPL ที่ใช้อยู่ในปัจจุบันเป็นรุ่นที่ 3 โดยผู้ใช้มีเสรีภาพในการใช้งาน ไม่ว่าใช้สำหรับจุดประสงค์ใด เช่นศึกษาการทำงานของโปรแกรม และแก้ไขโค้ดภายใน โดยสามารถจำหน่ายโปรแกรมหรือเปิดให้บุคคลทั่วไปใช้และพัฒนาต่อไปได้ มีเพียงเงื่อนไขว่า การนำไปใช้หรือนำไปพัฒนาต่อ จำเป็นต้องใช้สัญญาอนุญาต GPL เดียวกันเท่านั้น  ("Copyleft") ซึ่ง Copyleft จะไม่เหมาะกับการนำไปใช้ในทางธุรกิจ เนื่องจากบริษัทพัฒนาซอฟต์แวร์ต้องเปิดเผยซอร์สโค้ดของตนเองด้วย แม้จะมีการใช้ซอฟต์แวร์บางส่วนที่เป็น GPLในการพัฒนาซอฟต์แวร์ก็ตาม ดังนั้นด้วยข้อจำกัดของ GPL ในการนำไปใช้ในเชิงธุรกิจ ทางองค์กรอิสระ FSF จึงได้พัฒนาสัญญาอนุญาต LGPL แยกออกมาจาก GPL ในอีกรูปแบบหนึ่ง โดย LGPL อนุญาตให้ผลิตภัณฑ์ซอฟต์แวร์ธุรกิจสามารถใช้ซอฟต์แวร์ไลบรารี โดยไม่มีข้อจำกัดเหมือนสัญญาอนุญาตแบบ GPL แต่จะต้องระบุอย่างชัดเจนว่าได้เรียกใช้หรือเอาโปรแกรมส่วนไหนมาพัฒนาบ้าง ซึ่งส่วนใหญ่จะเป็นไลบรารีซอฟต์แวร์แบบ LGPL ซึ่งซอฟต์แวร์ตัวแรกที่ใช้สัญญาอนุญาต LGPL คือ GNU C Library

นอกจากนั้นสัญญาอนุญาตที่นิยมใช้กัน เช่นสัญญาอนุญาตซอฟต์แวร์เสรีประเภท Berkeley Software Distribution (BSD) เป็นสัญญาอนุญาต ที่ผู้นำไปพัฒนาต่อ ไม่ต้องเปิดเผยซอร์สโค้ดของโปรแกรม มีเพียงข้อความเจ้าของสัญญาอนุญาตเดิมเท่านั้นที่ต้องแสดงไว้ แต่สำหรับสัญญาอนุญาตซอฟต์แวร์เสรีประเภท Mozilla Public License (MPL) นอกจากจะไม่ต้องเปิดเผยซอร์สโค้ดของโปรแกรมที่นำมาพัฒนาต่อแล้ว ก็สามารถถือครอบครองเป็นกรรมสิทธิ์ของตัวเองได้ทันที

ตารางแสดงข้อจำกัดของสัญญาอนุญาตแต่ละประเภท (License constraints)

เหตุผลสำคัญที่ทำให้ระบบปฏิบัติการลีนุกซ์ได้รับความนิยมเช่นนี้ สรุปให้สามารถเข้าใจได้ง่ายดังนี้

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

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

Worldwide Linux OS-based mobile phone sales ช่วงปี ค.ศ. 2007 ถึง ค.ศ. 2012

(Source: Informa)

ซึ่่งระบบปฏิบัติการลีนุกซ์ก็เป็นหนึ่งในระบบปฏิบัติการที่มีแนวโน้มเติบโตมากที่สุดในโลกของอุปกรณ์เคลื่อนที่ จากผลการสำรวจระบบปฏิบัติการในตลาดสมาร์ทโฟนตั้งแต่ปี ค.ศ. 2006 พบว่าระบบปฏิบัติการลีนุกซ์ได้รับความนิยมมากที่สุดเป็นอันดับสอง โดยมียอดการส่งออกไปยังแถบเอเชียประมาณ 11.7 ล้านเครื่อง สำหรับแถบยุโรปและอเมริกาเหนือยอดรวมการส่งออกในปีถัดมา มีจำนวนถึง 20 ล้านเครื่องหรือประมาณร้อยละ 17.3 ของตลาดสมาร์ทโฟน การเติบโตของสมาร์ทโฟนที่ใช้ระบบปฏิบัติการลีนุกซ์ยังคงเติบโตอย่างต่อเนื่อง ซึ่งคาดการณ์กันว่าภายในปี ค.ศ. 2012 จะสามารถช่วงชิงตลาดสมาร์ทโฟนได้ไม่น้อยกว่าร้อยละ 27 ดังกราฟที่แสดงข้างบน  ซึ่งในปัจจุบันนี้มีโทรศัพท์เคลื่อนที่ (mobile phone) ที่ใช้ระบบปฏิบัติการลีนุกซ์มากกว่า 50 บริษัท โดยในจำนวนนั้นก็มีบริษัทที่เป็นรายใหญ่ ได้แก่ Motorola, NEC, Panasonic, HTC และ Samsung ที่รับเป็นผู้ผลิตอุปกรณ์ต้นแบบ ชิ้นส่วนอะไหล่ ในลักษณะ OEM (original equipment manufacturer) ให้กับรายต่างๆ  นอกจากนี้บริษัทที่ออกแบบสร้างต้นแบบ อะไหล่ชิ้นส่วน และผลิตจนเป็นสินค้าของตัวเอง ในลักษณะ ODM (original design manufacturer) ก็ได้แก่ Amoi, CECT, E28, FIC, Hisense, ImCoSys, WNC, และ Vitelcom

ไม่กี่ปีต่อมาการเติบโตของ Mobile Opensource ก็เป็นที่น่าติดตามอย่างยิ่ง เนื่องจากเป็นช่วงเวลาแห่งการขยายตัวเพื่อแย่งชิงตลาดผู้บริโภคทางด้านเทคโนโลยีสื่อสาร โดยทั้งผู้ผลิตอุปกรณ์และนักพัฒนาซอฟแวร์เปิด (Opensource) ต่างเร่งสร้างฐานลูกค้าและกระตุ้นสังคมออนไลน์ให้เข้ามาเป็นส่วนหนึ่งในการร่วมออกไอเดียและแสดงความต้องการอย่างแท้จริงของผู้ใช้อย่างไม่เคยปรากฏมาก่อน ไม่ว่าจะเป็นการเติบโตของ ระบบปฏิบัติการ Symbian ที่มี Nokia เป็นเจ้าของ ผู้ซึ่งได้เข้าซื้อกิจการของ Qt TrollTech ไปเมื่อปลายปี พ.ศ. 2551 ซึ่งจะทำให้นักพัฒนาอิสระสามารถพัฒนาซอฟต์แวร์ที่ทำงานได้ทั้งโทรศัพท์มือถือและพีซี ตลอดจนจะช่วยเพิ่มความสามารถของระบบปฏิบัติการอย่าง S60 (Symbian) และ S40, ระบบปฏิบัติการ Maemo ของ Nokia เช่นกัน ซึ่งถูกพัฒนามาจากระบบปฏิบัติการลีนุกซ์เพื่อใช้กับอุปกรณ์ตระกูล internet tablet อย่าง N900 ที่ใช้โปรเซสเซอร์ ARM Cortex-A8 600 MHz หรืออุปกรณ์ที่ใช้ชิพเซ็ต OMAP (โปรเซสเซอร์ ARM รวมกับ DSP) ก็กำลังจะเกิดความร่วมมือครั้งใหญ่กับบริษัทอินเทลผู้พัฒนา Moblin เพื่อร่วมกันพัฒนาแพลตฟอร์มใหม่สำหรับ MID (Mobile Internet Device) ในโครงการชื่อว่า “MeeGo” โดยมีทีมพัฒนาจาก Linux Foundation เข้ามาร่วมออกแบบภายใต้ QT Framework (Nokia) และ GTK/Clutter ที่ใช้ใน Moblin รวมทั้งนำซอฟต์แวร์ต่างๆเช่น X.org, GStreamer, D-Bus, และ Pulse Audio และระบบปฏิบัติการที่หลายคนต้องหันมาให้ความสนใจอย่างมากและมีแนวโน้มการเติบโตที่อาจคาดไม่ถึงก็คือ ระบบปฏิบัติการแอนดรอยด์ (Android) จากบริษัท Google ซึ่งทาง Google ได้ควบรวมกิจการของบริษัท Android ตั้งแต่ปีพ.ศ. 2548 และเริ่มประกาศเปิดตัวระบบปฏิบัติการใหม่อย่างเป็นทางการในช่วงเช้าของวันจันทร์ที่ 12 พฤศจิกายน พ.ศ. 2550 และได้รับการสนับสนุนและกำหนดมาตราฐานจาก Open Handset Alliance (OHA), Linux Phone Standards (LiPS) Forumและ LiMo Foundation ระบบปฏิบัติการ Android เป็นระบบปฏิบัติการหนึ่งที่สมบูรณ์ที่สุดสำหรับอุปกรณ์ชนิดพกพา เนื่องจากได้ถูกออกแบบในลักษณะ software stack ซึ่งประกอบไปด้วย application layer, application framework, ชุด libraries/runtime และ kernel อย่างไรก็ตามในมุมมองของนักพัฒนาซอฟต์แวร์เปิดบางกลุ่มยังให้ความเห็นว่า Android ไม่ได้รองรับไดร์เวอร์ที่มีอยู่จำนวนมากของระบบปฏิบัติการลีนุกซ์ และการพอร์ตซอฟต์แวร์เดิมๆ ที่มีอยู่บนลีนุกซ์ให้มาใช้ใน Android ก็ไม่สามารถทำได้ด้วยเหตุผลที่ Android มีการแก้ไขและตัดโค้ดของระบบปฏิบัติการลีนุกซ์เดิมไปพอสมควร ซึ่งจะกล่าวต่อไป แต่สำหรับในกรณี Moblin เรื่องดังกล่าวสามารถรองรับได้ทั้งหมด เนื่องจาก Moblin ได้ถูกออกแบบให้เป็นไปตามมาตราฐานของระบบปฏิบัติการลีนุกซ์

นักพัฒนาของ Google ได้แก้ไขและปรับปรุงระบบปฏิบัติการนี้ต่อยอดจากระบบปฏิบัติการลีนุกซ์ โดยได้ปรับปรุงโค้ดภายใน Linux kernel ไม่ต่ำกว่า 75 ไฟล์ อย่างเช่น ตัว ตัว Scheduler, ระบบไฟล์ชนิด YAFFS2, bluetooth communication stack, ระบบจัดการหน่วยความจำ และระบบจัดการพลังงาน เป็นต้น และทีมพัฒนาได้มีการพัฒนาไฟล์เพิ่มเข้าไปใหม่อีกถึง 88 ไฟล์ อย่างเช่น Android emulator ที่ทำงานบน virtual CPU เรียกว่า Goldfish, SQLite database, Low memory killer, Ashmem (Anonymous share memory system), RAM console/Log device และ ADB (Android Debug Bridge) เป็นต้น ยังมีสิ่งที่ทำให้นักพัฒนาหลายคนต้องหงุดหงิดไปบ้างก็คือ ไม่ได้รวมเอาตัว busybox ซึ่งเป็นชุดคำสั่งลีนุกซ์พื้นฐานกลับเข้าไปด้วย ที่สำคัญคือไม่ได้รองรับ C++ Compiler เต็มรูปแบบ ตัวอย่างเช่นในไลบารี่ libstdc++ ไม่มีสนับสนุนฟังก์ชั่น iostream และไม่มี locales เป็นต้น แต่อย่างไรก็ตามก็ยังมีเครื่องมือสำคัญที่นักพัฒนาต้องปรบมือให้คือการทำ Android plug-in สำหรับเครื่องมือพัฒนาโปรแกรมชื่อดังอย่าง Eclipse IDE ที่ีมีใหัใช้กับทุกระบบปฏิบัติการ จึงทำให้การพัฒนาและทดสอบโปรแกรมเป็นไปได้อย่างรวดเร็วและมีประสิทธิภาพมากขึ้น แม้ในช่วงแรกจะมีผู้ผลิตมือถือที่รองรับระบบปฏิบัติการ Android ออกมายังไม่มากก็ตาม นอกจากนั้นชุดพัฒนาอย่าง Android SDK และ Google API ก็เป็นขุมพลังสำคัญที่ช่วยผลักดันให้ระบบปฏิบัติการนี้ได้รับการตอบรับอย่างล้นหลามจากสังคมนักพัฒนาออนไลน์ (developer community)  จึงทำให้ในระยะไม่นานที่ระบบปฏิบัติการนี้ได้เปิดตัวขึ้น ทางกลุ่มผู้ผลิตโทรศัพท์เคลื่อนที่รายใหญ่ๆ เช่น Motorola HTC Samsung และ LG ก็ขานรับกันเป็นอย่างดี พร้อมยินดีที่จะนำ Android เข้ามาเป็นระบบปฏิบัติการหลักเพื่อเขย่าวงการและเทียบเคียงเพื่อเตรียมชนกับ IPhone ของบริษัท Apple ทางบริษัท Google ยังได้อาศัยพันธมิตรทางธุรกิจในการกระจายสินค้าออกไปสู่แต่ละภูมิภาคเช่น T-mobile และ Sprint ในสหรัฐอเมริกา T-mobile/Deutsche Telekom ในยุโรป และ China Mobile ในจีนเป็นต้น ในอนาคตอันใกล้นี้ smartphone จะมีความสามารถเพียงพอที่จะรองรับการใช้งานของผู้ใช้คอมพิวเตอร์ทั่วไป โดยผู้ใช้จะสามารถใช้งานพื้นฐานและการท่องโลกอินเตอร์เน็ทได้อย่างมีประสิทธิภาพ ซึ่งจะนำไปสู่วิวัฒนการระหว่างคอมพิวเตอร์และ smartphone ไปเป็นอุปกรณ์ชนิดพกพาชาญฉลาดและทรงประสิทธิภาพแบบใหม่ นอกจากนั้นระบบปฏิบัติการยอดนิยมและมีส่วนแบ่งหล้กอยู่ในตลาด 6 อันดับแรกก็ได้แก่ Android, Symbian,, Linux, RIM, MacOS และ Windows Mobile

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

  • ลำดับขั้นตอนการเริ่มต้นทำงานของ Linux Kernel (Linux kernel initialization process)
  • ขั้นตอนการทำงานและการใช้งาน bootloader
  • ระบบจัดการไฟล์ (File System) เช่น JFFS2, RAMFS, YAFFS2 เป็นต้น
  • ระบบจัดการแฟลซและหน่วยความจำ (Memory Technology Devices)
  • เครื่องมือในการดีบัก เช่น Master gdb, KGDB, และชนิดฮาร์ดแวร์ดีบัก (JTAG debugging)
  • การเตรียมสภาพแวดล้อมในการพัฒนาโปรแกรม (Cross-development Environment) เช่นการติดตั้ง toolchains, Server Services (TFTP, DHCP,NFS) เป็นต้น
  • การติดตั้งชุดโปรแกรมพื้นฐาน BusyBox

จะเห็นได้ว่าระบบสมองกลฝังตัวกำลังเริ่มมีบทบาทสำคัญในการพัฒนาอุปกรณ์เทคโนโลยีต่างๆโดยเฉพาะทางด้านวิศวกรรม ดังนั้นในอนาคตอันใกล้จะไม่มีสิ่งประดิษฐ์ชิ้นใดที่เกิดจากฝีมือมนุษย์แล้วไม่มีเทคโนโลยีสมองกลฝังตัวควบคุมอยู่ภายใน นอกจากนี้การพัฒนาระบบสมองกลฝังตัวมีแนวโน้มที่จะกลายเป็น software oriented ที่อยู่บนพื้นฐานมาตราฐานของ CPU Core และ DSP Core จึงมีความเป็นไปได้สูงที่จะทำให้การออกแบบโปรแกรมระบบสมองกลฝังตัวที่ทำงานแบบเวลาจริง (real-time) และกลายเป็นระบบปฏิบัติการแบบเวลาจริง เพื่อตอบสนองการเติบโตในการใช้งานในอนาคตอันใกล้นี้

เอกสารอ้างอิง

[1] PC/104 Embedded Consortium Website: http://www.pc104.org/

[2] Hallinan, Christopher. “Embedded Linux Primer: A Practical, Real-World Approach.” Prentice Hall, September 18, 2006

[3] Yaghmour K., Masters J., Gilad BY., and Gerum P. “Building Embedded Linux Systems 2nd Edition.” O’Reilly, August 2008

[4] eWeek LinuxDevices Website: http://www.linuxfordevices.com/

ประวัติผู้เขียน

ผู้ช่วยศาสตราจารย์ วิรุฬห์ ศรีบริรักษ์

      จบการศึกษาระดับปริญญาตรีทางด้านวิศวกรรมคอมพิวเตอร์มหาวิทยาลัยสงขลานครินทร์ และ ปริญญาโททางด้านวิศวกรรมคอมพิวเตอร์ จาก Korea University, South Korea ปัจจุบันเป็นอาจารย์ประจำภาควิชาวิศวกรรมไฟฟ้า คณะวิศวกรรมศาสตร์ มหาวิทยาลัยบูรพา นอกจากนั้นยังเป็นผู้ร่วมก่อตั้งและหัวหน้าฝ่ายวิจัยและพัฒนาระบบสมองกลฝังตัวและระบบสื่อสารไร้สายอัจฉริยะ ของหน่วยวิจัยและพัฒนาเชิงธุรกิจ BAL-Labs (http://www.bal-labs.com/) งานวิจัยที่สนใจ ได้แก่ การพัฒนาระบบสมองกลฝังตัว การสื่อสารไร้สายแบบเครือข่าย เทคโนโลยีโครงข่าย RFID สำหรับประยุกต์ใช้งานทางด้าน Logistics และ  ITS Solution

ชื่อ นายวิรุฬห์
นามสกุล ศรีบริรักษ์
ตำแหน่ง หัวหน้าห้องปฏิบัติการสมองกลฝังตัว
ต้นสังกัด ภาควิชาวิศวกรรมไฟฟ้า คณะวิศวกรรมศาสตร์ มหาวิทยาลัยบูรพา
ที่อยู่ 169 ภาควิชาวิศวกรรมไฟฟ้า คณะวิศวกรรมศาสตร์ มหาวิทยาลัยบูรพา ตำบลแสนสุข
อำเภอเมือง จังหวัดชลบุรี
โทรศัพท์ 038-10-2222 ต่อ 3380
โทรสาร 038-74-5806
Mobile  089-780-9963
E-mail wiroon@buu.ac.th
การศึกษา 1. ปริญญาตรี วิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยสงขลานครินทร์
2. ปริญญาโท Computer Science and Engineering, Korea University, Seoul, South Korea
ความสนใจ Embedded System, Wireless Sensor Network, Network Protocol

 

งานวิจัย

ระบบสมองกลฝังตัว (Embedded System)

• Embedded System Development (on Pocket PC, Mobile Device)

• Real-time OS Development

• Remote Cryptography-based RFID Network Development

RFID Sensor Network และ Intelligent Transportation System &ecti_40;ITS&ecti_41;

• Routing Network Protocol Development

• Mobile Wireless Network Performance (based Ns-2 Simulator and ARM9-based

• GPS Tracking Solution for Logistics

• RFID Sensor Network for Bus Scheduling and Monitoring System

Middleware and Enterprise Application Gateway Server สำหรับรองรับ ITS

• Java-based Enterprise Server Development (Enterprise Java Bean)

• Remote Sensing Network Middleware Framework Development

ประวัติและผลงานที่สำคัญ (- ปัจจุบัน)

2009 รางวัลการออกแบบและพัฒนาผลิตภัณฑ์สมองกลฝังตัวแห่งประเทศไทย 2552

รางวัลชนะเลิศ ประเภท Intelligent Transport System &ecti_40;ITS&ecti_41; and Automotive

“Vehicle Identification ITS Solution” สมาคมสมองกลฝังตัวแห่งประเทศไทย

2009 

รางวัลนวัตกรรมแห่งชาติ 2552 รางวัลชมเชยด้านเศรษฐกิจ ประเภทชมเชย

“ระบบเครือข่ายเซ็นเซอร์ไร้สาย” เพื่อใช้ในการติดตามยานพาหนะแบบเรียลไทม์

สำนักงานนวัตกรรมแห่งชาติ

2007-2008

 หัวหน้าทีมวิจัยและผู้คิดค้นออกแบบระบบสื่อสารข้อมูลแบบไร้สายระหว่างรถ

และสถานี RFID Sensor Network และโปรโตคอลสื่อสารระหว่างสถานี RFID

Sensor Network และ ศูนย์ควบคุมกลาง

2006-ปัจจุบัน คณะกรรมการผู้เชี่ยวชาญสมาคมสมองกลฝังตัวแห่งประเทศไทย
2006-2008 หัวหน้าภาควิชาวิศวกรรมไฟฟ้า คณะวิศวกรรมศาสตร์ ม. บูรพา
2006-2007 หัวหน้าทีมหลักในการพัฒนาระบบฮาร์ดแวร์และซอฟต์แวร์ให้กับบริษัท Endemol

ผู้เป็นเจ้าของรายการ Fear Factor, Survivor และ 1 versus 100

2006 ได้รับรางวัลยอดเยี่ยมในการนำเสนอแนวทางการนำ E-Learning มาใช้งาน ที่ TIT

University, ญี่ปุ่น

2005 ผู้ก่อตั้งร่วม (Co-founder) BAL-Labs.com (2005 - present)
2005-2006 ผู้ช่วยคณบดีฝ่ายวิชาการ คณะวิศวกรรมศาสตร์ ม. บูรพา
2004 ผู้ช่วยคณบดีฝ่ายกิจการพิเศษ คณะวิศวกรรมศาสตร์ ม. บูรพา
2002

 หัวหน้าทีมสร้างระบบแบบจำลองเพื่อวิเคราะห์เครือข่ายไร้สาย Adhoc ขนาดใหญ่

ภายใต้โครงการ Korea Brain 2002 ของรัฐบาลเกาหลีใต้

 

Back to E-magazine List
 

ECTI Association
99 M.18 Paholyothin Rd., Klong Luang, Pathumthani 12120, THAILAND
E-mail: ecti.secretary@gmail.com
Find us on: