终端的概念

操作系统接口:用户接口和程序接口。用户接口分为联机用户接口和脱机用户接口。脱机用户接口出现在早期的批处理系统中(将作业提前交给操作系统,作业完成的过程中用户无法交互);联机用户接口即为终端(所有输入输出设备),包括设备终端(伪终端,pseudo terminal slave)、文字终端(字符终端)和桌面终端(图形界面终端),联机用户接口可以使用户与操作系统实时交互。而程序接口就是指操作系统提供的各种系统调用接口(API,应用程序接口),通过这些函数接口可以使用这些系统调用。

终端:所有输入输出设备的总称,如键盘、鼠标、摄像头、麦克风、屏幕、打印机等。

在UNIX系统中,用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制终端(Controlling Terminal),进程中,控制终端是保存在PCB中的信息,而fork会复制PCB中的信息,因此由Shell进程启动的其它进程的控制终端也是这个终端。默认情况下(没有重定向),每个进程的标准输入、标准输出和标准错误输出都指向控制终端,进程从标准输入读也就是读用户的键盘输入,进程往标准输出或标准错误输出写也就是输出到显示器上。信号中还讲过,在控制终端输入一些特殊的控制键可以给前台进程发信号,例如Ctrl-C表示SIGINT,Ctrl-\表示SIGQUIT。

Linux下的终端类型:设备终端,又叫伪终端(pts/编号,如bash终端,/bin/bash)、文字终端(tty1-tty6,共6个)、图形界面终端(tty7或:0,也叫桌面终端)。

图形界面终端(桌面终端):tty7或:0,Alt + Ctrl + F7进入;文字终端(字符终端):tty1~tty6,Alt + Ctrl + F1、F2、F3、F4、F5、F6进入;设备终端(伪终端):pts/编号,从0开始;网络终端:SSH、Telnet、xshell等。每一个网络终端在服务器上都会对应一个伪终端,网络终端输入的各种命令或程序都先通过网络协议发送到服务器,这些命令或程序在服务器上(伪终端)解析和执行,将执行结果又通过网络通信协议发送给客服端(网络终端)。因此,网络终端,如xshell,与主机之间交互需要网络通信。文字终端与设备终端相似,都是以命令行的方式与系统进行交互。在Windows中的文字终端打开方式:win+r 输入cmd即可。

在top或ps命令中,TTY表示该进程来自于哪一个终端(设备、文字和桌面),?表示该进程不需要终端,即不需要登录到系统,不能与用户交互。进程可能属于终端,也可能属于系统自己的。终端本身会对应一个进程。如守护进程就不需要终端,不需要登录到系统,是Linux中的后台服务进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值