OMOUNT.HLP--OMOUNT Version 26--NOVEMBER 1974

	
	GENERAL
	-------
	
		OMOUNT is run by the Operator as an OPSER subjob in order
		to service requests generated by UMOUNT (FILE, MOUNT,
		and DISMOUNT user commands) and/or perform services
		explicitly commanded by the Operator.  More than one OMOUNT
		may be run in parallel and each OMOUNT may be commanded
		(START & STOP Opr. commands) to service all requests, some
		requests (FILE or MOUNT-DISMOUNT), or no requests (Opr. commands
		only).  Note that serious problems can develop if more
		that one OMOUNT is running and enabled for FILE commands
		at a time.  When this happens, a user can issue several
		FILE commands for the same DECtape and the different
		OMOUNTs might process them out of order that the user
		typed them.
		  Operator commands may be typed any time OMOUNT
		is not actively servicing a user request.  OMOUNT
		signals its ability to accept an Operator command by
		typing '/' or '!'.  The '!' is typed whenever OMOUNT is 
		enabled for user requests (i.e. scanning the request queue).
		  If the operator does not respond to a request within
		N minutes, the request is retyped.  (N depends on the
		conditional SLPSW in OMOUNT.)
	
		The 'KILL' command is used to purge the queue of all pending
		requests of a particular type.  This is needed, for
		example, after crashes.
	
	Starting fresh (e.g. at beginning of day)
	
		.R OMOUNT
		/KILL		;Delete all requests
		/START		;or 'START:FILE' if only
		!		;  wish to service FILE requests etc.
	
	Starting after a crash
	
		.R OMOUNT
		/KILL:MOUNT	;FILE requests are still valid
		/START
		!
	
	To change the type of requests being serviced
	
		!STOP		;Stop all servicing
		/START:FILE	;To select FILE requests or
		!		;  'START:MOUNT' for MOUNT-DISMOUNT requests
	
	To return to the Monitor
	
		!PAUSE		;Quit looking for user requests
		!EXIT		;Return to the Monitor
		.		;At Monitor level now
	
The "Proceed?" question
	-----------------------
	
		At various points in the processing of requests or commands
		when OMOUNT discovers erroneous or unusual conditions, it
		will type "Proceed?" in order to give the Operator a
		chance to cancel or defer the request.  In addition
		the "Proceed?" question may be invoked at most points
		by reentering OMOUNT (i.e. ^C ^C .REENTER).  OMOUNT will
		disable ^C during certain times when it cannot be
		interrupted, so there is no way ^C can cause undesired results.
		In all cases the possible replies are:
			NO	Cancel the request and delete from queue
			YES	Proceed if possible
			CANCEL	Same as 'NO'
			WAIT	Defer the request and wait for Operator input
			PAUSE	Wait for Operator input after finishing
				current request
			DEFER:mm
			 -or-	Defer processing this command for the specified time
			     :hh:mm
			START:x Start processing X requests after this one
				(ST is valid abbreviation for START.)
			STOP:x	Stop processing X requests after this one
				x=FILE,MOUNT,NONE,ALL
				/PAUSE, /START, & /STOP may accompany other replies
			WHAT	Retype the current command and TTY dialogue
			HELP	Type list of valid replies to "Proceed?"
	
		Whenever the Operator does not reply to a "Proceed?" question or
		to a Drive-selection question within three minutes, OMOUNT
		will retype the dialog preceeding the question for the
		Operator's benefit.  This is done to remind the Operator
		that OMOUNT is waiting for a reply.
	
