ch1-1.3操作系统提供的服务和用户接口

ch1-1.3操作系统提供的服务和用户接口

ID:21254256

大小:289.00 KB

页数:43页

时间:2018-10-20

ch1-1.3操作系统提供的服务和用户接口_第1页
ch1-1.3操作系统提供的服务和用户接口_第2页
ch1-1.3操作系统提供的服务和用户接口_第3页
ch1-1.3操作系统提供的服务和用户接口_第4页
ch1-1.3操作系统提供的服务和用户接口_第5页
资源描述:

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

1、1.3操作系统提供的服务和用户接口1.3.1操作系统提供的基本服务1.3.2操作系统提供的用户接口1.3.3程序接口与系统调用1.3.4操作接口与系统程序1.3.1操作系统提供的基本服务•创建程序•执行程序•数据I/O•信息存取•通信服务•错误检测和处理还具有另外一些功能:资源分配,统计,保护。1.3.2操作系统提供的用户接口操作系统为用户提供两种接口:•程序接口•操作接口操作系统提供的用户接口(1)用户和操作系统间的两种接口系统调用操作命令或JCL操作系统裸机(操作接口)(程序接口)操作系统提供的用户接口(2)程序接口又称应用编程接口API(ApplicationP

2、rogrammingInterface),允许运行程序调用操作系统的服务和功能。程序接口由一组系统调用(SystemCall))组成,用户程序使用“系统调用”就可获得操作系统的底层服务,使用或访问系统的各种软硬件资源。操作系统提供的用户接口(3)在程序设计语言(如C语言)中,往往提供与各系统调用对应的库函数,应用程序可通过对应的库函数来使用系统调用,库函数的目的是隐藏访管指令细节,使系统调用更象过程调用,但一般地说,库函数属于用户程序而非系统程序。操作系统提供的用户接口(4)操作系统为用户提供系统调用也出于安全和效率考虑,使得用户态程序不能自由地访问内核关键数据结构或

3、直接访问硬件资源。操作系统提供的用户接口(5)UNIX/Linux系统程序、库函数、系统调用的分层关系操作系统(进程管理、存储管理、文件管理、设备管理等)标准库函数(打开、关闭、读、写、创建、撤销等)标准系统程序(实用程序)(汇编、编译、编辑、Shell等)用户用户接口库函数接口系统调用接口硬件(处理器、存储器、磁盘、打印机、终端等)用户态核心态操作系统提供的用户接口(6)操作接口又称作业级接口,操作系统为用户提供的操作控制计算机工作和提供服务手段的集合,通常有操作控制命令、图形操作界面(命令)、以及批处理系统提供的作业控制语言(命令)等等。操作系统提供的用户接口(7

4、)Windows支持API的三个组件:•Kernel包含了多数操作系统函数,如内存管理、进程管理;•User集中了窗口管理函数,如窗口创建、撤销、移动、对话等相关函数;•GDI提供画图函数、打印函数。Windows将三个组件置于动态链接库DLL中。操作系统提供的用户接口(8)Win32API和UNIX/Linux系统调用粗略对应关系UNIX/LinuxWin32说明forkCreatProcess创建进程waitpidWaitForSingleObject等待进程终止open/closeCreatFile/CloseHandle创建或打开/关闭文件read/write

5、ReadFile/WriteFile读/写文件lseekSetFilePointer移动文件指针mkdir/rmdirCreat/RemoveDirectory建立/删除目录statGetFileAttributesEx获得文件属性1.3.3程序接口与系统调用系统调用(1)1.系统调用的分类(1)进程和作业管理:(2)文件操作:(3)设备管理:(4)内存管理:(5)信息维护:(6)通信:系统调用(2)2.系统调用的实现要点一.是编写系统调用处理程序;二.是设计一张系统调用入口地址表,每个入口地址都指向一个系统调用的处理程序,有的系统还包含系统调用自带参数的个数;三.是

6、陷入处理机制需开辟现场保护区,以保存发生系统调用时的处理器现场。系统调用(3)系统调用的处理过程SystemCall用户程序A0SUB0SUB1SUBiSUBnA1AiAn……系统调用处理子程序取系统功能号找入口地址表相应入口地址结束处理恢复现场A0A1…Ai…An保护CPU现场陷入指令系统调用陷入机构入口地址表系统调用(4)系统调用的参数传递一是由访管指令或陷入指令自带参数,直接参数间接参数二是通过CPU的通用寄存器传递参数,或在内存的一个块或表中存放参数,其首地址送入寄存器,实现参数传递。三是在内存中开辟专用堆栈区域传递参数。系统调用(5)传递参数的一种方法系统调

7、用8的处理子程序操作系统X:参数LOADAddRXSystemCall8X从表X取参数寄存器系统调用(6)Linux系统调用Linux系统调用由两部分组成:•核心函数是实现系统调用功能的(内核)代码。•接口函数是提供给应用程序的API,以库函数形式存在Linux的lib.a中。系统调用(7)Linux系统调用入口程序entry.sENTRY(sys-call-table).longSYMBOL-NAME(sys-ni-syscall)0.longSYMBOL-NAME(sys-exit)1.longSYMBOL-NAME(sys-fork)2.lon

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

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

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