- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
操作系统提供的基本服务
操作系统提供的基本服务操作系统提供的基本服务创建程序执行程序数据I/O信息存取错误检测和处理此外,还具有另外一些功能:资源分配、统计,保护11/6/2024
操作系统提供的用户接口操作系统的服务和功能可以用不同方式提供给用户,最基本的方式有两种:程序接口——系统调用(SystemCall)由操作系统实现的完成某种特定功能的过程;它是程序与操作系统的接口操作接口——系统程序(SystemProgram)操作系统为用户提供的解决使用计算机和计算共性问题的所有服务的集合;它可以看作是操作系统提供给用户的功能级接口11/6/2024
系统调用系统调用的分类进程和作业管理文件操作设备操作信息维护通信11/6/2024
系统调用的实现陷入处理机制(异常处理机制):操作系统中为控制和实现系统调用的机制由于系统调用而引起处理器中断的指令称访管指令(Supervisor),陷入指令(Trap)或异常中断指令(Interrupt)每个系统调用都事先规定了编号,还附带有传递给内部处理程序的参数11/6/2024
系统调用的实现要点编写系统调用处理程序设计一张系统调用入口地址表,每个入口地址指向一个系统调用的处理程序,有的系统还包含系统调用自带参数的个数陷入处理机制需开辟现场保护区,以保存发生系统调用时的处理器现场11/6/2024
系统调用的处理过程SystemCall用户程序A0SUB0SUB1SUBiSUBnA1AiAn……系统调用处理子程序取系统功能号找入口地址表相应入口地址结束处理恢复现场入口地址表A0A1…Ai…An保护CPU现场系统调用陷入机构陷入指令11/6/2024
系统调用的参数传递访管指令或陷入指令自带参数指令之后的若干单元存放参数,称直接参数指令之后的若干单元存放参数的地址,称间接参数通过通用寄存器传递参数通用寄存器传递参数通用寄存器传递参数地址,在内存的一个块或表中存放参数在内存中开辟专用堆栈区域传递参数11/6/2024
传递参数的一种方法操作系统X:参数LOADAddRXSystemCall8X取参数X系统调用8的处理程序寄存器11/6/2024
系统调用与过程(函数)调用的区别调用形式:过程(函数)使用一般调用指令,其转向地址是固定不变的,包含在跳转语句中系统调用中不包含处理程序入口,而仅仅提供功能号,按功能号调用被调用代码的位置:过程(函数)调用是一种静态调用,程序和被调代码在同一程序内,经过连接编辑后作为目标代码的一部份;当过程(函数)升级或修改时,必须重新编译连结系统调用是一种动态调用,系统调用的处理代码在调用程序之外(在操作系统中),系统调用处理代码升级或修改时,与调用程序无关11/6/2024
系统调用与过程(函数)调用的区别提供方式:过程(函数)往往由编译系统提供,不同编译系统提供的过程(函数)可以不同系统调用由操作系统提供,一旦操作系统设计好,系统调用的功能、种类与数量便固定不变了调用的实现:程序使用一般机器指令转子指令来调用过程(函数),是在用户态运行的程序执行系统调用,是通过中断机构来实现,需要从用户态转变到核心态,在管理状态下运行11/6/2024
Linux系统调用Linux有170个系统调用,其系统调用的组成:核心函数:运行在核心态,是实现系统调用功能的(内核)代码,作为操作系统的核心驻留在内存中,是一种共享代码,用C语言书写。它运行在核心态,数据也存放在内核空间,通常它不能使用系统调用,也不能使用应用程序可用的库函数接口函数:是提供给应用程序的API,以库函数形式存在Linux的lib.a中,该库中存放了所有系统调用的接口函数的目标代码,用汇编语言书写。其主要功能是把:系统调用号、入口参数地址传送给相应的核心函数,并使用户态下运行的应用程序陷入核心态11/6/2024
Linux系统调用Linux的系统调用号就是系统调用入口表中位置的序号,所有系统调用通过接口函数将系统调用号传给内核,内核转入系统调用控制程序再通过调用号位置来定位核心函数,Linux内核的陷入由0x80(int80h)中断实现系统调用控制程序的主要功能为:取系统调用号根据系统调用号定位核心函数地址根据通用寄存器内容,从用户栈中取入口参数核心函数执行,把结果返回应用程序11/6/2024
Linux系统调用入口程序entry.s,是用汇编写的,它包含了系统调用入口地址表,给出了所有系统调用核心函数的名字:ENTRY(sys-call-table).longSYMBOL-NAME(sys-ni-syscall)0.longSYMBOL-NAME(sys-exit)
您可能关注的文档
- 论生产系统的合理布置.pptx
- 科技对营销的影响和意义.pptx
- 探讨内地信贷风险管理实务讲座.pptx
- 工厂流水线加工生产作业计划.pptx
- 超市采购高手的谈判连环计.pptx
- 《聚磷酸铵及聚苯胺在环氧涂层中的缓蚀机理研究》.docx
- 《玻璃纤维混掺磷石膏墙体材料应用研究》.docx
- 2025云南省中职职教高考职业技能电工技术类专业理模拟C.doc
- 2025云南省中职职教高考职业技能电工技术类专业理模拟B.doc
- 2025云南省中职职教高考职业技能电工技术类专业理模拟D.doc
- 甘肃省酒泉市金塔县等4地2024-2025学年高一上学期11月期中考试数学试题【含解析】.pdf
- 浙江省宁波市余姚中学2024-2025学年度高二上学期10月月考数学试题【含解析】.docx
- 河南省商开大联考2022-2023学年高一上学期期中考试数学试卷【含解析】.pdf
- 重庆市开州中学2024-2025学年高二上学期第一次月考数学试题【含解析】.docx
- 云南省昆明仁泽中学2024-2025学年度高二上学期10月月考数学试卷【含解析】.docx
- 《环境文本数据加工处理技术规范》.pdf
- 《区域大气环境承载力监测预警技术规范》.pdf
- 《环境空气温室气体光声光谱法连续自动监测仪技术要求及检测方法》.pdf
- 《美丽城市建设数据分级分类规范》.pdf
- 《大数据优化区域空气质量模拟排放输入数据技术规范》.pdf
文档评论(0)