Операционная система OS/2 Warp© Александр Фролов, Григорий ФроловТом 4, М.: Диалог-МИФИ, 1993, 271 стр. |
Так же как и в операционной системе DOS, в IBM OS/2 имеется файл config.sys , расположенный в корневом каталоге диска, из которого выполняется загрузка. Этот файл предназначен для подключения драйверов, установки параметров различных подсистем IBM OS/2 и установки переменных среды.
Для того чтобы просмотреть содержимое файла config.sys, введите из приглашения IBM OS/2 следующую команду:
type c:\config.sys | more
После скромного файла config.sys операционной системы DOS файл config.sys из IBM OS/2 может показаться вам огромным и очень сложным. Однако, как вы скоро увидите, в этом файле вполне можно разобраться.
Для чего вам может понадобиться редактировать содержимое файла config.sys?
Дело в том, что некоторые параметры, определенные в нем, сильно влияют на производительность системы. Кроме того, при добавлении новых программ и приложений приходится редактировать определения переменных среды или заводить новые переменные среды. При подключении к компьютеру новых устройств вы обычно должны подключить соответствующий драйвер, добавив строку в файл config.sys.
В операционной системе DOS файл config.sys прочитывается и интерпретируется один раз. Так как IBM OS/2 способна работать с различными файловыми системами, в процессе загрузки ей приходится сканировать файл config.sys несколько раз, подключая постепенно все указанные в нем драйверы и запуская различные подсистемы.
Редактирование файла config.sys может выполняться любым текстовым редактором, способным сохранять файл без шрифтового или другого оформления. Однако удобнее всего воспользоваться для этого редактором tedit.exe , доступным уже после загрузки первых двух дискет дистрибутива IBM OS/2 Warp.
Прежде чем вносить изменения в файл config.sys, настоятельно рекомендуем сделать его копию. Для этого вы можете, например, создать каталог с именем cfgold и скопировать в него этот файл:
c: cd \ md cfgold copy config.sys cfgold
Если при редактировании файла вы допустите ошибку, то сможете легко восстановить первоначальный вариант.
Заметим, что некоторые ошибки в файле config.sys могут привести к невозможности загрузки операционной системы IBM OS/2. В этом случае вы можете загрузить IBM OS/2 Warp с первых двух дискет дистрибутива и, нажав клавишу <F3>, выйти в командное приглашение IBM OS/2 Warp. Затем нужно восстановить файл config.sys, пользуясь созданной вами копией:
cd cfgold copy config.sys c:\config.sys
При невозможности загрузки IBM OS/2 Warp из-за ошибок в файле config.sys вы можете также воспользоваться комбинацией клавиш <Alt+F1> в самом начале загрузки, когда в левом верхнем углу экрана отображается белый прямоугольник.
В этом разделе мы приведем краткое описание редактора tedit.exe , с помощью которого вы сможете изменять содержимое файла config.sys.
Для того чтобы отредактировать файл config.sys или какой-нибудь другой текстовый файл, вы должны передать программе tedt.exe имя файла или путь к нему, например:
tedit c:\config.sys
При этом вы увидите содержимое файла config.sys (рис. 5.1).
Рис. 5.1. Редактирование файла config.sys
Если же нужно создать новый текстовый файл, следует запустить программу tedit.exe без параметров.
Запустите редактор tedit.exe из командного приглашения IBM OS/2 Warp. Если для работы вы используете оконный сеанс, увеличьте размер окна до максимальных пределов с помощью кнопки максимизации, расположенной справа на заголовке окна. После этого окно примет вид, показанный на рис. 5.2.
Рис. 5.2. Создание нового текстового файла с помощью редактора текста tedit.exe
В верхней части окна между строками "Top of File" и "End of File" вы можете вводить строки текста, которые затем можно будет сохранить в файле. В нижней части окна имеется строка для ввода команд, управляющих текстовым редактором.
Сразу под строкой команд в правой части экрана отображаются номер строки и столбца, а также режим работы - вставка (Ins) или замена (Rep) символов. Режим можно переключить при помощи клавиши <Insert>.
Если нажать клавишу <F1>, в редактор будет загружен текстовый файл tedit.hlp, в котором находится справочная информация по использованию редактора tedit.exe (рис. 5.3).
Рис. 5.3. Просмотр справочной информации по использованию редактора текста tedit.exe
На первом экране показано оглавление с номерами строк (не страниц, а именно, строк). Для того чтобы просмотреть раздел, нужно ввести номер соответствующей строки файла в строке команд редактора текста. С помощью клавиши <Esc> вы можете переходить от редактирования текста к вводу команд и обратно.
Назначение функциональных клавиш показано
ниже:
Клавиша | Назначение |
F1 | Отображение файла, содержащего справочную информацию об использовании редактора tedit.exe |
F2 | Сохранение файла |
F3 | Завершение работы с файлом |
F4 | Сохранение файла и завершение работы с ним |
F5 | Временный выход в командное приглашение IBM OS/2. Для возвращения к редактированию текста в приглашении IBM OS/2 следует ввести команду EXIT |
F6 | Не используется |
F7 | Переименование редактируемого файла |
F8 | Загрузка нового текстового файла для редактирования |
F9 | Отмена изменений, выполненных в текущей строке текста |
F10 | Переключение на следующее окно редактирования |
F11 | Переключение на предыдущее окно редактирования |
F12 | Перемещение текущей строки в верхнюю часть окна редактирования |
Теперь рассмотрим некоторые приемы использования редактора tedit.exe .
Как мы уже говорили, имя редактируемого файла можно передать программе tedit.exe в качестве параметра (можно также указывать полный или частичный путь к файлу).
Вы также можете запустить редактор tedit.exe без параметров, загрузив в него файл при помощи клавиши <F8>. При этом в строке для ввода команд появляется команда "EDIT ", после которой необходимо дописать имя файла или путь к файлу, нажав затем клавишу <Enter>.
Текстовый редактор tedit.exe может работать одновременно с несколькими текстовыми файлами. В частности, если запустить его без параметров и затем загрузить для редактирования файл при помощи клавиши <F8>, одновременно будут редактироваться два текста - новый и только что загруженный.
При помощи клавиши <F10> вы можете переключиться на следующее окно редактирования, а при помощи клавиши <F11> - вернуться к предыдущему.
Если вы загрузили для редактирования существующий файл, указав его имя как параметр tedit.exe , для сохранения текущих изменений в файле достаточно нажать клавишу <F2>.
В том случае, когда редактор tedit.exe был запущен без параметров для создания нового файла, для сохранения изменений следует указать имя или путь к файлу. Это можно сделать, если с помощью клавиши <Esc> переключиться на ввод команд для текстового редактора и ввести следующую команду:
save Имя_Файла
В дальнейшем файл можно сохранять при помощи клавиши <F2>.
Перед завершением редактирования необходимо сохранить изменения в файле (если они есть). Соответствующая процедура была только что описана.
Для завершения редактирования нажмите клавишу <F3>. Если в файле есть не сохраненные изменения, в нижней части окна редактора появится запрос на игнорирование изменений:
Throw away changes? (Y/N)
Ответ "Y" приведет к тому, что при завершении работы редактора tedit.exe внесенные в файл изменения не будут сохранены. Если же ответить "N", редактирование файла будет продолжено.
Есть еще один способ завершения работы редактора tedit.exe с автоматическим сохранением изменений - при помощи клавиши <F4>. Если вам нужно сохранить новый файл и затем завершить редактор, введите следующую команду:
file Имя_Файла
Для того чтобы удалить, скопировать или переместить строки текста, их нужно выделить.
Выделение строк выполняется с помощью комбинации клавиш <Control+L>. Установите курсор на первую строку выделяемого фрагмента текста и нажмите <Control+L>. Затем переместите курсор в конец фрагмента текста и нажмите эту комбинацию клавиш еще раз.
Для выполнения операций с выделенным
фрагментом текста вы можете использовать
следующие комбинации клавиш:
Комбинация клавиш | Выполняемые действия над выделенным фрагментом текста |
<Alt+C> | Копирование |
<Alt+D> | Стирание |
<Alt+M> | Перемещение |
Для добавления новой строки нажмите комбинацию <Control+Enter>.
Чтобы удалить ненужную строку, надо установить на нее курсор и нажать комбинацию клавиш <Control> и клавиши забоя.
Более удобен в использовании, но не всегда доступен редактор текста OS/2 System Editor , пиктограмма которого расположена в папке Productivity. Эту папку вы сможете найти в папке OS/2 System.
Приложение OS/2 System Editor находится в файле os2/e.exe. Вы можете запустить этот редактор из командного приглашения IBM OS/2 Warp, указав в качестве параметра имя редактируемого файла или путь к нему, например:
e c:\config.sys
Внешний вид приложения OS/2 System Editor напоминает внешний вид приложения Notepad из операционной системы Microsoft Windows (рис. 5.4). Приемы работы с этими редакторами также аналогичны, поэтому мы не будем на них подробно останавливаться.
Рис. 5.4. Использование редактора текста OS/2 System Editor для внесения изменений в файл config.sys
С помощью строки "New" меню "File" можно создать новый файл. Для сохранения файла в первый раз воспользуйтесь строкой "Save as...". Вам будет предложено ввести имя файла.
При сохранении файла ему можно присвоить тип, который будет храниться в расширенных атрибутах. Файл можно сохранить как текст без шрифтового и стилевого оформления (Plain Text), как пакетный файл IBM OS/2 (OS/2 Command File) или как пакетный файл DOS (DOS Command File). Для файла config.sys можно выбрать тип PlainText.
Если вы собираетесь отредактировать существующий файл, откройте его с помощью строки "Open..." меню "File".
Меню "Edit" (рис. 5.5) предоставляет такие возможности, как отмена редактирования (строка "Undo"), удаление выделенного фрагмента текста с копированием в универсальный буфер обмена Clipboard (строка "Cut") или без такого копирования (строка "Clear"), копирование выделенного фрагмента текста в Clipboard (строка "Copy") и вставка текста из буфера Clipboard в позицию курсора (строка "Paste").
С помощью строки "Find..." вы можете организовать поиск в файле заданной текстовой строки, а с помощью строки "Select all" - выделить весь текст.
Рис. 5.5. Меню "Edit" приложения OS/2 System Editor
Меню "Options" (рис. 5.6) позволяет вам задать шрифт, цвет букв и фона, которые будут использованы для отображения текста. Вы можете также включить или выключить свертку строк, выбрав, соответственно, строки "On" или "Off" в меню второго уровня "Word wrap".
Рис. 5.6. Меню "Options" приложения OS/2 System Editor
Так же, как и в операционной системе DOS, в IBM OS/2 драйверы подключаются в файле конфигурации config.sys. Однако в отличие от DOS файл конфигурации может содержать две команды подключения драйверов - BASEDEV и DEVICE . Первая из них подключает базовые драйверы, без которых работа IBM OS/2 Warp невозможна, вторая - все остальные.
В процессе инициализации IBM OS/2 вначале подключаются базовые драйверы, описанные командами BASEDEV . Эти драйверы абсолютно необходимы для нормальной работы операционной системы. Все прочие драйверы подключаются с помощью команды DEVICE .
Синтаксис команды BASEDEV несложен:
BASEDEV=Имя_Драйвера [Параметры]
Обратите внимание, что команде BASEDEV указывается имя файла, содержащего драйвер, а не путь к нему. Базовые драйверы загружаются либо из корневого каталога диска, на котором расположена операционная система IBM OS/2, либо из каталога os2/boot.
Ниже приведен фрагмент файла config.sys, в котором подключаются базовые драйверы:
BASEDEV=PRINT01.SYS BASEDEV=IBM1FLPY.ADD BASEDEV=IBM2FLPY.ADD BASEDEV=IBM1S506.ADD BASEDEV=XDFLOPPY.FLT BASEDEV=OS2DASD.DMD BASEDEV=IBMKBD.SYS BASEDEV=LMS206.ADD BASEDEV=OS2SCSI.DMD BASEDEV=AHA154X.ADD
Порядок загрузки базовых драйверов не зависит напрямую от расположения соответствующих строк в файле config.sys, а определяется расширением имени программного файла драйвера:
SYS, BID, VSD, TSD, ADD, I13, FLT, DMD
В соответствии с этим списком первыми загружаются базовые драйверы с расширением имени SYS, затем - BID, и т. д.
Базовый драйвер не может иметь какое-либо другое расширение имени, кроме расширений, перечисленных выше. В противном случае он не будет загружен.
Рассмотрим кратко назначение и особенности перечисленных выше и некоторых других базовых драйверов.
Драйвер параллельного адаптера для архитектур ISA , EISA и PCI (для компьютеров с архитектурой Micro Channel устанавливается драйвер PRINT02.SYS ). К этому адаптеру обычно подключается принтер.
Интересным фактом является то, что драйвер PRINT01.SYS сразу после установки работает без использования прерываний, выполняя опрос бита готовности параллельного адаптера. Это позволяет исключить возможный конфликт со звуковыми адаптерами, часто использующими прерывание IRQ 7.
Однако метод опроса не является самым эффективным. При большом объеме печати производительность системы может сильно снизиться.
Положение можно исправить, указав драйверу параметр /IRQ:
BASEDEV=PRINT01.SYS /IRQ
После исправления файла config.sys не забудьте перезагрузить операционную систему. Следует также убедиться, что прерывание IRQ 7 не используется другими адаптерами, например, сетевыми.
Драйвер IBM1FLPY.ADD обслуживает контроллер накопителя на гибких магнитных дисках. В процессе загрузки он автоматически определяет все необходимые параметры, такие как адрес используемого им порта ввода/вывода, номер прерывания, канала прямого доступа, максимальная емкость дискет и т. д. Тем не менее, вы можете указать эти параметры в файле config.sys.
Так как настройка параметров драйвера НГМД вам едва ли потребуется, для экономии места в книге мы не будем их описывать. Всю необходимую информацию вы можете получить из гипертекстовой справочной системы Command Reference.
Этот драйвер нужен только для компьютеров с архитектурой Micro Channel . Если у вас компьютер с шиной ISA , EISA или PCI , можете отключить этот драйвер, поставив в начале соответствующей строки символ комментария:
REM BASEDEV=IBM2FLPY.ADD
Драйвер XDFLOPPY.FLT предназначен для работы с дискетами, имеющими формат увеличенной плотности eXtended Density Format (XDF ). Такие дискеты имеют емкость 1,8 Мбайт.
Драйвер XDFLOPPY.FLT необходим для работы команды XDFCOPY , с помощью которой можно копировать образы дискет дистрибутива IBM OS/2 Warp в файлы и обратно. Эта команда была описана в главе, посвященной установке IBM OS/2 Warp.
Этот драйвер используется в большинстве случаев, так как он обслуживает жесткие диски в стандартах MFM , RLL , ESDI , а также в наиболее популярном сейчас стандарте IDE .
Так же как и драйвер контроллера НГМД, драйвер IBM1S506.ADD определяет параметры контроллера диска автоматически, хотя можно задать параметры в файле config.sys. Описание параметров вы сможете найти в гипертекстовой справочной системе Command Reference.
Наш компьютер был оборудован контроллером Adaptec SCSI модель 1540, поэтому программа установки подключила драйвер AHA154X.ADD . В зависимости от модели может быть установлен другой драйвер, например, AHA164X.ADD, AHA7870.ADD и т. п.
Если у вас установлен контроллер SCSI , изготовленный другой фирмой, для него может быть загружен другой драйвер. Например, для многих моделей контроллеров Future Domain SCSI загружается драйвер FD16-700.ADD.
Если программа установки не "опознала" контроллер диска, не подобрав для него подходящий драйвер, она устанавливает драйвер IBMINT13.I13 .
Этот драйвер обеспечивает работу IBM OS/2 Warp через BIOS . Конечно, такой способ работы с диском не может не сказаться на производительности системы в целом, однако это все же лучше, чем ничего...
Драйвер IBMKBD.SYS обслуживает клавиатуру, обеспечивая передачу скан-кодов нажимаемых клавиш и обработку аппаратного прерывания клавиатуры.
В нашем компьютере было установлено устройство чтения компакт-дисков Philips LMS-206, поэтому программа установки подключила драйвер LMS206.ADD . Если у вас имеется устройство чтения компакт-дисков другого типа, то на этапе установки IBM OS/2 Warp в файле config.sys будет подключен другой драйвер.
Драйвер OS2DASD.DMD обеспечивает транспортный уровень для всех устройств прямого доступа (таких, как диски). Он нужен всегда, поэтому устанавливается в любом случае.
Драйвер OS2SCSI.DMD обеспечивает транспортный уровень для контроллеров SCSI , предоставляя в распоряжение программ аппаратно-независимый интерфейс для работы с контроллером SCSI.
Этот драйвер предназначен для совместной работы с драйверами контроллера Adaptec SCSI , обеспечивая программный интерфейс ASPI. Этот аппаратно-независимый интерфейс используется некоторыми программами, например, для работы со стримером.
В этом разделе мы приведем список базовых
драйверов контроллеров SCSI , которые входят в
состав дистрибутива IBM OS/2 Warp версии 3.0. Приобретая
контроллер SCSI, убедитесь при помощи этого списка
что в составе IBM OS/2 Warp имеется для него
соответствующий драйвер.
Изготовитель | Драйвер | Модель контроллера SCSI |
Adaptec | AHA152X.ADD | AHA-1510/1522, AIC-6350/6360 |
- // - | AHA154X.ADD | AHA-1540/1542 |
- // - | AHA164X.ADD | Модели, рассчитанные на архитектуру Micro Channel |
- // - | AHA174X.ADD | AHA-1740/1744 |
- // - | AIC1770.ADD | AHA-2840VL/2842VL, 2740/2742,AIC-7770 |
- // - | AIC7870.ADD | AHA-2940, AIC-7870 |
BusLogic | BTSCSI.ADD | BT-445S, 542B, 542S, 640A, 646S, 742A, 747S, 946 |
DPT | DPT20XX.ADD | DPT SCSI Adapter |
IBM | IBM2ADSK.ADD | IBM 16-bit Micro Channel SCSI Adapter |
- // - | IBM2SCSI.ADD | IBM 32-bit Micro Channel SCSI Adapter |
- // - | DELIVERY.SYS | IBM SCSI -2 FAST/WIDE Adapter |
Future Domain | FD8XX.ADD | Future Domain 8-bit SCSI Adapter |
- // - | FD16-700.ADD | Future Domain 16-bit SCSI Adapter, Future Domain 16-bit SCSI Adapter для шины PCI ,Future Domain 16-bit ISA FAST SCSI Adapter |
- // - | FD7000EX.ADD | TMC-7000EX EISA SCSI Adapter |
Устройство чтения компакт-дисков становится неотъемлемым устройством любого современного компьютера. Поэтому в составе IBM OS/2 Warp имеются драйверы для многих типов устройств чтения компакт-дисков.
Приведем сокращенный список драйверов и
моделей устройств, для которых эти драйверы
предназначены.
Изготовитель устройства | Драйвер | Модель контроллера SCSI |
- | IBMIDECD.FLT | Драйвер для устройств чтения компакт-дисков, подключаемых через интерфейс IDE . Например, Sony CDU55E, Philips LMSCM207, Mitsumi FX001DE |
Mitsumi | MITFX001.ADD | CRMC-FX001, FX001D, LU002S, LU005S |
Sony | SONY31A.ADD | CDU -31A, 33A, 7305 |
- // - | SONY535.ADD | CDU-531, 6201, 6205, 535, 6205, 7205 |
Philips | LMS205.ADD | CM205, 225 |
- // - | LMS206.ADD | CM205MS, CM225CM, CM206, CM226 |
Panasonic | SBCD2.ADD | Creative Labs OmniCD, 521, 522, 523, 562, 563, IBM ISA CD-ROM |
Все остальные драйверы загружаются при помощи команды DEVICE , аналогичной одноименной команде операционной системы DOS. Этой команде обычно указывают полный путь к программному файлу драйвера, после которого можно перечислить дополнительные параметры, которые используются драйвером в процессе инициализации.
Вот фрагмент файла config.sys, в котором выполняется загрузка драйверов командой DEVICE:
DEVICE=C:\OS2\BOOT\TESTCFG.SYS DEVICE=C:\OS2\BOOT\DOS.SYS DEVICE=C:\OS2\BOOT\PMDD.SYS DEVICE=C:\OS2\MDOS\VEMM.SYS DEVICE=C:\OS2\MDOS\VXMS.SYS /UMB DEVICE=C:\OS2\MDOS\VDPMI.SYS DEVICE=C:\OS2\MDOS\VDPX.SYS DEVICE=C:\OS2\MDOS\VWIN.SYS DEVICE=C:\OS2\MDOS\VW32S.SYS DEVICE=C:\OS2\BOOT\OS2CDROM.DMD /Q DEVICE=C:\OS2\MDOS\VCDROM.SYS DEVICE=C:\OS2\MDOS\VMOUSE.SYS DEVICE=C:\OS2\BOOT\POINTDD.SYS DEVICE=C:\OS2\BOOT\MOUSE.SYS DEVICE=C:\OS2\BOOT\COM.SYS DEVICE=C:\OS2\MDOS\VCOM.SYS DEVICE=C:\MMOS2\SSMDD.SYS DEVICE=C:\MMOS2\R0STUB.SYS DEVICE=C:\OS2\MDOS\VVGA.SYS
Драйверы, подключаемые с помощью команды DEVICE, загружаются в том порядке , в котором они перечислены в файле config.sys (в отличие от базовых драйверов, загружаемых командой BASEDEV).
Перечислим и кратко опишем некоторые драйверы, которые входят в дистрибутив операционной системы IBM OS/2 Warp и загружаются командой DEVICE.
Этот драйвер добавляет расширенную поддержку клавиатуры и консоли в сеансы DOS. По своему назначению полностью соответствует драйверу ANSI.SYS из операционной системы DOS.
Драйвер COM.SYS обслуживает асинхронный последовательный адаптер. Он необходим для системных и прикладных программ, работающих с таким адаптером.
Если в системе используется другой драйвер, работающий с асинхронным последовательным адаптером (например, драйвер мыши), он должен быть загружен до драйвера COM.SYS .
Драйвер EGA .SYS нужен для работы с регистрами видеоадаптера EGA в сеансах DOS. Как известно, содержимое многих регистров видеоадаптера EGA не доступно для чтения, что очень неудобно в многозадачной среде. Для исправления этого недостатка драйвер EGA.SYS запоминает содержимое регистров видеоадаптера EGA.
Драйвер протоколирования системных ошибок LOG.SYS используется совместно с программой LOGDAEM.EXE , которая должна загружаться с помощью команды RUN из файла config.sys (описание команды RUN будет приведено ниже).
Как нетрудно догадаться, драйвер MOUSE.SYS предназначен для обслуживания мыши. Перед этим драйвером обычно загружается драйвер POINTDD.SYS , а после него - драйвер VMOUSE.SYS. последний обеспечивает работу мыши в полноэкранных сеансах DOS или IBM OS/2, а также в сеансах Win-OS/2.
Драйвер POINTDD.SYS используется для работы с мышью в текстовых сеансах IBM OS/2. Он загружается до драйвера MOUSE.SYS .
Драйвер OS2CDROM.SYS нужен для работы с устройством чтения компакт-дисков.
Драйвер PMDD.SYS нужен для рисования курсора мыши в сеансах IBM OS/2. Без этого драйвера операционная система IBM OS/2 не запустится.
Этот драйвер обеспечивает работу с сенсорными устройствами ввода (например, с устройством перьевого ввода).
Драйвер виртуального электронного диска. С помощью этого драйвера вы можете организовать быстродействующий электронный диск в оперативной памяти. Однако более эффективный метод увеличения производительности файловой системы - организация кэширования.
Драйверу VDISK.SYS можно указывать параметры, определяющие размер диска ("Р_Диска"), размер сектора в байтах ("Р_Сект") и максимальное количество файлов в корневом каталоге ("Кол_Файлов"):
DEVICE=VDISK.SYS [Р_Диска|,] [Р_Сект|,] [Кол_Файлов|,]
Например, для создания электронного диска размером 512 Кбайт можно использовать следующую строку:
DEVICE=VDISK.SYS 512,,
Вместо отсутствующих значений нужно поставить запятую.
Драйвер интерфейса ASPI, который используется программами DOS для доступа к устройствам, подключенным к контроллеру SCSI (таких как, например, стример) .
Драйвер VEMM.SYS обеспечивает эмуляцию дополнительной памяти (Expanded Memory) в спецификации EMS для сеансов DOS. Размер созданной таким образом дополнительной памяти в Кбайтах указывается в качестве параметра:
DEVICE=VEMM.SYS 1024
По умолчанию объем эмулированной дополнительной памяти равен 2048 Кбайт.
Драйвер VXMS.SYS обеспечивает эмуляцию расширенной памяти (Extended Memory) в спецификации XMS для сеансов DOS:
DEVICE=VXMS.SYS /UMB
Если указан параметр /UMB , драйвер VXMS.SYS дополнительно создает блоки старшей памяти UMB (Upper Memory Blocks), которые могут быть использованы, например, для загрузки драйверов и резидентных программ в сеансах DOS.
Наибольшее влияние на производительность файловой системы IBM OS/2 оказывает кэширование дисковой памяти. При этом очень важно выбрать правильный размер буфера кэширования - его нельзя делать очень большим, так как при этом уменьшается объем физической памяти, доступной программам.
Кроме того, обычно требуют настройки такие параметры сеансов DOS, как максимальное количество открытых файлов, количество буферов и (реже) количество блоков FCB .
Напомним, что IBM OS/2 Warp способна работать одновременно с файловыми системами FAT и HPFS . Параметры кэширования для этих файловых систем задаются различным образом.
Если вы работаете одновременно с двумя различными файловыми системами, необходимо определить параметры кэширования для каждой из них, выделив для каждого кэша оптимальный размер памяти.
Для установки файловых систем, таких как HPFS и CDFS в файле config.sys указывается команда IFS :
IFS =Путь_к_файлу_драйвера [Параметры]
Для работы с файловой системой HPFS используется команда вида:
IFS =C:\OS2\HPFS .IFS /CACHE :512 /CRECL:4 /AUTOCHECK:D
Назначение параметров драйвера HPFS .IFS приведено
ниже:
Параметр | Назначение |
/CACHE :xxx | С помощью параметра /CACHE определяется размер области памяти в Кбайтах, которую IBM OS/2 отводит для кэширования дисков с файловой системой HPFS . Этот параметр необязательный. Если он не указан, для кэширования отводится одна десятая часть физической оперативной памяти |
/CRECL:x | Минимальный размер записи, которая будет кэшироваться (указывается в Кбайтах). По умолчанию равен 4 Кбайт. Вы можете увеличить размер записи до 64 Кбайт |
/AUTOCHECK:x | С помощью этого параметра можно указать,
какие диски HPFS нужно проверять на логическую
целостность при загрузке IBM OS/2. В качестве "x"
вы можете указывать несколько дисков, отметив
некоторые из них символом "+":
|
/F:x | Параметр /F определяет уровень проверки для команды CHKDSK (см. описание этой команды, приведенное в предыдущей главе). По умолчанию используется уровень 2 |
Как мы уже говорили, размер кэша не должен быть слишком большим. Так как ядро операционной системы IBM OS/2 Warp занимает примерно 7 Мбайт, не следует использовать кэш размером больше 1 - 1,5 Мбайт, даже если в системе установлено 16 Мбайт оперативной памяти. В противном случае при загрузке громоздких приложений начнется свопинг памяти, что резко затормозит работу системы. Лучше всего определить размер кэш-памяти экспериментально для конкретной конфигурации программных средств.
Если в компьютере установлено 16 Мбайт памяти, рекомендуется также увеличить размер записи до 64 Кбайт, изменив соответствующим образом параметр /CRECL.
С помощью команды CACHE можно управлять параметрами работы файловой системы HPFS . Соответствующая программа может быть загружена через команду RUN в файле config.sys или из приглашения IBM OS/2.
Команда CACHE имеет четыре необязательных
параметра, перечисленных ниже:
Параметр | Описание |
/LASY:state | С помощью параметра /LASY можно включить или отключить режим отложенной записи. Если указан параметр /LASY:OFF, режим отложенной записи будет выключен, если /LASY:ON - включен |
/MAXAGE:time | Параметр /MAXAGE задает время в миллисекундах, по истечению которого часто сохраняемые на диске данные будут переписаны в кэш-память. По умолчанию это время равно 5000 мс |
/DISKIDLE:time | Параметр /DISKIDLE задает время в миллисекундах, в течение которого диск должен оставаться в неактивном состоянии, чтобы стало возможным осуществить запись данных из кэша на диск. По умолчанию это время равно 1000 мс |
/BUFFERIDLE:time | Параметр /BUFFERIDLE задает время в миллисекундах, в течение которого буфер кэша должен оставаться в неактивном состоянии, чтобы стало возможным осуществить запись данных из кэша на диск. По умолчанию это время равно 500 мс |
Параметры кэширования дисков, на которых расположена файловая система FAT , определяется командой DISKCACHE :
DISKCACHE =n[,LW][,t][,AC:x]
Здесь n определяет размер области памяти в Кбайтах, выделяемой для кэша. Вы можете указывать значение от 48 до 14400 Кбайт или символ "D". В последнем случае размер кэша определяется автоматически исходя из размера оперативной памяти, установленной в компьютере.
Если указан параметр LW, включается режим отложенной записи измененных данных на диск . При этом все изменения записываются на диск не сразу, а только когда система свободна от выполнения других операций. Режим отложенной записи увеличивает общую производительность системы, однако в случае внезапного отключения электропитания возможно разрушение содержимого некоторых файлов. Для большей надежности мы рекомендуем вам использовать источник бесперебойного питания UPS . При этом, если возникнут проблемы с электропитанием, вы успеете закрыть все файлы и корректно завершить работу операционной системы IBM OS/2 Warp.
При помощи параметра t вы можете указать пороговое значение для количества секторов диска, располагаемых в кэше. Это значение определяет минимальный размер блока, который подлежит кэшированию.
Допустимые значения для параметра t - от 4 до 128, причем по умолчанию используется значение 4.
Наконец, при помощи параметра AC задается список устройств, подлежащих проверке на целостность файловой системы при инициализации IBM OS/2 Warp. Эта проверка выполняется при ненормальном завершении работы IBM OS/2 Warp, например, при внезапном отключении электропитания.
Например, в команде DISKCACHE , которая была установлена по умолчанию, такая проверка выполняется только для диска C:
DISKCACHE =D,LW,AC:C
Если перед обозначением диска поставить символ "+", диск будет проверяться всякий раз, даже если работа операционной системы была завершена правильно:
DISKCACHE =1024,32,LW,AC:C+D
В этом примере диск D: проверяется даже в том случае, если файловая система была закрыта нормально.
Файловая система CDFS используется для доступа к данным, расположенным на компакт-дисках. Подключение этой файловой системы выполняется при помощи команды IFS в файле config.sys:
IFS =C:\OS2\BOOT\CDFS .IFS /Q
В этой команде вы можете указать параметры инициализации, с помощью которых можно, в частности, указать параметры кэширования. Кэширование устройства чтения компакт-диска может повысить скорость работы программ с этим пока еще достаточно медленным устройством.
Перечислим и кратко опишем параметры
инициализации файловой системы CDFS :
Параметр | Описание |
/P:n | Последовательный асинхронный порт, используемый при отладке. Значение n, равное 1, ответствует порту COM1, равное 2 - COM2 |
/K | Использование дополнительного дескриптора тома KANJI (нужно для работы с японским языком) |
/C:n | Количество сегментов памяти, размером 64 Кбайт, которые будут использованы для кэширования устройства чтения компакт-диска. По умолчанию используется 2 сегмента |
/M:n | Количество секторов файла, которые считываются с компакт-диска за одну операцию чтения. По умолчанию считывается сразу 8 секторов |
/Q | Этот параметр отключает вывод на экран инициализирующих сообщений |
В файле config.sys определяются три параметра, которые используются при работе с файловой системой. Это известные вам из DOS параметры FILES , BUFFERS и FCBS :
FILES =20 BUFFERS =90 FCBS =16,8
Эти параметры, указанные в файле config.sys, используются по умолчанию для всех сеансов DOS. Однако средствами оболочки Workplace Shell вы можете выполнить индивидуальную настройку для каждой программы DOS или для системы Win-OS/2 (которая работает в виртуальной машине DOS).
Если вы работаете с приложениями Microsoft Windows, мы рекомендуем сразу увеличить значение параметра FILES до 255, так как в противном случае вы будете получать странные сообщения о том, что на диске нет свободного пространства или он защищен от записи. Особенно неприятно, когда такое сообщение появляется при попытке сохранить документ, например, из текстового процессора Microsoft Word for Windows, запущенного в среде Win-OS/2 .
Параметр BUFFERS задает количество буферов ввода/вывода. Эти буферы используются как сеансами DOS, так и сеансами IBM OS/2. Выбирая количество буферов, учитывайте, что кэширование эффективнее простой буферизации.
Параметр FCBS нужен только для сеансов DOS и только для тех программ, которые работают с файлами с использованием управляющих блоков FCB (File Control Block). Современные программы DOS не создают блоков FCB, так как выполняют операции с файлами при помощи идентификаторов файлов (file handle).
Файл autoexec.bat операционной системы DOS, как правило, содержит команды SET , с помощью которых устанавливаются значения переменных среды. Это строчные переменные, доступные операционной системе и программам во время их выполнения.
Операционная система IBM OS/2 также использует переменные среды, однако значения этих переменных устанавливаются командами SET , расположенными в файле config.sys. В этом разделе мы опишем наиболее важные переменные, которые вам, возможно, придется настраивать для своей конфигурации программных средств.
Переменная среды PATH предназначена для указания списка каталогов для поиска запускаемых программ. В операционной системе DOS также определяется переменная среды с этим именем и с такой же целью.
Вот пример определения переменной среды PATH , которое появляется в файле config.sys сразу после установки IBM OS/2 Warp со средствами мультимедиа:
SET PATH =C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2; C:\OS2\INSTALL;C:\;C:\OS2\MDOS;C:\OS2\APPS;C:\MMOS2;
В этом примере нам пришлось сделать перенос строки из-за ее большой длины. На самом деле определение переменной PATH занимает в файле config.sys только одну строку.
При необходимости вы можете добавить к этому списку пути к другим каталогам, разделив их символом точка с запятой.
Дополнительно к переменной PATH для поиска компонент программ и приложений в операционной системе IBM OS/2 используются еще две переменная среды с именем DPATH и команда LIBPATH .
Команда LIBPATH используется для поиска библиотек динамической компоновки (DLL-библиотек). Вот пример определения списка каталогов для поиска DLL-библиотек:
LIBPATH =.;C:\OS2\DLL;C:\OS2\MDOS;C:\;C:\OS2\APPS\DLL; C:\MMOS2\DLL;
Заметьте, что LIBPATH не является переменной среды и поэтому она не может быть установлена командой SET .
С помощью переменной среды DPATH можно определить список каталогов, в которых выполняется поиск файлов данных, если они не найдены в текущем каталоге:
SET DPATH =C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2; C:\OS2\INSTALL;C:\;C:\OS2\BITMAP;C:\OS2\MDOS; C:\OS2\APPS;C:\MMOS2;C:\MMOS2\INSTALL;
При установке некоторых программных продуктов требуется вносить изменения в определения переменных PATH , DPATH и в параметры команды LIBPATH . Хорошая программа установки вносит такие изменения автоматически, но иногда приходится выполнять редактирование файла config.sys вручную.
Изменив файл config.sys, не забудьте перезапустить операционную систему, так как в противном случае эти изменения не будут действовать.
Для того чтобы включить возможность восстановления случайно удаленных файлов с помощью команды UNDELETE , описанной в предыдущей главе, вы должны отыскать в файле config.sys определение переменной среды DELDIR и убрать символ комментария REM:
REM SET DELDIR =C:\DELETE,512;D:\DELETE,512;
Переменная среды DELDIR задает пути к каталогам, в которые будут автоматически записываться удаляемые файлы, а также максимальных размер файлов в этих каталогах.
Напомним, что сразу после установки IBM OS/2 Warp возможность восстановления случайно удаленных файлов отключена для повышения производительности системы.
Переменная среды OS2_SHELL определяет расположение программного файла командного процессора:
SET OS2_SHELL =C:\OS2\CMD.EXE
Этот процессор выполняет команды, которые пользователь вводит в системном приглашении, такие как DIR или COPY .
Изменяя определение переменной OS2_SHELL , вы можете подключить свой нестандартный командный процессор, который будет запущен сразу после загрузки IBM OS/2 вместо стандартного cmd.exe .
Дополнительно в файле config.sys определяется переменная COMSPEC , которая также указывает на файл командного процессора:
SET COMSPEC =C:\OS2\CMD.EXE
Эта переменная используется для поиска файла командного процессора.
Переменная PROMPT определяет внешний вид приглашения, которое выводится в окне текстового сеанса IBM OS/2:
SET PROMPT =$i[$p]
Переменная среды KEYS позволяет включать или отключать возможность выборки ранее введенных команд IBM OS/2. Для включения такой возможности используйте следующий вариант установки переменной KEYS:
SET KEYS =ON
При этом вы можете редактировать введенную команду в системном приглашении IBM OS/2, а также повторить ввод команд, которые были введены ранее. Вы можете вызывать такие команды при помощи клавиш перемещения курсора вверх и вниз.
Файл config.sys содержит определения многочисленных переменных среды, нужных для оболочки Workplace Shell.
Переменные среды USER_INI и SYSTEM_INI , всегда определенные в файле config.sys, указывают пути доступа, соответственно, к файлами os2.ini и os2sys.ini :
SET USER_INI=C:\OS2\OS2.INI SET SYSTEM_INI=C:\OS2\OS2SYS.INI
Файл os2.ini используется оболочкой Workplace Shell для хранения параметров программ и других объектов. В файле os2sys.ini хранится аналогичная информация для системных объектов, таких как принтеры и шрифты.
Переменная AUTOSTART определяет компоненты оболочки Workplace Shell, которые будут активизированы сразу после загрузки операционной системы IBM OS/2 Warp:
SET AUTOSTART =PROGRAMS,TASKLIST,FOLDERS, CONNECTIONS,LAUNCHPAD
Если вы точно не знаете, для чего вам это нужно, не следует изменять переменную среды AUTOSTART - это может привести к неприятным последствиям.
Например, если удалить компоненту FOLDERS, после
перезапуска системы вы не увидите ни одной папки
(исчезнет также и рабочий стол). Перечислим
компоненты Workplace Shell, указанные в определении
переменной среды AUTOSTART :
Компонента | Назначение |
PROGRAMS | Запуск программ из папок и с поверхности рабочего стола. Если эта компонента не активизирована, будут запущены программы только из папки Startup. Таким образом, удалив эту компоненту, вы запретите запуск всех программ, кроме тех что запускаются автоматически при загрузке системы. Это может быть удобно для серверов, работающих в автоматическом режиме, а также для рабочих станций, предназначенных для решения какой-нибудь одной задачи |
TASKLIST | Отображение списка окон Window List |
FOLDERS | Отображение папок и рабочего стола (который, строго говоря, тоже является папкой) |
CONNECTIONS | Обеспечение возможности работы в сети компьютеров |
LAUNCHPAD | Панель ускоренного выбора объектов LaunchPad |
Переменная среды RUNWORKPLACE определяет путь к программному файлу, выполняющему роль оболочки Workplace Shell:
SET RUNWORKPLACE =C:\OS2\PMSHELL.EXE
При необходимости можно заменить оболочку Workplace Shell на собственную, отредактировав определение этой переменной.
Переменные среды HELP , GLOSSARY и BOOKSHELF описывают пути доступа к файлам гипертекстовых справочных систем IBM OS/2 Warp:
SET HELP =C:\OS2\HELP;C:\OS2\HELP\TUTORIAL; C:\MMOS2\HELP ; SET GLOSSARY =C:\OS2\HELP \GLOSS; SET BOOKSHELF =C:\OS2\BOOK;C:\MMOS2;
Переменные HELP и GLOSSARY описывают каталоги, содержащие hlp-файлы, а переменная BOOKSHELF - каталоги, содержащие inf-файлы.
При установке новых программ, имеющих собственные справочные системы, вы должны дополнить списки каталогов определенные с помощью этих переменных, либо перенести hlp- и inf-файлы в каталоги os2\help, os2\help\glos и os2\book.
Теперь займемся командами, предназначенные для настройки системы управления памятью.
Команда MEMMAN предназначена для управления процессом свопинга. Свопинг позволяет выгружать на диск (в специальный файл свопинга) временно ненужные сегменты памяти для освобождения свободного пространства и загружать сегменты с диска в оперативную память, если они потребуются вновь.
Свопинг позволяет создать иллюзию памяти очень большого размера, однако быстродействие такой памяти весьма невысокое.
Синтаксис команды MEMMAN приведен ниже:
MEMMAN =Параметры
Вы можете указывать через запятую следующие
параметры:
Параметр | Описание |
SWAP | Включение механизма свопинга |
NOSWAP | Отключение свопинга. Если свопинг отключен, для работы IBM OS/2 Warp в компьютере должно быть установлено не менее 8 Мбайт оперативной памяти |
MOVE | Этот параметр добавлен для совместимости с IBM OS/2 версии 1.3. В IBM OS/2 Warp версии 3.0 он не используется |
NOMOVE | Аналогично предыдущему |
COMMIT | Система создает на диске файл для свопинга. Размер этого файла должен быть достаточно большим для работы всех приложений. Если памяти будет слишком мало, программа получит от системы соответствующий код ошибки |
PROTECT | Этот параметр нужен некоторым приложениям для использования защищенной памяти и динамической передачи данных |
Вот пример параметров команды MEMMAN сразу после установки IBM OS/2 Warp версии 3.0:
MEMMAN =SWAP,PROTECT
Для свопинга операционная система создает файл с именем swapper.dat , размещая его сразу после установки в каталоге os2/system.
Путь к этому файлу, его начальный размер и другие параметры указываются в команде SWAPPATH , имеющей после установки IBM OS/2 Warp следующий вид:
SWAPPATH =C:\OS2\SYSTEM 2048 2048
Первое число после пути к каталогу определяет минимально допустимое свободное пространство на диске. Когда в процессе работы файл свопинга растет, если размер свободного пространства становится меньше минимального, на экран выводится сообщение о недостатке памяти. Вы можете указать значение в пределах от 512 до 32767 Кбайт.
Второе число определяет минимальный размер файла свопинга. Когда IBM OS/2 Warp загружается, на диске должно быть свободное пространство достаточного размера, чтобы там можно было разместить файл свопинга.
Для увеличения производительности системы свопинга лучше всего разместить файл свопинга на отдельном диске или на том диске, который чаще всего используется. Имеет смысл также переместить файл свопинга в корневой каталог диска и увеличить его начальный размер, например, так:
SWAPPATH =C:\ 10240 10240
По умолчанию для сеансов DOS доступно 640 Кбайт памяти в пределах первого Мбайта выделенного им адресного пространства. При необходимости вы можете уменьшить объем памяти, доступной сеансам DOS, указав новое значение в команде RMSIZE :
RMSIZE =540
Это позволит более эффективно расходовать виртуальную память, которая нужна программам IBM OS/2. Особенно это полезно в тех случаях, когда для работы программ DOS не нужно много памяти.
По умолчанию сразу после установки IBM OS/2 Warp версии 3.0 для сеансов DOS недоступна верхняя память из-за параметров команды DOS:
DOS=LOW,NOUMB
Если сеансы DOS работают с резидентными программами и драйверами, вы можете расположить их (а также ядро DOS) в верхней области памяти, указав в команде DOS новые параметры:
DOS=HIGH,UMB
В этом разделе мы рассмотрим три команды, с помощью которых можно управлять планировщиком задач IBM OS/2, ответственным за мультизадачность. Это команды THREADS , MAXWAIT и PRIORITY_DISK_IO .
Команда THREADS задает максимальное количество подзадач (thread ), которые могут выполняться в IBM OS/2 одновременно.
Сразу после установки это количество равно 256:
THREADS =256
Если вы используете компьютер для решения сложных задач (например, для разработки программного обеспечения), имеет смысл увеличить количество одновременно выполняющихся задач до максимально возможного (до 4095).
Если в файле config.sys нет команды THREADS , операционная система IBM OS/2 Warp может запустить одновременно только 64 задачи.
С помощью команды PRIORITY_DISK_IO вы можете управлять распределением приоритета доступа к устройствам ввода/вывода между фоновыми и основными задачами.
Сразу после установки IBM OS/2 Warp команда PRIORITY_DISK_IO имеет параметр YES:
PRIORITY_DISK_IO =YES
При этом приложение, которое работает в основном режиме, имеет более высокий приоритет ввода/вывода по сравнению с фоновыми приложениями.
Если же в этой команде указан параметр NO, все приложения будут иметь одинаковый приоритет ввода/вывода. Такой режим удобен для файл-серверов: программы обслуживания и управления сервером, работающие в основном режиме, не должны иметь более высокий приоритет, чем задачи, реализующие коллективный доступ рабочих станций к ресурсам сервера. Поэтому для сервера укажите команду PRIORITY_DISK_IO следующим образом:
PRIORITY_DISK_IO =NO
При помощи команды MAXWAIT вы можете определить время ожидания для подзадач перед повышением их приоритета. Это время задается в секундах:
MAXWAIT =3
Когда планировщик обнаруживает задачу, которая находится в состоянии ожидания больше времени, чем указано в команде MAXWAIT , он временно повышает ее приоритет. Вы можете сократить это время, например, до 2 секунд.
Расскажем кратко о назначении других команд, которые встречаются в файле config.sys.
Команда PROTSHELL задает интерфейсную оболочку, которая загружается вместо обычного командного процессора cmd.exe . Сразу после установки в качестве такой оболочки выступает Workplace Shell:
PROTSHELL =C:\OS2\PMSHELL.EXE
Вы можете заменить интерфейсную оболочку, отредактировав параметр этой команды.
Команда SHELL предназначена для указания оболочки сеанса DOS. В качестве такой оболочки по умолчанию используется командный процессор command.com:
SHELL =C:\OS2\MDOS\COMMAND.COM C:\OS2\MDOS
В первой главе мы рассказывали вам о кольцах защиты. Мы говорили, что обычная программа, работающая в среде IBM OS/2, не имеет прямого доступа к системной памяти, системным регистрам процессора и портам ввода/вывода.
Однако некоторым несистемным программам все же требуется доступ к портам компьютера, например, к портам нестандартного устройства. Такая программа должна располагаться во втором кольце защиты, что указывается при ее редактировании.
С помощью команды IOPL вы можете разрешать или запрещать доступ к регистрам аппаратуры со стороны программ, работающих во втором кольце защиты. По умолчанию работа таких программ разрешена:
IOPL =YES
Однако вы можете запретить доступ несистемных программ к регистрам, указав команде IOPL параметр NO:
IOPL =NO
Такой запрет повышает стабильность работы IBM OS/2.
Если команде PROTECTONLY указан параметр YES, сеансы IBM OS/2 получат доступ к области памяти ниже границы 640 Кбайт. При этом в среде IBM OS/2 станет невозможно запускать программы DOS.
По умолчанию команда PROTECTONLY имеет параметр NO:
PROTECTONLY =NO
Команда BREAK позволяет разрешить или запретить прерывание работы программ DOS с помощью комбинации клавиш <Control+Break>. По умолчанию такое прерывание запрещено:
BREAK =OFF
Для того чтобы его разрешить, укажите команде BREAK параметр YES:
BREAK =ON
Команда PRINTMONBUFSIZE позволяет установить размер буфера печати, который используется драйвером параллельного адаптера:
PRINTMONBUFSIZE =134,134,134
Эта команда имеет три параметра, определяющих размеры буферов, соответственно для портов LPT1:, LPT2: и LPT3:.
По умолчанию установлен минимальный размер буфера - 134 байта. Вы можете увеличить этот размер до 2048 байт для порта LPT1: (если именно к этому порту подключен принтер), например:
PRINTMONBUFSIZE =2048,134,134
Команды COUNTRY , CODEPAGE и DEVINFO предназначены для указания таких параметров, как код страны, номер кодовой таблицы, для определения раскладки клавиатуры и файла шрифтов:
COUNTRY =001,C:\OS2\SYSTEM\COUNTRY.SYS CODEPAGE =437,850 DEVINFO =KBD,US,C:\OS2\KEYBOARD.DCP DEVINFO =SCR,VGA,C:\OS2\BOOT\VIOTBL.DCP