Другие программы, позволяющие запускать приложения MS-DOS и Windows в Linux
Был сделан целый ряд попыток решить проблему запуска приложений для MS-DOS и Windows в Linux, как группами разработчиков свободно распространяемого программного обеспечения, так и коммерческими разработчиками. Простейшее решение предоставляет продукт Dosemu, который достаточно хорошо эмулирует аппаратные средства PC для выполнения MS-DOS (или совместимой системы типа PC-DOS или DR-DOS). DOS все равно требуется устанавливать в эмуляторе, но поскольку DOS фактически выполняется внутри эмулятора, это обеспечивает хорошую совместимость приложений. С некоторыми ограничениями можно выполнять даже Windows 3.1.
Есть другой проект open source под названием Bochs, который эмулирует аппаратную часть PC достаточно хорошо для работы Windows и других операционных систем. Однако поскольку каждая инструкция 386-го процессора эмулируется программно, производительность сокращается в итоге до малой части той, которую можно было бы получить при непосредственном выполнении операционной системы на той же аппаратуре. Проект plex86 использует еще один подход, реализуя виртуальную среду, в которой может выполняться Windows или другая операционная система (или их приложения). Программы, выполняемые на виртуальной машине, работают без снижения скорости, за исключением тех случаев, когда нужно обращаться к аппаратным устройствам. Это весьма напоминает Dosemu, но реализация более надежна и не ограничивается возможностью запуска DOS. На момент написания этой книги все проекты, которые обсуждались в данном разделе, были довольно незрелыми и имели существенные ограничения. Грубо говоря, здесь вполне применимы выражения «как повезет» и «за что заплатишь, то и получишь».
Оба основаны на реализации среды виртуальной машины (как в plex86), поэтому для выполнения Windows-приложений нужно установить экземпляр Windows. По крайней мере, в отношении VMWare известно, что степень совместимости очень высока. VMWare поддерживает версии DOS/Windows от MS-DOS до .NET, включая все промежуточные. Можно даже установить несколько из известных дистрибутивов Linux, чтобы запускать на одном компьютере несколько экземпляров Linux. С разной степенью ограничений могут выполняться и другие операционные системы, в том числе FreeBSD, Netware и Solaris. Хотя при этом неизбежны некоторые накладные расходы, но современные процессоры с гигагерцевыми тактовыми частотами могут обеспечить приемлемые уровни производительности для большинства стандартных приложений, таких как офисные программы.
Win4Lin - более новая разработка, чем VMWare. Когда писалась эта книга, Windows и ее приложения быстрее выполнялись под Win4Lin, чем под VMware, но поддержка существовала только для Windows 95/98/МЕ, а не для Windows NT/ 2000/ХР. Как и в отношении других проектов, описывавшихся в данном разделе, мы советуем следить за состоянием разработки этого продукта, чтобы определить, когда он созреет до такой степени, что будет способен удовлетворить ваши потребности.