ko20010214
版主
积分 7294
发帖 1628
注册 2002-10-16
状态 离线
|
『第
30 楼』:
简单地翻译了一下,认为没必要译或没必要了解的地方就没去翻译。
XMGR and UIDE -- DOS Device Drivers
=======================================
1. Description
-----------
简介
XMGR and UIDE are DOS device drivers. They can be used with a system
having an 80386+ CPU and running MS-DOS V5.0+ or equivalent.
它们是Dos驱动。能用在CPU为386以上的系统(注:硬件)MSDOS5.0以上的环境(注:软件系统)
XMGR is a DOS driver that works as an XMS memory manager. It supports
V3.70+ UMBPCI by Uwe Sieber. After UMBPCI enables upper-memory, XMGR
can load there directly and provide both upper and XMS memory for a DOS
system. XMGR uses an "I-O catcher" with UMBPCI, to intercept diskette
or hard disk I-O above 640K. Such I-O is done thru a low memory area,
to avoid DMA trouble in UMBPCI "Shadow RAM". XMGR also supports V4.49
and V4.95 EMM386 (MS-DOS V6.22 or V7.10). With EMM386, XMGR using its
/B switch can first "boot" into temporary space. After EMM386 enables
upper-memory, XMGR loads there with no /B switch, copies all its "boot"
data, and takes-over XMS work. Only its XMS "Handles" table stays in
low memory, so EMM386 can always find them at fixed addresses. For a
small XMS-only system, XMGR can also load entirely in low memory.
XMGR是一个DOS下的XMS内存管理器。支持V3.7以上的UMBPCI(注:也是一个内存驱动)
在UMBPCI打开了上位内存后,XMGR能直接加载到那里(注:应该指的是上位内存里)并
提供对上位内存和XMS内存的支持。XMGR在UMBPCI的支持下用一种"I-O catcher"
(IO捕抓)的技术来截取磁盘或硬盘的IO读写在640K以上。如此一来 I-O 通过一
低位内存区域就搞定,避免了DMA在UMBPCI的“Shadow RAM”里搞出问题来。。。。。。
后面讲在与EMM386(也是内存管理程式)配合,它有一个"/B"参数,能让自己先待在
一临时的地方 等EMM386打开了上位内存后再把自己复制到上位内存中去,但它的
“Handles”表(注:handels 句柄,这象是个Windows下的说法,DOs下还是译成
索引 比较好一些吧)还在低位内存,因此EMM386依然能在变更(注:Fixed,修正的,
这里译成 变更 好理解些吧)后的地址中找到它。在一个小的只有XMS内存的系统里,
它也能装载到低位内存中。
UIDE is a DOS "Universal IDE" caching driver. It intercepts "Int 13h"
BIOS I-O requests and can cache data for up to 32 BIOS units, including
standard A: and B: diskettes if present, and including newer hard disks
with over 128-GB of data. UIDE accepts 48-bit LBA and 24-bit CHS I-O
calls, thus it runs with new or old DOS systems. It has internal IDE
logic for SATA and UltraDMA hard-disks, and it handles up to 8 "Legacy"
or "Native PCI" IDE controllers. All possible SATA or UltraDMA I-O is
done through its XMS cache buffers, for faster speed. UIDE calls the
BIOS for diskettes, SCSI, and other disk models, so it caches ALL disks
for a DOS system! DOS "Int 13h" drivers can load before UIDE, and it
will intercept and cache I-O for the other drivers, as well. (Drivers
using "ASPI" or I-O schemes other than Int 13h are unsupported).
UIDE 是一个DOS下的“通用IDE”缓存驱动。它接管BIOS的“int-13h”IO请求并能为
32位BIOS单元缓存数据,包括标准的软驱(如果有软驱的话),包括更新的超过128G
大小的硬盘。它接受 48位LBA和24位CHS的IO调用,因此它能在新的或老的DOS系统下
运行。它能把SATA和UltraDMA硬盘模拟成内部IDE(这句是意译)。它能通过XMS
缓存所有可能的SATA或UltraDMA的IO读写,这样更快。UIDE能在DOS系统下缓存各种
磁盘。。。不译了。
UIDE also supports up to 4 CD/DVD drives, including SATA, UltraDMA, and
older "PIO mode" drives. After loading, it checks up to 8 "Legacy" or
"Native PCI" IDE controllers in order from primary-master to secondary-
slave, and it runs the first 4 CD/DVD drives found. UIDE accepts file
input requests from SHCDX33C or other "CD-ROM Redirector" programs like
MSCDEX, and it caches all file data and directories for improved speed!
It also supports DOS "audio" requests and will "play back" an audio CD.
Data files on one drive, and "raw mode" audio/trackwriters (not cached)
on another drive can be run by UIDE at the same time!
UIDE也支持CD/DVD驱动,包括SATA,UltraDMA 和老的“PIO Mode”驱动。后面的也
不译了。
UIDE uses XMS memory and caches from 5-MB to 1-Gigabyte of data! With
the "LZ" V7.10 MS-DOS kernel and 4DOS COMMAND.COM, UIDE loads its cache
logic and binary-search table in HMA space unneeded by DOS, and it uses
only 1.75K bytes of upper-memory for a cache up to 200-MB and only 3.5K
bytes for caches of 201 to 255-MB. For larger caches, or if HMA space
is low, UIDE loads entirely in upper-memory. It then uses 4.5K bytes,
plus 32 bytes of binary-search data for each 1-Megabyte of cache.
UIDE 用XMS内存并可缓存 5MB到1G的数据!(注:恐怖吧?)
For "boot" diskettes or other limited DOS systems, the UIDES driver can
be used in place of UIDE. UIDES omits the /L switch and loads only in
1.75K "small" form. This reduces its logic and lets UIDES be "packed"
into a 6K object file. UIDES is a "conditional assembly" of the main
UIDE source file, and it does provide all other UIDE features. Except
as noted below, all comments in this README about UIDE apply equally to
the UIDES driver as well.
The small CC.COM "Clear Cache" program can help verify files written by
UIDE. Entering CC at the DOS command-prompt sends a BIOS "reset" to
all disks, making UIDE discard its cache. Data on the disk (NOT data
still in the cache!) can then be compared with the original output.
提供一个小工具CC.com用来帮助你校验数据。
4. Switch Options
--------------
参数选项
XMGR usually needs only its /B switch if "booting" with EMM386. XMGR
switch options are as follows:
如果在和EMM386配合使用时,通常只需要/B这个参数(开关,译成参数比较好吧)
它的参数如下:
/B Specifies "boot" mode. XMGR loads in temporary memory until
upper-memory is enabled by EMM386. Without /B, XMGR will
load stand-alone in low memory or directly in upper-memory
with UMBPCI. See the CONFIG.SYS examples in section 5.
如果不加这个参数,它将加载在低位内存中或跟UMBPCI配合使用时会
直接加载到高位内存(上位内存)
/Mn Specifies the temporary area used to load XMGR in "boot" mode
and used for UMBPCI upper memory I-O before DOS can post a
"workspace" buffer. Values are:
/M1 = 64K. /M3 = 192K. /M5 = 320K. /M7 = 448K.
/M2 = 128K. /M4 = 256K. /M6 = 512K. /M8 = 512K.
Without /M, /M5 is assumed and the 320K area will be used.
NOTE: A DOS system often may NOT load at address 0 up and
may leave temporary data anywhere in memory! /Mn changes
the temporary area to find a "safe" place for XMGR to use.
/M is ignored if XMGR loads stand-alone.
/Nnn Specifies how many XMS "Handles" can be used by DOS programs.
The value nn may be 48, 80, or 128. If /N is omitted, 48
"Handles" are used and work fine for most systems. A big
system doing much XMS work may need 80 or 128 "Handles".
指定多少XMS“索引”能被DOS程序使用。忽略的话,默认为48.
/Tn Specifies the BIOS requests to use in getting extended memory
as follows:
指定在扩展内存中使用的BIOS请求。 默认是T3
/T0 Neither "E820h" nor "E801h" requests.
/T1 Memory-list requests only (Int 15h, AX=E820h).
/T2 A dual-area request only (Int 15h, AX=E801h).
/T3 "E820h" requests first, then an "E801h" request.
/T can usually be omitted, which causes /T3 to be assumed.
In addition, XMGR always uses an old 64-MB request, to get
extended memory for /T0, or if the requests specified with
/T1 through /T3 are unsuccessful. Users may need to test
/T1 and /T2 separately, to see if their BIOS accepts them.
A pre-1994 BIOS may not "ignore" /T1 thru /T3 properly and
may require /T0 to be used. For compatibility with older
QHIMEM drivers, /T4 thru /T7 may be used and work the same
as /T0 thru /T3.
/W Specifies use of the DOS "workspace" buffer, for upper-memory
I-O if loading with UMBPCI. If /W is omitted, or if the
DOS system does not have proper workspace logic, XMGR will
set its own buffer in low memory. An EDR-DOS system must
OMIT this switch! Without UMBPCI, /W will be ignored.
指定DOS的“工作区域”缓冲,如果不全UMBPCI一起使用,/W参数会不起作用
--------------------
UIDE usually needs only its /Sn size switch and /D: to specify a device
name for the SHCDX33C CD-ROM Redirector. UIDE switch options are:
通常只需要 /sn 和/d: 参数。
/A Specifies use of ALTERNATE "legacy IDE" I-O addresses. The
first legacy controller will use alternate 01E8h/03EEh and
0168h/036Eh addresses, and a second legacy controller will
use normal 01F0h/03F6h and 0170h/0376h I-O addresses. If
/A is omitted, the first legacy controller uses normal and
the second legacy controller uses alternate addresses, the
usual case with most mainboards and BIOS programs. /A is
for "odd" cases where "legacy IDE" addresses are REVERSED.
/A does not affect "native PCI" controllers.
/B Requests the "basic" stand-alone UltraDMA driver for disks or
CD/DVD drives only (no caching or diskettes), which may be
of help in running a diagnostic program.
/D: Specifies the desired device name, used by SHCDX33C to access
the CD/DVD drives. Example: /D:CDROM1 /D:MYCDROM etc.
Device names must be from 1 to 8 bytes O.K. for use in DOS
filenames. If /D: is omitted, or the device name after a
/D: is missing or invalid, UDVD1 is used as a default, for
compatibility with CONFIG.SYS files run with the old UDVD.
指定驱动器的名称,名称必须是不超过8个字符的字符串,如果忽略
此参数或丢失名称,或名称不合法,默认名称是UDVD。
/L Requests the "large" 3.5K upper-memory driver, even for cache
sizes under 200-MB. If /L is omitted, the "small" 1.75K
upper-memory driver will be used by default for HMA caches
less than 200-MB. /L saves 2K of HMA space, for a system
with limited "free HMA". /L is ignored when /R is given
or when the UIDES driver is used.
/N1 Requests NO handling of any hard-disk drives. /N1 is meant
for diagnostics or special situations, not for normal use!
/N2 Requests NO handling of any CD or DVD drives. /N2 is meant
for diagnostics or special situations, not for normal use!
/Q Enables awaiting "data request" before starting UltraDMA disk
transfers. /Q must be OMITTED with a SATA-to-IDE adapter
by Sabrent etc., as such cards do not emulate data request
from SATA disks! /Q is not needed with newer controllers
or IDE disks. It is for "old" systems and should be used
only if UIDE loads O.K. but seems unable to transfer data.
/Q does not affect CD/DVD drives.
在开始UltraDMA磁盘的传输前等待“请求数据” ,它只为了“老”系统
并只在加载正确但不能传输数据时。对CD/DVD不起作用。
/R Restricts UIDE to "regular" memory and avoids the HMA for its
binary-search table. /R may be required with DOS systems
that will NOT allocate memory until after CONFIG.SYS loads
drivers! /R is unneeded with V7.10 MS-DOS, V6.22 MS-DOS,
V7.1 PC-DOS, PTS-DOS, or EDR-DOS. /R is REQUIRED to work
with ROM-DOS! Other DOS variants should be tested first.
只在ROM-DOS下用。
/Sn Specifies a cache size in Megabytes of XMS memory as follows:
指定XMS内存中缓存的大小
/S5 5-MB cache, 1280-byte table size, 8K blocks.
/S10 10-MB cache, 2560-byte table size, 8K blocks.
/S20 20-MB cache, 2560-byte table size, 16K blocks.
/S40 40-MB cache, 2560-byte table size, 32K blocks.
/S80 80-MB cache, 2560-byte table size, 64K blocks.
. . .
. thru . . (32 bytes per MB)
. . .
/S1023 1023-MB cache, 32736-byte table size, 64K blocks.
Values for /S may be 5, 10, 20, 40, or a large-cache value
from 80 thru 1023 (1023 = 1-Gigabyte!). If /S is omitted
or invalid, an 80-MB large cache is assumed. Except for
old systems with less memory, /S127 or more should be used
with today's BIG files! Some memory must remain free for
other applications, thus with current system memory sizes,
suggested UIDE /S values are:
默认为/s80,建议值 为:
256-MB memory: /S127 1-GB memory: /S511
512-MB memory: /S255 2-GB or more: /S1023
For more about UIDE and cache sizes, see section 7 below.
/UX Disables ALL UltraDMA for CD/DVD drives, even for those which
are capable of it. The driver then uses PIO-mode for all
CD/DVD I-O requests. Except for certain "unusual" drives
by Sony, etc. which do not follow all ATAPI standards, /UX
is rarely needed and is intended for tests or diagnostics.
/UX has no effect on hard-disk requests.
--------------------
[ Last edited by ko20010214 on 2008-10-19 at 17:24 ]
|
ko20010214
=================================
大功告成,打个Kiss!
ko20010214@MSN.com
神州优雅Q300C
Intel CeleronM 370处理器 | 256MbDDR内存
40G硬盘 | USB2.0 | IEEE 1394
13.3 ' WXGA 宽屏(16:10) | COMBO光驱
10/100M网卡 | 四合一读卡器
|
|