Cooperative Linux
coLinux olarak kısaltılan Cooperative Linux, Microsoft Windows ve Linux çekirdeğinin aynı makinede aynı anda paralel çalışmasına olanak sağlayan bir yazılımdır.[2]
Orijinal yazar(lar) | Dan Aloni |
---|---|
Geliştirici(ler) | Topluluk |
İlk yayınlanma | 25 Ocak 2004 | )
Güncel sürüm | 0.7.9[1] |
İşletim sistemi | Windows NT family |
Tür | Platform sanallaştırma |
Lisans | GNU General Public License |
Resmî sitesi | Resmî site ![]() |
Cooperative Linux, Cooperative Virtual Machine (CVM) kavramını kullanır. Geleneksel sanal makinelerin aksine, CVM, ana bilgisayar işletim sisteminde zaten var olan kaynakları paylaşır. Geleneksel VM ana bilgisayarlarında, kaynaklar her (konuk) işletim sistemi için sanallaştırılır. CVM, her iki işletim sistemine de ana makine üzerinde tam kontrol sağlarken, geleneksel VM, her konuk işletim sistemini gerçek makineye erişmek için ayrıcalıksız bir duruma ayarlar.
Genel bakış
değiştir"Kooperatif" terimi, paralel olarak çalışan iki kuruluşu tanımlamak için kullanılır. Aslında Cooperative Linux, iki farklı işletim sistemi çekirdeğini iki büyük koroutine dönüştürür. Her çekirdeğin kendi eksiksiz CPU bağlamı ve adres alanı vardır ve her çekirdek, kontrolü ne zaman ortağına geri vereceğine karar verir.
Bununla birlikte, her iki çekirdek teorik olarak gerçek donanıma tam erişime sahipken, modern PC donanımı aynı anda iki farklı işletim sistemi tarafından kontrol edilecek şekilde tasarlanmamıştır. Bu nedenle, ana bilgisayar çekirdeği gerçek donanımın kontrolünde bırakılır ve konuk çekirdeği, ana bilgisayarla iletişim kuran ve konuk işletim sistemine çeşitli önemli aygıtlar sağlayan özel sürücüler içerir. Ana bilgisayar, Cooperative Linux taşınabilir sürücüsünün CPL0 modunda (ring 0) çalışmasına ve bellek ayırmasına izin veren temel temel öğeleri dışa aktaran herhangi bir işletim sistemi çekirdeği olabilir.[3]
Tarih
değiştirDan Aloni, Kooperatif Linux'un geliştirilmesine, User-mod Linux ile benzer çalışmalara dayanan bir araştırma projesi olarak başladı.[4][5] Gelişmeyi 25 Ocak 2004'te duyurdu.[6] Temmuz 2004'te Linux Sempozyumu'nda bir bildiri sundu.[7] Kaynak, GNU Genel Kamu Lisansı altında yayımlandı. Diğer geliştiriciler o zamandan beri yazılıma çeşitli yamalar ve eklemeler yaptı.[8]
Karşılaştırma
değiştirCooperative Linux, genellikle konuk işletim sistemini ana bilgisayar çekirdeğinden daha az ayrıcalıklı bir modda çalıştırarak ve tüm kaynakların ana bilgisayar çekirdeği tarafından delege edilmesini sağlayarak çalışan tam x86 sanallaştırmadan önemli ölçüde farklıdır. Buna karşılık, Cooperative Linux, kaynakları NT çekirdeğiyle paylaşma sorumluluğunu üstlendiği ve yarış koşullarını başlatmadığı için Cooperative olan özel olarak değiştirilmiş bir Linux çekirdeği çalıştırır.
Dağıtım
değiştirCooperative Linux yamasındaki değişikliklerin çoğu, bu yazının yazıldığı sırada Cooperative için desteklenen tek mimari olan i386 ağacındadır. Diğer değişiklikler çoğunlukla sanal sürücülerin eklenmesidir: cobd (blok cihazı), conet (ağ) ve cocon (konsol). i386 ağacındaki değişikliklerin çoğu, başlatma ve kurulum kodunu içerir. Kooperatif Linux çekirdeği tasarımının bir amacı, bağımsız i386 çekirdeğine mümkün olduğunca yakın kalmaktır, böylece tüm değişiklikler mümkün olduğunca yerelleştirilir ve en aza indirilir.
coLinux paketi, Linux çekirdeğinin bir bağlantı noktasını ve bir sanal ağ aygıtı kurar ve Windows 2000 veya Windows XP gibi Windows işletim sisteminin bir sürümü altında aynı anda çalışabilir. VMware gibi bir sanal makine kullanmaz.
Debian, Ubuntu, Fedora ve Gentoo özellikle coLinux kullanıcıları arasında popülerdir.
Sanal donanımın oldukça sıra dışı yapısından dolayı, Linux dağıtımlarını coLinux altında kurmak genellikle zordur. Bu nedenle, kullanıcılar çoğu durumda ya gerçek bir bölümdeki mevcut bir Linux kurulumunu ya da proje tarafından dağıtılan hazır bir dosya sistemi görüntüsünü kullanır. Dosya sistemi görüntüleri, normal bir Linux sisteminin görüntülerini almak, kurulumcuları garip donanımla çalıştırmanın yollarını bulmak, paket yöneticisini kullanarak kurulumları elle oluşturmak veya sadece yum ve apt gibi araçları kullanarak mevcut görüntüleri yükseltmek gibi çeşitli yöntemlerle yapılır. Güncel bir dosya sistemi görüntüsü elde etmenin daha kolay bir yolu, Linux'u kurmak için QEMU'yu kullanmak ve coLinux wiki'de açıklandığı gibi ilk 63 512 baytlık bloğu çıkararak görüntüyü "dönüştürmektir".
coLinux'un yerel grafik donanımına erişimi olmadığından, X Penceresi veya X Sunucuları doğrudan coLinux altında çalışmayacaktır, ancak biri yükleyebilir. Windows altında Cygwin/X veya Xming gibi bir X Sunucusu ve KDE veya GNOME ve hemen hemen tüm diğer Linux uygulamalarını ve dağıtımlarını kullanın. Bu sorunların tümü, Ubuntu tabanlı andLinux veya Slackware tabanlı TopologiLinux gibi coLinux tabanlı dağıtımlar kullanılarak giderilir.
Emüle edilmiş donanım
değiştir- TAP, PCAP, NDIS ve SLiRP üzerinden Ethernet ağı.
Sınırlamalar
değiştir- Henüz 64 bit Windows veya Linux'u desteklememektedir (veya 4 GB'den fazla bellek kullanmamaktadır), ancak topluluk tarafından bir bağlantı noktası geliştirme aşamasındadır.[9] Bir sponsor limanı tamamlamaya istekliydi, ancak iş iptal edildi.[10]
- Çoklu işlemci (SMP) desteği yok. Linux uygulamaları ve temel alınan çekirdek yalnızca bir CPU kullanabilir.[11]
Ayrıca bakınız
değiştir- Win32-loader
- Platform sanallaştırma
- Platform sanallaştırma yazılımının karşılaştırılması
- Cygwin
- MSYS
- Wubi (kurucu)
- Longene
- Chroot
- Windows Subsystem for Linux
Kaynakça
değiştir- ^ "Arşivlenmiş kopya". 13 Mayıs 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 31 Mayıs 2023.
- ^ "coLinux main website". 19 Mayıs 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Nisan 2004.
- ^ "coLinux main page". 4 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Nisan 2004.
- ^ "Open source contributions | Dan Aloni". blog.aloni.org. 30 Ocak 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Ocak 2022.
- ^ "Cooperative Linux Active Development Team Members". www.colinux.org. 19 Şubat 2004 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Ocak 2022.
- ^ "Dan Aloni announces Cooperative Linux". 27 Ekim 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Eylül 2022.
- ^ "Dan Aloni paper presented July 2004 at Linux Symposium" (PDF). 30 Eylül 2018 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 30 Mart 2008.
- ^ Aloni, Dan (17 Kasım 2021), da-x/colinux, 8 Ocak 2022 tarihinde kaynağından arşivlendi, erişim tarihi: 8 Ocak 2022
- ^ "64 bit development information and resources". 20 Eylül 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Eylül 2022.
- ^ "Status of sponsored 64 bit port". 1 Aralık 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Kasım 2017.
- ^ "coLinux FAQ". 20 Eylül 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Eylül 2022.
Dış bağlantılar
değiştir- Resmî site
- Cooperative Linux on SourceForge
- coLinux on GitHub 20 Eylül 2022 tarihinde Wayback Machine sitesinde arşivlendi.
- Virtualization with coLinux at the Wayback Machine (archived 2008-02-03)
- speedLinux on SourceForge
- Portable Ubuntu Remix on SourceForge