Fuchsia OS กำลังทำงานเพื่อรองรับการเรียกใช้โปรแกรม Linux ที่ไม่ได้แก้ไข

นักพัฒนาของ Google เปิดตัวเมื่อไม่กี่วันที่ผ่านมา แผนการใช้กลไกในการรันโปรแกรมที่ไม่ได้ปรับแต่งที่คอมไพล์สำหรับ Linux บน ระบบปฏิบัติการ บานเย็น.

ในการรันโปรแกรม Linux ในพื้นที่ผู้ใช้ มีการวางแผนที่จะจัดเตรียมเลเยอร์ "starnix" เพื่อรองรับ Linux ABI. ในเลเยอร์ที่พัฒนาแล้วอินเทอร์เฟซของระบบเคอร์เนล Linux จะถูกนำไปใช้ในไดรเวอร์ที่เรียกใช้เป็นกระบวนการสำหรับระบบปฏิบัติการ Fuchsia ซึ่งทำงานในพื้นที่ผู้ใช้และแปลคำขอจากโปรแกรม Linux เป็นการเรียกไปยังระบบย่อย Fuchsia ที่เกี่ยวข้อง

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

มีการวางแผนที่จะใช้รหัส starnix ใน Rust เพื่อลดเวกเตอร์ช่องโหว่ที่เป็นไปได้s ที่สามารถใช้เพื่อยกระดับสิทธิ์ของกระบวนการ Linux ไปสู่กระบวนการ starnix

เพื่อให้มั่นใจในความปลอดภัยที่ starnix กลไกการป้องกัน Fuchsia มาตรฐานจะถูกใช้ทุกครั้งที่ทำได้

ตัวอย่างเช่นเมื่อเข้าถึงบริการระบบเช่นระบบไฟล์สแต็กเครือข่ายหรือระบบย่อยกราฟิก starnix จะแปลเฉพาะคำขอโดยแปลง Linux ABI เป็น ABI ของระบบ Fuchsia โดยอนุญาตให้มีข้อ จำกัด เช่นเดียวกับที่ใช้กับกระบวนการ Fuchsia ทั่วไป

นอกจากนี้ยังจะใช้กลไกการอนุญาตเฉพาะของ Linux ตัวอย่างเช่นการกำหนดว่าในสถานการณ์ใดกระบวนการหนึ่งของ Linux มีสิทธิ์ที่จะยุติอีกกระบวนการหนึ่ง

นักพัฒนา Fuchsia ได้พัฒนาการสนับสนุนสำหรับการเปิดตัวแอปพลิเคชัน Linux ในอดีต แต่พวกเขาได้ทดลองใช้งานที่ทำงานโดยเปรียบเทียบกับวิธีการเปิดตัวแอปพลิเคชัน Linux บน Chrome OS

สำหรับความเข้ากันได้กับ Linux Fuchsia เสนอห้องสมุด Machinaซึ่งอนุญาตให้โปรแกรม Linux ทำงานในเครื่องเสมือนแบบแยกพิเศษที่สร้างขึ้นโดยใช้ไฮเปอร์ไวเซอร์ตามข้อกำหนดของเคอร์เนล Zircon และ Virtio

การใช้เวอร์ชวลไลเซชันไม่ได้ถูกตัดออก เนื่องจากการใช้งานอินเทอร์เฟซระบบ Linux เต็มรูปแบบไม่ใช่งานเล็กน้อย

นอกจากแหลมสตาร์นิกซ์แล้ว เป็นไปได้ที่จะสร้างกลไกเพื่อเรียกใช้ไฟล์ปฏิบัติการ Linux โดยใช้เคอร์เนล Linux ที่ทำงานในเครื่องเสมือนแยกต่างหาก. วิธีนี้ถือเป็นวิธีที่ง่ายที่สุดในการนำไปใช้ แต่ยังใช้ทรัพยากรมากที่สุดอีกด้วย

จนถึงจุดหนึ่ง Microsoft เริ่มพัฒนาเลเยอร์ความเข้ากันได้ของ Linux จากตัวแปล แต่ในที่สุดก็เปลี่ยนไปใช้เคอร์เนล Linux ดั้งเดิมบนระบบย่อยของ Windows สำหรับ Linux 2

นอกจากนี้ Fuchsia มีเลเยอร์ที่เข้ากันได้กับ POSIX Lite อยู่แล้ว ซึ่งทำงานบน Fuchsia System ABI POSIX Lite ช่วยให้คุณสามารถรันโปรแกรม Linux บางโปรแกรมได้ แต่ต้องมีการคอมไพล์โค้ดแอปพลิเคชันใหม่และในบางกรณีต้องแก้ไขซอร์สโค้ด

หนึ่งในปัญหา ด้วย POSIX Lite เป็นการใช้งานฟังก์ชัน POSIX ทั้งหมดที่ไม่สมบูรณ์ รวมถึงการเรียกร้องให้เปลี่ยนสถานะของกระบวนการทั่วโลก (เช่นฟังก์ชัน kill) ซึ่งขัดแย้งกับแนวคิดด้านความปลอดภัยใน Fuchsia ซึ่งห้ามไม่ให้เปลี่ยนสถานะของกระบวนการทั่วโลก ด่วน.

การใช้ POSIX Lite มีความชอบธรรมในกระบวนการย้ายแอปพลิเคชันที่เปิดอยู่แต่ไม่สามารถแก้ปัญหาในการเรียกใช้โปรแกรมที่ไม่มีการเข้าถึงรหัส (ตัวอย่างเช่นเป็นไปไม่ได้ที่จะเข้ากันได้กับแอปพลิเคชัน Android ที่มีการแทรกเนทีฟที่คอมไพล์แล้ว)

ขอให้เราจำไว้ว่าภายใต้กรอบของโครงการ Fuchsia Google กำลังพัฒนาระบบปฏิบัติการสากลที่สามารถทำงานบนอุปกรณ์ทุกประเภทตั้งแต่เวิร์กสเตชันและสมาร์ทโฟนไปจนถึงเทคโนโลยีฝังตัวและเทคโนโลยีสำหรับผู้บริโภค การพัฒนาขึ้นอยู่กับประสบการณ์ในการสร้างแพลตฟอร์ม Android และคำนึงถึงข้อบกพร่องในด้านการปรับขนาดและความปลอดภัย

ระบบนี้มีพื้นฐานมาจากไมโครเคอร์เนลของ Zircon ตามการพัฒนาของโครงการ LK ซึ่งขยายเพื่อใช้ในอุปกรณ์ประเภทต่างๆรวมถึงสมาร์ทโฟนและคอมพิวเตอร์ส่วนบุคคล

Fuente: https://fuchsia.googlesource.com


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา