กลับไปหน้าบทความ

อ่าน 3 นาที

ดาร์ลิ่ง (ซอฟต์แวร์)

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

ดาร์ลิ่ง (ซอฟต์แวร์)

ที่รัก
ผู้เขียนต้นฉบับลูโบช โดเลเซล
รุ่นทดลองใช้งาน
0.1.20260222 / 23 กุมภาพันธ์ 2026 ( 23 กุมภาพันธ์ 2026 )
ระบบปฏิบัติการลินุกซ์
พิมพ์เลเยอร์ความเข้ากันได้
ใบอนุญาตหลากหลายประเภท โดยส่วนใหญ่เป็น GPLv3
เว็บไซต์darlinghq .org
ที่เก็บข้อมูลgithub.com/darlinghq/darling

Darlingเป็นเลเยอร์ความเข้ากันได้ ของ macOS แบบโอเพนซอร์สและฟรีสำหรับ Linux [ 1 ]มันจำลองฟังก์ชันของmacOSโดยการจัดเตรียมการใช้งานทางเลือกของไลบรารีและเฟรมเวิร์กที่โปรแกรม macOS เรียกใช้[ 2 ]วิธีการจำลองนี้แตกต่างจากวิธีการอื่น ๆ ที่อาจถือได้ว่าเป็นการจำลองเช่นกัน[ 3 ]ซึ่งโปรแกรมทำงานบนซอฟต์แวร์ระบบปฏิบัติการที่เป็นกรรมสิทธิ์ของ Apple ในเครื่องเสมือน [ 4 ] Darlingได้รับการขนานนามว่าเป็นคู่ตรงข้ามของWINEสำหรับการเรียกใช้แอป macOS [ 5 ]

โครงการนี้เริ่มต้นในช่วงฤดูร้อนของปี 2012 และต่อยอดจากโครงการก่อนหน้าชื่อ maloader ซึ่งถูกยกเลิกไปเนื่องจากขาดเวลา เลเยอร์นี้ได้รับการพิสูจน์แล้วว่าสามารถทำงานร่วมกับแอปพลิเคชันคอนโซล หลายตัว เช่นMidnight Commander , The Unarchiver , Pythonเป็นต้น บนเลเยอร์นี้ แต่ยังมีการสนับสนุนขั้นพื้นฐานสำหรับแอปพลิเคชันกราฟิกที่ใช้เฟรมเวิร์ก Cocoa ด้วย[ 6 ] [ 1 ] Darling มีความสามารถในการแยกApple Disk Images [ 7 ]

โครงการนี้มีเป้าหมายเพื่อสนับสนุน แอปพลิเคชัน iOSในอนาคต[ 8 ]

สถาปัตยกรรม

ที่จุดเริ่มต้นของระบบ Darling จะมีตัวโหลดสำหรับ ไบนารี Mach-Oซึ่งเป็นรูปแบบไฟล์ปฏิบัติการสำหรับระบบปฏิบัติการของ Apple ตัวโหลด ก่อนหน้าของ Darling คือ maloader ได้นำเสนอแนวทางแบบ maximalist ในการแก้ปัญหาโดยพยายามจำลองทุกอย่างที่ ตัวโหลด ไลบรารีแบบไดนามิก dyld ของ Apple ทำ ซึ่งพิสูจน์แล้วว่าทำได้ยาก และตั้งแต่ "การเปลี่ยนผ่านสู่ Mach-O" ในปี 2017 Darling ได้ใช้ตัวโหลดแบบเบาเพียงพอที่จะเรียกใช้ dyld โอเพนซอร์สของ Apple แทน[ 9 ]

เพื่อให้ไบนารี macOS มีเคอร์เนล Darling ใช้ เคอร์เนล XNU ที่แก้ไขแล้ว (พร้อมใบอนุญาต APSL) ซึ่งห่อหุ้มไว้ในโมดูลเคอร์เนล Linux พร้อมใบอนุญาต GPL ซึ่งแตกต่างจากการรวมโค้ด GPL ไว้ในซอฟต์แวร์ APSL และใบอนุญาต APSL อนุญาตให้เชื่อมโยงจากโค้ดที่มีใบอนุญาตต่างกัน (ในกรณีนี้คือ GPL) โมดูลนี้จัดการงานทั่วไปของเคอร์เนล Mach โดยหลักคือ การจัดการIPCของ Ports [ 10 ]มีปัญหาเรื่องใบอนุญาตบางประการในโมดูล darling-mach เนื่องจากทีมงานกำลังเพิ่ม การแก้ไข GNU GPLลงในเคอร์เนลAPSL [ 11 ]

เหนือกว่าเคอร์เนลคือสภาพแวดล้อมระดับราก (root environment) Darling เช่นเดียวกับ WINE รองรับ คำนำหน้า chrootซึ่งใช้งานโดยใช้ Linux overlayfs (ตรงข้ามกับการแปลงพาธใน WINE) เนมสเปซ PID , IPC และ UTS ถูกใช้เพื่อสร้างคอนเทนเนอร์สำหรับระบบ Darwin ภายใน

เฟรมเวิร์กและไลบรารีระบบใน Darling นั้นสร้างขึ้นจากซอร์สโค้ดที่ Apple เผยแพร่ให้ได้มากที่สุดเท่าที่จะเป็นไปได้ การเปลี่ยนผ่านสู่ Mach-O ช่วยให้สามารถสร้างเฟรมเวิร์กเหล่านี้ได้ง่ายขึ้น เนื่องจากตอนนี้เฟรมเวิร์กเหล่านี้ถูกสร้างขึ้นในรูปแบบ Mach-O ตามที่ตั้งใจไว้[ 9 ]เพื่อเติมเต็มช่องว่างสำหรับเฟรมเวิร์กระดับสูงหลายตัว เช่นCocoaนั้น Darling ใช้โค้ดจาก Cocotron, ApportableFoundationและGNUstep [ 1 ]

ใบอนุญาต

ระบบ Darling ที่ใหญ่กว่านั้นใช้ส่วนประกอบภายนอกหลายอย่างซึ่งใช้ใบอนุญาตต่างๆ ซึ่งทั้งหมดเป็นโอเพนซอร์ส ใบอนุญาตหลักคือ GPLv3 [ 12 ]

  • https://www.darlinghq.org/
  • https://github.com/darlinghq/darling
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Darling_(software)&oldid=1357957210 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ดาร์ลิ่ง (ซอฟต์แวร์)

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

สถาปัตยกรรม

ที่จุดเริ่มต้นของระบบ Darling จะมีตัวโหลดสำหรับ ไบนารี Mach-O ซึ่งเป็นรูปแบบไฟล์ปฏิบัติการสำหรับ ระบบปฏิบัติการ ของ Apple ตัวโหลด ก่อนหน้าของ Darling คือ maloader ได้นำเสนอแนวทางแบบ maximalist ในการแก้ปัญหาโดยพยายามจำลองทุกอย่างที่ ตัวโหลด ไลบรารีแบบไดนามิก...

ใบอนุญาต

ระบบ Darling ที่ใหญ่กว่านั้นใช้ส่วนประกอบภายนอกหลายอย่างซึ่งใช้ใบอนุญาตต่างๆ ซึ่งทั้งหมดเป็นโอเพนซอร์ส ใบอนุญาตหลัก คือ GPLv3 [ 12 ]

ลิงก์ภายนอก

https://www.darlinghq.org/ https://github.com/darlinghq/darling ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Darling_(software)&oldid=1357957210 "