OSS-03-操作系统用户接口
18、作业:计算机系统按指定步骤对初始数据进行处理并得到计算结果的加工工作
作业步 :加工工作中的一个步骤称为作业步。
作业处理步骤:
1)编辑:建立一个新文件,或对已有的文件中的错误进行修改。
2)编译:将源程序翻译成浮动的目标代码。
3)连接:主程序和其他所需要的子程序和例行程序连接装配在一起,使之成为一个可执行的、完整的主存映像文件。
4)运行:将主存映像文件调入主存,并启动运行,最后得出计算结果。
四个作业步是相互关联、顺序执行的,具体表现为:
1、每个作业步运行的结果产生下一个作业步所需要的文件;
2、一个作业步能否正确地执行,依赖于前一个作业步是否成功地完成
编译除了生成目标代码,还有内部符号表(可被其他程序调用的入口点)和外部调用表(需要调用的外部模块名)
连接是确定本模块和其他所需要的目标模块之间的调用关系
19、静态连接:将所有的外部调用函数都连接到目标文件中形成一个完整的主存映像文件。
动态链接:将连接工作延迟到程序运行的时候进行,所需要的支持是动态链接库(DDL)
动态连接不需要将外部函数链接到目标文件中。而是在应用程序中需要调用外部函数的地方作记录,并说明要使用的外部函数名和引用入口号。
———— 形成函数调用链表
当 Windows的装载程序将应用程序和DLL装入主存后,装载程序会遍历函数调用链表,将DLL中函数在主存的入口(段:偏移)填入链表中的每个结点。
20、操作系统的用户接口:
[if !supportLists]1、[endif]操作接口(操作命令):用户使用这个操作界面来组织工作流程和控制程序的运行。分类:作业控制语言 键盘命令 图形界面
[if !supportLists]2、[endif]程序接口(系统功能调用):用户程序在其运行过程中,使用系统功能调用来请求操作系统的服务
实例操作系统提供的用户界面
MS-DOS —— 键盘命令、系统功能调用
Windows ——图形用户界面、系统功能调用
Linux (UNIX) —— 键盘命令(XWindow)、系统功能调用
21、系统功能调用
用户程序 调用 操作系统例行子程序的方式:访管方式
采用统一的调用方式---访问管理程序来实现对这些功能调用
系统功能调用是操作系统提供的程序接口,是操作系统命令集中的一部分,软件实现
访管指令是一条机器指令,裸机提供,硬件实现
联系:每一个带有确定功能号的访管指令对应一条操作系统的系统功能调用
22、系统调用的实现:
22、访管中断:当处理机执行到访管指令时就发生中断,该中断称为访管中断,它表示正在运行的程序对操作系统的某种需求。
显式调用 直接使用OS内核提供的系统调用;需要一定的低级语言支持。
隐式调用 API函数实现;由标准C库函数实现
隐式调用代码中没有加载DLL,显式加载DLL
显式调用