Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
n Эмуляция на уровне API (wine, cygwin, mingw). Идея этого подхода состоит в том, чтобы запустить уже существующее Linux/Windows-приложение, эмулируя API «чужеродной» ОС. Такой подход позволяет добиться большей производительности (по сравнению с виртуальной машиной), однако никто не сможет дать гарантий относительно того, как будет (если вообще будет) работать ваше любимое приложение в wine или cygwin.
Теперь осталось определить, к чему же относится coLinux, для этого давайте более пристально посмотрим на то, как он устроен.
CoLinux, взгляд изнутри
CoLinux представляет из себя набор нескольких модулей, работающих на разных уровнях операционных систем Windows и Linux. Условно в составе coLinux можно выделить следующие компоненты: драйвер ОС Windows, отвечающий за предоставление ядру Linux доступа к процессору и памяти, несколько модифицированное ядро ОС Linux (для того чтобы работать с Windows-драйверами coLinux), драйверы Linux и Windows, отвечающие за организацию взаимодействия Linux с «внешним миром» (Ethernet, console), драйверы блочных устройств для отображения устройств Windows на блочные устройства coLinux.
За непосредственный запуск coLinux отвечает специальная программа – coLinux-daemon. Используя Windows-драйверы, coLinux-daemon формирует окружение, в котором начинает выполняться ядро ОС Linux. Фактически coLinux-daemon является аналогом lilo и grub, выступая в coLinux в качестве загрузчика ядра.
Давайте более подробно остановимся на задачах, решаемых основными компонентами coLinux:
n Демон coLinux. Один из ключевых компонентов системы. Фактически это загрузчик, который, объединяя все остальные компоненты coLinux, создает окружение, в котором исполняется ядро Linux.
n Драйвер блочных устройств. Главной задачей этого драйвера является предоставление доступа к устройствам, имеющимся в ОС Windows, как к блочным. В coLinux этот драйвер используется для задания отображения устройств или файлов Windows на блочные устройства coLinux, которые в дальнейшем могут быть смонтированы при помощи стандартной утилиты mount. На данный момент coLinux поддерживает определение отображений для 32 устройств. Отдельно отметим тот факт, что отображать можно не только отдельные файлы, содержащие образы linux-файловых систем, но и реальные разделы жестких дисков. Это позволяет использовать coLinux для запуска в Windows уже существующих инсталляций Linux-систем.
n Ethernet-драйверы. Как не трудно догадаться из названия, эти драйверы используются для организации взаимодействия нашей Linux-системы с внешним миром. Так, с coLinux можно использовать либо виртуальный TAP-драйвер, либо библиотеку WinPCap.
n Драйверы клавиатуры и консоли используются для организации взаимодействия с Linux в привычном для многих пользователей режиме – через консоль.