本文基于张尧学老师编著的《计算机操作系统教程(第4版)》第二章。
操作系统为用户提供两个接口:一、各种命令接口;二、系统调用。
一、各种命令接口
用户利用这些操作命令来组织和控制作业的执行或管理计算机系统。操作系统的命令控制界面就是用来组织和控制作业的执行的。主要有两种方式:脱机方式、联机方式。
脱机方式,由系统按照作业说明书或命令文件中所规定的顺序控制作业,在执行过程中用户无法干涉;联机控制方式不要求作业说明书,只为用户提供一组通过键盘和其他操作方式输入的命令。交互控制程序执行和管理计算机系统。
二、系统调用
1、大致可以分为如下几类:
设备管理、文件管理、进程管理、进程通信、存储管理、线程管理。
2、如何使用操作系统内部的程序或数据?
为了提供操作系统调用功能,操作系统内必须有事先编制好的实现这些功能的子程序或过程。同时,为了保证操作系统程序不被用户程序破坏,一般操作系统都不允许用户程序直接访问操作系统的系统程序和数据。
那如何使用操作系统内部的程序或数据?这需要一个类似于硬件中断的处理机制。当用户使用操作系统时,产生一条响应的指令,处理机在执行到该指令时发生中断,并发出有关信号给该处理机制。该处理机制在收到了处理机发来的信号后,启动相关的处理程序去完成系统调用所要求的功能。在系统中为控制系统调用服务的处理机称为陷阱(trap)处理机构。在系统调用处理结束之后,用户程序还需利用系统调用返回结果继续执行,因此,在进入系统调用处理之前,陷阱处理机构还需保存处理机现场。再者,在系统调用处理结束之后,陷阱机构还要恢复处理机现场。
操作系统中,处理机的现场一般被保护在特定的内存区或寄存器中。
3、系统调用的另一个问题是参数传递问题。
一是由陷阱指令自带参数(陷阱指令的长度总有限);二通过使用有关通用寄存器来传递参数,长度也是比较短;因此,在较多的系统中,大多在内存中开辟专用堆栈区来传递参数。
在系统发生访管中断或陷阱中断时,为了不让用户不直接访问系统程序,反映处理机硬件状态的处理机状态字(PSW)中的相应为要从用户执行模式转变为系统执行模式。这一转换在发生访管中断时由硬件自动实现。