-操作系统提供的服务和用户接口.ppt_第1页
-操作系统提供的服务和用户接口.ppt_第2页
-操作系统提供的服务和用户接口.ppt_第3页
-操作系统提供的服务和用户接口.ppt_第4页
-操作系统提供的服务和用户接口.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 3操作系统提供的服务和用户接口 1 3 1操作系统提供的基本服务1 3 2操作系统提供的用户接口1 3 3程序接口与系统调用1 3 4操作接口与系统程序 1 3 1操作系统提供的基本服务 创建程序 执行程序 数据I O 信息存取 通信服务 错误检测和处理还具有另外一些功能 资源分配 统计 保护 1 3 2操作系统提供的用户接口 操作系统为用户提供两种接口 程序接口 操作接口 操作系统提供的用户接口 1 用户和操作系统间的两种接口 操作系统提供的用户接口 2 程序接口又称应用编程接口API ApplicationProgrammingInterface 允许运行程序调用操作系统的服务和功能 程序接口由一组系统调用 SystemCall 组成 用户程序使用 系统调用 就可获得操作系统的底层服务 使用或访问系统的各种软硬件资源 操作系统提供的用户接口 3 在程序设计语言 如C语言 中 往往提供与各系统调用对应的库函数 应用程序可通过对应的库函数来使用系统调用 库函数的目的是隐藏访管指令细节 使系统调用更象过程调用 但一般地说 库函数属于用户程序而非系统程序 操作系统提供的用户接口 4 操作系统为用户提供系统调用也出于安全和效率考虑 使得用户态程序不能自由地访问内核关键数据结构或直接访问硬件资源 操作系统提供的用户接口 5 UNIX Linux系统程序 库函数 系统调用的分层关系 操作系统提供的用户接口 6 操作接口又称作业级接口 操作系统为用户提供的操作控制计算机工作和提供服务手段的集合 通常有操作控制命令 图形操作界面 命令 以及批处理系统提供的作业控制语言 命令 等等 操作系统提供的用户接口 7 Windows支持API的三个组件 Kernel包含了多数操作系统函数 如内存管理 进程管理 User集中了窗口管理函数 如窗口创建 撤销 移动 对话等相关函数 GDI提供画图函数 打印函数 Windows将三个组件置于动态链接库DLL中 操作系统提供的用户接口 8 Win32API和UNIX Linux系统调用粗略对应关系 1 3 3程序接口与系统调用系统调用 1 1 系统调用的分类 1 进程和作业管理 2 文件操作 3 设备管理 4 内存管理 5 信息维护 6 通信 系统调用 2 2 系统调用的实现要点 一 是编写系统调用处理程序 二 是设计一张系统调用入口地址表 每个入口地址都指向一个系统调用的处理程序 有的系统还包含系统调用自带参数的个数 三 是陷入处理机制需开辟现场保护区 以保存发生系统调用时的处理器现场 系统调用 3 系统调用的处理过程 系统调用 4 系统调用的参数传递 一是由访管指令或陷入指令自带参数 直接参数间接参数二是通过CPU的通用寄存器传递参数 或在内存的一个块或表中存放参数 其首地址送入寄存器 实现参数传递 三是在内存中开辟专用堆栈区域传递参数 系统调用 5 传递参数的一种方法 系统调用 6 Linux系统调用 Linux系统调用由两部分组成 核心函数是实现系统调用功能的 内核 代码 接口函数是提供给应用程序的API 以库函数形式存在Linux的lib a中 系统调用 7 Linux系统调用入口程序entry s ENTRY sys call table longSYMBOL NAME sys ni syscall 0 longSYMBOL NAME sys exit 1 longSYMBOL NAME sys fork 2 longSYMBOL NAME sys read 3 longSYMBOL NAME sys write 4 longSYMBOL NAME sys open 5 longSYMBOL NAME sys close 6 longSYMBOL NAME sys vfork 190 系统调用 8 Linux系统调用号就是系统调用入口表中位置序号 系统调用通过接口函数将调用号传给内核 内核转入系统调用控制程序再通过调用号位置来定位核心函数 Linux内核的陷入由0 x80 int80h 中断实现 系统调用 9 Linux系统调用控制程序的功能 1 取系统调用号 检验合法性 2 建立调用堆栈 保护现场信息 3 根据系统调用号定位核心函数地址 4 根据通用寄存器内容 从用户栈中取入口参数 5 核心函数执行 把结果返回应用程序 6 执行退栈操作 判别调度程序scheduler是否要被执行 系统调用 10 系统调用与过程 函数 调用的区别 一是调用形式二是被调用代码的位置三是提供方式四是调用的实现 1 3 4操作接口与系统程序 1 操作接口又称作业 或功能 级接口 是操作系统为用户操作控制计算机工作和提供服务的手段的集合 通常可借助操作控制命令 图形操作界面 命令 以及作业控制语言 命令 等来实现 操作接口与系统程序 2 1 作业控制方式操作系统提供联机作业控制方式和脱机作业控制方式两个作业级接口 使用的手段为操作命令 操作控制命令 作业控制语言 命令 联机用户接口 操作控制命令 命令行方式 批命令方式 图形化方式 命令行方式 While TRUE TRUE 1 无限循环 type prompt 输出屏幕提示符 read command command parameters 从键盘读入参数 pid fork 创建子进程 if pid 0 printf unabletofork 输出创建失败信息 continue 继续循环 if pid 0 创建成功 waitpid 1 子进程执行命令 批命令方式 1 在使用操作命令过程中 有时需要连续使用多条命令 有时需要多次重复使用若干条命令 有时需要选择地使用不同命令可用批命令实现 批命令方式 2 批命令实现思想 规定特别的文件扩展名 用户先把一系列命令组织在该文件中 一次建立 多次执行 操作系统支持命令文件使用一套控制子命令 可写出带形式参数的批命令文件 这样的批命令文件可执行不同的命令序列 增强命令接口的处理能力 UNIX的Shell 1 Shell是交互型命令解释程序 也是命令级程序设计语言解释系统 例如 Myrun文件包含 cat 1 显示文件 cc 1 编译源程序 mva out 2 把目标程序改为 2 2 运行 2 执行cshmyrunprog1 cprog 将对源程序prog1 c进行显示和编译 把目标程序改名为prog并运行 UNIX的Shell 2 另一个UNIXShell的例子 从 user user1 fei文件中 利用循环控制语句找出含单词 process thread信息行 其Shell程序feipro为foridogrep i usr usr1 feidone执行cshfeiproprocessthread依次打印出含process和thread的信息行 MS DOS操作系统的批文件 test bat是查找某文件是否存在的批文件 echooffifexist 1gotolab1echo 1notfound gotolab2 lab1echo 1isfound lab2用户键入命令 testwps exe执行批文件 若找到文件显示wps exeisfound 否则显示wps exenotfound 脱机用户接口 作业控制语言 批处理接口 作业控制语言JCL JobControlLanguage 用户使用JCL语句 把运行意图 需要对作业进行的控制和干予 写在作业说明书上 将作业连同作业说明书一起提交给系统 批处理作业的调度执行过程 系统调用JCL语句处理程序或命令解释程序 IBMJCL的一个例子 1 一个需要编译 连结编辑的作业 源程序和数据穿在卡片上 编译 连结编辑的结果需在行式打印机上输出 编译结果要存盘 连结编辑结果还要从穿孔机输出 此作业用JCL语句组织如下 IBMJCL的一个例子 2 HAROLDJOB WILSON MSGLEVEL 2 0 PRTY 6 CLASS b COMPEXECPGM IEYFORT SYSPRINTDDSYSOUT A SYSINDD GOEXECPGM FORTLINK SYSPRINTDDSYSOUT A FTOTF001DDUNIT SYSCP GOSYSINDD 2 命令解释程序 命令解释程序的主要功能是 接受和执行下一条用户从键盘输入的命令 当新的批作业被启动 或新的交互型用户登录时 系统就自动地执行命令解释程序 它负责读入控制卡或命令行 并作出相应解释和执行 命令解释程序实现的两种方式 一种是它自身包含了命令的执行代码 另一种是由专门的 系统程序 实现 自身不含命令处理代码 也不进行处理 仅仅把这条命令对应的命令文件装入内存执行 命令解释程序的处理过程 系统启动命令解释程序 输出命令提示符 等待键盘中断 用户打入命令并按回车换行 申请键盘中断 CPU响应后 控制权交给命令解释程序 它读入命令缓冲区内容 分析命令 接受参数 若为简单命令立即转向命令处理代码执行 否则查找命令处理文件 装入主存 传递参数 将控制权交给其执行 命令处理结束后 再次输出命令提示符 等待下一条命令 3系统程序 1 系统程序又称标准程序或实用程序 Utilities 虽非操作系统的核心 但却必不可少 为用户程序的开发 调试 执行 和维护解决带有共性的问题或执行公共操作 操作系统以外部操作命令形式向用户提供系统程序 它的功能和性能很大程度上反映了操作系统的功能和性能 系统程序 2 系统程序的分类 文件管理 状态信息 程序设计语言支持 程序的装入和执行支持 通信 其它软件工具 UNIX系统调用 系统调用符合可移植操作系统POSIX1003 1标准 每个兼容的UNIX都必须支持它 UNIX的标准系统调用分进程管理 文件管理 设备管理 及状态控制等五十余条 系统调用是软件开发者进入UNIX内核的入口 UNIX标准函数 UNIX提供标准函数 POSIX1003 1标准定义了库过程的集合 组成了标准函数库 其中较重要的是I O库函数 库函数用汇编语言编写 却可以在C语言中调用 例如C程序可通过执行一个Read库过程来实现Read系统调用 标准函数库建立在系统调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论