공동 리눅스

Cooperative Linux
공동 리눅스
CoLinux logo.png
원저작자댄 알로니
개발자지역 사회
초기 릴리즈2004년 1월 25일, 18년 전(2004-01-25)
최종 릴리즈
2011년 4월 9일 0.7.9, 11년 전(2011-04-09)
운영 체제Windows NT 패밀리
유형플랫폼 가상화
면허증.GNU 일반 공중 라이선스
웹 사이트www.colinux.org Edit this at Wikidata

CoLinux로 축약된 Cooperative Linux는 Microsoft Windows와 Linux 커널을 동일한 머신에서 [2]동시에 실행할 수 있는 소프트웨어입니다.

Cooperative Linux는 CVM(Coperative Virtual Machine) 개념을 사용합니다.기존 가상 머신과 달리 CVM은 호스트 OS에 이미 존재하는 리소스를 공유합니다.기존 VM 호스트에서는 리소스가 모든 (게스트) OS에 대해 가상화됩니다.기존 VM은 모든 게스트 OS를 권한 없는 상태로 설정하여 실제 머신에 액세스할 수 있도록 하는 반면 CVM은 두 OS 모두에 호스트 머신을 완전히 제어합니다.

개요

Windows에서 실행되는 시냅스앵무새

"협동조합"이라는 용어는 병렬로 작동하는 두 개의 엔티티를 설명하기 위해 사용됩니다.실제로 Cooperative Linux는 두 개의 서로 다른 운영 체제 커널을 두 개의 큰 코루틴으로 바꿉니다.각 커널은 독자적인 완전한 CPU 컨텍스트와 주소 공간을 가지고 있으며, 각 커널은 언제 제어권을 파트너에게 반환할지를 결정합니다.

단, 이론적으로 두 커널 모두 실제 하드웨어에 대한 완전한 접근권을 가지고 있지만, 최신 PC 하드웨어는 두 개의 다른 운영체제에 의해 동시에 제어되도록 설계되어 있지 않습니다.따라서 호스트 커널은 실제 하드웨어를 제어하는 상태로 유지되며 게스트 커널에는 호스트와 통신하고 게스트 OS에 다양한 중요한 디바이스를 제공하는 특수 드라이버가 포함되어 있습니다.호스트는 Cooperative Linux 휴대용 드라이버를 CPL0 모드([3]링 0)로 실행하고 메모리를 할당할 수 있는 기본 기본 요소를 내보내는 모든 OS 커널일 수 있습니다.

역사

Dan Aloni는 User-Mode [4][5]Linux와 유사한 작업을 기반으로 한 연구 프로젝트로 Cooperative Linux의 개발을 시작했습니다.그는 2004년 [6]1월 25일에 개발을 발표했다.2004년 7월, [7]그는 Linux 심포지엄에서 논문을 발표했습니다.소스GNU General Public License에 따라 출시되었습니다.그 후 다른 개발자들은 소프트웨어에 [8]다양한 패치와 추가에 기여하고 있습니다.

비교

Cooperative Linux는 일반적으로 호스트 커널보다 권한이 적은 모드에서 게스트 OS를 실행하고 호스트 커널에서 모든 리소스를 위임하는 방식으로 작동하는 전체 x86 가상화와 크게 다릅니다.반면 Cooperative Linux는 NT 커널과의 리소스 공유에 대한 책임을 지고 경쟁 조건을 유발하지 않는다는 점에서 Cooperative인 특수 수정된 Linux 커널을 실행합니다.

분배

Cooperative Linux 패치의 변경 내용은 대부분 i386 트리에 있습니다.i386 트리는 이 문서 작성 시 Cooperative에서 유일하게 지원되는 아키텍처입니다.기타 변경사항은 대부분 가상 드라이버 추가입니다. 즉, cobd(블록 디바이스), conet(네트워크), cocon(콘솔)입니다.i386 트리의 변경 대부분은 초기화 및 설정 코드와 관련이 있습니다.Cooperative Linux 커널 설계의 목표는 스탠드아론 i386 커널에 가능한 한 가깝게 유지하는 것입니다.따라서 모든 변경은 현지화되고 최대한 최소화됩니다.