'MOUNT' Request service
	-----------------------
	
		When OMOUNT receives a 'MOUNT' request, it checks for device
		type and proceeds as follows:
	
	Non-File Structure Devices:
	
		(1) If the device is already assigned to the user job,
		    OMOUNT types the message:
			MOUNT <device> <VID-field> [P,P]
			WRITE-LOCKED
			    -or-      on DEVn:
			WRITE-ENABLED
			Already assigned to user
		    and then waits for any Operator actions to be performed
		    by typing "Proceed?".
		    When answered (see above) the request is deleted from the
		    queue and the user's job, if waiting, continues.
	
		(2) If the device is not assigned to the user, a check is made
		    that a free device of the correct type is available.
		    If there are no available units, the message
		    "No available units" is typed.  If the only available
		    unit is already assigned to OMOUNT, the message
		    "Assigned to OMOUNT" is instead typed.
	
		(3) OMOUNT then requests the Operator's selection of an
		    available device by typing:
			MOUNT <device-type> <VID-field> [P,P]
			WRITE-LOCKED     DEV(n):
			    -or-      on  -or-
			WRITE-ENABLED     DEV:
		    The number (n) following the DEV name indicates OMOUNT's
		    recommendation as to what free drive to assign.
	
		    The Operator makes his selection by typing:
			<CR>	Selects the drive chosen by OMOUNT
			n	Select drive N
			DEVn	SELECT DRIVE n (CONTROLLER CAN BE CHANGED.)
			/CANCEL	Cancel request and delete from queue
			/WAIT	Requeue the request and wait for Operator input
			/PAUSE	Wait for Operator input after finishing
				current request
			/DEFER:mm
			 -or-	Defer processing this command for the specified time
			     :hh:mm
			/START:x Start processing X requests after this one
			/STOP:x	Stop processing X requests after this one
				x=FILE,MOUNT,NONE,ALL
				/PAUSE, /START, & /STOP may accompany other replies
			/WHAT	Retype the current command and TTY dialogue
			/HELP	Type list of valid replies to drive-selection rqst
*	
	(4) If a Magtape or DECtape has been assigned, special
		    processing is done.  First, the DECtape ID is checked.
		    If the user has given a DECtape number as the VID, the
		    machine-readable DECtape ID is checked against the given
		    VID tape number.  If they do not match, OMOUNT types
			Actual tape ID xxxx on DTAn:
			 Does not match user-requested  tape# yyyy
			Type 'I' to ignore Tape-ID difference
			Type 'N' to change tape drives
			Type 'C' to cancel this request
			Or mount correct tape and type 'Y':
		    The Operator then types in the reply of his choice.
		    If the mounted DECtape does not have a machine-readable ID,
		    OMOUNT types
			Tape mounted has blank Tape ID
			Type 'I' to ignore Tape-ID difference
			Type 'N' to change tape drives
			Type 'C' to cancel this request
			Or mount correct tape and type 'Y':
		    The Operator then types in the reply of his choice.
		    For the sake of brevity, after either of these messages
		    is typed once, an abbreviated form is used in place of
		    the last three lines:
			Type I,C,Y or H:
			Second, OMOUNT checks the write-status for both Magtape
		    and DECtape is set as requested by the user.  If the
		    Magtape write-ring is not correct, or the DECtape write-lock
		    switch is wrong, OMOUNT types
				 Write-lock  DTAn:
			% Please    -or-     -or-
				 Enable      MTAn:
			Type 'N' to change tape drives
			Type 'C' to cancel this request
			Or set write-status correctly and type 'Y':
		    The Operator then types in the reply of his choice.
		    If the user requested the tape to be write-locked and
		    it is write-enabled, the Operator is given the additional
		    choice to ignore the discrepency.  Again the last three
		    lines are abbreviated after they are typed once.
	
		(5) When an acceptable drive is selected, OMOUNT
		    reassigns it to the user and deletes the request from the
		    queue to allow the user's job to continue if waiting.
	
