资源预览内容
第1页 / 共46页
第2页 / 共46页
第3页 / 共46页
第4页 / 共46页
第5页 / 共46页
第6页 / 共46页
第7页 / 共46页
第8页 / 共46页
第9页 / 共46页
第10页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
操作系统概念第三章:操作系统结构1本章主要内容n本章将从用户角度、程序员角度和操作系统设计人员 角度来分别研究操作系统的三个方面。n系统组成n操作系统服务n系统调用n系统程序n系统结构n虚拟机n系统设计与实现n系统生成23.1 系统组成n进程管理n内存管理n文件管理n输入/输出系统管理n二级存储管理n联网n保护系统n命令解释系统33.1.1 进程管理n进程指的是运行着的程序n进程需要一定的资源来完成任务,包括CPU 时间,内存,文件和I/O设备nOS负责以下与进程管理有关的活动n创建和删除用户进程和系统进程n悬挂(暂停)和继续进程n提供进程同步机制n提供进程通信机制n提供死锁处理机制43.1.2 内存管理n内存是一字节或字的一个大的阵列,每个字或字节都 有自己的地址。n内存是可以被CPU和I/O设备所共同快速访问的数据的 仓库n内存是易失性的存储设备。在系统失败的情况下,内 存将会丢失其内容。nOS负责以下与内存管理相关的活动n记录内存的哪部分正在被使用及被谁使用n当内存空间可用时,决定哪些进程可以装入内存n根据需要分配和释放内存空间53.1.3 文件管理n为了便于使用计算机系统,操作系统提供了统一的逻 辑信息存储观点。操作系统对存储设备的物理属性进 行了抽象,定义了逻辑存储单元即文件。操作系统将 文件映射到物理媒介上,并通过对这些存储设备访问 这些文件。 n文件是由其创建者定义的一组相关信息的集合。n通常,文件表示程序(源程序和目标程序)和数据 nOS负责以下有关文件管理的活动:n创建和删除文件n创建和删除目录n提供操作文件和目录的原语n将文件映射到二级存储器(辅存)上n在稳定(非易失的)存储媒介上备份文件63.1.4 I/O系统管理n操作系统的目标之一是为用户隐藏特定硬件 设备的特质。只有设备驱动程序才知道被指 定的设备的特质。nI/O系统由如下部分组成:n包括缓冲器、高速缓存和脱机打印的内存管理 部分n一个通用设备驱动程序的接口n用于特定硬件设备的驱动程序73.1.5 二级存储管理n由于内存太小而不能容纳所有数据和程序, 再加上掉电后它会失去所拥有的数据,计算 机系统必须提供二级存储器,以备份内存。n许多现代计算机系统采用磁盘作为主要在线在线 存储媒介来存储程序和数据。nOS负责下列有关硬盘管理的活动n空闲空间管理n存储空间分配n硬盘调度83.1.6 联网(分布式系统)n分布式系统是一组不共享内存、外设和时钟 的处理器的集合。n这些处理器都有各自的内存和时钟n系统中的处理器通过通信网络相连n通信双方需采用相同的协议n分布式系统使得用户能够访问多个系统资源n对共享资源的访问可以使计算加速、功能加 强、提供数据可用性以及增强可靠性93.1.7 保护系统n保护是控制程序、进程或用户访问由计算机 系统定义的资源的机制。n这种保护机制必须能够:n区分已授权的和未授权的使用n提供一定的方法以规定所有要进行的控制n提供提供加强控制的方法103.1.8 命令解释系统n许多命令通过控制语句交给操作系统n进程创建和管理 nI/O处理n二级存储管理n内存管理n文件系统访问n保护n联网n用来接收与解释控制语句的程序有不同的名称n命令行解释器n外壳(Shell, in UNIX)113.2 操作系统服务n程序执行nI/O操作n文件系统操作n通信n错误检测n资源分配n统计n保护123.3 系统调用n系统调用提供了进程与操作系统之间的接口n这些调用通常以汇编语言指令的形式提供n有些语言(如C, C+和Perl)已经取代了汇编语言而 直接用于系统编程 n向操作系统传递参数通常用三种方法n通过寄存器来传递参数n参数数量可能会比寄存器多n将参数存放在内存的块或表中,并将块的地址作为参 数传递给寄存器n指针n将参数放在堆栈中,并通过操作系统弹出堆栈n不限制所传递参数的数量或长度13参数作为表传递14系统调用的类型n进程控制:结束,中止,装入,执行,创建 、终止进程等 n文件管理:创建文件,删除文件,打开,关 闭文件等 n设备管理:请求设备,释放设备,读、写、 重定位设备等 n信息维护:读取时间或日期、设置时间或日 期等 n通信:创建、删除通信连接,发送、接收消 息,传递状态信息等15MS-DOS执行状态16运行多个程序的UNIX17通信模型183.4 系统程序n系统程序提供了一个方便的环境,以开发程序和执行 程序。它们可分为以下几类:n文件管理n状态信息n文件修改n程序语言支持n程序装入和执行n通信n应用程序n绝大多数用户所看到的操作系统是由系统程序而不是 实际系统调用定义的。193.5 系统结构n简单结构nDOSnUNIXn分层方法n微内核20MS-DOS系统结构nMS-DOS 利用最小的空间提供最多的功能n没有被划分成模块n尽管MS-DOS拥有一些结构,但它的接口和功 能层次并没有很好的分离开来。21MS-DOS层次结构22UNIX系统结构nUNIX 最初受到硬件功能的限制,它由两 个独立的部分组成n内核 包括系统调用接口之下和物理 硬件之上的所有部分 内核通过系统调用提供文件系统、CPU调度、内存 管理和其他操作系统功能。n系统程序23UNIX系统结构图24分层方法n操作系统分成若干层,每层建立在较低层之 上。最底层(层0)是硬件,最高层(层N) 是用户接口n分层法的主要优点是模块化。选择了分层, 这样每层只能利用较低层的功能(或操作) 和服务。n分层法的主要困难涉及到对层的仔细认真的 定义n分层法与其他方法相比其效率稍差。25一种操作系统层次结构图26OS/2层次结构27微内核系统结构n这种方法将所有非基本部分从内核中移走,并将它们 当做系统级程序和用户级程序来实现,用这种方法来 构建操作系统n用户模块之间采用消息传递的方式进行通信n优点n微内核易于扩展n易于提升OS至一个新的体系结构n更可靠(内核模式中运行的代码更少)n更安全n缺点n用户空间与内核空间的通信代价较高28Mac OS X 结构29Windows NT客户服务器结构30模块n许多现代操作系统实现内核模式n用面向对象的方法n内核的组成部分相互分离n任务之间的交互通过已知的接口来实现n每个模块在内核中是按照需要可装载的n总之,模块类似与分层,但模块更具灵活性31Solaris模拟化方法323.6 虚拟机n虚拟机采用了分层的方法。它将物理硬件和 OS内核统一看作为硬件n虚拟机提供了与基本硬件相同的接口n通过利用CPU调度和虚拟内存技术,操作系 统能创建一种幻觉,以至于进程认为有自己 的处理器和自己的(虚拟)内存。33n物理计算机共享资源以创建虚拟机nCPU调度能共享出CPU造成一种每个用户都 有自己的处理器的感觉n假脱机和文件系统能提供虚拟读卡机和虚拟行 式打印机n一个普通的用户分时终端提供虚拟机操作员终 端的功能34系统模型35虚拟机的优缺点n通过完全保护系统资源,虚拟机提供了一个 坚实的安全层n虚拟机允许进行系统开发而不必中断正常的 系统操作n但虚拟机概念很难提供真实的硬件效果36Java虚拟机n编译后的Java程序是可以被Java虚拟机( JVM)执行的与平台无关的字节码。nJVM包括n类装载器n类校验器n运行时解释器nJIT(Just-In-Time)编译器能够提高Java运 行的效率37Java 虚拟机示意图38Java平台39跨平台的Java 类文件40Java开发环境413.7 系统设计与实现n设计目标n机制与策略n实现42系统设计目标n用户目标 OS应该便于使用,易于学习, 可靠,安全与快速n系统目标 OS应该易设计,实现和维护, 同时应该灵活,可靠,没有错误且高效。43机制与策略n机制决定事情如何来做,而策略决定做什么 内容。n策略和机制的区分对于灵活性来说很重要, 每次策略的改变都可能需要底层机制的改变 。n例如n对于一个计算机系统,策略用来决定是I/O密 集型程序应该比CPU密集型程序有更高的优 先级,还是相反?而机制则用来决定如何定义 程序的优先级、如何利用优先级进行调度。44系统实现n传统地,操作系统是用汇编语言来编写的,不过,操 作系统现在都是用高级语言如C或C+来编写的。nMULTICS用PL/1编写(MIT)nPrimos用Fortran来编写nUNIX、OS/2、WindowsNT主要用C来编写n高级语言编写代码n编写更快速n更紧凑n更易理解与调试n用高级语言编写的操作系统更易快速移植到那它硬件 平台上。453.8 系统生成nOS被设计成能运行在一类计算机上,这些计 算机位于不同的场所,并具有不同的外设配 置。对于某个特定的计算机场所,必须要配 置和生成系统,这一过程有时称为系统生成系统生成 。n系统生成程序须获取到硬件系统的特定配置 信息n引导 通过装载内核来启动计算机n引导程序 保存在ROM中的,用来定位内 核、装载内核、启动内核的程序代码46
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号