您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 2Windows操作系统体系结构
第第22章章Windows2000/xpWindows2000/xp的体系结构的体系结构••11操作系统的设计操作系统的设计••2Windows2000/xp2Windows2000/xp操作系统模型操作系统模型••3Windows2000/xp3Windows2000/xp体系结构体系结构••4Windows2000/xp4Windows2000/xp系统机制系统机制••5Windows2000/xp5Windows2000/xp注册表注册表操作系统的设计操作系统的设计设计操作系统的复杂性。设计操作系统的复杂性。例:例:IBMIBM公司的公司的OSOS//360360系统系统由由40004000个模块组成个模块组成共约共约100100万条指令万条指令花费花费50005000人年人年经费达数亿美元经费达数亿美元每个版本都仍然隐藏着无数的错误每个版本都仍然隐藏着无数的错误操作系统的设计问题操作系统的设计问题••操作系统设计有着不同于一般应用系统设计的特操作系统设计有着不同于一般应用系统设计的特征:征:––复杂程度高复杂程度高––研制周期长研制周期长––正确性难以保证正确性难以保证••解决途径:解决途径:––良好的操作系统结构良好的操作系统结构––先进的开发方法和工程化的管理方法先进的开发方法和工程化的管理方法––高效的开发工具高效的开发工具操作系统的设计目标操作系统的设计目标••可靠性:正确性和健壮性可靠性:正确性和健壮性••高效性:提高系统的运行效率高效性:提高系统的运行效率••易维护性:易读、易扩充、易剪裁、易修改性易维护性:易读、易扩充、易剪裁、易修改性••易移植性:作系统程序中与硬件相关的部分相对易移植性:作系统程序中与硬件相关的部分相对独立独立••安全性:计算机软件系统安全性的基础安全性:计算机软件系统安全性的基础••可适应性可适应性••简明性简明性操作系统的设计考虑操作系统的设计考虑••功能设计:操作系统应具备哪些功能功能设计:操作系统应具备哪些功能••算法设计:选择和设计满足系统功能的算算法设计:选择和设计满足系统功能的算法和策略,并分析和估算其效能法和策略,并分析和估算其效能••结构设计:选择合适的操作系统结构结构设计:选择合适的操作系统结构操作系统结构操作系统结构••程序结构程序结构––程序结构的两层含义程序结构的两层含义整体结构整体结构局部结构局部结构••软件结构:大型程序是小规模程序组成软件结构:大型程序是小规模程序组成••操作系统结构操作系统结构WindowsWindows的术语的术语““服务服务””••在不同的场合有不同的意义在不同的场合有不同的意义••可以指操作系统中可调用的例程、设备驱可以指操作系统中可调用的例程、设备驱动程序或服务器进程动程序或服务器进程••1.1.Win32APIWin32API函数:函数:Win32APIWin32API中文档化中文档化的、可调用的子程序。的、可调用的子程序。例如例如CreateProcessCreateProcess、、CreateFileCreateFile、、GetMessageGetMessage。。••22WindowsWindows系统服务系统服务((执行体系统服执行体系统服务务))。。例如,例如,NtCreateProcessNtCreateProcess是由是由CreateProcessCreateProcess函函数调用,用来创建新进程的内部系统服务。数调用,用来创建新进程的内部系统服务。••33WindowsWindows内部例程:内部例程:位于位于WindowsWindows执行体、内核或硬件抽象层执行体、内核或硬件抽象层((HAL)HAL)内的子例内的子例程,只能从核心态调用。例如,程,只能从核心态调用。例如,ExAllocatePoolExAllocatePool是由设备是由设备驱动程序调用的驱动程序调用的••44WindowsWindows服务:服务:由由WindowsWindows服务控制管理器启动的进程。服务控制管理器启动的进程。••55DLL(DLL(动态链接库动态链接库))::作为二进制映像连接的、可调用的子例程集。作为二进制映像连接的、可调用的子例程集。两种机器状态两种机器状态••用户态或者说目态用户态或者说目态处于目态时为用户服务处于目态时为用户服务••系统态或者说核心态、管态系统态或者说核心态、管态当其通过系统调用或访管指令进入到当其通过系统调用或访管指令进入到OSOS内核运行时,内核运行时,处于管处于管态时可能为用户服务,也可能做系统维护工作。态时可能为用户服务,也可能做系统维护工作。操作系统的结构设计操作系统的结构设计••1.1.模块组合结构模块组合结构••22.层次结构.层次结构••3.3.虚拟机结构虚拟机结构••4.4.客户客户//服务器体系结构服务器体系结构模块组合结构模块组合结构整个系统按功能进行设计和模块划分。系统是一个单一的、整个系统按功能进行设计和模块划分。系统是一个单一的、庞大的的软件系统。这种结构思想来源于服务功能观点,庞大的的软件系统。这种结构思想来源于服务功能观点,而不是资源管理的观点。而不是资源管理的观点。模块组合结构模块组合结构••模块结构的特点:模块由众多服务过程模块结构的特点:模块由众多服务过程(模块接口)组成,可以随意调用其他模(模块接口)组成,可以随意调用其他模块中的服务过程块中的服务过程––优点:具有一定灵活性,在运行中的高效率优点:具有一定灵活性,在运行中的高效率––缺点:功能划分和模块接口难保正确和合理;缺点:功能划分和模块接口难保正确和合理;模块之间的依赖关系,降低了模块之间的相对模块之间的依赖关系,降低了模块之间的相对独立性--不利于修改独立性--不利于修改22.层次结构.层次结构从资源管理观点出发,划分层次。在某一层次上代码只能调从资源管理观点出发,划分层次。在某一层次上代码只能调用低层次上的代码,使模块间的调用变为有序性。系统每用低层次上的代码,使模块间的调用变为有序性。系统每加一层,就构成一个比原来功能更强的虚拟机。有利于系加一层,就构成一个比原来功能更强的虚拟机。有利于系统的维护性和可靠性。统的维护性和可靠性。目的:目的:要清除模块接口法的缺点就必须减少各模块之间毫无要清除模块接口法的缺点就必须减少各模块之间毫无规则地相互调用、相互依赖的关系,特别是清除循环现象规则地相互调用、相互依赖的关系,特别是清除循环现象方法:方法:操作系统的所有功能模块按功能的调用次序分别排列操作系统的所有功能模块按功能的调用次序分别排列成若干层成若干层((单向依赖或单向调用单向依赖或单向调用))如只允许上层或外层模块调用下层或内层模块如只允许上层或外层模块调用下层或内层模块))层次结构层次结构••THETHE系统:系统:12345处理器分配和多道程序内存和磁盘管理操作员-进程通信输入/输出管理用户程序操作员0分层结构的特点分层结构的特点••优点:优点:––功能明确,调用关系清晰(高层对低层单向依功能明确,调用关系清晰(高层对低层单向依赖),有利于保证设计和实现的正确性赖),有利于保证设计和实现的正确性––低层和高层可分别实现(便于扩充);高层错低层和高层可分别实现(便于扩充);高层错误不会影响到低层;避免递归调用误不会影响到低层;避免递归调用分层原则分层原则••被调用功能在低层:如文件系统管理--设备管理--设被调用功能在低层:如文件系统管理--设备管理--设备驱动程序备驱动程序••资源管理的公用模块放在最低层:如缓冲区队列、堆栈操资源管理的公用模块放在最低层:如缓冲区队列、堆栈操作作••存储器管理放在次低层:便于利用虚拟存储功能存储器管理放在次低层:便于利用虚拟存储功能••最低层的硬件抽象层:与机器特点紧密相关的软件放在最最低层的硬件抽象层:与机器特点紧密相关的软件放在最低层。如低层。如WindowsNTWindowsNT中的中的HALHAL••资源分配策略放在最外层,便于修改或适应不同环境资源分配策略放在最外层,便于修改或适应不同环境分层原则分层原则便于将操作系统移植到其他机器上便于将操作系统移植到其他机器上::••机器特点紧密相关的软件机器特点紧密相关的软件((如中断处理、输如中断处理、输入输出管理等入输出管理等))放在紧靠硬件的最低层放在紧靠硬件的最低层••与硬件有关的与硬件有关的BIOS(BIOS(管理输入输出设备管理输入输出设备))放放在最内层。所以当硬件环境改变时只需要在最内层。所以当硬件环境改变时只需要修改这一层模块就可以了修改这一层模块就可以了分层原则分层原则••前台处理分时作业,又可在后台以批处理前台处理分时作业,又可在后台以批处理方式运行作业方式运行作业••共同使用的基本部分放在内层共同使用的基本部分放在内层随着这些操随着这些操作方式而改变的部分放在外层作方式而改变的部分放在外层((例如,调度例如,调度程序、键盘命令解释程序和作业控制语言程序、键盘命令解释程序和作业控制语言解释程序等解释程序等))分层原则分层原则••系统调用:为进程提供服务,这些功能模系统调用:为进程提供服务,这些功能模块块((各系统调用功能各系统调用功能))构成操作系统内核,放构成操作系统内核,放在系统的内层。在系统的内层。33.虚拟机结构.虚拟机结构••如如IBMIBM大型机上的系列操作系统大型机上的系列操作系统••基本思想:系统应该提供基本思想:系统应该提供11)多道程序能力)多道程序能力22)一个比裸机有更方便扩展界面的计算机)一个比裸机有更方便扩展界面的计算机。但。但是二者的实现应该相互独立是二者的实现应该相互独立••优缺点优缺点––虚拟机概念可以实现完全保护虚拟机概念可以实现完全保护––用软件从硬件逐层扩展用软件从硬件逐层扩展––虚拟机方法把多道程序和扩充机器的功能完全分开虚拟机方法把多道程序和扩充机器的功能完全分开370裸机VM/370CMSCMSCMS系统调用陷入I/O指令陷入若干个370虚拟机微内核(客户微内核(客户//服务器结构)服务器结构)••非常适宜于应用在网络环境下,应用于分布式处非常适宜于应用在网络环境下,应用于分布式处理的计算环境中理的计算环境中••由下面两大部分组成由下面两大部分组成::––““微微””内核内核––若干服务若干服务客户/服务器模型把操作系统分成若干分别完成一组特定功能的服务进程(如内存管理服务、进程创建服务和处理器调度服务),等待客户提出请求;而系统内核只实现操作系统的基本功能(如:虚拟存储、消息传递)。•微内核(micro-kernel):将更多操作系统功能放在核心之外,作为独立的服务进程运行;–服务进程–客户进程•内核消息:是一定格式的数据结构。①发起调用,送出请求消息②请求消息到达并进行处理③送出回答消息④整理回答消息,返回结果;Windows2000/XPWindows2000/XP系统模型系统模型••融合了分层操作系统和微内核(客户融合了分层操作系统和微内核(客户//服务器)操服务器)操作系统的设计思想,使用面向对象的分析与设作系统的设计思想,使用面向对象的分析与设计,采用整体式的实现计,采用整体式的实现••Windows2000/XPWindows2000/XP通过硬件机制实现了核心态以通过硬件机制实现了核心态以及用户态两个特权级别及用户态两个特权级别。对性能影响很大的操作。对性能影响很大的操作系统组件运行在核心态。系统组件运行在核心态。••内存管理器、高速缓存管理器、对象及安全管理内存管理器、高速缓存管理器、对象及安全管理器、网络协议、文件系统和所有线程和进程管器、网络协议、文件系统和所有线程和进程管理,都运行在核心态。理,都运行在核心态。••Windows2000/XPWindows2000/XP的核心态组件使用了面向对象的核心态组件使用了面向对象设计原则设计原则这些组件只能使用外部的接口传送参数这些组件只能使用外部的接口传送参数并访问或修改这些数据并访问或修改这些数据••出于可移植性以及效率因素的考虑,大部分代码出于可
本文标题:2Windows操作系统体系结构
链接地址:https://www.777doc.com/doc-1913598 .html