OS/2 Warp Version 3
OS/2 Warp Connect
OS/2 Warp with WIN-OS/2
RING 0, RING 1, RING 2, and RING 3.
Ring 3 is reserved for normal applications. From Ring 3 the operating
Ring 2 is reserved for I/O program (IOPL-Input/Output Privilege Level)
Ring 1 is reserved by the kernel and is not used.
Ring 0 is the most protected area. It is used from the operating system
2.
LIBPATH=/SET=
3.
CODEPAGE=/COUNTRY=/DEVINFO=
4.
IFS=/DEVICE=
5.
SWAPPATH=
6.
VDM Support:
BREAK=
DEVICE=
DEVICEHIGH=
FCBS=
FILES=
LASTDRIVE=
PROTECTONLY=
RMSIZE=
SHELL=
7.
CALL=/RUN=
8.
PROTSHELL=
9.
Others
1.
.SYS
2.
.BID
3.
.VSD
4.
.TSD
5.
.ADD
6.
.I13
7.
.FLT
8.
.DMD
The
extensions .BID, .VSD and .TSD are used to support Microsoft's LADDR layered
device driver model, which is now rarely used in OS/2.
2).
LIBPATH=/SET=
The
LIBPATH= statement is read next. LIBPATH is not an environment variable
like the PATH and DPATH statements. It cannot be displayed or modified
from an OS/2 command prompt like PATH and DPATH can.
If
changes are made to CONFIG.SYS, the system must be rebooted to read and
load the new LIBPATH statement. When any application searches for dynamic
link libraries, it looks in the LIBPATH directory structure first
If
you add a "." to the beginning of the LIBPATH= statement you force OS/2
to search the current directory for DLLs first. The "." represents or points
to the address of the current directory. Any time a system application
or user program makes a call for a dynamic link library, during the boot
sequence or normal operation, this causes the Current directory to be searched.
After
all LIBPATH= statements are read OS/2 reads all the SET statements in the
order that they appear and initializes environment variables for each SET
command.
3).
CODEPAGE=/COUNTRY=/DEVINFO=
The
National Language Support for screen and keyboard are read next.
4).
IFS=/DEVICE=
Installable
File Systems (IFS) are read and loaded next including High Performance
File System (HPFS), CD- ROM File System (CDFS), and High Performance Optical
File System (HPOFS) if required and installed. Storage devices requiring
any installable file system cannot be accessed. if the appropriate IFS
support is not successfully loaded.
5).
SWAPPATH=
The
SWAPPATH statement points to the location of the SWAPPER.DAT file. It is
only read at boot time and if changed, the system must be rebooted.
6).
VDM
Support:
If
DOS support is installed, OS/2 initializes parameters that are specific
to the Virtual DOS Machine from the CONFIG.SYS file. These statements cannot
be removed from CONFIG.SYS but they can be set to minimal values. Refer
to the Command Reference in the Information folder for specific details
on minimum, maximum, and default values when appropriate.
BREAK=
DEVICE=
DEVICEHIGH=
FCBS=
FILES=
LASTDRIVE=
PROTECTONLY=
RMSIZE=
SHELL=
7).
CALL=
The
CALL= statement is used to start a program before the Workplace Shell
is initialized and loads the Desktop. Programs launched using the CALL=
statements in CONFIG.SYS are run synchronously. This means
That
the first program called must complete before the next CALL= statement
is executed. This method allows control to be exercised during the startup
sequence prior to initializing the Workplace Shell.
For
instance, if you want to be able to execute a command before the Workplace
Shell is initialized, you could put the statement, CALL=C:\OS2\CMD.EXE in
the CONFIG.SYS file.
When
this CALL statement is executed an OS/2 Command Prompt window will be opened.
You can now enter any command you wish. Click on EXIT to close the
window and allow the boot process to continue.
After
the Workplace Shell initializes and the Desktop is built, certain files
are in a locked for protection from other processes. Any attempt to modify
or reconfigure one of these files will fail. The CALL= statement allows
access to these files before they are locked by OS/2.
8).
RUN=
The
RUN= statement is similar to the DETACH command in that it starts a detached
process in OS/2. A detached process runs in the background with no access
from standard input or to standard output (keyboard or
Screen).
All input must be piped in from another source and all output similarly
must be piped or redirected to a file or storage device. There are two
important aspects of the RUN= statement to be aware of:
-The
RUN= statement executes the program before the Workplace Shell is initialized.
All that is running at this time in the boot sequence is the base operating
system. If your program requires the Workplace Shell or Presentation Manager.
Services the program will fail to start or possibly cause other errors
on the system.
-Programs
started with the RUN= statement in CONFIG.SYS are executed asynchronously.
This means that each RUN= statement is started in the order that it appears
in CONFIG.SYS and all programs started with a RUN= statement execute simultaneously.
You can control the order of initial execution, but you cannot control
which program will run faster or complete processing first. If control
is important, use the CALL command.
9).
PROTSHELL=
PROTSHELL=
tells OS/2 what Presentation Manager program to use as the Protected Mode
Shell. By default OS/2 installs and uses PMSHELL.EXE. PMSHELL.EXE is the
first program started after the base operating system is loaded. This is
the only Protected Mode Shell program provided with OS/2 Warp, though there
might be others from
Private
sources.
The
Protected Mode Shell program is responsible for initializing the Presentation
Manager. Environment. This initialization process uses some undocumented
features in OS/2 Warp, making it difficult to write a new Presentation
Manager.
Other
CONFIG.SYS Statements All other CONFIG.SYS statements that do not fit into
one of the above groups are not sequence sensitive and are initialized
sometime during the OS/2 boot process.
I)
Physical device drivers
II)
Virtual device drivers
III)
Presentation drivers
1)
Block Device Driver
2)
Character Device Driver
1)
Block Device Driver
1)
Critical device drivers
2)
Base device drivers
3)
Installable device drivers
1)
Critical device drivers
The
system is stopped. Correct the preceding error and rest system.
CLOCK01.SYS System
clock device driver for ISA bus personal computers.
CLOCK02.SYS System
clock device driver for MCA bus personal computers.
SCREEN01.SYS System
standard output device driver for ISA bus computers.
SCREEN02.SYS System
standard output device driver for Micro Channel bus computers.
KBDBASE.SYS This
is the base OS/2 keyboard device driver. It receives
and
processes scan code from IBMKBD.SYS, the hardware specific device driver
for the particular keyboard attached to the system unit. KBDBASE.SYS instructs
IBMKBD.SYS if there are any updates to the keyboard information.
2)
Base device drivers
IBMKBD.SYS Device
support for the keyboard.
IBM1FLPY.ADD Device
support for diskette drives on non-Micro Channel workstations.
IBM2FLPY.ADD Device
support for diskette drives on Micro Channel workstations.
XDFLOPPY.FLT Device
support for XDF diskettes.
OS2DASD.DMD General-purpose
device support for hard disk drives.
IBMINT13.I13 General-purpose
device support for hard disk controllers.
IBM1S506.ADD Device
support for non-SCSI disk drives on non-Micro Channelworkstations.
IBM2ADSK.ADD Device
support for non-SCSI disk drives on Micro Channel Workstations.
IBM2SCSI.ADD Device
support for Micro Channel SCSI adapters.
DELIVERY.SYS IBM
32-bit Fast & Wide Microchannel adapters. (IBM2SCSI.ADD must be installed
and initialized.)
OS2SCSI.DMD General-purpose
device support for non-disk SCSI devices.
OS2ASPI.DMD Device
manager for devices using Adaptec's AdvancedSCSI
Programming Interface (ASPI).
AHA152x.ADD Adaptec
ISA SCSI adapters and system board controllers.
AHA154x.ADD Adaptec
ISA SCSI adapters.
AHA164x.ADD Adaptec
MCA SCSI adapters.
AHA174x.ADD Adaptec
EISA SCSI adapters.
AIC7770.ADD Adaptec
2800 ISA and 2700 EISA SCSI adapters and AIC-7770 system board controller.
AIC-7870.ADD Adaptec
PCI SCSI adapter and 7870 system board controller.
FD8xx.ADD Future
Domain 8-bit SCSI adapters.
FD16-700.ADD Future
Domain 16-bit, PCI SCSI, and ISA Fast SCSI adapters.
FD7000EX.ADD Future
Domain TMC-7000EX EISA SCSI controllers.
BTSCSI.ADD Bus
Logic ISA-VL, ISA, MCA, EISA, and PCI SCSI adapter support.
DPT20xx.ADD Distributed
Processing Technology (DPT) SCSI adapters.
PRINT01.SYS Device
support for locally attached printers on non-Micro Channel workstations.
Use the /IRQ parameter to use interrupt driven printing, rather than the
default polling method. Polling can use a significant amount of a CPU doing
nothing if the printer is slow.
PRINT02.SYS Device
support for locally attached printers on Micro Channel workstations.
SBCD2.ADD IBM
ISA CD-ROM, Creative Labs Omni CD-ROM, and Panasonic 521/2/3, and 562/3.
IBMIDECD.FLT IBM
filter device driver for Enhanced IDE CD-ROM drives.
MITFX001.ADD Mitsumi
CRMC-FX001/001D and LU0025/55 CD-ROM drives.
SONY31A.ADD Sony
CDU-31A/33A and 7305 CD-ROM drives.
SONY535.ADD Sony
CDU-531/6201/6205/535/6205 and 7205 CD-ROM drives.
LMS205.ADD Philips
LMS CM205/225 CD-ROM drives.
LMS206.ADD Philips
LMS CM205MS/255MS and CM206/226 CD-ROM drives.
PCMCIA.SYS Card
services support for PCMCIA devices.
IBM2xxxx.SYS Socket
services support for PCMCIA devices.
IBM2AMB1.SYS
- Ambra
IBM2AST1.SYS
- AST
IBM2CMQ1.SYS
- Compaq
IBM2CAD1.SYS
- CompuAdd
IBM2MAT1.SYS
- Panasonic
IBM2NEC1.SYS
- NEC
IBM2NCR1.SYS
- NCR
IBM2TOS1.SYS
- Toshiba
IBM2ZEN1.SYS
- Zenith 2 Lite
IBM2ZOS1.SYS
- ZEOS
IBM2SSO1.SYS
- ThinkPad 750 (ISA bus)
IBM2SSO2.SYS
- ThinkPad 720 (Micro Channel bus)
AUTODRV2.SYS PCMCIA
modem driver.
PCM2ATA.ADD PCMCIA
Advanced Technology Attach (ATA)/Flash support.
ICMEMMTD.SYS PCMCIA
Flash RAM Drive support.
ICMEMCDD.SYS PCMCIA
Static RAM Drive support.
CSSCSI.SYS IBM
PCMCIA SCSI card support.
DETNE2.SYS Detects
NE2000 Ethernet LAN cards and blocks address to prevent conflicts (for
example, Mitsumi CD-ROM).
3)
Installable device driver
RESOURCE.SYS Scans
allocated resources in the system to determine conflicts with I/O port
allocation, IRQ levels, BIOS memory allocation, DMA channels, Timer channels,
and device drivers.
COM.SYS Serial
device support. Permits programs to use serial ports. The IRQ and I/O port
address are configurable via this device driver.
RESERVE.SYS Used
to reserve specific system resources for device drivers that are not Resource
Manager aware. Works in conjunction with RESOURCE.SYS.
PMDD.SYS OS/2
Presentation Manager device driver. It is not required if you only run
OS/2 full screen sessions. It also provides pointer draw support for OS/2
PM sessions.
VDISK.SYS To
create a virtual disk drive in RAM memory. The default size is 16 KB. Virtual
disks provide extremely fast access to programs and data, but consume RAM
memory that cannot be used by applications.
EXTDSKDD.SYS Assigns
a drive letter to a diskette drive.
LOG.SYS Activates
the Systen-Error Logging Service device driver. The /OFF parameter pauses
the System-Error LoggingService
at initialization. When paused, no error-logging occurs. LOG.SYS is used
in conjunction with the RUN=LOGDAEM.EXE statement in CONFIG.SYS.
POINTDD.SYS Provides
mouse pointer draw support.
DOS.SYS Support
for Virtual DOS Machines (VDM's) in OS/2 Warp. If you don't run DOS applications
you can remove this device driver.
MOUSE.SYS Support
for pointing devices.
TESTCFG.SYS Tests
the system configuration, for example, queries adapters, during initial
installation and subsequent installs; that is, Selective Install or Device
Driver Install. Can be removed if not performing install functions, but
not recommended.
IBMKBD.SYS Hardware
specific portion of the keyboard device driver. It supports the following
keyboards: IBM 101/102 Enhanced keyboards, IBM 3279 130 Enhanced keyboard.
II)
Virtual Device Drivers
VAPM.SYS This
driver is used to support Advanced Power Management under DOS. If your
system does not have APM, then you don't need this driver and it can be
removed
from CONFIG.SYS.
VCDROM.SYS This
driver provides DOS CD-ROM support. If you do not use DOS programs that
require CD-ROM support, you can remove this driver from CONFIG.SYS.
VCOM.SYS This
driver provides DOS COM support. If you do not use DOS programs that require
access to COM ports, you can remove this driver from CONFIG.SYS.
VDPMI.SYS This
driver, along with VDPX.SYS, provides DOS Protected Mode Interface memory
support. If you do not use DOS programs that require DPMI you can remove
this driver from CONFIG.SYS. Note that this driver is required for Windows.
VDPX.SYS This
driver, along with VDPMI.SYS, provides DOS Protected Mode Interface memory
support. If you do not use DOS programs that require DPMI, you can remove
this
driver from CONFIG.SYS. Note that this driver is required for Windows.
VEMM.SYS This
driver provides support for the DOS virtual expanded memory manager. If
you do not use DOS programs that require expended memory you can remove
this driver from CONFIG.SYS.
VMOUSE.SYS This
driver provides mouse support in the DOS and WIN-OS/2 environment. If you
do not use DOS or WIN-OS/2 programs that require mouse support, you can
remove this driver from CONFIG.SYS.
VSVGA.SYS This
driver provides DOS SVGA support. If you do not use
DOS
or WIN-OS/2 programs, you can remove this driver from CONFIG.SYS.
VPCMCIA.SYS This
driver provides DOS PCMCIA support. If you do not
use
DOS programs that require PCMCIA, you can remove this driver from CONFIG.SYS.
VVGA.SYS This
driver provides DOS VGA support. If you do not use DOS or WIN-OS/2 programs
you can remove this driver from CONFIG.SYS.
VWIN.SYS This
driver provides WIN-OS/2 support. If you do not use WIN-OS/2 programs you
can remove this driver from CONFIG.SYS. The VWIN.SYS driver also requires
the VDPX.SYS, VDPMI.SYS, and VXMS.SYS to be loaded.
VW32S.SYS This
driver provides support for the Win32s APIs under WIN-OS/2. If you do not
use WIN-OS/2, or Windows programs that use Win32s, then you can remove
this
Driver
from CONFIG.SYS.
VXGA.SYS This
driver provides DOS XGA support. If you do not use DOS or WIN-OS/2 programs,
you can remove this driver from CONFIG.SYS.
VXMS.SYS
/UMB This driver
provides support for the DOS virtual extended memory manager. If you do
not use DOS programs that require extended memory, you can remove this
driver from CONFIG.SYS.
III)
Presentation Drivers
1.
DosOpen()
2.
DosClose()
3.
DosRead()
4.
DosWrite()
5.
DosDevIOCtl()
The
advantage in using the standard file API functions also for character DD's
is, that redirection is possible for these devices too. The character DD's
name is used as the filename for these functions.
1)
INIT Mode
2)
Kernel Mode (context mode)
3)
Interrupt Mode (and timer mode)
1) INIT Mode:
This
mode is exclusively used at OS/2 boot time (driver load). The code in this
mode runs at ring 3 privilege level. In this mode, the driver has access
to some "standard" OS/2 API's and has I/O privilege! This mode is only
used once and therefore the code in this mode only runs at boot time. The
driver developer should not spend too much time to make this code fast...
2) Kernel Mode (context mode):
If
one of the above 5 API functions are used, the kernel calls the driver
and routes the function request with the parameters to the driver. This
is the typical operation of the driver. The driver will run in the context
of the application which made the function call. The code, which implements
this mode, is called the strategy routine. This code should be fast...
- spend more time
3) Interrupt Mode (and timer mode):
In
this mode, the driver is called via an interrupt. The driver will NOT run
in a specific context! This code should be fast, and very fast if it is
a timer interrupt.
|
|
|
A
|
far
pointer to next device header
|
4
|
B
|
Device
attribute
|
2
|
C
|
16
bit offset to strategy routine
|
2
|
D
|
16
bit offset to inter-device-driver-communication(IDC)
routine
|
2
|
E
|
Driver
name (character DD) / number of units (blockDD)
|
8
|
F
|
Reserved
|
8
|
G
|
Capabilities
bit strip
|
8
|
CHR
(bit 15)
Set,
if the physical device driver operates in character mode. Bit 15 is the
device type bit. Use bit 15 to tell the system if the device driver is
a block or character device. For block device drivers, bit 15 is 0. For
character device drivers, bit 15 is 1.
IDC
(bit 14)
Set,
if the physical device driver participates in inter-device-driver communication
(IDC). Bit 14 is the IDC bit and indicates that the offset to the IDC entry
point in the physical device driver header is set.
IBM
(R) (bit 13)
Set,
if non-IBM block format (block device drivers only). For block device drivers,
bit 13 indicates the method which the physical device driver uses to determine
the media type. If a block device driver uses information in the BIOS Parameter
Block (BPB) to determine the media type, bit 13 should be set to 1. If
the physical device driver uses the media descriptor byte to determine
the media type, bit 13 must be 0.
SHR
(bit 12)
Set,
if the device driver supports shared-device access-checking (character
devices). Bit 12 is the shared bit. It is set if the device name is not
to be protected by the sharer. Bit 12 has no meaning for block device drivers
and must be 0. If clear (default), file system sharing rules do not apply
to the device, and the physical device driver provides contention control.
If set, file system sharing rules apply to the device, just as these rules
apply to any other file system name. In addition, any given physical device
can have only one logical name. (Devices cannot have aliases.)
OPN
(bit 11)
Set,
if the device driver supports removable media (block devices) or device
open/close (character devices). For block device drivers, bit 11 is the
removable media bit. If set, this bit indicates that the physical device
driver handles removable media. For character device drivers, bit 11 is
the open/close bit. If set, this bit indicates that the physical device
driver must receive OPEN and CLOSE request packets.
bit
10
Reserved=0.
bits
9-7
bits
9-7 indicate the physical device driver function level, where:
|
|
|
|
0
|
0
|
1
|
OS/2
driver (default) [Level 1 driver]
|
0
|
1
|
0
|
Supports
DosDevIOCtl2 and shutdown requests [Level 2 driver]
|
0
|
1
|
1
|
Uses
a capabilities strip bit in the header [Level 3 driver]
|
bit
6-4
Reserved=0.
CLK
(bit 3)
Set,
if CLOCK device. Bit 3 is the clock device bit. It is used by a character
device driver to indicate the system clock device.
NUL
(bit 2)
Set,
if NULL device. Bit 2 is the NULL attribute bit. It is used by character
devices only. Bit 2 is used to tell the OS/2 operating system if the character
device driver is a NULL device. Although there is a NULL device attribute
bit, the NULL device cannot be reassigned.
SCR
(bit 1)
Set,
if standard output device (STDOUT). For character devices, bits 1 and 0
are the standard input or standard output bits. These bits are used to
tell the OS/2 operating system if the character device driver is the new
standard input or standard output device.
KBD
(bit 0)
Set,
if standard input device (STDIN). See above.
E) driver name (character DD) / number of units (block DD)
For
character DD's, the name needs to be in uppercase, left oriented and filled
up with blanks until the length is 8 bytes. The device name takes precedence
over file names! To avoid conflicts, sometimes a driver's name uses special
symbols, like a $ sign. Block DD's fill in the number of supported units.
bit
0
Set
to 1, if DosDevIOCtl2 request packets are supported, and if shutdown support
is provided.
bit
1
For
block device drivers, this bit is reserved and must be set to 0. Block
device drivers indicate their ability to support higher than 16 MB. For
character device drivers, this bit is set to 1 (if memory addressing above
16 MB is supported).
bit
2
Set
to 1, if the physical device driver supports parallel ports.
bit
3
Indicates
that the physical device driver is participating in the adapter device
driver (ADD) strategy, which selects an alternate INIT request packet format
from the kernel.
bit
4
If
set to 1, the Initialization Complete Command (1Fh) is supported.
bits
5-31
Reserved.
Must be set to 0.
DosCaseMap
(Perform case mapping)
DosChgFilePtr
(Change (move) file read/write pointer)
DosClose
(Close file handle)
DosDelete
(Delete file)
DosDevConfig
(Get device configuration)
DosDevIOCtl
(I/O control for devices)
DosFindClose
(Close find handle)
DosFindFirst
(Find first matching file)
DosFindNext
(Find next matching file)
DosGetEnv
(Get address of process environment string)
DosGetInfoSeg
(Get address of system variables segment)
DosGetMessage
(Get system message with variable text)
DosOpen
(Open file)
DosPutMessage
(Output message text to indicated handle)
DosQCurDir
(Query current directory)
DosQCurDisk
(Query current disk)
DosQFileInfo
(Query file information)
DosQFileMode
(Query file mode)
DosRead
(Read from file)
DosSMRegisterDD
(Register session switch notification)
DosWrite
(Synchronous write to file)
2.
Character Queue Management
3.
PDD-VDD Communication Services
4.
Context Hook Services
5.Interrupt
Management
6.
Memory Management
7.
Monitor Management
8.
Process Management
9.
Request Queue Management
10.
Semaphore Management
11.
System Clock Management
12.
System Services
13.
Timer Services
The following request packet commands have been documented so far:
|
|
Block DD |
Character DD |
|
INIT
|
|
|
|
MEDIA
CHECK
|
|
|
|
BUILD
BPB
|
|
|
|
READ
|
|
|
|
NONDESTRUCTIVE
READ NO WAIT
|
|
|
|
INPUT
STATUS
|
|
|
|
INPUT
FLUSH
|
|
|
|
WRITE
|
|
|
|
WRITE
WITH VERIFY
|
|
|
|
OUTPUT
STATUS
|
|
|
|
OUTPUT
FLUSH
|
|
|
|
OPEN
DEVICE
|
|
|
|
CLOSE
DEVICE
|
|
|
|
REMOVABLE
MEDIA
|
|
|
|
GENERIC
IOCtl
|
|
|
|
RESET
MEDIA
|
|
|
|
GET
LOGICAL DRIVE MAP
|
|
|
|
SET
LOGICAL DRIVE MAP
|
|
|
|
DEINSTALL
|
|
|
|
PARTITIONABLE
HARD DISKS
|
|
|
|
GET
HARD DISK/LOGICAL UNIT MAP
|
|
|
|
SHUTDOWN
|
|
|
|
GET
DRIVER CAPABILITIES
|
|
|
|
INITIALIZATION
COMPLETE
|
|
|