- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.4 系统调用 3.4.1 系统调用简介 系统调用,是用户在程序中调用操作系统所提供的一些子功能 这是特殊的过程调用,由特殊的机器指令实现 这个指令还将系统转入管态 系统调用程序是一个低级过程,只能由汇编语言直接访问 系统调用是操作系统提供给编程人员的唯一接口 利用系统调用,动态请求和释放系统资源,完成与硬件相关的工作以及控制程序的执行等 每个操作系统都提供几百种系统调用,包括:外存文件与目录的读写,各种I/O设备的使用,在程序中启动另一个程序,查询和统计系统资源使用情况等等 实际上系统调用语句本身是硬件提供的(机器指令),但其所调用的功能是操作系统提供的 每种机器的机器指令集中都有一条系统调用指令(访管指令) 汇编程序例子:打印5个字符 MOVE AX, PARA1 MOVE BX, PARA2 INT 21H 系统调用的例子 高级语言例子:打印5个字符 char buff[4]=“abcde”; for(i=4;i=0;i--) print(buff[i]); . . . . . . i=4 printf(. . .) i++ (1)源程序段 INT . . . . . . (2)printf目标代码 INT i=4 i++ . . . . . . . . . . . . IN OUT . . . (3)程序段编译产生的 可执行代码 (4)操作系统 内部代码 嵌入后 该系统调用的操作系统内部实现代码 . . . 功能号 地址 显 示 打 印 读文件 . . . . . . . . . OS的系统调用分支表 OS代码 显示 打印 读文件 OS INT . . . . . . . . . . . . . . . . . . 用户程序 系统调用的分类 将系统的功能分为两部分: 系统自身所需要的 作为服务提供给用户的 OS的系统调用: 进程控制类系统调用 文件操作类系统调用 进程通信类系统调用 设备管理类系统调用 信息维护类系统调用 3.4.2 系统调用的处理过程 为了保证OS不被用户程序破坏 不允许用户程序访问OS的系统程序和数据 那么,怎样得到系统服务的呢? 需要有一个类似于硬件中断处理的处理机构 当用户使用操作系统调用时,产生一条相应的指令 处理机在执行到该指令时发生相应的中断,并发出有关的信号给该处理机构 该处理机构在收到了处理机发来的信号后,启动相关的处理程序去完成该系统调用所要求的功能 system call 入口地址表 (1)保护处理现场 (2)取系统调用功能号并寻找子程序入口 (3)返回 A0 A1 Ai An A0 A1 Ai An Sub0 Sub1 Subi Subn 用户程序 陷入处理机构 系统子程序 系统调用的处理过程 3.4.3 Win32 应用程序接口 在Windows中,定义了一系列程序(应用程序接口Win32 API) ,提供OS服务 这个接口(部分)支持Win95 以后的Windows版本Win32 API调用的种类非常多,以千计算 在Windows中不可能分辨出哪些是系统调用(被内核执行),哪些是用户空间的库调用(不涉及硬件) 下列C语言库函数哪些涉及系统调用() A sin() B printf() C abs() D sqrt() E getch( ) 总结 什么是作业? 作业的组成和标识? 作业的输入方式及各自特点? 命令控制界面的类别? 系统调用的原理? 第2章 操作系统用户界面 作业的基本概念:作业、作业步、作业流 批处理操作系统的作业管理 交互式系统的命令控制界面 系统调用 思考 什么是作业? 什么是命令控制界面? 什么是系统调用? 3.1 作业的基本概念 1.作业 用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称 2. 作业步 一个作业可划分成若干部分,称为一个作业步 典型的作业控制过程: “编译”、“连接装配”、“运行” 3. 作业流 典型的作业步 编译 连接装配 运行 目标 程序 段 目标 程序 源程序 输入数据 子程序 库函数 动态库函数 计算结果 编辑(输入,修改)源程序 编译 连接 运行 成功 编辑(输入,修改)另一源程序 是 否 典型的作业流 一个作业 另一个作业 3.2 批处理系统的作业管
您可能关注的文档
最近下载
- 基层儿科医务人员服务能力提升学习班答案-2024华医网继续教育答案.docx VIP
- 中学生素质发展评价手册42p.pdf VIP
- 《反对党八股》名师教学课件 (1).pptx VIP
- 薛法根:《风娃娃》(二年级).docx
- 40篇英语短文搞定高考3500个单词(全部含翻译-重点解析).doc
- SY∕T 4113.7-2020 管道防腐层性能试验方法 第7部分:厚度测试.pdf
- 阿里全球数学竞赛姜萍成绩造假PPT课件.pptx VIP
- FM知识考试试题-必做经典大题.pdf
- 旅游管理职业生涯规划.pdf
- 江苏省南京市2025届高三零模作文“点外卖”与“送外卖”导写(真题呈现+审题立意+素材积累+写作示例+考场范文).docx VIP
文档评论(0)