อ่าน 4 นาที
ลินุกซ์แบบร่วมมือกัน
Cooperative Linux ซึ่งย่อว่า coLinux เป็นซอฟต์แวร์ที่อนุญาตให้ Microsoft Windows และ เคอร์เนล Linux ทำงานพร้อมกันแบบขนานบนเครื่องเดียวกัน [ 3 ]
ลินุกซ์แบบร่วมมือกัน
| ลินุกซ์แบบร่วมมือกัน | |
|---|---|
![]() | |
| ผู้เขียนต้นฉบับ | แดน อโลนี |
| นักพัฒนา | ชุมชน |
| ปล่อย | 25 มกราคม 2547 |
| เวอร์ชันสุดท้าย | |
| รุ่นทดลองใช้งาน | |
| ระบบปฏิบัติการ | ตระกูล Windows NT |
| พิมพ์ | การจำลองเสมือนแพลตฟอร์ม |
| ใบอนุญาต | ใบอนุญาตสาธารณะทั่วไปของ GNU |
| เว็บไซต์ | www.colinux.org |
Cooperative Linuxซึ่งย่อว่าcoLinuxเป็นซอฟต์แวร์ที่อนุญาตให้Microsoft Windowsและเคอร์เนล Linuxทำงานพร้อมกันแบบขนานบนเครื่องเดียวกัน[ 3 ]
Cooperative Linux ใช้แนวคิดของเครื่องเสมือนแบบร่วมมือ (Cooperative Virtual Machine หรือ CVM) ซึ่งแตกต่างจากเครื่องเสมือนแบบ ดั้งเดิมตรง ที่ CVM จะแชร์ทรัพยากรที่มีอยู่แล้วในระบบ ปฏิบัติการโฮสต์ ในเครื่องเสมือนแบบดั้งเดิม ทรัพยากรจะถูกจำลองขึ้นสำหรับแต่ละระบบปฏิบัติการ (เกสต์) CVM ช่วยให้ระบบปฏิบัติการทั้งสองควบคุมเครื่องโฮสต์ได้อย่างสมบูรณ์ ในขณะที่เครื่องเสมือนแบบดั้งเดิมจะตั้งค่าระบบปฏิบัติการเกสต์แต่ละระบบให้อยู่ในสถานะที่ไม่ได้รับสิทธิ์ในการเข้าถึงเครื่องจริง
ภาพรวม

คำว่า "cooperative" ใช้เพื่ออธิบายการทำงานแบบคู่ขนานของสองส่วน ในทางปฏิบัติ Cooperative Linux เปลี่ยนเคอร์เนลระบบปฏิบัติการสองตัวที่แตกต่างกันให้กลายเป็นcoroutine ขนาดใหญ่สอง ตัว แต่ละเคอร์เนลมีบริบท CPU และพื้นที่แอดเดรสของตัวเองอย่างสมบูรณ์ และแต่ละเคอร์เนลจะตัดสินใจว่าจะคืนการควบคุมให้กับคู่หูเมื่อใด
อย่างไรก็ตาม แม้ว่าในทางทฤษฎีแล้วเคอร์เนลทั้งสองจะสามารถเข้าถึงฮาร์ดแวร์จริงได้อย่างเต็มที่ แต่ฮาร์ดแวร์พีซีสมัยใหม่ไม่ได้ถูกออกแบบมาให้ถูกควบคุมโดยระบบปฏิบัติการสองระบบที่แตกต่างกันในเวลาเดียวกัน ดังนั้น เคอร์เนลโฮสต์จึงยังคงควบคุมฮาร์ดแวร์จริงอยู่ และเคอร์เนลเกสต์จะมีไดรเวอร์พิเศษที่สื่อสารกับโฮสต์และจัดหาอุปกรณ์สำคัญต่างๆ ให้กับระบบปฏิบัติการเกสต์ โฮสต์สามารถเป็นเคอร์เนลระบบปฏิบัติการใดก็ได้ที่ส่งออกพรีมิทีฟพื้นฐานที่อนุญาตให้ไดรเวอร์พกพา Cooperative Linux ทำงานในโหมด CPL0 (ring 0)และจัดสรรหน่วยความจำ[ 3 ]
ประวัติศาสตร์
เดิมที Dan Aloni เริ่มพัฒนา Cooperative Linux เป็นโครงการวิจัยโดยอิงจากงานที่คล้ายคลึงกันกับUser-mode Linux [ 4 ] [ 5 ] เขาประกาศการพัฒนาเมื่อวันที่ 25 มกราคม 2547 [ 6 ]ในเดือนกรกฎาคม 2547 เขาได้นำเสนอเอกสารที่งาน Linux Symposium [ 7 ]ซอร์สโค้ดได้รับการเผยแพร่ภายใต้GNU General Public Licenseนักพัฒนาคนอื่นๆ ได้ร่วมเขียนแพตช์และส่วนเพิ่มเติมต่างๆ ให้กับซอฟต์แวร์ตั้งแต่นั้นมา[ 8 ]
การเปรียบเทียบ
Cooperative Linux แตกต่างอย่างมากจากการจำลองเสมือนแบบ x86 เต็มรูปแบบ ซึ่งโดยทั่วไปแล้วจะทำงานโดยการเรียกใช้ระบบปฏิบัติการแขกในโหมดที่มีสิทธิ์น้อยกว่าเคอร์เนลของโฮสต์ และทรัพยากรทั้งหมดจะถูกจัดสรรโดยเคอร์เนลของโฮสต์ ในทางตรงกันข้าม Cooperative Linux เรียกใช้เคอร์เนล Linuxที่ ได้รับการดัดแปลงเป็นพิเศษ ซึ่ง ทำงานร่วมกันได้ในแง่ที่ว่ามันรับผิดชอบในการแบ่งปันทรัพยากรกับเคอร์เนล NT และไม่ก่อให้เกิดสภาวะการแข่งขัน (race conditions )
การกระจาย


