Cooperative Linux

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

Cooperative Linux, сокращенно coLinux, - это программное обеспечение, которое позволяет Microsoft Windows и ядро ​​Linux для одновременной параллельной работы на одной и той же машине.

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

Содержание
  • 1 Обзор
  • 2 История
  • 3 Сравнения
  • 4 Распределение
  • 5 Эмулируемое оборудование
  • 6 Ограничения
  • 7 См. Также
  • 8 Ссылки
  • 9 Внешние ссылки
Обзор
Synaptic и nautilus, работающие в Windows

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

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

История

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

Сравнения

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

Распространение

Большинство изменений в патче 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 байт, как описано в wiki coLinux.

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

Эмулированное оборудование
Ограничения
  • Еще не поддерживает 64-битную Windows или Linux (и не использует больше чем 4 ГБ памяти), но порт находится в стадии разработки сообществом. Спонсор был готов завершить перенос, но задание было отменено.
  • Не поддерживается многопроцессорность (SMP). Приложения Linux и базовое ядро ​​могут использовать только один процессор.
См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-15 11:42:02
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте