Глава 38 Сосуществование операционных систем

Глава 38 Сосуществование операционных систем

Как бы мы ни старались, а полностью жить в операционной системе Linux в современном мире не получается. Так сложилась жизнь, что множество программ написаны под операционные системы MS Windows или DOS. И зачастую по тем или иным причинам эти программы незаменимы. Поэтому данную проблему необходимо решать – вариант «или-или» нам не подходит.

Существует тривиальное решение этого вопроса – установить на компьютер две или три операционные системы и перезапускать компьютер, когда необходимо поработать в Windows NT. Но наверняка такое решение не понравится никому – неоптимальное расходование дискового пространства, постоянные перезагрузки компьютера и, как следствие, непроизводительные затраты времени. Поэтому желательно решить эту проблему по-другому.

Сосуществование двух или более операционных систем необходимо рассматривать комплексно. Проблемы, возникающие при взаимодействии разных операционных систем, можно разбить на следующие виды.

1.  Передача файлов е одной операционной системы в другую. Это условие решается созданием протоколов передачи файлов и информации, которыми на данном этапе являются протоколы Интернета.

2.  Возможность работать с дисками и данными другой операционной системы. Это условие неплохо решено для операционной системы Linux – она поддерживает файловые системы FAT, VFAT, NTFS и т. п. Со стороны операционных систем производства Microsoft все выглядит намного хуже – поддерживаются только файловые системы, разработанные Microsoft.

3.  Возможность выполнять программы, созданные для другой операционной системы. Для решения этой задачи есть два подхода – разработка виртуальных машин и создание эмуляторов операционной системы:

виртуальные машины позволяют создать внутри операционной системы «виртуальный» компьютер, на котором и выполняется альтернативная операционная система и ее приложения. Для виртуальной машины все равно, какая операционная система будет установлена внутри нее, поскольку она обеспечивает псевдокомпьютер, на который и устанавливается операционная система. У этого подхода есть недостатки – мы вынуждены устанавливать на виртуальную машину альтернативную операционную систему и программное обеспечение, что не всегда возможно с точки зрения ресурсов и финансов. Несомненным достоинством виртуальной машины является полная эмуляция компьютера, и как следствие – возможность нормально запускать альтернативную операционную систему;

эмуляторы призваны создать для программ альтернативной операционной системы «нормальную среду обитания». Для сложной операционной системы практически невозможно создать нормально функционирующий эмулятор, особенно для закрытых коммерческих операционных систем.

4.  Возможность работать с файлами, созданными в форматах программ другой операционной системы. По большому счету это условие выполняется либо тогда, когда выпускается эквивалентное программное обеспечение для другой операционной системы, либо тогда, когда существует доступная документация на формат файлов, либо когда данные очень нужны. В принципе, четвертое условие можно решить, решив третье.

Как видите – список небольшой, но охватывающий множество проблем сосуществования операционных систем.

Эмуляторы

Начнем описание с эмуляторов, поскольку исторически в операционной системе Linux они появились раньше, чем виртуальные машины. Так что, пойдем от простого к сложному.

DOSEmu

Эмулятор однозадачной, однопользовательской операционной системы MS-DOS. Вы скажете, что в эпоху развитой Windows эмулятор MS-DOS не актуален и будете неправы. Еще много программ, написанных под MS-DOS, находится в эксплуатации. Различные учетные, складские программы, программы отделов кадров и тому подобные АРМ, спокойно трудятся на своих рабочих местах. Достаточно много есть и хороших игр, написанных под MS-DOS, к примеру WarCraft II, Doom и Dune II. В свое время много специфических аппаратно-программных комплексов было разработано под MS-DOS, устройства эти эксплуатируются и по сегодняшний день.

Установка пакета DOSEmu не представляет сложности, поскольку этот пакет обычно входит в состав дистрибутива операционной ситемы. Поэтому переходим сразу к конфигурированию этого эмулятора DOS.

Конфигурирование DOSEmu

Пакет DOSEmu не отличается особой оригинальностью – конфигурационный файл называется dosemu.conf и находится в каталоге /etc. Помимо этого, каждый пользователь может создать в своем домашнем каталоге файл. dosrc, в котором можно откорректировать некоторые настройки DOSEmu для данного пользователя. Плюс к этим возможностям, поведение эмулятора можно изменить, используя параметры запуска.

На самом деле все записи в файле в dosemu.conf – это просто переменные, которые в последующем используются в /var/lib/dosemu/global.conf и имеют вид:

$_ххх = (n)

или

$_zzz = "s"

Описание параметров конфигурации сгруппировано по исполняемым функциям.

Управление отладочной информацией

Для включения вывода отладочной информации DOSEmu необходимо в конфигурационный файл добавить следующую строку:

$_debug = «-а»

где строка содержит то, что обычно передается через ключ командной строки '-D'.

Отладочная информация будет выводиться в файл, определенный опциями '-о file' либо '-O' (в последнем случае выводит в stderr).

Основные параметры

• Разрешает или запрещает использование прерывания таймера INT08:

$_timint = (on|off)

• Позволяет либо запрещает задачам DOS использовать математический сопроцессор:

$_mathco = (on|off)

• Параметр определяет, какой тип процессора эмулировать:

$_cpu = (80386)

Можно установить тип процессора не выше существующего в компьютере. Разрешенные значения:

• 80386;

• 80486;

• 80586.

• Параметр разрешает или запрещает DOSEmu использовать счетчик циклов Pentium для лучшей обработки временных интервалов:

$_rdtsc = (on)

• Для использования rdtsc' DOSEmu необходимо выставить точную тактовую частоту процессора. Обычно она определяется автоматически, но в случае ошибок можно задать ее явно.

$_cpuspeed = (166.666)

• Разрешает DOSEmu доступ к конфигурированию PCI устройств:

$_pci = (on)

• Следующие параметры позволяют задать распределение оперативной памяти, которая доступна для DOS:

$_xms = (1024)

$_ems = (1024)

$_ems_frame = (0xe000)

$_dpmi = (off)

$_dosmem = (640)

• Следующий параметр определяет стиль поведения DOSEmu по отношению к процессорному времени, используемому DOSEmu:

$_hogthreshold = (1) # 0 – максимум процессорного времени для DOSEMU

# 1 – максимум процессорного времени для Linux

# >1 чем больше, тем меньше процессорного времени для DOSEMU

• В том случае, если на вашем компьютере установлено нестандартное оборудование, для которого отсутствует Linux-драйвер, но существует DOS-драйвер, часто необходимо разрешить использование соответствующего IRQ в DOS:

$_irqpassing = "" # список номеров IRQ (2-15) для передачи DOS

• Следующий параметр определяет, каким образом будет использоваться встроенный динамик:

$_speaker = "" # or «native» or «emulated»

• При помощи следующих параметров можно получить управление реальными портами компьютера, но с точки зрения безопасности этого делать ни в коем случае нельзя:

$_ports = "" # список портов, например «0x1ce 0x1cf 0x238»

Терминалы

Этот раздел предназначен для DOSEmu, выполняемой на удаленном компьютере или в графическом терминале xterm.

• Определяет набор используемых шрифтов:

$_term_char_set = ""

• Разрешает использование цвета:

$_term_color = (on)

• Задает интервал между обновлениями экрана в 1/20 секунды:

$_term_updfreq = (4)

• Определяет символ ESC:

$_escchar = (30)

Установки клавиатуры

При запуске DOSEmu из консоли или X Window может понадобиться задать подходящую раскладку клавиатуры. Это делается либо выбором одной из внутренних таблиц клавиатуры, либо загрузкой внешней таблицы.

• Внутренняя таблица клавиатуры определяется параметром:

$_layout = «name»

• Используется для сосуществования с X Window, поскольку по умолчанию устанавливается нейтральная (US) клавиатура:

$_X_keycode = (on)

• Следующий параметр позволяет получить прямой доступ к клавиатуре для DOS-программ. Обычно это необходимо для игр.

$_rawkeyboard = (1)

• Следующая переменная используется для улучшенной обработки прерывания клавиатуры:

$_keybint = (on)

Поддержка X Window

Для запуска DOSEmu в собственном окне X Window необходимо установить некоторые переменные, приведенные ниже.

• Задает интервал обновления изображения в 1/20 секунды:

$_X_updfreq = (5)

• Определяет заголовок окна программы:

$ X title = «DOS in a BOX»

• Определяет текст значка:

$_X_icon_name = «xdos»

• Разрешение трансляции клавиатурных кодов через таблицы DOSEmu:

$_X_keycode = (off)

• Параметр задает частоту мерцания курсора:

$_X_blinkrate = (8)

• Задает тип шрифта для DOS-программы:

$_X_font = ""

• Параметр разрешает использование разделяемой памяти:

$_X_mitshm = (on)

• Использование системной палитры:

$_X_sharecmap = (off)

• Параметр разрешает пропорциональное изменение размеров окна:

$_X_fixed_aspect = (on)

• Разрешает использовать отношение сторон окна 4:3 в графике:

$_X_aspect_43 = (on)

• Параметр задает начальные размеры окна:

$_X_winsize = ""

• Параметр задает коэффициент гамма-коррекции:

$_X_gamma = (1.0)

• Задает размер фрейм-буфера для эмуляции VGA в килобайтах:

$_X_vgaemu_memsize = (1024)

• Параметр разрешает использовать линейный фрейм-буфер для VESA-режимов:

$_X_lfb = (on)

Видеоустановки для консоли

За конфигурирование DOSEmu для работы в консольном режиме отвечают следующие параметры.

• Этот параметр позволяет выбрать тип видеокарты:

$_video = «vga»

• Разрешает или запрещает использование видео на консоли:

$ console = (0)

• Параметр разрешает использовать BIOS-карты для установки видеорежима:

$_graphics = (0)

• Параметр разрешает доступ к видеопорту в графических режимах:

$_videoportaccess = (1)

• С помощью этого параметра задается адрес видео – BIOS:

$_vbios_seg = (0хс000)

• С помощью этого параметра указывается размер видео – BIOS:

$_vbios_size = (0x10000)

• С помощью этого параметра задается размер буфера регенерации:

$_vmemsize = (1024)

• С помощью этого параметра можно указать чипсет видеокарты для лучшего взаимодействия с видеокартой:

$_chipset = ""

Диски и дискеты

Следующие переменные определяют наличие дисковода, а так же параметры жесткого диска.

• Параметр используется для задания имени файла виртуальной дискеты, с которой будет производиться загрузка:

$_vbootfloppy = ""

• Параметр определяет тип и наличие дисковода А:

$_floppy_a ="threeinch"

• Параметр определяет тип и наличие дисковода В:

$_floppy_b = ""

• Этот параметр задает имя файла, содержащего список образов жесткого диска в /var/lib/dosemu:

$_hdimage = «hdimage.first»

При установке DOSEmu в файл /var/lib/dosemu/hdimage.first записывается образ загрузочного диска. Это файл, содержащий виртуальный образ файловой системы DOS – FAT. Альтернативой загрузки с виртуального диска может служить загрузка с виртуальной дискеты, которая создается командой

'dd if=/dev/fd0 of=floppy_image'

Если это загрузочная дискета DOS, то при установке следующего параметра

$_vbootfloppy = «floppy_image»

будет загружаться с этой виртуальной дискеты.

СОМ-порты

Нижеприведенные параметры используются DOSEmu для задания параметров СОМ-портов и устройств, которые их используют.

• Параметр определяет, какое устройство Linux соответствует порту СОМ1:

$_coml = «/dev/mouse»

• Параметр определяет, какое устройство Linux соответствует порту COM2:

$_com2 = «/dev/modem»

• Параметр определяет тип используемой мыши:

$_mouse = «microsoft»

• Параметр задает драйвер мыши:

$_mouse_dev = «/dev/mouse»

• С помощью этого параметра можно установить специальные управляющие флаги:

$_mouse_flags = ""

• Параметр задает скорость обмена информацией с мышью, 0 – не устанавливать:

$_mouse_baud = (0)

Принтеры

Принтер эмулируется передачей печатаемых данных на обычный Linux-принтер. С помощью следующих параметров указывают DOSEmu, какой из принтеров использовать.

• Параметр определяет имя Linux-принтера, который будет называться LPT1:

$^printer = «lp»

• Параметр задает задержку перед началом печати:

$_printer_timeout = (20)

Работа с сетью IPX/SPX

Следующие параметры используются для поддержки сетевого протокола IPX/SPX, при этом ядро операционной системы должно быть сконфигурировано с поддержкой протокола IPX.

• Параметр разрешает использование протокола IPX/SPX:

$_ipxsupport = (on)

• Параметр используется в том случае, если вы примените драйвер dosnet:

$_vnet = (on)

Звук

Для поддержки звуковой карты DOSEmu средствами звуковой подсистемы Linux необходимо установить следующие параметры.

• Параметр разрешает или запрещает поддержку звука:

$_sound = (off)

• Параметр определяет базовый адрес портов ввода/вывода звуковой карты:

$_sb_base = (0x220)

• Параметр определяет прерывание, используемое звуковой картой:

$_sb_irq = (5)

• Параметр определяет канал DMA, используемый звуковой картой:

$_sb_dma = (1)

• Параметр определяет используемое звуковое устройство:

$_sb_dsp = «/dev/dsp»

• Параметр определяет используемый микшер:

$_sb_mixer = «/dev/mixer»

• Параметр определяет базовый адрес MPU-401:

$_mpu_base = «0x330»

Приложения DEXE

Непосредственно исполняемые DOS-приложения DOSEmu (DEXE) – достаточно оригинальная концепция. На самом деле – это загружаемый образ диска, содержащий одно DOS-приложение. Достоинства такого типа приложений – они имеют доступ только к образу диска, и как следствие – порождают меньше проблем с безопасностью. Помимо этого – вам не надо делать инсталляцию DOS-приложения и настраивать его.

Для создания приложения формата DEXE нужно:

• пакет mtools;

• скомпилированный DOSEmu;

• zip-архив, содержащий все файлы, относящиеся к DOS-приложению;

• подготовить следующую информацию перед запуском mkdexe:

– размер раздела для образа диска;

– версию DOS, которую следует поместить на этот образ;

– содержимое файлов Config.sys и Autoexec.bat.

После этого можно приступать к созданию приложения. Для этого необходимо зайти в систему как пользователь root и выполнить следующее:

mkdexe myapp.zip -х myapp.exe -о confirm

Если все прошло нормально, то у вас появится файл myapp.exe, который можно запустить на выполнение командой

dos -L myapp.exe [dosemu-options]

либо

dosexec myapp.exe [dosemu-options]

Данный текст является ознакомительным фрагментом.



Поделитесь на страничке

Похожие главы из других книг:

Основные возможности операционных систем

Из книги автора

Основные возможности операционных систем Windows обеспечивает доступность базовых средств ОС в столь непохожих друг на друга системах, как мобильные телефоны, карманные устройства, переносные компьютеры и серверы масштаба предприятия. Возможности ОС можно


Обзор операционных систем и ядер

Из книги автора

Обзор операционных систем и ядер Из-за неуклонного роста возможностей и не очень качественного построения некоторых современных операционных систем, понятие операционной системы стало несколько неопределенным. Многие пользователи считают, что то, что они видят на


Книги по основам построения операционных систем

Из книги автора

Книги по основам построения операционных систем В этих книгах рассмотрены принципы работы операционных систем в объеме учебных курсов. В них описываются основные понятия, алгоритмы и проблемы, связанные с построением высокофункциональных операционных систем, а также


Книги о ядрах других операционных систем

Из книги автора

Книги о ядрах других операционных систем Понимать врагов, точнее не врагов, а конкурентов, — никогда не повредит. В этих книгах обсуждаются основы работы и особенности реализации операционных систем, отличных от операционной системы Linux. Смотрите, что у них хорошо, а


11.3. Установка нескольких операционных систем с помощью виртуальной машины

Из книги автора

11.3. Установка нескольких операционных систем с помощью виртуальной машины Общие сведения о виртуальных машинахДля запуска нескольких операционных систем на одном компьютере все чаще используются виртуальные машины. Виртуальная машина – это программа, которая


Глава 9 Прошлое и настоящее сетевых операционных систем

Из книги автора

Глава 9 Прошлое и настоящее сетевых операционных систем Извечной и зловещей мечтой вирусов является абсолютное мировое господство, и, как ни ужасны методы, коими они в настоящее время пользуются, им нельзя отказать в настойчивости, изобретательности и способности к


2.7.2. Установка других операционных систем после Linux

Из книги автора

2.7.2. Установка других операционных систем после Linux При инсталляции MS-DOS и Windows 95/98 ее стандартный загрузчик независимо от вашего желания записывается в Master Boot Record (MBR), а признак активности в таблице разделов ставится на раздел MS-DOS (Windows 95/98). А стандартный загрузчик MS-DOS и Windows


2.4. Установка нескольких операционных систем

Из книги автора

2.4. Установка нескольких операционных систем Прежде чем устанавливать несколько операционных систем на одном компьютере, сделайте резервное копирование важной информации, т.к. процесс установки операционной системы включает в себя переразбиение жесткого диска на


3 Контраст: сравнение философии Unix и других операционных систем

Из книги автора

3 Контраст: сравнение философии Unix и других операционных систем Если ваша проблема выглядит неприступной, найдите пользователя Unix, который покажет, как ее решить. Информационный бюллетень Дилберта (Dilbert), 3.0, 1994 —Скотт Адаме Способы создания операционных систем, как


3.2. Сравнение операционных систем

Из книги автора

3.2. Сравнение операционных систем Логика выбора конструкции Unix становится более очевидной в сравнении с другими операционными системами. Ниже приводится только общий обзор конструкций19.На рис. 3.1. отражены генетические связи между рассматриваемыми операционными


3 Контраст: сравнение философии Unix и других операционных систем

Из книги автора

3 Контраст: сравнение философии Unix и других операционных систем Если ваша проблема выглядит неприступной, найдите пользователя Unix, который покажет, как ее решить. Информационный бюллетень Дилберта (Dilbert), 3.0, 1994 —Скотт Адамс Способы создания операционных систем, как


3.2. Сравнение операционных систем

Из книги автора

3.2. Сравнение операционных систем Логика выбора конструкции Unix становится более очевидной в сравнении с другими операционными системами. Ниже приводится только общий обзор конструкций[23].На рис. 3.1. отражены генетические связи между рассматриваемыми операционными


Платформы для операционных систем

Из книги автора

Платформы для операционных систем Платформы сервера Firebird включают следующие операционные системы, но не ограничиваются только ими.* Linux, FreeBSD и другие варианты ОС UNIX.* Платформы Microsoft Windows, поддерживающие сервисы: NT 4, Windows 2000 (сервер или рабочая станция), XP Professional и Server 2003.


ГЛАВА 7 Оценка ERP-систем

Из книги автора

ГЛАВА 7 Оценка ERP-систем Уровень приложений находится на промежуточном слое системы SAP, который называется Базис-система SAP R/3. Базис-система — это слой, который позволяет делать приложения мобильными, и обеспечивает их независимость от особенностей конкретной


Исследование программных интерфейсов приложений операционных систем

Из книги автора

Исследование программных интерфейсов приложений операционных систем Операционные системы предоставляют или не предоставляют интерфейсы с уровнем сетевых соединений. Рассмотрим несколько операционных систем, для того чтобы определить, как они взаимодействуют с их


Дыроверт операционных систем

Из книги автора

Дыроверт операционных систем ОпСистема «Юних» всегда держалась провокационно на фоне войн операционных систем, подобно Русской Армии. Большинство людей знают только ее репутацию, и предположения о ее репутации, по типу как в мультфильме про Дильберта, смутны. Но все