VMS EXECUTIVE ENHANCEMENTS FOR VMS VERSION 4 o LOGICAL NAMES o $GETxxI SYSTEM SERVICES o IMAGE ACTIVATOR AND INSTALL o MISCELLANEOUS CHANGES EXPANDED LOGICAL NAME SUPPORT o Goals of Expanded Logical Name Support - Support RMS search lists - Allow more flexible control (access and denial of access) over the sharing of logical names - Reduce the ability of one process to interfere with another process through the manipulation of logical names - Provide more independent name spaces for logical names - Allow users to specify the order in which logical name tables are searched - Provide the foundation for more stringent access controls than currently exist EXPANDED LOGICAL NAME SUPPORT o Changes to Logical Names - Users may create tables - Mulitvalued logical names - User-specified table search order - Up to 255 characters - Up to 127 equivalence strings $GETxxI CHANGES o $GETSYI ENHANCEMENTS - All SYSGEN parameters are now available as SYI items (and also through the F$GETSYI lexical function). Many interesting exec cells as well. - $GETSYI returns cluster information about other nodes in the cluster that is available in the local node. o $GETDVI ENHANCEMENTS - Cluster-wide known devices are accessible to $GETDVI $GETxxI CHANGES (Cont.) o $GETJPI changes - Items that reside in the PCB or PHD can be obtained from the SWAPPER and NULL processes. - Process header items from another process will be obtained directly, if possible, rather than through a special kernel AST. o There are NO cluster-wide $GETxxI services. That is, one CANNOT obtain JPI information about processes on other nodes. Similarly, one CANNOT obtain node- specific data (such as SYSGEN parameters) through $GETSYI. o All items defined for $GETxxI are also available to the F$GETxxI lexical function and the LIB$GETxxI library routine. INSTALL AND THE IMAGE ACTIVATOR INSTALL and the image activator were completely rewritten to make maintenance and future enhancements easier to accomplish. o All code in the image activator used for installing known images was removed and put into INSTALL. o The known file lists are now hashed to hasten the search that determines whether a given image is installed. INSTALL AND THE IMAGE ACTIVATOR (Cont.) o The "knowledge" of which shareable images must be activated is no longer stored completely in the image header of the executable image. - Shareable images not explicitly referenced by an executable image do not appear in the global ISD list of the executable image. - Shareable images can be relinked and refer to additional shareable images without relinking the executable image. - An image can only be merged into a process' address space ONCE. o Standard DCL command interface for INSTALL. FLOATING POINT EMULATION o All floating types emulated without use of libraries o Emulation support loaded at boot time if needed o Useable from all modes o Useable from exec and drivers o Exceptions handled transparently like hardware o LIB$EMULATE now dummy routine SWAPPER AND MEMORY MANAGEMENT o New process class - DORMANT - COM but no progress - best SWAP candidate after SUSP o All processes reduced to quota before any swapped o Working set limit now 65000 pages o New working set expansion algorithm - controlled by pagefault rate, available memory, and SYSGEN parameters - used to require full working set - now expands if 75% full - faster expansion and less faulting I/O SYSTEM o READ/WRITE support of dual ported disks o Cluster-wide UNIBUS and MASSBUS disks emulates HSC support of MSCP protocol o More general protection mechanisms o Data structures changes, especially UCB o $GETDVI support for cluster disks o Cluster-wide device allocation via $ALLOC DEVICE NAME ENHANCEMENTS o Cluster-wide devices require node name qualification. - "node$" prefix - node name 1 to 6 characters in length o Dual-ported devices requires qualification - $allocation_class$" prefix - allocation class is integer 1-255 o Additional $GETDVI items to return local device name or fully-qualified name. o Names still restricted to 16 characters including leading "_" and trailing ":". ENHANCEMENTS TO W FORMS OF SERVICES o $QIOW, $GETJPIW, $SNDJBCW, etc. o No longer incorporates a simple $WAITFR o If IOSB specified - waits until that request completed o Allows more sharing of event flags o Less potential for error with EFN 0 o Function also available as system service $SYNCH efn, iosb ENHANCEMENTS TO W FORMS OF SERVICES o The list of system services that have a W form has been expanded: $BRKTHRU(W) $GETSYI(W) $ENQ(W) $QIO(W) $GETDVI(W) $SNDJBC(W) $GETJPI(W) $UPDSEC(W) $GETLKI(W) LOCK MANAGER o Fully distributed in cluster o Distributed deadlock detection o New features: - Dequeue entire lock subtree subfunction - Cancel Conversion subfunction - Protected and system locks o Distributed $GETLKI(W) - Get lock information o Dynamic growth of LOCKID table to limit of LOCKIDTBL_MAX MISCELLANEOUS EXEC CHANGES o Changed Layout of Process ID - The process ID now contains a cluster node number as well as the process index and sequence number. (A zero on input implies the current node.) - NOBODY should assume knowledge about the layout of a process ID. - Routines provided to help with interpretation, and extract component parts. MISCELLANEOUS EXEC CHANGES o Process Creation and Deletion Changes - PRC$M_INTERACTIVE designates interactive jobs. There are four kinds of process: o INTERACTIVE o BATCH o NETWORK o OTHER Any of these may be detached (no parent) or subprocesses. - Detached processes of the same UIC no longer require privilege. - Process deletion occurs in a regular kernel AST (instead of a special kernel AST). MISCELLANEOUS EXEC CHANGES o Privileged code restrictions - Certain operations not allowed from kernel AST - Due to F11BXQP - QIO that requires window turn - Deletion of pages with I/O in progress o PFN database and paged pool now have ERKW protection o Read-only SYS.EXE - Current SYSGEN parameters reside in VAXVMSSYS.PAR NEW SYSTEM SERVICES BRKTHRU(W) - Breakthrough CRELNM - Create logical name CRELNT - Create logical name table DELLNM - Delete logical name FILESCAN - Parse string for file spec GETDVIW - Get device info and wait GETJPIW - Get Job/Process info and wait GETLKI(W) - Get lock info GETSYIW - Get system info and wait SNDJBC(W) - Send to Job Controller SYNCH - Synchronize EFN and IOSB TRNLNM - Translate logical name UPDSECW - Update global section and wait 18 new security services