操作系统提供的基本服务.ppt

操作系统提供的基本服务.ppt

ID:49938478

大小:109.01 KB

页数:18页

时间:2020-03-04

操作系统提供的基本服务.ppt_第1页
操作系统提供的基本服务.ppt_第2页
操作系统提供的基本服务.ppt_第3页
操作系统提供的基本服务.ppt_第4页
操作系统提供的基本服务.ppt_第5页
资源描述:

《操作系统提供的基本服务.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、操作系统提供的基本服务操作系统提供的基本服务创建程序执行程序数据I/O信息存取通信服务错误检测和处理此外,还具有另外一些功能:资源分配、统计,保护8/30/2021操作系统提供的用户接口操作系统的服务和功能可以用不同方式提供给用户,最基本的方式有两种:程序接口——系统调用(SystemCall)由操作系统实现的完成某种特定功能的过程;它是程序与操作系统的接口操作接口——系统程序(SystemProgram)操作系统为用户提供的解决使用计算机和计算共性问题的所有服务的集合;它可以看作是操作系统提供给用户的功能级接口8/30/2021系统调用系

2、统调用的分类进程和作业管理文件操作设备操作信息维护通信8/30/2021系统调用的实现陷入处理机制(异常处理机制):操作系统中为控制和实现系统调用的机制由于系统调用而引起处理器中断的指令称访管指令(Supervisor),陷入指令(Trap)或异常中断指令(Interrupt)每个系统调用都事先规定了编号,还附带有传递给内部处理程序的参数8/30/2021系统调用的实现要点编写系统调用处理程序设计一张系统调用入口地址表,每个入口地址指向一个系统调用的处理程序,有的系统还包含系统调用自带参数的个数陷入处理机制需开辟现场保护区,以保存发生系统调

3、用时的处理器现场8/30/2021系统调用的处理过程SystemCall用户程序A0SUB0SUB1SUBiSUBnA1AiAn……系统调用处理子程序取系统功能号找入口地址表相应入口地址结束处理恢复现场入口地址表A0A1…Ai…An保护CPU现场系统调用陷入机构陷入指令8/30/2021系统调用的参数传递访管指令或陷入指令自带参数指令之后的若干单元存放参数,称直接参数指令之后的若干单元存放参数的地址,称间接参数通过通用寄存器传递参数通用寄存器传递参数通用寄存器传递参数地址,在内存的一个块或表中存放参数在内存中开辟专用堆栈区域传递参数8/30

4、/2021传递参数的一种方法操作系统X:参数LOADAddRXSystemCall8X取参数X系统调用8的处理程序寄存器8/30/2021系统调用与过程(函数)调用的区别调用形式:过程(函数)使用一般调用指令,其转向地址是固定不变的,包含在跳转语句中系统调用中不包含处理程序入口,而仅仅提供功能号,按功能号调用被调用代码的位置:过程(函数)调用是一种静态调用,程序和被调代码在同一程序内,经过连接编辑后作为目标代码的一部份;当过程(函数)升级或修改时,必须重新编译连结系统调用是一种动态调用,系统调用的处理代码在调用程序之外(在操作系统中),系统

5、调用处理代码升级或修改时,与调用程序无关8/30/2021系统调用与过程(函数)调用的区别提供方式:过程(函数)往往由编译系统提供,不同编译系统提供的过程(函数)可以不同系统调用由操作系统提供,一旦操作系统设计好,系统调用的功能、种类与数量便固定不变了调用的实现:程序使用一般机器指令转子指令来调用过程(函数),是在用户态运行的程序执行系统调用,是通过中断机构来实现,需要从用户态转变到核心态,在管理状态下运行8/30/2021Linux系统调用Linux有170个系统调用,其系统调用的组成:核心函数:运行在核心态,是实现系统调用功能的(内核)

6、代码,作为操作系统的核心驻留在内存中,是一种共享代码,用C语言书写。它运行在核心态,数据也存放在内核空间,通常它不能使用系统调用,也不能使用应用程序可用的库函数接口函数:是提供给应用程序的API,以库函数形式存在Linux的lib.a中,该库中存放了所有系统调用的接口函数的目标代码,用汇编语言书写。其主要功能是把:系统调用号、入口参数地址传送给相应的核心函数,并使用户态下运行的应用程序陷入核心态8/30/2021Linux系统调用Linux的系统调用号就是系统调用入口表中位置的序号,所有系统调用通过接口函数将系统调用号传给内核,内核转入系统

7、调用控制程序再通过调用号位置来定位核心函数,Linux内核的陷入由0x80(int80h)中断实现系统调用控制程序的主要功能为:取系统调用号根据系统调用号定位核心函数地址根据通用寄存器内容,从用户栈中取入口参数核心函数执行,把结果返回应用程序8/30/2021Linux系统调用入口程序entry.s,是用汇编写的,它包含了系统调用入口地址表,给出了所有系统调用核心函数的名字:ENTRY(sys-call-table).longSYMBOL-NAME(sys-ni-syscall)0.longSYMBOL-NAME(sys-exit)1.lo

8、ngSYMBOL-NAME(sys-fork)2.longSYMBOL-NAME(sys-read)3.longSYMBOL-NAME(sys-write)4.longSYMBO

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。