การเปลี่ยนแปลงส่วนใหญ่ในแพตช์ Cooperative Linux เกิดขึ้นบน โครงสร้าง i386ซึ่งเป็นสถาปัตยกรรมเดียวที่ Cooperative รองรับ การเปลี่ยนแปลงอื่นๆ ส่วนใหญ่เป็นการเพิ่มไดรเวอร์เสมือน ได้แก่ cobd (อุปกรณ์บล็อก), conet (เครือข่าย) และ cocon (คอนโซล) การเปลี่ยนแปลงส่วนใหญ่ในโครงสร้าง i386 เกี่ยวข้องกับโค้ดการเริ่มต้นและการตั้งค่า เป้าหมายของการออกแบบเคอร์เนล Cooperative Linux คือการคงความใกล้เคียงกับเคอร์เนล i386 แบบสแตนด์อโลนให้มากที่สุด ดังนั้นการเปลี่ยนแปลงทั้งหมดจึงถูกจำกัดและลดขนาดให้น้อยที่สุดเท่าที่จะเป็นไปได้
แพ็คเกจ coLinux ติดตั้งพอร์ตของเคอร์เนล Linuxและอุปกรณ์เครือข่ายเสมือนและสามารถทำงานพร้อมกันภายใต้ระบบปฏิบัติการ Windows เวอร์ชันต่างๆ เช่นWindows 2000หรือWindows XPได้ โดยไม่ใช้เครื่องเสมือนเช่นVMware
Debian , Ubuntu , FedoraและGentooเป็นที่นิยมอย่างมากในกลุ่มผู้ใช้ coLinux
เนื่องจากโครงสร้างของฮาร์ดแวร์เสมือนค่อนข้างผิดปกติ การติดตั้งระบบปฏิบัติการ Linux ภายใต้ coLinux จึงมักทำได้ยาก ดังนั้นในกรณีส่วนใหญ่ ผู้ใช้จึงใช้การติดตั้ง Linux ที่มีอยู่แล้วบนพาร์ติชั่นจริง หรือใช้ภาพระบบไฟล์สำเร็จรูปที่โครงการแจกจ่าย ภาพระบบไฟล์เหล่านี้สร้างขึ้นด้วยวิธีการต่างๆ รวมถึงการสร้างภาพจากระบบ Linux ปกติ การหาวิธีทำให้ตัวติดตั้งทำงานกับฮาร์ดแวร์ที่แปลกประหลาด การสร้างการติดตั้งด้วยตนเองโดยใช้ตัวจัดการแพ็กเกจ หรือเพียงแค่การอัปเกรดภาพที่มีอยู่โดยใช้เครื่องมือเช่นyumและaptวิธีที่ง่ายกว่าในการรับภาพระบบไฟล์ที่ทันสมัยคือการใช้QEMUเพื่อติดตั้ง Linux และ "แปลง" ภาพโดยการลบ 63 บล็อกแรกขนาด 512 ไบต์ออกตามที่อธิบายไว้ในวิกิของ coLinux
เนื่องจาก coLinux ไม่สามารถเข้าถึงฮาร์ดแวร์กราฟิกดั้งเดิมได้ ดังนั้นX Windowหรือ X Server จะไม่สามารถทำงานบน coLinux ได้โดยตรง แต่เราสามารถติดตั้ง X Server บน Windows เช่นCygwin/XหรือXmingและใช้งานKDEหรือGNOMEรวมถึงแอปพลิเคชันและระบบปฏิบัติการ Linux อื่นๆ ได้เกือบทั้งหมด ปัญหาเหล่านี้จะได้รับการแก้ไขโดยการใช้ระบบปฏิบัติการที่ใช้ coLinux เป็นพื้นฐาน เช่น andLinux ซึ่งใช้ Ubuntu เป็นพื้นฐาน หรือTopologiLinuxซึ่งใช้Slackware เป็น พื้นฐาน
การแจกจ่ายเฉพาะ
มีการสร้างดิสทริบิวชันบางตัวขึ้นมาโดยเฉพาะเพื่อให้สามารถใช้งานร่วมกับ coLinux ได้
ฮาร์ดแวร์จำลอง
ข้อจำกัด
- ไม่รองรับ Windows หรือ Linux 64 บิต (และไม่สามารถใช้หน่วยความจำได้มากกว่า 4GB) มีแผนจะพอร์ตในปี 2011 แต่สุดท้ายก็ถูกยกเลิก[ 3 ]
- ไม่มีการรองรับมัลติโปรเซสเซอร์ (SMP) แอปพลิเคชัน Linux และเคอร์เนลพื้นฐานสามารถใช้ CPU ได้เพียงตัวเดียว[ 11 ]
ดูเพิ่มเติม
- วิน32-โหลดเดอร์
- การจำลองเสมือนแพลตฟอร์ม
- การเปรียบเทียบซอฟต์แวร์การจำลองเสมือนแพลตฟอร์ม
- ไซก์วิน
- เอ็มเอสวายเอส
- Wubi (ผู้ติดตั้ง)
- ลองจีน
- กรุต
- ระบบย่อยของ Windows สำหรับ Linux
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ

