Kooperacyjny Linux

Kooperacyjny Linux
Oryginalni autorzy Dan Aloni
Deweloperzy Wspólnota
Pierwsze wydanie 25 stycznia 2004 ; 19 lat temu ( 2004-01-25 )
Ostateczne wydanie
0.7.9 / 9 kwietnia 2011 ; 11 lat temu ( 09.04.2011 )
System operacyjny Rodzina WindowsNT
Typ Wirtualizacja platformy
Licencja Powszechna Licencja Publiczna GNU
Strona internetowa www.colinux.org _ _ Edit this at Wikidata

Cooperative Linux , w skrócie coLinux , to oprogramowanie, które umożliwia równoległe działanie systemu Microsoft Windows i jądra Linuksa na tej samej maszynie.

Cooperative Linux wykorzystuje koncepcję Cooperative Virtual Machine (CVM). W przeciwieństwie do tradycyjnych maszyn wirtualnych , CVM udostępnia zasoby, które już istnieją w systemie operacyjnym hosta . W przypadku tradycyjnych hostów maszyn wirtualnych zasoby są wirtualizowane dla każdego systemu operacyjnego (gościa). CVM zapewnia obu systemom operacyjnym pełną kontrolę nad hostem, podczas gdy tradycyjna maszyna wirtualna ustawia każdy system-gość w nieuprzywilejowanym stanie dostępu do rzeczywistej maszyny.

Przegląd

Synaptic i nautilus działające w systemie Windows

Termin „spółdzielnia” jest używany do opisania dwóch działających równolegle podmiotów. W efekcie Cooperative Linux zamienia dwa różne jądra systemu operacyjnego w dwa duże programy . Każde jądro ma własny pełny kontekst procesora i przestrzeń adresową, a każde jądro decyduje, kiedy oddać kontrolę partnerowi.

Chociaż teoretycznie oba jądra mają pełny dostęp do rzeczywistego sprzętu, nowoczesny sprzęt komputerowy nie jest przeznaczony do jednoczesnego sterowania przez dwa różne systemy operacyjne. Dlatego jądro hosta ma kontrolę nad prawdziwym sprzętem, a jądro gościa zawiera specjalne sterowniki, które komunikują się z hostem i dostarczają różne ważne urządzenia systemowi gościa. Hostem może być dowolne jądro systemu operacyjnego, które eksportuje podstawowe prymitywy, które pozwalają przenośnemu sterownikowi Cooperative Linux działać w trybie CPL0 (pierścień 0) i przydzielać pamięć.

Historia

Dan Aloni pierwotnie rozpoczął rozwój Cooperative Linux jako projekt badawczy oparty na podobnej pracy z Linuksem w trybie użytkownika . Ogłosił rozwój 25 stycznia 2004. W lipcu 2004 wygłosił referat na Sympozjum Linuksowym. Źródło zostało udostępnione na licencji GNU General Public License . Od tego czasu inni programiści wnieśli różne poprawki i dodatki do oprogramowania.

Porównania

Kooperacyjny Linux znacznie różni się od pełnej wirtualizacji x86 , która generalnie polega na uruchamianiu systemu gościa w trybie mniej uprzywilejowanym niż jądro hosta i delegowaniu wszystkich zasobów przez jądro hosta. W przeciwieństwie do tego, Cooperative Linux obsługuje specjalnie zmodyfikowane jądro Linuksa , które jest kooperacyjne , ponieważ bierze odpowiedzialność za współdzielenie zasobów z jądrem NT i nie podżeganie do wyścigów .

Dystrybucja

Większość zmian w łatce Cooperative Linux dotyczy drzewa i386 — jedynej obsługiwanej architektury dla Cooperative w czasie pisania tego tekstu. Pozostałe zmiany to głównie dodanie sterowników wirtualnych: cobd (urządzenie blokowe), conet (sieć) i cocon (konsola). Większość zmian w drzewie i386 dotyczy kodu inicjalizacji i konfiguracji. Celem projektu jądra Cooperative Linux jest pozostanie jak najbliżej autonomicznego jądra i386, więc wszystkie zmiany są zlokalizowane i zminimalizowane w jak największym stopniu.

Pakiet coLinux instaluje port jądra Linuksa oraz wirtualne urządzenie sieciowe i może działać jednocześnie pod wersją systemu operacyjnego Windows, taką jak Windows 2000 lub Windows XP . Nie korzysta z maszyny wirtualnej , takiej jak VMware .

Debian , Ubuntu , Fedora i Gentoo są szczególnie popularne wśród użytkowników coLinux.

Ze względu na dość nietypową strukturę sprzętu wirtualnego, instalacja dystrybucji Linuksa pod coLinux jest generalnie trudna. Dlatego użytkownicy w większości przypadków korzystają albo z istniejącej instalacji Linuksa na rzeczywistej partycji, albo z gotowego obrazu systemu plików dystrybuowanego przez projekt. Obrazy systemu plików są tworzone różnymi metodami, w tym robienie obrazów normalnego systemu Linux, znajdowanie sposobów na uruchamianie instalatorów z dziwnym sprzętem, tworzenie instalacji ręcznie za pomocą menedżera pakietów lub po prostu aktualizacja istniejących obrazów za pomocą narzędzi takich jak yum i adekwatny _ Łatwiejszym sposobem na uzyskanie aktualnego obrazu systemu plików jest użycie QEMU do zainstalowania Linuksa i „przekonwertowanie” obrazu poprzez usunięcie pierwszych 63 512-bajtowych bloków, jak opisano na wiki coLinux.

Ponieważ coLinux nie ma dostępu do natywnego sprzętu graficznego, X Window lub X Servers nie będą działać bezpośrednio pod coLinux, ale można zainstalować [ potrzebne źródło ] X Server pod Windows, taki jak Cygwin/X lub Xming i używać KDE lub GNOME i prawie każda inna aplikacja i dystrybucja Linuksa. Wszystkie te problemy są rozwiązywane przy użyciu dystrybucji opartych na coLinux, takich jak andLinux, oparty na Ubuntu lub TopologiLinux , oparty na Slackware .

Emulowany sprzęt

Ograniczenia

  • Nie obsługuje jeszcze 64-bitowego systemu Windows ani Linuksa (ani nie wykorzystuje więcej niż 4 GB pamięci), ale społeczność jest w trakcie opracowywania portu.
  • Brak obsługi wielu procesorów (SMP). Aplikacje systemu Linux i leżące u ich podstaw jądro mogą korzystać tylko z jednego procesora.

Zobacz też

Linki zewnętrzne