如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
操作系统北京大学计算机科学技术系陈向群2009-2010第一学期第10讲操作系统设计•操作系统设计目标•操作系统结构–整体式结构–层次结构–虚拟机结构–微内核结构•内核•Windows体系结构•操作系统设计之哲学原理一、操作系统设计目标(1/2)1、可靠性正确性困难:并发性、共享性、随机性(中断)健壮性(鲁棒性)2、高效性多道程序设计的目标是提高资源利用率,但系统开销加大Tu:运行目态程序所用的时间Tsu:运行管态程序为用户服务所用的时间Tsm:运行管态程序做系统管理工作所用的时间系统运行效率:=(Tu+Tsu)/(Tu+Tsu+Tsm)操作系统设计目标(2/2)3、易维护易读性、易扩充性、易修改性、易裁减性4、可(易)移植性5、安全性6、可适应性7、简洁性二、操作系统的结构设计设计一个操作系统主要包括:功能设计算法设计结构设计接口设计(用户界面、程序接口)其他设计技术(策略与机制的分离,静态结构与动态结构,自顶向下的实现与自底向上的实现,隐藏硬件细节,间接处理等)典型的操作系统的结构整体式结构(单一内核结构)层次式结构虚拟机结构微内核结构1.整体式结构或单一内核结构(1/2)又称模块接口法/无序模块法/模块组合法确定操作系统的总体功能将其分解为若干个子功能(模块)继续分解,直至每个模块仅包含单一功能模块1通过接口调用将所有模块连接,形成一个整体模块2模块3模块4模块5模块6模块7模块8整体式结构(2/2)优点:结构紧密接口简单直接模块间转接灵活,系统效率高缺点:由于模块之间可以任意相互调用,各模块互相联系,独立性差,系统结构不清晰数据作为全局量处理,系统内各模块均可对其进行存取和修改,造成模块间更为隐蔽的关系。使得难于对软件结构作出综合性的理解,难于修改,可靠性、易读性、适应性难以保证由于模块接口法常以大型表格为中心,为保证数据完整性,往往采用全局封中断的方法,从而限制了系统的并发性2.层次式结构按此模型构造的第一个操作系统是E.W.Dijkstra和他的学生在荷兰开发的THE系统(1968年)该系统分为六层:层次功能5操作员4用户程序3输入/输出管理2操作员-进程通信1内存和磁盘管理0处理器分配和多道程序3、虚拟机结构(1/2)370虚拟机系统调用I/O指令CMSOS/360CMS陷入陷入VM/370370裸机虚拟机会话监控系统CMS(ConversationalMonitorSystem)虚拟机结构(2/2)虚拟机思想的应用:在奔腾CPU上运行老的MS-DOS程序Intel在奔腾芯片上提供了一个虚拟8086模式,在此模式下,奔腾机就像一台8086计算机一样,包括1M字节内的16位寻址方式虚拟8086模式用于运行MS-DOS程序。程序在虚拟8086模式下启动,执行一般的指令时它们在裸机上运行。但是,当一个程序试图陷入系统来执行一条系统调用时,或者试图执行受保护的I/O操作时,将发生一条虚拟机监控程序的陷入4.微内核结构(1/3)又称客户-服务器结构现代操作系统的一个趋势,将传统操作系统的大部分代码分离出来放在更高的层次上。即从操作系统中去掉尽可能多的东西,而只留一个最小的核心微内核结构(2/3)•微内核:运行在核心态,提供基本操作,包括线程调度、虚拟存储、消息传递、设备驱动以及内核的原语操作集合中断处理等核心的全部工作是处理客户与服务器间的通信•服务进程:运行在用户态的进程,操作系统的所有其它部分被分成若干个相对独立的服务进程,提供各种系统功能每一部分只处理一方面的功能,如文件服务、进程服务、终端服务、存储器服务、网络服务微内核结构(3/3)特点:每一部分变得很小,更易于管理。而且,由于所有服务器以用户进程的形式运行,而不是运行在核心态,所以它们不直接访问硬件。这样处理的结果是:假如在文件服务器中发生错误,文件服务器可能崩溃,但不会导致整个系统的崩溃微内核结构的另一个优点是它适用于分布式系统,如果一个客户通过消息传递与服务器通信,客户无需知道这条消息是在本机处理还是通过网络送给远程机器上的服务器客户服务器模型客户客户进程终端。。。文件内存进程进程服务器服务器服务器服务器核心客户向服务器进程发送消息,以获得服务分布式系统中的客户服务器模型机器1机器2机器3机器4客户文件服务器进程服务器终端服务器核心核心核心核心客户向服务器发送消息,以获得