操作系统结构.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 操作系统结构 操作系统与用户接口 系统调用 操作系统结构 操作系统特征 命令解释系统 命令解释系统(外壳,shell):是OS的重要组件之一,是用户和OS的接口. 作用:读入用户的输入或者文件中的命令,并运行它(们);通常转换为一个或者多个系统调用 位置: 有的是在内核中 有的如MS-DOS和Unix,则将它作为一个特殊程序(它易变,因此更灵活),当一个作业开始或者分时系统中用户登陆时,它运行 命令解释系统的工作流程 首先读入键盘缓冲区中的命令,判别其文件名、扩展名及驱动器名是否正确。 若发现有错,在给出出错信息后返回; 若无错,再识别该命令: 基于表格的方法: 从对应表项中获得该命令处理程序的入口地址,然后把控制权交给该处理程序去执行该命令。 表格其中的每一表目都是由命令名及其处理程序的入口地址两项所组成。 3.1 系统调用-功能 系统调用(SYSTEM CALL) : OS核心中都有一组实现系统功能的过程(子程序),系统调用就是对上述过程的调用。编程人员利用系统调用,向OS提出服务请求,由OS代为完成。 每个系统都有上百种系统调用,涉及进程、文件和设备控制等。 系统调用运行于核心态;而普通的函数调用由函数库或用户自己提供,运行于用户态。 3.1 系统调用-举例 3.1 系统调用-实现过程 当编程人员给定了系统调用名和参数之后,由一个类似于硬件中断处理的中断处理机构完成-陷入处理机构。它是在系统中为控制系统调用服务的机构。 当用户使用系统调用时,产生一条相应的指令(陷入指令,trap指令),CPU在执行到该指令时发生相应的中断,发出有关信号给该处理机构,并启动相应的处理程序来完成该系统调用所要求的功能。 陷入指令(或称访管指令):由于系统调用引起处理机中断的指令 在陷入中断发生时,从用户态-系统态。这一转换在发生访管中断时由硬件自动实现。 3.1 系统调用-实现过程 系统调用与返回 3.1 系统调用-实现过程 设置系统调用号和参数。 调用号作为指令的一部分(如早期UNIX),或装入到特定寄存器里(如:DOS的 int 21H,AH=调用号。) 参数装入到特定寄存器里,或内存区域 执行trap(INT)指令:入口的一般性处理,查入口跳转表,跳转到相应功能的过程。 保护CPU现场(将PC与PSW入栈),改变CPU执行状态(处理机状态字PSW切换,地址空间表切换) 将参数取到核心空间 执行操作系统内部代码; 执行iret指令:将执行结果装入适当位置(类似于参数带入),恢复CPU现场(以栈顶内容置PSW和PC)。 现在的系统提供了许多库函数,用户编程时也许就是用上层的库函数,而不是直接使用系统调用。 Win32 API:如微软提供了一个Win32 API函数集合,它实质上就是一些库函数。在这些函数执行时,往往会再去调用系统的系统调用。该库函数提供了更易用的界面。因此,通过Win32 API程序员就能够得到操作系统的服务。 如write(,…,…) 教材P49:文件复制 陷入与中断的比较 相同点:它们都是由相同的硬件机构处理的事件, 陷入是指CPU内部事件产生的中断,它包括程序运算引起的各种错误,如地址非法,效验错,页面失效,存取控制错,从用户态到核心态的切换等都是陷阱的例子 中断和陷入不同点: 陷入通常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关 的中断源引起; 陷入处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为了当前进程的 中断只能在指令之间被响应,而陷入可以在一条指令执行中被响应 陷入处理程序在各自的堆栈上进行,中断处理程序则在系统堆栈环境中进行 ?软中断是通信进程之间用来模拟硬中断的一种信号通信方式,处理机处理的时机决定于接受软中断信号的进程,如果占有处理机,与中断处理相同,否则相应的处理必须等到接收进程得到处理机才能响应。 3.2.1 整体或模块结构 3.2.2 分层结构 3.2.3微内核结构(客户-服务器结构) 3.2.4 虚拟机 整体或模块结构 整个系统按功能进行设计和模块划分。系统是一个单一的、庞大的的软件系统。由众多服务过程(模块)组成,可以随意调用其他模块中的服务过程 评价 优点:具有一定灵活性,模块之间转接的灵活性使运行中的高效率;结构紧密,接口简单直接 缺点:功能划分和模块接口难保正确和合理;模块之间的依赖关系(功能调用关系)复杂(调用深度和方向) 3.2.1 整体或模块结构 3.2.2 分层结构-特点 分层原则 被调用功能在低层:如文件系统管理-设备管理-设备驱动程序 活跃功能在低层:提高运行效率 资源管理的公用模块放在最低层:如缓冲区队列、堆栈操作 最低层的硬件抽象层:与机器特点紧密相关的软件放在最低层。如Windows NT

您可能关注的文档

文档评论(0)

kaku + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8124126005000000

1亿VIP精品文档

相关文档