Tags:
Node Thumbnail

โครงการในส่วนของเคอร์เนลลินุกซ์ประกาศไว้ตั้งแต่ตอนออกรุ่น 3.6 ว่าจะรองรับ ARMv8 โดยใช้ชื่อในเคอร์เนลว่า AArch64 ตอนนี้รุ่น 3.7 ออกมาแล้วก็สามารถทำได้อย่างที่ประกาศไว้จริง

นอกจากการรองรับ ARMv8 แล้วในส่วนของ ARMv7 ก็เพิ่มการซัพพอร์ตแพลตฟอร์มต่างๆ ให้หลากหลายขึ้น โดยก่อนหน้านี้แม้เคอร์เนลจะรองรับชิป ARM แต่เมื่อจะติดตั้งลงชิป SoC ใดๆ ผู้ผลิตจะต้องแก้ไขค่าต่างๆ เพื่อให้เข้ากับแพลตฟอร์มต่างๆ ด้วยตัวเอง แต่นับจากนี้การซัพพอร์ตส่วนนี้จะทำภายใต้โครงการเคอร์เนล ทำให้เป็นไปได้ที่เราจะดาวน์โหลดดิสโทรต่างๆ มาติดตั้งกันเองได้

ในส่วนฟีเจอร์ทั่วไป หลักๆ มีดังนี้

  • รองรับการโหลดโมดูลที่ต้องถูก "เซ็น" ในทางดิจิตอลอย่างถูกต้อง โดยโมดูลจะโหลดไม่ได้หากไม่มีลายเซ็นที่กำหนดแม้จะเป็น root ก็ตาม
  • TCP Fast Open เพิ่มความเร็วในการเชื่อมต่อ TCP ขึ้น 4-41%
  • perf trace คำสั่งใหม่ในการตรวจสอบว่าซอฟต์แวร์ของเราทำงานอะไรอยู่ มันสามารถตรวจสอบการเรียกฟังก์ชั่นของเคอร์เนล และกระบวนการอื่นๆ เช่น โปรแกรมถูกดึงออกจากซีพียู หรือมีการขอแรม page ใหม่
  • VXLAN รองรับการเชื่อมต่อเครือข่ายในระดับ datalink แบบเสมือนผ่านทาง UDP

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

ที่มา - TG Daily, Kernel Newbies

Get latest news from Blognone

Comments

By: Charin Tapang
ContributorAndroidRed HatUbuntu
on 12 December 2012 - 13:19 #517810
Charin Tapang's picture

สุดยอดไปเลยครับ

By: deaware
iPhoneAndroidRed HatUbuntu
on 12 December 2012 - 13:54 #517816
deaware's picture

ถือว่าเป็นการเปลี่ยนแปลงที่ ยิ่งใหญ่มากเลยครับในส่วนของ ARM multi-platform support ทำให้แนวทางการติดตั้งระบบในโลกของ Embedded System จะง่ายขึ้นมากจากเดิมที่ต้อง Build สำหรับ platform เท่านั้น

ต่อไปการติดตั้ง ระบบปฎิบัติการบน ARM จะไม่ยากเหมือนทุกวันนี้ และอีกไม่นานอย่างที่คุณ Lew ว่า kernel build ทีเดียวอาจจะใช้ได้ทั้ง x86 และ ARM

By: UltimaWeapon
Windows PhoneRed HatWindowsIn Love
on 13 December 2012 - 11:23 #518121 Reply to:517816
UltimaWeapon's picture

เป็นไปไม่ได้คับที่จะใช้ Binary เดียวกันต่าง Platform

By: thaitanatana
iPhoneWindows PhoneAndroidBlackberry
on 12 December 2012 - 13:54 #517817
thaitanatana's picture

มาแว้ว...

By: nextman13
AndroidBlackberryUbuntuWindows
on 12 December 2012 - 13:59 #517818

ดีจังครับ

By: PR0GAM3
iPhoneWindows PhoneAndroidWindows
on 12 December 2012 - 14:57 #517832
PR0GAM3's picture

โทษนะครับ หลักการมันยังไง? ถ้าเคอร์เนลออกแบบมารองรับการใช้สถาปัตยกรรมโปรเซสเซอร์อะไรก็ได้ ในอนาคตจะมีการจับรวม ARM+X86 รวมไว้ในชิพเดียวกัน? เคอร์เนลจะเป็นตัวสวิตซ์โหมดเพื่อประหยัดพลังงาน? ถ้าเราทํางานในโหมด x86 เราสามารถรันโปรแกรมฝั่ง ARM ได้ใช่ไหม เพราะไฟล์โปรแกรมต่างๆมันก็แค่เป็นตัวเก็บรหัสคําสั่งของแต่ละ CPU.

By: lew
FounderJusci's WriterMEconomicsAndroid
on 12 December 2012 - 15:28 #517840 Reply to:517832
lew's picture

