第五章 主设备、当前设备、空设备
第五章 主设备、当前设备、空设备
一个进程拥有一台设备
一次只有一个进程可以拥有一个设备,顺序文件除外。
换句话说,在进程成功向设备发出OPEN命令后,在第一个进程释放该设备之前,其他进程都无法打开该设备。进程通过以下任一方式释放设备:
通过显式发出
CLOSE命令。通过停下来。
每个进程都有一个主设备
每个 IRIS 进程都有一个主要输入设备和一个主要输出设备。默认情况下,这些是同一设备。当您登录终端并激活 IRIS 时,该终端将成为主要设备。由于 IRIS 隐式向该终端发出OPEN和USE命令,因此可以立即向它发出READ和WRITE命令。 IRIS 主设备是操作系统指定为主输入设备的设备。 $PRINCIPAL特殊变量包含主设备的设备 ID。
IRIS 将 I/O 命令定向到当前设备
IRIS 将输入和输出操作(包括READ 、 WRITE 、 PRINT和ZLOAD命令)定向到当前设备。 $I特殊变量包含当前设备的设备 ID。当在终端上登录 IRIS 时, $IO最初包含终端的设备名称。换句话说,登录后,主设备和当前设备是相同的。在发出USE命令后,当前的设备( $IO中包含的设备)通常是执行的最后一次USE命令中指定的设备。
尽管可以在编程器模式下对主设备以外的设备发出OPEN和USE ,但每次 IRIS 返回到>提示符时,它都会隐式发出USE 0。要继续使用 0 以外的设备必须发出USE在>提示符下输入的每一行中输入命令。
当主要设备成为当前的设备时
当执行以下任一操作时,主要设备将自动成为当前设备:
- 首次登录。
- 发出
USE 0或USE $principal命令。 - 发出对
%Library.Device类的ChangePrincipal()方法的调用。 - 未设置错误陷阱时导致错误。
- 关闭当前设备。
- 返回程序员模式。
- 通过发出
HALT命令退出IRIS。