File Structures (F/S)
	
		(1) If the F/S already exists, OMOUNT proceeds as in
		    (4) below.
	
		(2) If not, OMOUNT tries to find enough free drives of the
		    proper type to mount the F/S.  Any specific drive
		    requests by the user are honored if possible.
		    A list of free drives (of the proper type) is typed.
		    If not enough drives are available, the "Proceed?"
		    question is typed instead.
	
		(3) Next each unit I.D. is typed followed by a suggested
		    drive (if any) in parens:
			2RP003 (DPA3):
		    The Operator now mounts the F/S units on the drives.
		    After each unit-drive pair is typed (and when the
		    drive becomes ready) the Operator may respond as follows:
			<CR>	Selects the drive chosen by OMOUNT
			n	Select drive N
			DEVn	SELECT DRIVE n (CONTROLLER CAN BE CHANGED.)
			/CANCEL	Cancel request and delete from queue
			/WAIT	Requeue the request and wait for Operator input
			/PAUSE	Wait for Operator input after finishing
				current request
			/DEFER:mm
			 -or-	Defer processing this command for the specified time
			     :hh:mm
			/START:x Start processing X requests after this one
				(ST is valid abbreviation for START.)
			/STOP:x	Stop processing X requests after this one
				x=FILE,MOUNT,NONE,ALL
				/PAUSE, /START, & /STOP may accompany other replies
			/WHAT	Retype the current command and TTY dialogue
			/HELP	Type list of valid replies to drive-selection rqst
	
		(4) When the F/S is successfully defined
		    it is added to the user's active or passive search list.  A UFD
		    is created if none exists and there is an entry for
		    him in the QUOTA.SYS on the F/S.
	
'DISMOUNT' Request service
	--------------------------
	
	Non-File Structure Devices
	
		(1) Any special switches such as /REMOVE are typed
		    The current ownership of the device is always typed.
		    The messages used to tell this are:
			DEVn: Released
			DEVn: Reassigned to Job N
			DEVn: Kept by Job N
	
	 	(2) OMOUNT waits for Operator's actions by typing "Proceed?"
		    and when answered (see above) deletes the request from
		    the queue allowing the user's job to continue.
	
	File Structures (F/S)
	
		DISMOUNT requests are queued to the Operator only when
		the /REMOVE switch is specified.
	
		(1) The following checks are made of the F/S:
			Is Mount-Count greater than zero?
			Is F/S in System Search List?
			Does F/S contain STRLST.SYS?
			Does F/S contain queue ([3,3].UFD)?
			Is F/S in the Active Swapping List?
		    Normally, the request should be cancelled if any of those
		    conditions are true.  The "Mount-Count" condition can be
		    inspected by typing "WAIT"; "USERS"; "GO" in sequence.
		    (The "USERS" and "GO" commands are described below.)
	
		(2) If the Operator replies affirmatively to the "Proceed?"
		    question, the F/S is removed from all user's search
		    lists and then deleted from the system.
	
'FILE' Request service
	----------------------
	
		(1) The Operator is requested to mount the desired DECtape:
						       Write-enabled   DTA(n):
			Mount TAPE <tape-number> [P,P]     -or-     on  -or-
						       Write-locked     DTA:
		    If a DTA is assigned to OMOUNT, it's number is typed as (n).
		    The Operator may then reply:
			<CR>	Selects the drive assigned to OMOUNT
			n	Select drive N
			/CANCEL	Cancel request and delete from queue
			/WAIT	Requeue the request and wait for Operator input
			/PAUSE	Wait for Operator input after finishing
				current request
			/DEFER:mm
			 -or-	Defer processing this command for the specified time
			     :hh:mm
			/START:x Start processing X requests after this one
				(ST is valid abbreviation for START.)
			/STOP:x	Stop processing X requests after this one
				x=FILE,MOUNT,NONE,ALL
				/PAUSE, /START, & /STOP may accompany other replies
			/WHAT	Retype the current command and TTY dialogue
			/HELP	Type list of valid replies to drive-selection rqst
	
		(2) The machine-readable DECtape ID is checked against the given
		    VID tape number.  If they do not match, OMOUNT types
			Actual tape ID xxxx on DTAn:
			 Does not match user-requested tape# yyyy
			Type 'I' to ignore Tape-ID difference
			Type 'N' to change tape drives
			Type 'C' to cancel this request
			Or mount correct tape and type 'Y':
		    The Operator then types in the reply of his choice.
		    If the mounted DECtape does not have a machine-readable ID,
		    OMOUNT types
			Tape mounted has blank Tape ID
			Type 'I' to ignore Tape-ID difference
			Type 'N' to change tape drives
			Type 'C' to cancel this request
			Or mount correct tape and type 'Y':
		    The Operator then types in the reply of his choice.
		    After that, OMOUNT checks that the Write-lock switch is set
		    as the user requested.  If not, it types
				 Write-lock
			% Please    -or-    DTAn:
				 Enable
			Type 'N' to change tape drives
			Type 'C' to cancel this request
			Or set write-status correctly and type 'Y':
		    The Operator then types in the reply of his choice.
	
		(3) After processing the FILE command, the DECtape is unloaded,
		    or rewound depending on UNLOSW. The default is UNLOAD.
	
