- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
掌握操作系统的程序接口
掌握系统调用的实现机制
掌握系统调用的实现要点
掌握系统调用的实现流程计算机操作系统1计算机与操作系统-1.3深入观察操作系统1.3.5程序接口的视角
操作系统的程序接口操作系统的程序接口:操作系统为程序运行扩充的编程接口系统调用:操作系统实现的完成某种特定功能的过程;为所有运行程序提供访问操作系统的接口POSIX支持
系统调用的实现机制陷入处理机制:计算机系统中控制和实现系统调用的机制陷入指令:也称访管指令,或异常中断指令,计算机系统为实现系统调用而引起处理器中断的指令每个系统调用都事先规定了编号,并在约定寄存器中规定了传递给内部处理程序的参数
系统调用的实现要点编写系统调用处理程序设计一张系统调用入口地址表,每个入口地址指向一个系统调用的处理程序,并包含系统调用自带参数的个数陷入处理机制需开辟现场保护区,以保存发生系统调用时的处理器现场
系统调用的实现流程系统调用i用户程序A0SUB0SUB1SUBiSUBnA1AiAn……系统调用处理子程序取系统功能号查入口地址表获得入口地址入口地址表A0A1…Ai…An保护CPU现场系统调用陷入机制陷入指令结束处理恢复现场
Linux系统调用执行流程应用程序intmain(){…read(…);…}C库展开intread{…int$0x80;…}中断处理entry(system_call)push%eax;SAVE_ALL…callsys_read3…entry(ret_from_sys_call)…restoreall;}内核函数asmlinkagelongss_read3(){…return}用户态核心态
操作系统提供的程序接口(5)
应用程序、库函数、系统调用的调用关系链调用fprintf()应用程序C函数库内核系统调用处理程序C库中的fprintf()封装程序C库中的write()封装程序用户态核心态sys_write()内核函数
StandardCLibraryExampleCprograminvokingprintf()librarycall,whichcallswrite()systemcall
StepsinmakingsystemcallreadMordernOperatingSystems(4thedition)pp.52Chap1Fig.1-17
API–SystemCall–OSRelationship
两个空间与模式切换
13CPUSwitchFromProcesstoProcess
您可能关注的文档
最近下载
- 六年级科学试卷分析(5篇).pdf VIP
- 【餐饮招商手册】珑嘉巷火锅招商加盟品牌手册.pptx
- 外研版小学英语一年级起点五年级上册期末试题.pdf
- 医院事业单位招聘结构化面试真题(100题)(含答案).pdf VIP
- 2023年重庆市从优秀村(社区)干部中考试录用公务员02笔试参考题库答案详解.docx VIP
- 2024年学生军训基本技能及理论知识考试题库(附含答案).pdf VIP
- 危险品规范化管理台账管理.pptx VIP
- 针刺伤预防与处理——中华护理学会团体标准解读.pptx
- 硫化氢防护安全管理办法(中国石化安〔2017〕644号 ).pdf
- 路面大修养护工程—重点、关键、和难点工程的施工方案(技术标).docx
文档评论(0)