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

อ่าน 4 นาที

ลินุกซ์แบบร่วมมือกัน

Cooperative Linux ซึ่งย่อว่า coLinux เป็นซอฟต์แวร์ที่อนุญาตให้ Microsoft Windows และ เคอร์เนล Linux ทำงานพร้อมกันแบบขนานบนเครื่องเดียวกัน [ 3 ]

ลินุกซ์แบบร่วมมือกัน

ลินุกซ์แบบร่วมมือกัน
ผู้เขียนต้นฉบับแดน อโลนี
นักพัฒนาชุมชน
ปล่อย25 มกราคม 2547 ( 25 มกราคม 2547 )
เวอร์ชันสุดท้าย
0.7.9 [ 1 ] / 9 เมษายน 2554 [ 1 ] ( 9 เมษายน 2554 )
รุ่นทดลองใช้งาน
0.7.10-r1588 [ 2 ] / 7 สิงหาคม 2554 [ 2 ] ( 7 สิงหาคม 2554 )
ระบบปฏิบัติการตระกูล Windows NT
พิมพ์การจำลองเสมือนแพลตฟอร์ม
ใบอนุญาตใบอนุญาตสาธารณะทั่วไปของ GNU
เว็บไซต์www.colinux.orgแก้ไขข้อมูลนี้ได้ที่วิกิดาต้า

Cooperative Linuxซึ่งย่อว่าcoLinuxเป็นซอฟต์แวร์ที่อนุญาตให้Microsoft Windowsและเคอร์เนล Linuxทำงานพร้อมกันแบบขนานบนเครื่องเดียวกัน[ 3 ]

Cooperative Linux ใช้แนวคิดของเครื่องเสมือนแบบร่วมมือ (Cooperative Virtual Machine หรือ CVM) ซึ่งแตกต่างจากเครื่องเสมือนแบบ ดั้งเดิมตรง ที่ CVM จะแชร์ทรัพยากรที่มีอยู่แล้วในระบบ ปฏิบัติการโฮสต์ ในเครื่องเสมือนแบบดั้งเดิม ทรัพยากรจะถูกจำลองขึ้นสำหรับแต่ละระบบปฏิบัติการ (เกสต์) CVM ช่วยให้ระบบปฏิบัติการทั้งสองควบคุมเครื่องโฮสต์ได้อย่างสมบูรณ์ ในขณะที่เครื่องเสมือนแบบดั้งเดิมจะตั้งค่าระบบปฏิบัติการเกสต์แต่ละระบบให้อยู่ในสถานะที่ไม่ได้รับสิทธิ์ในการเข้าถึงเครื่องจริง

ภาพรวม

SynapticและNautilusทำงานบนระบบปฏิบัติการ Windows

คำว่า "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 )

การกระจาย

Ubuntu ที่ทำงานบน coLinux
speedLinux ทำงานร่วมกับ coLinux

การเปลี่ยนแปลงส่วนใหญ่ในแพตช์ 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 ได้

ฮาร์ดแวร์จำลอง

  • เครือข่ายอีเธอ ร์เน็ตผ่านTAP , PCAP , NDISและSLiRP

ข้อจำกัด

  • ไม่รองรับ Windows หรือ Linux 64 บิต (และไม่สามารถใช้หน่วยความจำได้มากกว่า 4GB) มีแผนจะพอร์ตในปี 2011 แต่สุดท้ายก็ถูกยกเลิก[ 3 ]
  • ไม่มีการรองรับมัลติโปรเซสเซอร์ (SMP) แอปพลิเคชัน Linux และเคอร์เนลพื้นฐานสามารถใช้ CPU ได้เพียงตัวเดียว[ 11 ]

ดูเพิ่มเติม

  • เว็บไซต์อย่างเป็นทางการแก้ไขข้อมูลนี้ได้ที่วิกิดาต้า
  • Cooperative LinuxบนSourceForge
  • coLinux บน GitHub
  • การจำลองเสมือนด้วย coLinuxที่Wayback Machine (เก็บถาวรเมื่อ 2008-02-03)
  • speedLinuxบนSourceForge
  • Ubuntu Remix เวอร์ชันพกพาบนSourceForge
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Cooperative_Linux&oldid=1350679119 "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ ลินุกซ์แบบร่วมมือกัน

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 เรียกใช้...