อ่าน 3 นาที
ดาร์ลิ่ง (ซอฟต์แวร์)
Darlingเป็นเลเยอร์ความเข้ากันได้ ของ macOS แบบโอเพนซอร์สและฟรีสำหรับ Linux มันจำลองฟังก์ชันของmacOSโดยการจัดเตรียมการใช้งานทางเลือกของไลบรารีและเฟรมเวิร์กที่โปรแกรม macOS...
ดาร์ลิ่ง (ซอฟต์แวร์)
| ที่รัก | |
|---|---|
ตัวอย่างแอปพลิเคชัน Cocoa 'HelloWorld' อย่างง่าย บน macOS (ซ้าย) และ Linux (ขวา) | |
| ผู้เขียนต้นฉบับ | ลูโบช โดเลเซล |
| รุ่นทดลองใช้งาน | 0.1.20260222 / 23 กุมภาพันธ์ 2026 |
| ระบบปฏิบัติการ | ลินุกซ์ |
| พิมพ์ | เลเยอร์ความเข้ากันได้ |
| ใบอนุญาต | หลากหลายประเภท โดยส่วนใหญ่เป็น GPLv3 |
| เว็บไซต์ | darlinghq |
| ที่เก็บข้อมูล | 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
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ดาร์ลิ่ง (ซอฟต์แวร์)
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 "