Operator Commands
	-----------------
	
	MOUNT NAME
	
		NAME must be of magtape of file structure.

		if magtape, the operator can only change the REEL ID
		of a pre-mounted tape.

		The 'MOUNT' Operator command is similar to the 'MOUNT' 
		user command except that the F/S is not added to any
		search list.
		  In addition, the requirement that the F/S name be
		in STRLST.SYS is not mandatory.  This allows
		the Operator to mount file structures under a different
		name han the one recorded in their Home Blocks and
		allows the STRLST.SYS search to be bypassed.  The switch
		/NOSEARCH will suppress any searching of STRLST.
		When this is done, The structure is assumed to consist
		of one RP02 unless the operator typed in specific drives.
		in that case he is believed unless the F/S name or drive
		type typed in differ from the ones in the Home Blocks
		(a warning is typed).  If the Operator proceeds and if
		the MOUNT is successful, the F/S will be given the
		Operator's name (rather than the Home Block name).
	
		For example, to mount a 2-pack F/S to have the name 'PRVX'
		regardless of whether it is in STRLST.SYS
		or what its Home-Block name is:
			/MOUNT PRVX (DP,DP) /NOSEARCH
		In this example, the "(DP,DP)" option was used to tell
		OMOUNT the structure consisted of two RP02's (type DP)
		rather than the assumed one RP02.
	
	
	REMOVE NAME	(NAME = any mounted F/S name)
	
		REMOVE is similar to the user 'DISMOUNT/REMOVE'
		command.  It tells OMOUNT to have the Monitor purge
		all knowledge about the named F/S.  OMOUNT makes
		the same error checks for REMOVE as for DISMOUNT/REMOVE,
		as described above.  If the operator wishes to remove
		a disk that has gone off-line, he may specify the /NOCHECK
		switch which remove it without accessing the disk.
		OMOUNT will still make the error checks described above
		except for testing for the existence of STRLST.SYS. That
		check would require accessing the disk and cause the
		monitor's disk off-line processing to take effect.
	
	
	LOCK NAME	(NAME = any mounted F/S name)
	
		To 'LOCK' a F/S means to prevent any further new
		accesses to it -- files currently opened on the F/S
		are allowed to proceed normally to a CLOSE.
	
		The F/S is checked as in the REMOVE command for
		any special conditions (e.g., Mount-Count .GT. 0, etc).
		LOCK is primarily used to condition a structure for
		removal by preventing new accesses without aborting
		current usrs.

	USERS NAME	(NAME = any mounted F/S name)
	USERS /PRIVATE
	USERS /ALL
	USERS		(equals USERS /ALL)
	
		A list of the specified F/S's units, special conditions
		(e.g., whether locked or not), and users (jobs in whose
		search list it appears) is typed.
	
		If USERS /ALL (or no F/S name was typed), information on
		all mounted F/S's and all free drives is listed.
	
		If USERS /PRIVATE is typed, information is given only on
		those structures not in the System Search List and not
		in the Active Swapping List.

		For any of the commands, if the F/S is in the Active
		Swapping List, or if the F/S is in the System Search
		LISt, the words 'SWP' and 'SYS' are included in the job-
		number list.
	
	
	PAUSE
	WAIT		(equals PAUSE)
	
		The PAUSE and WAIT commands tell OMOUNT not to process any
		additional user requests until the Operator has
		typed either a GO or START command.  They permit him to
		suspend processing temporarily without changing the types of
		requests for which OMOUNT has been enabled.
	
	
	GO
	
		The GO command permits OMOUNT to continue processing after a
		PAUSE or WAIT condition.  The PAUSE or WAIT could have been
		typed as an Operator command, or as a reply to a "Proceed?"
		or Drive-selection question.
	
	
	START:x		(x=FILE,MOUNT,ALL,NONE)
	START		(equals START:ALL)

	The START command enables OMOUNT to process the specified
		types of requests.  (START:NONE is merely equivalent to the
		GO command and enables no additional request types.)  Note that
		START requests are cumulative; START:FILE might add FILE
		request processing but would not stop MOUNT command
		processing if that had been previously enabled.  The only
		way to stop OMOUNT form processing a specific type of
		request is with the STOP command (see below). The 
		START command also clears a WAIT or PAUSE condition,
		in the same manner that a GO command does.
		  OMOUNT is started (R OMOUNT) in a 'START:NONE' condition.
		Therefore, an initial START (or START:FILE or START:MOUNT)
		command must be given before request service will begin.
		MOUNT implies DISMOUNT commands as well.
	
	
	STOP:x		(x=FILE,MOUNT,ALL,NONE)
	STOP		(equals STOP:ALL)
	
		Stop servicing (scanning the request queue for) the specified
		type of requests.  (STOP:NONE has no effect.)
		MOUNT implies DISMOUNT commands as well.
	KILL:x		(x=FILE,MOUNT,ALL,NONE)
	KILL		(equals KILL:ALL)
	
		Delete the request queue of all pending requests of the
		specified type.  After a Monitor reload the
		'KILL:MOUNT' command should be given since
		any unprocessed MOUNT-DISMOUNT requests left over
		from before the reload are irrelevent if not dangerous.
		This is normally done automatically via the ATO file
		that loads OMOUNT.
		MOUNT implies DISMOUNT commands as well.
	
	
	WHAT
	
		The WHAT command causes OMOUNT to type out the types of
		commands for which it is enabled and for which there are
		requests queued.  Also, OMOUNT indicates when it must
		have Operator input before processing any user requests
		(as a result of a WAIT/PAUSE condition, or because no
		request types have been enabled by the START command).
	
	
	EXIT
	
		The EXIT command causes OMOUNT to return to Monitor level.
		It hay be resumed by typing ".CONTINUE" or any other
		Monitor command may be given.
	
	
	HELP
	
		The HELP command types a list and brief description of
		all OMOUNT Operator commands.

	
Related information
	-------------------
	
	Finding out what's in OMOUNT queues.
	
		The Operator can find what is currently in the OMOUNT queues
		by using the Monitor commands
			FILE C
			MOUNT /CHECK
			DISMOUNT /CHECK
		when logged in under [1,2].
	
	
	The "No Operator Present" condition (SCHED 400)
	
		SCHED bit 400 means "No Operator Present".  When this bit is set
		UMOUNT will reject all FILE commands and all MOUNT commands that
		require Operator action.  Furthermore, UMOUNT will ignore
		the /REMOVE option if given on a F/S DISMOUNT command.
		  SCHED 400 is designed to be set by the Operator when he will
		not be attending the computer for extended periods of time.
		It is commonly used at installations which leave one shift
		of computer uptime without Operator coverage.
	
	
	The "No Operator Intervention" condition (SCHED 100)
	
		SCHED bit 100 means "No Operator Intervention".  When this
		bit is set, UMOUNT will not send MOUNT commands to the
		Operator when it can process the MOUNT itself.  This occurs
		when an output-only device is requested to be mounted.
	