操作系统的接口分为用户接口、库函数接口、系统调用接口
首先:介绍用户接口的一些概念和类型,然后介绍一下用户接口中使用的一种命令、以及联机命令接口如何实现的
9.1 用户接口
引言
用户接口可分为三种类型
1、字符显示联机用户接口:用户需要在主机上键入命令的方式来去接口提供的服务
2、图形化联机用户接口:用户需要在主机上通过图形化界面来取得服务
3、脱机用户接口:指不需要使用者调用,用户程序能够自动调用该接口完成服务
9.1.1字符显示联机用户接口
命令语言分为
1、命令行方式:以行为单位,以回车符作为一个命令的技术标记
9.1.3 联机命令的类型:《鸟哥的Linux私房菜》中就有相关的介绍
9.2 Shell命令语言
引言
Sheel概念
一种程序设计语言,因此Sheel支持其他高级语言中的程序原书
一个命令解释器(程序),因此Sheel可以对输入的命令解释并执行
9.3 联机命令接口的实现
引言
联机命令的接口的实现过程:由键盘中断处理程序接受从用户输入的命令和数据存入字符缓冲区,然后就是命令解释程序对命令进行识别并转入相应的命令处理程序去执行
9.3.1 键盘中断处理程序
具备的功能
接受从用户终端上打入的字符、字符缓冲、回送显示、屏幕编辑、特殊符号处理
两种系统下的解释程序
1、 MS-DOS解释程序(Win)
组成部分:初始化部分、暂存部分、常驻部分
暂存部分:命令解释程序,包含内部命令处理程序、批处理文件程序、装入和执行外部命令的程序
2、 Shell解释程序(Linux)
Shell的复杂性决定了其不能使用简单的译码方式:使用二叉树的命令行结构,以整条命令和分割符作为节点
接下来进入系统调用的介绍,首先介绍系统调用的相关概念和类型,一种系统调用,以及其实现
9.4 系统调用接口的概念和类型
引言
程序接口:提供给用户程序接口设计的,提供给程序员在编程时使用
9.4.2 系统调用的类型:一般分为进程控制类、文件操作类、进程通信类
9.4.3 POSIX标准:满足该标准的应用程序,才具有可移植性,能够兼容多种操作系统
9.5 系统调用:UNIX下的系统调用具体介绍
9.5.1 进程控制:fork、exit、wait、exec、getp-id...
9.5.2 文件操作:open、close、creat、read、write...
9.5.3 进程通信:信息机制、共享存储器机制...
9.6 系统调用的实现
9.6.1 系统调用的实现方法
关于系统调用的实现中需要的支持
1、系统调用号:每个系统调用有一个唯一的系统调用号码
2、系统调用处理子程序:每个系统调用都是一个完成特定功能的小程序
3、系统调用表:序号即为系统调用号,保存对应的系统调用子程序的入口地址、自带的参数等等
4、如何将系统调用中的若干参数传递给处理子程序
2、直接将参数传递到寄存器:利用双方都能访问的寄存器
3、参数表方式:将参数打包在参数表中,然后将指向参数表的指针让中断带给处理程序