coLinux 패키지는 Linux 커널가상 네트워크 디바이스의 포트를 설치하고 윈도우즈 2000 또는 윈도우즈 XP와 같은 윈도우즈 운영 체제 버전에서 동시에 실행할 수 있습니다.VMware 등의 가상 머신은 사용하지 않습니다.

Debian, Ubuntu, FedoraGentoo는 특히 coLinux 사용자에게 인기가 있습니다.

가상 하드웨어의 구조가 다소 특이하기 때문에 일반적으로 coLinux에서 Linux 디스트리뷰션을 설치하는 것은 어렵습니다.따라서 대부분의 경우 사용자는 실제 파티션에 설치된 기존 Linux 또는 프로젝트에서 배포된 기성 파일 시스템 이미지를 사용합니다.파일 시스템 이미지는 일반적인 Linux 시스템 이미지 촬영, 설치 프로그램을 이상한 하드웨어로 실행하는 방법 찾기, 패키지 매니저를 사용하여 수동으로 설치를 구성하거나 yum이나 apt 등의 도구를 사용하여 기존 이미지를 업그레이드하는 방법 등 다양한 방법으로 작성됩니다.최신 파일 시스템이미지를 입수하는 보다 쉬운 방법은 QEMU를 사용하여 Linux를 설치하고 coLinux Wiki에서 설명한 바와 같이 처음 63개의 512바이트 블록을 삭제하여 이미지를 "변환"하는 것입니다.

coLinux는 네이티브 그래픽스 하드웨어에 액세스할 수 없기 때문에 X Window 또는 X Servers는 coLinux에서 직접 실행되지는 않지만, Cygwin/X 또는 Xming과 같은 Windows 환경에서 X Server를 설치하고 KDE 또는 GNOME과 거의 모든 다른 Linux 응용 프로그램과 배포를 사용할 수 있습니다[citation needed].이러한 모든 문제는 Ubuntu 기반 및 Linux 또는 Slackware 기반 TopologiLinux와 같은 coLinux 기반 배포를 사용하여 해결되었습니다.

에뮬레이트된 하드웨어

제한 사항

  • 아직 64비트 Windows 또는 Linux를 지원하지 않지만(4GB 이상의 메모리도 사용) 포트는 커뮤니티에서 개발 중입니다[9].스폰서가 항구를 완성할 의향이 있었지만 작업이 [10]취소되었다.
  • Multi-Processor(SMP; 멀티프로세서)는 지원되지 않습니다.Linux 애플리케이션과 기본 커널은 CPU를 [11]하나만 사용할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b https://www.colinux.org/?section=상태
  2. ^ "coLinux main website". Archived from the original on 2018-05-19. Retrieved 2004-04-13.
  3. ^ Wayback Machine의 coLinux 메인 페이지(2015-12-04)
  4. ^ "Open source contributions Dan Aloni". blog.aloni.org. Retrieved 2022-01-08.
  5. ^ "Cooperative Linux Active Development Team Members". www.colinux.org. Retrieved 2022-01-08.
  6. ^ Dan Aloni가 Cooperative Linux 발표
  7. ^ "Dan Aloni paper presented July 2004 at Linux Symposium" (PDF). Archived from the original (PDF) on 2018-09-30. Retrieved 2008-03-30.
  8. ^ Aloni, Dan (2021-11-17), da-x/colinux, retrieved 2022-01-08
  9. ^ 64비트 개발 정보 및 리소스
  10. ^ "Status of sponsored 64 bit port". Archived from the original on 2017-12-01. Retrieved 2017-11-25.
  11. ^ coLinux FAQ

외부 링크