(1)操作系统接口类型
- 一般地,操作系统向用户提供两类接口,即用户接口和程序接口。
- 一般地,用户接口又可以进一步分为三种类型:字符显示式联机用户接口、图形化联机用户接口和脱机用户接口。
(2)系统调用概念
系统调用提供了用户程序和操作系统内核之间的接口。
在计算机系统中,通常运行着两类程序:系统程序和应用程序。为了防止应用程序对OS的破坏,应用程序和OS的内核是运行在不同的状态,即OS的内核是运行在系统态(又称管态),而应用程序是运行在用户态(又称目态)。
1.系统态和用户态
两种状态:系统态(核心态)和用户态。
CPU指令集:特权指令和非特权指令。
(1)特权指令:在系统态运行的指令。它对内存空间的访问范围基本不受限制,不仅能访问用户空间,也能访问系统空间。
(2)非特权指令:在用户态运行的指令。它只能完成一般性操作,不能对系统中硬件和软件直接进行访问,对内存的访问也局限于用户空间。
2.系统调用
??在OS中提供系统调用的目的,是使应用程序可以通过它间接调用OS中的相关过程,取得响应的服务。
【注】用户在程序中调用OS所在提供的子功能,是OS提供给编程人员的唯一接口。
??系统调用与一般的过程调用的差别:
(1)运行在不同的系统状态。系统调用与一般过程调用的最大区别在于:调用程序是运行在用户态,而被调用程序是运行在系统态。
(2)状态转换。在运行系统调用时,由于调用和被调用过程是工作在不同的系统状态,因而不允许由调用过程直接转向被调用过程,需要通过软中断机制,先由用户态转换为系统态,经内核分析后,才能转向相应的系统调用处理子程序。
(3)返回问题。在抢占式调度方式的系统中,对系统中所有要求运行的进程做优先权分析。
(4)嵌套调用。在一个被调用过程的执行期间,还可以利用系统调用命令去调用另一个系统调用。每个系统对嵌套调用的深度都有一定的限制。
3.中断机制
系统调用是通过中断机制实现的,并且一个操作系统的所有系统调用,都通过同一个中断入口来实现。
(3)系统调用的类型和实现方法
1.系统调用的类型
(1)进程控制类系统调用
主要用于对进程控制的系统调用有:
a.创建和终止进程的系统调用。
b.获得和设置进程属性的系统调用。进程的属性包括有进程标识符,进程优先级,最大允许执行时间等。
c.等待某事件出现的系统调用。
(2)文件操纵类系统调用
a.创建和删除文件
b.打开和关闭文件的系统调用
c.读和写文件的系统调用
(3)进程通信类系统调用
在单机处理系统中,OS经常采用消息传递方式和共享存储区方式。
当采用消息传递方式时,通信前需先打开一个连接。为此,应由源进程发出一条打开连接的系统调用,而目标进程则应利用接受连接的系统调用表示同意进行通信;然后,在源和目标进程之间便开始通信。可以利用发送消息的系统调用或者用接收消息的系统调用来交换信息。通信结束后,还须再利用关闭连接的系统调用结束通信。
用户在利用共享存储区进行通信之前,须先利用建立共享存储区的系统调用来建立一个共享存储区,再利用建立连接的系统调用将该共享存储区连接到进程自身的虚地址空间上,然后便可以利用读和写共享存储区的系统调用实现相互通信。
【补充】(1)进程控制(2)文件管理(3)进程通信(4)设备管理(5)内存管理(6)线程管理
2.实现方式
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!