1. 首页
  2. 操作系统
  3. Unix
  4. 终端登录-鸿鹄论坛_华为认证h35-211-hcnp-access network题库

终端登录-鸿鹄论坛_华为认证h35-211-hcnp-access network题库

上传者: 2024-07-15 20:34:20上传 PDF文件 18.16MB 热度 9次

登录到UNIX系统时所执行的各个程序在早期的UNIX系统中,例如V7,用户用哑终端通过RS-232连到主机进行登录。终端或者是本地的(直接连接)或者是远程的(通过调制解调器连接)。在这两种情况下,登录都经由内核中的终端设备驱动程序。例如,在PDP-11上常用的设备是DH-11和DZ-11。因为连到主机上的终端设备数已经确定,所以同时的登录数也就有了已知的上限。下面说明的登录过程适用于使用一个RS-232终端登录到UNIX系统中。

登录过程在过去15年中并没有多少改变。系统管理者创建一个通常名为/etc/ttys的文件,其中,每个终端设备有一行,每一行说明设备名和传到getty程序的参数,这些参数说明了终端的波特率等。当系统自举时,内核创建进程ID 1,也就是init进程。init进程使系统进入多用户状态。init读文件/etc/ttys, 对每一个允许登录的终端设备,init调用一次fork,它所生成的子进程则执行程序getty。这种情况示于图9-1中。图9-1中各个进程的实际用户ID和有效用户ID都是0 (也就是它们都具有超级用户特权)。init以空环境执行getty程序。getty对终端设备调用open函数,以读、写方式将终端打开。如果设备是调制解调器,则open可能会在设备驱动程序中滞留,直到用户拨号调制解调器,并且线路被接通。一旦设备被打开,则文件描述符0、1、2就被设置到该设备。然后getty输出“login:”之类的信息,并等待用户键入用户名。如果终端支持多种速度,则getty可以测试特殊字符以便适当地更改终端速度(波特率)。

关于getty程序以及有关数据文件的细节,请参阅相关资源:

用户评论