为了用户能方便地使用操作系统,OS为用户提供了用户接口,用户接口分为两类:
-
联机命令形式:在终端上使用,允许用户在终端上键入命令,以获取OS服务,如
- 系统访问类
Login: LUO
Password:12345 - 键盘操作命令
通常都提供了若干条磁盘操作命令。
format、Diskcomp等 - 文件操作命令 (copy、erase等)
- 目录操作命令 (dir、mkdir等)
- 系统访问类
-
系统调用形式:编程时使用
键盘终端处理程序
- 接收用户从终端上打入的字符
- 面向字符方式:不加修改把终端输入地字符传送给应用程序
- 面向行方式:将接受地字符缓存在行缓冲中,当收到行结束符时再一次性送命令解释程序
- 字符缓冲,用于暂存所接收的字符
- 专用缓冲:每个终端设置一个缓冲区
- 公用缓冲:所有空缓冲区链接成一个空缓冲区链(申请+释放)
- 回送显示
- 屏幕编辑
- 特殊字符处理
命令解释程序
- 常驻部分:包括一些中断服务子程序等
- 初始化部分:在启动时获得控制权, 处理 AUTOEXEC.BAT文件,决定应用程序装入的基地址
- 暂存部分:主要是命令解释程序,并包含了所有的内部命令处理程序、批文件处理程序,以及装入和执行外部命令的程序。
Shell命令语言:UNIX地Shell是作为操作系统地最外层
- 作为命令语言:作为操作系统接口
- 作为程序设计语言,利用Shell命令构成一个文件,称为Shell过程
系统调用
类型:
- 进程控制类系统调用
- 文件操纵类系统调用
- 进程通信类系统调用
实现:
- 中断和陷入硬件机构
- 外中断:外部设备事件引起
- 内中断:CPU内部时间引起
- 陷入:由于执行了现行命令引起,而中断是由于系统中某事件引起
- 中断向量:处理机状态字PSW+中断处理程序入口指针