OpenVMS 用户手册
11.9.1 进程逻辑名目录
注册时,在进程逻辑名目录表 LNM$PROCESS_DIRECTORY 中建立的进程专用逻辑名展示在 表 11-2
中。
表 11-2
进程逻辑名目录中的默认逻辑名
名称 |
描述 |
LNM$GROUP
|
定义为 $GROUP_
gggggg 的组逻辑名,在此 gggggg 表示组号。LNM$GROUP_
gggggg
1
是您的 UIC 组使用的逻辑名表。表 LNM$GROUP_
gggggg 编目在系统目录表中。因此,LNM$GROUP
是一个迭代翻译成组逻辑名表中名称的逻辑名。 |
LNM$JOB
|
定义为 LNM$JOB_
xxxxxxxx 的作业逻辑名,在此
xxxxxxxx
2 表示一个您的作业树的唯一数目。LNM$JOB_
xxxxxxxx 是您的作业使用的逻辑名表。表
LNM$JOB_
xxxxxxxx 编目在系统目录表中。因此,LNM$JOB
是一个迭代翻译成作业逻辑名表中名称的逻辑名。
|
LNM$PROCESS
|
迭代翻译成进程逻辑名表 LNM$PROCESS_TABLE 的进程逻辑名。 |
LNM$PROCESS_DIRECTORY
|
进程目录逻辑名表的名称。 |
1字符串 gggggg 表示一个 6 位数字的八进制数,它包含进程的 UIC 组号。
2字符串 xxxxxxxx 表示一个 8 位数字的十六进制数,它是作业信息块的地址。
11.9.2 进程逻辑名表
系统的每个进程有一个进程逻辑名表
LNM$PROCESS_TABLE。进程表中的名称只可用于您的进程和任何后续子进程。注册时,系统为您的进程建立逻辑名并把它们放入进程表中。
通过此名称 LNM$PROCESS 可以间接地引用 LNM$PROCESS_TABLE。这个间接引用允许您重新定义
LNM$PROCESS 为多个等价名,因而它可以包括一个或多个您自己的表,如以下例子所示 :
$CREATE/NAME_TABLE APPLICATION_NAMES
$DEFINE/TAB=LNM$PROCESS_DIRECTORY LNM$PROCESS APPLICATION_NAMES,
LNM$PROCESS_TABLE
|
按照默认,进程表包含在表 11-3 中展示的逻辑名。注意,逻辑名 SYS$INPUT、SYS$OUTPUT、SYS$ERROR 和 SYS$COMMAND
引用与进程并存的文件 (这些文件在进程的生存周期内保持打开)。有关与进程并存的文件的详情,请参阅11.13
节。
表 11-3 在进程逻辑名表中的默认逻辑名
名称 |
描述 |
SYS$COMMAND
|
DCL 从中读取输入的初始文件 (通常是终端)。DCL
从中读取输入的文件称为输入流。命令解释程序使用 SYS$COMMAND 记住原始的输入流。 |
SYS$DISK
|
注册时建立的或用 SET DEFAULT
命令更改的默认设备。 |
SYS$ERROR
|
DCL
把警告、出错和严重出错产生的系统出错消息写入的默认设备或文件。 |
SYS$INPUT
|
DCL 从中读取输入的默认文件。 |
SYS$NET
|
调用 DECnet for OpenVMS 任务到任务通信的目标进程的源进程。当它被目标进程打开时,SYS$NET
代表一个逻辑链接,进程通过它可以与伙伴进程交换数据。SYS$NET 只在任务到任务通信期间定义。 |
SYS$OUTPUT
|
DCL 写入输出的默认文件 (通常是终端)。DCL 写入输出的文件称为输出流。 |
TT
|
终端默认设备名。 |
11.9.3 系统逻辑名目录
默认系统逻辑名包含在系统目录表 LNM$SYSTEM_DIRECTORY 中,详见表 11-4。
表 11-4 在系统逻辑名目录中的默认逻辑名
名称 |
描述 |
LNM$CLUSTER
|
迭代翻译成 LNM$CLUSTER_TABLE 的簇范围父表的逻辑名。 |
LNM$DCL_LOGICAL
|
定义为 LNM$FILE_DEV 的
DCL 逻辑名。LNM$DCL_LOGICAL 迭代翻译成被 SHOW LOGICAL 命令、SHOW TRANSLATION
命令和 F$TRNLNM 词法函数搜索和显示的逻辑名表列表。按照默认,这些命令按这个次序搜索和显示进程、作业、组、系统和簇范围系统的逻辑名表。
|
LNM$DIRECTORIES
|
定义为 LNM$PROCESS_DIRECTORY 和 LNM$SYSTEM_DIRECTORY 的目录逻辑名。
|
LNM$FILE_DEV
|
搜索列表的逻辑名,定义为处理文件说明时系统搜索的逻辑名表列表。如果定义为 LNM$PROCESS、LNM$JOB、LNM$GROUP 和
LNM$SYSTEM,那么系统按这个次序搜索进程、作业、组、系统和簇范围系统的逻辑名表。
|
LNM$GROUP
|
定义您的组表 LNM$GROUP_
gggggg1
的组逻辑名。
|
LNM$JOB
|
定义为 LNM$JOB_
xxxxxxxx2 的
作业逻辑名。 |
LNM$PERMANENT_MAILBOX
|
定义为 LNM$SYSTEM 的永久邮箱逻辑名。与永久邮箱关联的逻辑名被输入到这个逻辑名表中,而且逻辑名 LNM$PERMANENT_MAILBOX
迭代翻译成这个逻辑名表。
|
LNM$SYSCLUSTER
|
迭代翻译成 LNM$SYSCLUSTER_TABLE 的簇范围系统逻辑名表的逻辑名。 |
LNM$SYSTEM
|
系统逻辑名表名称,它迭代翻译成
LNM$SYSTEM_TABLE、LNM$SYSCLUSTER 。 |
LNM$TEMPORARY_MAILBOX
|
定义为 LNM$JOB 的临时邮箱逻辑名。与临时邮箱关联的逻辑名被输入到这个逻辑名表中,而且逻辑名 LNM$TEMPORARY_MAILBOX
迭代翻译成这个逻辑名表。
|
1字符串 gggggg 表示一个 6 位数字的八进制数,它包含进程的 UIC 组号。
2字符串 xxxxxxxx 表示一个 8 位数字的十六进制数,它是作业信息块的地址。
11.9.4 可共享的逻辑名表
本节描述默认可共享的逻辑名表:
簇范围系统表 LNM$SYSCLUSTER_TABLE
LNM$SYSCLUSTER_TABLE 是簇范围系统逻辑名表的名称。这个表包含的逻辑名可用于簇的所有用户。
通过名称 LNM$SYSCLUSTER,可以间接地引用 LNM$SYSCLUSTER_TABLE。间接引用允许您重新定义
LNM$SYSCLUSTER 为多个等价名,从而把您自己的表包括在这个表中。
簇范围父表 LNM$CLUSTER_TABLE
LNM$CLUSTER_TABLE 是所有簇范围逻辑名表的父表,包括 LNM$SYSCLUSTER_TABLE。使用逻辑名
LNM$CLUSTER 可引用它。
组表 LNM$GROUP_gggggg
组表的名称是 LNM$GROUP_gggggg
(gggggg 表示用户标识码 [UIC] 组号)。这个表中的名称可用于有同样 UIC 组号的所有用户。系统上的每个组有一个相应的组逻辑名表
。
通过名称 LNM$GROUP,可以间接地引用 LNM$GROUP_gggggg。间接引用允许您重新定义
LNM$GROUP_gggggg
为多个等价名,从而把您自己的表包括在这个表中。这也使您不需要记住 UIC 组号,并且确保使用最近定义的表。
作业表 LNM$JOB_xxxxxxxx
作业表的名称是 LNM$JOB_xxxxxxxx
(xxxxxxxx 表示系统为作业树定义的作业信息块 [JIB] 地址)。
作业表包含可用于作业树中所有进程 (您的进程和任何子进程)
的逻辑名。在系统中的每个作业树有一个作业表。作业表是共享的,使得作业树中的所有进程可以存取它。
通过名称 LNM$JOB 可以间接地引用 LNM$JOB_xxxxxxxx。间接引用允许您重新定义 LNM$JOB
为多个等价名,从而把您自己的表包括在这个表中。此外,使用 LNM$JOB,您不必找出 JIB
地址,并且确保使用最近定义的作业表。
系统把为装上的磁盘、装上的磁带和临时邮箱建立的逻辑名放入作业逻辑名表中。另外,系统建立以下逻辑名:
- SYS$LOGIN
注册时的默认设备和目录。
- SYS$LOGIN_DEVICE
注册时的默认设备。 - SYS$REM_ID
对于通过 DECnet for OpenVMS 网络连接开始的作业,SYS$REM_ID 就是在远程节点上启动这个作业的进程标识。在
OpenVMS
操作系统上,如果允许代理注册,这个标识就是进程的用户名;如果不允许代理注册,这个标识则是进程标识 (PID)
号。(到代理帐户的代理注册允许用户不指定存取控制字符串就可通过网络存取文件。)
- SYS$REM_NODE
对于通过 DECnet for OpenVMS 网络连接开始的作业,SYS$REM_NODE 就是启动这个作业的的远程节点的名称。
- SYS$SCRATCH
写入临时文件的默认设备和目录。
系统表 LNM$SYSTEM_TABLE
系统表的名称是 LNM$SYSTEM_TABLE。在系统级上,系统表包含可用于系统中所有用户的逻辑名。
通常通过 LNM$SYSTEM 间接地引用系统表,LNM$SYSTEM 定义为搜索列表 LNM$SYSTEM_TABLE 和 LNM$SYSCLUSTER。
使用名称 LNM$SYSTEM 可包括本地节点的系统名和可用于簇上所有节点的系统名。
系统启动时自动定义在系统表中的逻辑名展示在表 11-5 中。
表 11-5
系统逻辑名表中的默认逻辑名
名称 |
描述 |
默认地址 |
DBG$INPUT
|
OpenVMS 调试程序的默认输入流,等同于进程级的 SYS$INPUT |
不适用
|
DBG$OUTPUT
|
OpenVMS 调试程序的默认输出流,等同于进程级的 SYS$OUTPUT |
不适用
|
SYS$COMMON
|
用于 SYS$SYSROOT 共同部分的设备和目录名 |
SYS$SYSDEVICE:[SYS
n.SYSCOMMON.],在此
n 是处理器的根目录数 |
SYS$ERRORLOG
|
出错记录数据文件的设备和目录名
|
SYS$SYSROOT:[SYSERR]
|
SYS$EXAMPLES
|
系统例子的设备和目录名 |
SYS$SYSROOT:[SYSHLP.EXAMPLES]
|
SYS$HELP
|
系统求助文件的设备和目录名 |
SYS$SYSROOT:[SYSHLP]
|
SYS$INSTRUCTION
|
系统指令数据文件的设备和目录名 |
SYS$SYSROOT:[SYSCBI]
|
SYS$LIBRARY
|
系统库的设备和目录名 |
SYS$SYSROOT:[SYSLIB]
|
SYS$LOADABLE_IMAGES
|
操作系统执行的可装载映象、设备驱动程序和其他执行装载代码的设备和目录 |
SYS$SYSROOT:[SYS$LDR]
|
SYS$MAINTENANCE
|
系统维护文件的设备和目录名 |
SYS$SYSROOT:[SYSMAINT]
|
SYS$MANAGER
|
系统管理文件的设备和目录名 |
SYS$SYSROOT:[SYSMGR]
|
SYS$MESSAGE
|
系统消息文件的设备和目录名 |
SYS$SYSROOT:[SYSMSG]
|
SYS$NODE
|
如果 DECnet for OpenVMS 在系统上是活动的,并且已连接到网络,那么该名就是本地系统的网络节点名。
|
不适用
|
SYS$PROCDMP
|
写入映象转储的目录 (用户设置) |
不是默认设置
|
SYS$SHARE
|
系统可共享映象的设备和目录名
|
SYS$SYSROOT:[SYSLIB]
|
SYS$SPECIFIC
|
用于 SYS$SYSDEVICE 节点特定部分的设备和目录名 |
SYS$SYSDEVICE:[SYS
n.],在此
n 是处理器的根目录号
|
SYS$STARTUP
|
系统启动文件的设备和目录名 |
一个先指向 SYS$SYSROOT:[SYS$STARTUP] 然后指向 SYS$MANAGER 的搜索列表 |
SYS$SYSDEVICE
|
包含系统目录的系统磁盘 |
通常是 SYS$DISK
|
SYS$SYSROOT
|
系统目录的设备和根目录 |
一个搜索列表,先指向 SYS$SYSDEVICE:[SYS
n.],在此
n 是处理器的根目录号,然后指向 SYS$COMMON
|
SYS$SYSTEM
|
操作系统程序和过程的设备和目录
|
SYS$SYSROOT:[SYSEXE]
|
SYS$TEST
|
用户环境测试程序包 (UETP) 文件的设备和目录名 |
SYS$SYSROOT:[SYSTEST]
|
SYS$UPDATE
|
系统更新文件的设备和目录名
|
SYS$SYSROOT:[SYSUPD]
|
11.9.5 可共享逻辑名表的默认保护
操作系统提供的可共享逻辑名表建立时带默认保护。每种类型可共享逻辑名表的默认保护展示在表 11-6
中。
表 11-6 可共享逻辑名表的默认保护
表类型 |
表名 |
默认保护 |
作业表
|
LNM$JOB_
xxxxxxxx
1
|
SYSTEM=RWCD,OWNER=RWCD,GROUP=NO ACCESS,WORLD=NO ACCESS
|
组表
|
LNM$GROUP_
gggggg
2
|
SYSTEM=RWCD,OWNER=R,GROUP=R,WORLD=NO ACCESS
|
系统表
|
LNM$SYSTEM_TABLE
|
SYSTEM=RWC,OWNER=RWC,GROUP=R,WORLD=R
|
簇范围系统表
|
LNM$SYSCLUSTER_TABLE
|
SYSTEM=RWC,OWNER=RWC,GROUP=R,WORLD=R
|
簇范围父表
|
LNM$CLUSTER_TABLE
|
SYSTEM=RWC,OWNER=RWC,GROUP=R,WORLD=R
|
用户建立的表
|
用户指定
|
SYSTEM=RWCD,OWNER=RWCD,GROUP=NO ACCESS,WORLD=NO ACCESS
|
1字符串 xxxxxxxx 表示一个 8 位数字的十六进制数,它是作业信息块的地址。
2字符串 gggggg 表示一个 6 位数字的八进制数,它包含进程的 UIC 组号。
11.9.6 管理可共享逻辑名的特权和存取需求
表 11-7 展示需要用于建立、删除和读取 (翻译)
在每种类型可共享逻辑名表中的逻辑名的特权和存取权。有关特权、
存取类型和存取控制的详情,请参阅本手册的第 10 章。
表 11-7 可共享逻辑名任务所需要的特权或存取类型
名称所在的表 |
表名 |
任务 |
需要的特权或存取类型 |
作业表
|
LNM$JOB_
xxxxxxxx
1
|
建立或删除逻辑名
|
对该逻辑名将从中建立或删除的表有
WRITE (W) 存取权 |
|
|
读取 (翻译) 逻辑名
|
对该逻辑名所在的表有 READ (R) 存取权
|
组表
|
LNM$GROUP_
gggggg
2
|
建立或删除逻辑名
|
对该逻辑名将从中建立或删除的表有 WRITE (W) 存取权,或有 GRPNAM 特权
|
|
|
读取 (翻译) 逻辑名
|
对该名称所在的表有 READ (R) 存取权
|
系统表
|
LNM$SYSTEM_TABLE
|
建立或删除逻辑名
|
有系统 UIC 组号 (在 0 和系统参数 MAXSYSGROUP 值之间),或有 SYSNAM 特权
|
|
|
读取 (翻译) 逻辑名
|
对该名称所在的表有 READ (R) 存取权
|
簇范围系统表
|
LNM$SYSCLUSTER_TABLE
|
建立或删除逻辑名
|
有系统 UIC 组号 (在 0 和系统参数 MAXSYSGROUP 值之间),或有 SYSNAM 特权
|
|
|
读取 (翻译) 逻辑名
|
对该名称所在的表有 READ (R) 存取权
|
簇范围父表
|
LNM$CLUSTER_TABLE
|
建立或删除逻辑名
|
有系统 UIC 组号 (在 0 和系统参数 MAXSYSGROUP 值之间)
|
|
|
读取 (翻译) 逻辑名
|
对该逻辑名所在的表有 READ (R) 存取权
|
用户建立的表
|
用户指定
|
建立或删除逻辑名
|
对该逻辑名将从中建立或删除的表有 WRITE (W) 存取权
|
|
|
读取 (翻译) 逻辑名
|
对该逻辑名所在的表有 READ (R) 存取权
|
1字符串 xxxxxxxx 表示一个 8 位数字的十六进制数,它是作业信息块的地址。
2字符串 gggggg 表示一个 6 位数字的八进制数,它包含进程的 UIC 组号。
|