ไม่เก่ี่ยวครับ ต้องเข้าใจก่อนว่าฝั่ง ARM นั้นมีอิสระสูงมาก ผู้ผลิตสามารถเลือกใส่ "เครื่องมือ" ในชิปได้อย่างอิสระ คล้ายๆ กับฝั่ง x86 ที่มีชุคคำสั่งแปลกๆ เช่น SSE, MMX แต่ในฝั่ง ARM นั้นอิสระเยอะกว่านั้นมาก ระบบอาจจะมีจอภาพหรือไม่มีจอภาพ address ของ I/O ต่างๆ (ซึ่ง OS มองเป็นหน่วยความจำก้อนหนึ่ง) อาจจะอยู่คนละตำแหน่งกัน

ความแตกต่างแบบนี้่ทำให้แม้เคอร์เนลจะคอมไพล์เป็น ARM ได้แต่ในความเป็นจริงก็รันไม่ขึ้นเพราะคอนฟิกต่างๆ ไม่ตรง ไม่สามารถบูตได้

การที่เคอร์เนลรองรับคือค่าคอนฟิกต่างๆ พวกนนี้จะถูกดูแลโดยโครงการเคอร์เนล ผู้ผลิตชิปสามารถส่งค่าต่างๆ เข้าไปเป็นมาตรฐานกลางได้ ดิสโทรต่างๆ แม้จะไม่ได้ทำอะไรเพิ่มก็ "พอมีความเป็นไปได้" ที่จะสามารถนำไปติดตั้งบนบอร์ดพัฒนาขอชิปรุ่นต่างๆ ได้ทันที

ยังไม่มีโครงการเคอร์เนลที่รันได้ทั้ง ARM/x86 ประกาศออกมาเท่าที่ผมได้ยินข่าวครับ


lewcpe.com, @wasonliw

By: leonoinoi
AndroidUbuntuWindows
on 12 December 2012 - 15:33 #517843 Reply to:517832

ไม่น่าจะใช้อย่างนั้นนะครับ แค่เขาบอกว่า มี Soc ตัวใหม่มา ก็จะ Support ให้เท่านั้นเอง (ซึ่งผู้ผลิตที่นำ Soc ไปใช้ ไม่ต้องทำ driver เอง) ซึ่งก็งงกับระยะเวลาที่กว่าจะ support ถ้ามี Soc ออกมาใหม่ ๆ ถ้าทำได้เร็ว ก็จะดีมากครับ

By: deaware
iPhoneAndroidRed HatUbuntu
on 12 December 2012 - 17:15 #517864 Reply to:517832
deaware's picture

ความหมายของ kernel 3.7 ARM multi-platform support คืออย่างนี้ครับ
- โดยปกติเวลาเราลง Linux บนเครื่อง x86 เราจะใช้ image ตัวเดียวกันได้ใช่ไหมครับ ซึ่งก็คือ kernel มีความสามารถในการบูตในระบบที่ตั้งค่าฮาร์ดแวร์แตกต่างกันได้ โดยคุณสมบัติแบบนี้จะไม่มีบน ARM ครับที่ผ่านมา โดยปกติ ARM เนี่ยจะไปขึ้นกับการตั้งค่าจากซอร์สโค้ดใน kernel แล้ว build ออกมาจะได้ของเฉพาะตัวครับ

ทีนี้่ไอ้เจ้า kernel 3.7 เค้าก็เพิ่ม multi-platform support ไปด้วยความพยายามว่าเราสามารถที่จะสร้าง image file ครั้งเดียวแล้วก็สามารถใช้ได้เหมือนกับ x86 (ซึ่งถ้าตามอ่านดูจะพบว่าข้อจำกัดการใช้งานยังเยอะมาก) ซึ่งถือว่าเป็นการพัฒนาไปอีกด้านและจะช่วยให้ distribution linux ต่างๆ ซัพพอร์ต ARM ง่ายขึ้นเช่น Ubuntu, Debain ก็ใช้ image แค่ตัวเดียว
แต่เราก็ยังสามารถสร้างระบบแบบ single platform support ได้อยู่ซึ่งเป็นแบบที่ Embedded System ชอบทำ

ทีนี้ผมตีความที่คุณ Lew เขียนว่า "อนาคตเราอาจจะไม่สนใจว่าชิปที่เราใช้งานอยู่เป็นสถาปัตยกรรมอะไรแต่ใช้งานไปเลยเพราะระบบปฎิบัติการจัดการให้เราหมดแล้วอย่างที่วงการคอมพิวเตอร์ฝันมาก่อนหน้านี้นับสิบปีได้จริงๆ" หมายความว่าอนาคตเราจะสามารถสร้าง image ติดตั้งครั้งเดียวและนำไปลงได้ทั้ง x86 หรือ ARM ก็ได้โดยไม่ต้องสนใจว่าเราลงกับอะไรสถาปัตยกรรมแบบไหนครับ ซึ่งไม่ได้หมายความว่าการรวม CPU แน่นอนครับ

By: PR0GAM3
iPhoneWindows PhoneAndroidWindows
on 12 December 2012 - 18:28 #517905 Reply to:517832
PR0GAM3's picture

ขอบคุณมากสําหรับข้อมูลของทุกท่าน ค่อนข้างชัดเจน เป็นความรู้ที่ได้ประโยชน์อย่างมากครับ