Кооперативный Linux - Cooperative Linux

Кооперативный Linux
CoLinux logo.png
Оригинальный автор (ы)Дэн Алони
Разработчики)Сообщество
изначальный выпуск25 января 2004 г.; 16 лет назад (2004-01-25)
Окончательный релиз
0.7.9 [1] / 9 апреля 2011 г.; 9 лет назад (2011-04-09) [1]
Операционная системаСемейство Windows NT
ТипВиртуализация платформы
ЛицензияСтандартная общественная лицензия GNU
Интернет сайтwww.colinux.org Отредактируйте это в Викиданных

Кооперативный Linux, сокращенно coLinux, это программное обеспечение, которое позволяет Майкрософт Виндоус и Ядро Linux работать одновременно параллельно на одной машине.[2]

Cooperative Linux использует концепцию совместной виртуальной машины (CVM). В отличие от традиционных виртуальные машины, CVM разделяет ресурсы, которые уже существуют в хосте Операционные системы. В традиционных хостах виртуальных машин ресурсы виртуализированы для каждой (гостевой) ОС. CVM дает обеим ОС полный контроль над хост-машиной, в то время как традиционная виртуальная машина устанавливает каждую гостевую ОС в непривилегированное состояние для доступа к реальной машине.

Обзор

Синаптический и наутилус работает в Windows

Термин «кооператив» используется для описания двух объектов, работающих параллельно. По сути, Cooperative Linux превращает два разных ядра операционной системы в два больших сопрограммы. Каждое ядро ​​имеет свой собственный полный контекст ЦП и адресное пространство, и каждое ядро ​​решает, когда вернуть управление своему партнеру.

Однако, хотя оба ядра теоретически имеют полный доступ к реальному оборудованию, современное оборудование ПК не предназначено для управления двумя разными операционными системами одновременно. Таким образом, ядро ​​хоста остается под контролем реального оборудования, а гостевое ядро ​​содержит специальные драйверы, которые взаимодействуют с хостом и предоставляют различные важные устройства для гостевой ОС. Хостом может быть любое ядро ​​ОС, которое экспортирует базовые примитивы, позволяющие переносному драйверу Cooperative Linux работать в режиме CPL0. (кольцо 0) и выделить память.[3]

История

Дэн Алони изначально начал разработку Cooperative Linux на основе аналогичной работы с Пользовательский режим Linux. Он объявил о разработке 25 января 2004 года.[4] В июле 2004 г. он представил доклад на симпозиуме по Linux.[5] В источник был выпущен под Стандартная общественная лицензия GNU. С тех пор другие разработчики внесли в программу различные исправления и дополнения.

Сравнения

Кооперативный Linux существенно отличается от полноценного виртуализация x86, который обычно работает, выполняя гостевую ОС в менее привилегированном режиме, чем у ядра хоста, и имея все ресурсы, делегированные ядром хоста. В отличие от этого, Cooperative Linux использует специально модифицированный Ядро Linux то есть Кооператив в том, что он берет на себя ответственность за совместное использование ресурсов с ядром NT и не инициирует условия гонки.

Распределение

Большинство изменений в патче Cooperative Linux внесены в i386 tree - единственная поддерживаемая архитектура для 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, поиск способов заставить установщики работать со странным оборудованием, создание установок вручную с помощью диспетчера пакетов или просто обновление существующих образов с помощью таких инструментов, как ням и подходящий. Более простой способ получить обновленный образ файловой системы - использовать QEMU для установки Linux и «преобразования» образа путем удаления первых 63 блоков по 512 байт, как описано в вики-странице coLinux.

Поскольку coLinux не имеет доступа к собственному графическому оборудованию, X Window или X-серверы не будут работать напрямую под coLinux, но можно установить[нужна цитата ] X-сервер под Windows, например Cygwin / X или же Xming и использовать KDE или же ГНОМ и почти любое другое приложение и дистрибутив Linux. Все эти проблемы решаются с помощью дистрибутивов на основе coLinux, таких как и Linux, на основе Ubuntu, или TopologiLinux, на основе Slackware.

Эмулируемое оборудование

Ограничения

  • Еще не поддерживает 64-разрядную версию Windows или Linux (и не использует более 4 ГБ памяти), но порт находится в стадии разработки[6] сообществом. Спонсор был готов завершить порт, но работу отменили.[7]
  • Нет поддержки мультипроцессора (SMP). Приложения Linux и базовое ядро ​​могут использовать только один процессор.[8]

Смотрите также

Рекомендации

  1. ^ а б https://www.colinux.org/?section=status
  2. ^ "Главный сайт coLinux". Архивировано из оригинал на 2018-05-19. Получено 2004-04-13.
  3. ^ главная страница coLinux на Wayback Machine (Архивировано 4 декабря 2015 г.)
  4. ^ Дэн Алони анонсирует совместный Linux
  5. ^ «Доклад Дэна Алони, представленный в июле 2004 г. на Linux Symposium» (PDF). Архивировано из оригинал (PDF) на 2018-09-30. Получено 2008-03-30.
  6. ^ 64-битная информация и ресурсы для разработки
  7. ^ «Статус спонсируемого 64-битного порта». Архивировано из оригинал на 2017-12-01. Получено 2017-11-25.
  8. ^ coLinux FAQ

внешняя ссылка