⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 windowstesting.txt

📁 Linux磁盘测试的源代码,测试磁盘的读写性能
💻 TXT
字号:
						January 13th, 2001
Hi All,
	I want to write this stuff down, while it's fresh in my mind,
(it may get moldy soon :-), which may help during your script port.

	Jeremy, I'm sure I've missed some things, so feel free to
update this and redistribute (as necessary).

	I know this is lengthy, but please save it and read prior to
starting your Windows port, as it may save you lots of time :-)

	Here's a few things to keep in mind on Windows/NT/2000:

     -	A sub-set of Cygnus tools will be packaged with our Windows
	test kit.  Currently, these tools are stored in dpg/cygnus,
	and for transparent access your PATH variable needs to include
	this directory.

	As mentioned in previous e-mail, to expedite this Windows port,
	I think we should utilize these Unix tools.  All necessary tools
	exist, except those for creating and mounting file systems.

	Rose, for tapes 'mt' exists and 'tar' also supports tapes.

	Jeremy, perhaps part of our installation should update the system
	PATH variable to include the location of our tools and Cygnus?

     -	Cygnus raw access to physical devices has been implemented via
	mounting devices with a fake /dev prefix.  Once mounted, this
	mount points are stored in the registry so they are retained
	between boots.  Disk devices can be mounted with any name,
	but tapes must follow this format:

	meda# mount -f -b '\\.\tape0' /dev/rmt0
	meda# mount -f -b '\\.\tape0' /dev/nrmt0
	meda# mount
	Device              Directory           Type         Flags
	\\.\tape0           /dev/rmt0           user         binmode
	\\.\tape0           /dev/nrmt0          user         binmode
	meda#

	Disk devices should be mounted using the actual drive name:

	meda# mount -f -b //./PhysicalDrive3 /dev/PhysicalDrive3

	Please Note:  These mount points will be handled transparently
	by MakeDeviceName{}.  Jeremy is doing this work (some is done).

	Also Note: The Cygnus 'df' reports errors on mounted devices
	which don't have a valid file system (exits with code of 1).

	Special Note on Windows Device Prefix:  The normal Windows hidden
	device prefix is \\.\ as shown above.  Cygnus permits using forward
	slashes //./ for ease of use.  Otherwise in a Unix shell, you must
	quote or double up the backslashes, for example '\\.\tape0' or
	\\\\.\\tape0 (yuck!)

	Scu, which is a native mode program, has also been updated to accept
	the Unix /dev/ prefix.  This way a consistent device name can be used
	with both Dt and Scu.

	Native Windows programs require the native device prefix (of course).

     -	POSIX AIO Support:  This is not supported by the Cygnus API's.

     -	Tape Testing:  I'm happy to report with the latest Dt updates, all
	tape testing has been succesful to date.  This includes multi-file
	tests which exercise Write File Mark and Forward Space File Mark.

	Please Note:  Unlike Unix systems, the appropriate tape driver
	must be installed from the Control Panel -> "Tape Devices" ICON.
	Windows uses a separate device driver for each tape device!!!

     -	Disk Testing:  Dt has run successfully on physical disks, through
	the file system and with multiple processes.  Dt expects physical
	disk names to be called PhysicalDriveN.  Otherwise "dtype=disk" is
	necessary to tell Dt the device type you are testing.

	The Cygnus Unix API's only support a signed 32-bit file offset,
	which limits random I/O seeks to 2Gbytes.  However, sequential
	I/O does write/read the entire media, so internally the API's
	do maintain the real 64-bit Windows file offset.

	How does this affect us?

	o  Random I/O to limited to 2Gbytes (Dt handles this).
	o  If an I/O error occurs, the file offset and relative block
	   reported by Dt will be inaccurate past the 2GByte offset.

     -	Scu and Disks:  The Windows Scu assumes if a drive letter is
	assigned to a disk, that the disk is mounted.  This assumption
	is not always correct, so Scu needs updated to determine if a
	valid partition and file system exists.  For now, you can use
	"set bypass on" to avoid this mounted file system check.  But
	obviously use care, or Scu will overwrite mounted file systems.
	Please Note:  Dt does not do *any* mounted file system checks!

     -	Scu and Compaq SCSI Adapters:  Jeremy found duirng his testing,
	that some Compaq adapters report an Initiator of 255.  This
	created a problem for Scu, since this ID is used to differentiate
	between IDE (ATAPI) and SCSI adapters.

	Workaround:  When Scu is started up, a "set ide on" command is
	issued which enables use of ATAPI devices.  Please note, the
	ATAPI command set is not 100% compatable with SCSI, so some
	Scu commands will not work (in fact, some SCSI commands crash
	my NT SP5 system!).

     -	Windows Tcl Woes:  As mentioned in previous e-mail, the TclX
	wait{} command is *not* returning expected exit status.  This
	problem still needs to be resolved.  You'll know you've had an
	error, but you cannot examine the real exit code.  The latter
	code is necessary for detecting dt's EOF status (for example).

	Our common procedures execute commands by openning a pipe to
	the command line.  This approach was implemented so non-blocking
	I/O could be utilized to read the output.  The Tcl construct for
	merging the stderr output with the stdout stream is broken on
	Windows.  To overcome this deficiency, a pipeline to the Cygnus
	shell is used and the shell construct "2>&1" is appended to merge
	the data streams.

	The Windows TclX does not support all the Unix signals we are
	catching, so your script needs updated as follows:

	if { $tcl_platform(platform) == "windows" } {
	    signal trap {SIGINT} {TerminateTesting %S}
	} else {
	    signal trap {SIGHUP SIGINT SIGQUIT} {TerminateTesting %S}
	}

	Please Note:  TclPro *must* be installed to obtain the TclX
	extension.  Installing TclPro will be part of Jeremy's
	installation process.

	Ok, end of brain dump... that's all I can remember right now!

Cheers,
Robin

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -