1、系统调用的作用?系统调用是应用程序获得操作系统服务的唯一途径。内核的主体是系统调用的集合,内核可以看成是特殊的公共子程序。操作系统提供的程序接口(2)POSIX(Portable Operating System Interface for Computer Environment)标准 API和库函数库函数和系统调用操作系统提供的程序接口(3)应用程序、库函数、系统调用的调用关系链调fprintf()应用程序C函数库内核系统调用处理程序C库中的fprintf()封装程序C库中的write()封装程序用户态核心态 sys_write()内核函数操作系统提供的用户接口(4)UNIX/Linux系
2、统程序、库函数、系统调用分层关系 用户 操作系统(进程管理、存储管理、文件管理、设备管理等)标准库函数(打开、关闭、读、写、创建、撤销等)标准系统程序(实用程序)(汇编、编译、编辑、Shell)用户接口库函数 接口系统调用 接口 硬件(处理器、存储器、磁盘、打印机、终端等)用户态核心态操作系统提供的操作接口操作接口又称作业级接口,操作系统为用户提供的操作控制计算机工作和提供服务手段的集合,通常有操作控制命令、图形操作界面(命令)、以及批处理系统提供的作业控制语言(命令)等等。系统调用的分类 (1)进程和作业管理;(2)文件操作;(3)设备管理;(4)主存管理;(5)信息维护;(6)通信。系统调
3、用的实现要点 一、是编写系统调用处理程序;二、是设计一张系统调用入口地址表,每个入口地址都指向一个系统调用的处理程序,有的系统还包含系统调用自带参数的个数;三、是陷入处理机制需开辟现场保护区,以保存发生系统调用时的处理器现场。系统调用的处理过程 System Call用户程序A0SUB0SUB1SUBiSUBnA1AiAn系统调用处理子程序取系统功能号找入口地址表相应入口地址结束处理恢复现场A0A1AiAn保护CPU现场陷入指令系统调用陷入机构入口地址表系统调用的参数传递一、是由访管指令或陷入指令自带参数(有直接参数、间接参数之分)。二、是通过CPU的通用寄存器传递参数,或在主存的一个块或表中
4、存放参数,其首地址送入寄存器,实现参数传递。三、是在主存中开辟专用堆栈区域传递参数。系统调用与函数调用的区别1)调用形式和实现方式不同。2)被调用代码的位置不同。3)提供方式不同。1.3.3作业接口与操作命令 操作接口又称作业级接口,是操作系统为用户操作控制计算机工作和提供服务的手段集合,通常可借助操作控制命令、图形操作界面(命令)、以及作业控制语言(命令)等来实现。作业控制方式联机作业控制方式与操作控制命令脱机作业控制方式与作业控制语言联机用户接口操作控制命令 命令行方式 批命令方式 图形化方式脱机用户接口作业控制语言 批处理接口:作业控制语言JCL(Job Control Language
5、)。用户使用JCL语句,把运行意图(需要对作业进行的控制和干予)写在作业说明书上,将作业连同作业说明书一起提交给系统。批处理作业的调度执行过程,系统调用、JCL语句处理程序或命令解释程序。IBM 370使用JCL处理批作业的例子/HAROLD JOB,WILSON,MSGLEVEL=(2,0),PRTY=6,CLASS=B/COMP EXEC PGM=IEYFORT/SYSPRINT DD SYSOUT=A/SYSIN DD*/*/GO EXEC PGM=FORTLINK/SYSPRINT DD SYSOUT=A/FTOTF001 DD UNIT=SYSCP/GO SYSIN DD*/*/支撑程序(1)支撑程序程序又称标准程序或实用程序(Utilities),虽非操作系统的核心,但却必不可少,为用户程序的开发、调试、执行、和维护解决带有共性的问题或执行公共操作。操作系统以外部操作命令形式向用户提供系统程序。它的功能和性能很大程度上反映了操作系统的功能和性能。支撑程序(2)支撑程序的分类:文件管理 状态信息 程序设计语言支持 程序的装入和执行支持 通信 其它软件工具
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1