一、用户接口的定义与分类
用户接口的定义
用户接口是用户与计算机系统交互的环境和方式。为了方便用户使用计算机系统,操作系统向用户提供了直接使用计算机系统的手段,通常称为用户接口。用户通过操作系统提供的接口与计算机系统交互,即用户通过一定的方式和途径,将自己的要求告诉计算机,而计算机根据用户不同的要求完成相应的操作和处理。
用户接口的分类
通常,操作系统是通过叫做应用编程接口API和操作命令两种方式向用户提供服务的。API和操作命令这两种用户接口与操作系统之间的关系如图所示。
二、系统调用的定义与实现
系统调用提供了用户程序和操作系统之间的接口,应用程序通过系统调用实现与OS的通信并取得服务。由此可以看出系统调用的目的就是请求系统服务。
为了保证系统程序不被应用程序有意或无意地破坏,计算机设置了两种状态:系统态(也称为管态或核心态)和用户态(也称为目态)。操作系统在系统态运行,应用程序只能在用户态运行。
系统调用与一般程序调用的异同:
- 相同点:改变指令流程,重复执行和共用,改变流程后需返回原处。
- 不同点:运行在不同的系统状态 ,通过软中断进入,返回问题,嵌套调用。
系统调用的四种类型:进程控制,文件操纵,通信管理,系统维护
系统调用的步骤:
- 首先,将处理机状态由用户态转为系统态
- 其次,是分析系统调用类型,转入相应的系统调用处理子程序
- 最后,在系统调用处理子程序执行完后,应恢复被中断的或设置新进程的CPU现场,然后返回被中断进程或新进程, 继续往下执行。