- Cooperative LinuxบนSourceForge
- coLinux บน GitHub
- การจำลองเสมือนด้วย coLinuxที่Wayback Machine (เก็บถาวรเมื่อ 2008-02-03)
- speedLinuxบนSourceForge
- Ubuntu Remix เวอร์ชันพกพาบนSourceForge
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ลินุกซ์แบบร่วมมือกัน
Cooperative Linux ซึ่งย่อว่า coLinux เป็นซอฟต์แวร์ที่อนุญาตให้ Microsoft Windows และ เคอร์เนล Linux ทำงานพร้อมกันแบบขนานบนเครื่องเดียวกัน [ 3 ]
ภาพรวม
คำว่า "cooperative" ใช้เพื่ออธิบายการทำงานแบบคู่ขนานของสองส่วน ในทางปฏิบัติ Cooperative Linux เปลี่ยนเคอร์เนลระบบปฏิบัติการสองตัวที่แตกต่างกันให้กลายเป็น coroutine ขนาดใหญ่สอง ตัว แต่ละเคอร์เนลมีบริบท CPU และพื้นที่แอดเดรสของตัวเองอย่างสมบูรณ์...
ประวัติศาสตร์
เดิมที Dan Aloni เริ่มพัฒนา Cooperative Linux เป็นโครงการวิจัยโดยอิงจากงานที่คล้ายคลึงกันกับ User-mode Linux [ 4 ] [ 5 ] เขา ประกาศการพัฒนาเมื่อวันที่ 25 มกราคม 2547 [ 6 ] ในเดือนกรกฎาคม 2547 เขาได้นำเสนอเอกสารที่งาน Linux Symposium [ 7 ]...
การเปรียบเทียบ
Cooperative Linux แตกต่างอย่างมากจาก การจำลองเสมือนแบบ x86 เต็มรูปแบบ ซึ่งโดยทั่วไปแล้วจะทำงานโดยการเรียกใช้ระบบปฏิบัติการแขกในโหมดที่มีสิทธิ์น้อยกว่าเคอร์เนลของโฮสต์ และทรัพยากรทั้งหมดจะถูกจัดสรรโดยเคอร์เนลของโฮสต์ ในทางตรงกันข้าม Cooperative Linux เรียกใช้...
