操作系统提供的服务和用户接口课件.ppt

操作系统提供的服务和用户接口课件.ppt

ID:57016380

大小:1.07 MB

页数:27页

时间:2020-07-26

操作系统提供的服务和用户接口课件.ppt_第1页
操作系统提供的服务和用户接口课件.ppt_第2页
操作系统提供的服务和用户接口课件.ppt_第3页
操作系统提供的服务和用户接口课件.ppt_第4页
操作系统提供的服务和用户接口课件.ppt_第5页
资源描述:

《操作系统提供的服务和用户接口课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、教学目标让学生了解操作系统提供的服务和接口让学生深刻理解系统调用的概念、作用、实现要点及处理过程教学重点系统调用的概念和作用系统调用的实现要点及处理过程系统调用与API、库函数的关系教学难点系统调用的实现原理系统调用与API、库函数的关系1.3操作系统提供的服务和 用户接口1.3.1基本服务和用户接口1.3.2程序接口与系统调用1.3.3作业接口与系统程序1.3操作系统提供的服务和 用户接口•创建程序•执行程序•数据I/O•信息存取•通信服务•错误检测和处理还具有另外一些功能:资源分配,统计,保护。1.3.1操作系统提供的基本服务1.3.2程序接口与系统调用系统调用(程

2、序接口)操作命令操作系统裸机应用程序系统程序(作业接口)什么是系统调用?系统调用的作用?系统调用是应用程序获得操作系统服务的唯一途径。内核的主体是系统调用的集合,内核可以看成是特殊的公共子程序。操作系统提供的程序接口(1)操作系统的功能通过一组称为系统调用(systemcall)的接口呈现给用户,内核提供一系列实现预定功能的内核函数,系统调用把应用程序的请求传达给内核,内核调用对应的内核函数完成请求所需处理后,再将处理结果返回给应用程序。什么是系统调用?(2)系统调用是一种中介角色,把用户与硬件隔离开来,应用程序通过系统调用才能请求系统服务和使用系统资源,其作用有:一是

3、内核可基于权限和规则对资源访问进行裁决,保证系统的安全性;二是系统调用封装资源抽象,提供一致性接口,避免用户使用资源时可能发生的错误,且使编程方便效率高。系统调用的作用(3)应用程序能直接使用系统调用吗?POSIX(PortableOperatingSystemInterfaceforComputerEnvironment)标准API和库函数库函数和系统调用操作系统提供的程序接口(4)API是一个函数定义,说明如何获得一个给定服务。UNIX/Linux为每个系统调用在标准C函数库中构造具有相同名字的封装函数,由它来屏蔽下层的复杂性,负责把操作系统的服务接口—系统调用,封

4、装成应用程序能够直接使用的API。应用程序采用标准C调用序列来调用封装函数,封装函数又按系统所要求的形式和方法传递参数,执行访管指令,调用内核相应的内核函数。API和库函数API由对应封装函数(库函数)定义与实现。某些库函数与系统调用一一对应(如open())某些库函数需要调用多个系统调用。某些库函数需要调用系统调用,但仅是其部分工作(如fprintf())。某些库函数与系统调用无关(如strcpy())。Windows的API与UNIX/Linux的系统调用。UNIX7-50个,SVR4-120个,Linux-200多个系统调用。Windows的API有几千个。API

5、的实现应用程序(C程序)执行写操作,rw=write(fd,buf,count)该库函数编译后形成系统调用,trap4参数1参数2参数3执行trap时,经中断系统从用户态进入内核,找到write()入口地址执行,服务结束后控制返回发出系统调用的程序。系统调用的形式从应用程序使用角度来看,库函数与系统调用没有差别。从实现的角度来看,两者有重大区别。使用库函数的好处是隐藏访管指令细节,使系统调用更像函数调用,对用户隐蔽系统调用,使得在改动内核时不影响应用程序的正确性。库函数属于应用程序,在用户态运行,系统调用属系统程序,在核心态运行,如果需要的话,用户可以替换库函数,但是通

6、常却不能替换系统调用。库函数与系统调用的联系和差别操作系统提供的程序接口(5)应用程序、库函数、系统调用的调用关系链调用fprintf()应用程序C函数库内核系统调用处理程序C库中的fprintf()封装程序C库中的write()封装程序用户态核心态sys_write()内核函数操作系统提供的用户接口(6)UNIX/Linux系统程序、库函数、系统调用分层关系用户操作系统(进程管理、存储管理、文件管理、设备管理等)标准库函数(打开、关闭、读、写、创建、撤销等)标准系统程序(实用程序)(汇编、编译、编辑、Shell等)用户接口库函数接口系统调用接口硬件(处理器、存储器、磁

7、盘、打印机、终端等)用户态核心态(1)进程和作业管理:(2)文件操作:(3)设备管理:(4)主存管理:(5)信息维护:(6)通信:系统调用的分类Win32API和UNIX/Linux系统调用对应关系UNIX/LinuxWin32说明forkCreatProcess创建进程waitpidWaitForSingleObject等待进程终止open/closeCreatFile/CloseHandle创建或打开文件/关闭文件read/writeReadFile/WriteFile读/写文件lseekSetFilePointer移动文件指针mkd

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

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

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