- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1. 无结构操作系统 在早期开发操作系统时,设计者只是把他的注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。 此时的OS是为数众多的一组过程的集合,各过程之间可以相互调用,在操作系统内部不存在任何结构,因此,这种OS是无结构的,也有人把它称为整体系统结构。 此时程序设计的技巧,只是如何编制紧凑的程序,以便于有效地利用内存、对GOTO语句的使用不加任何限制,所设计出的操作系统既庞大又杂乱,缺乏清晰的程序结构。这一方面会使所编制出的程序错误很多,给调试工作带来很多困难;另一方面也使程序难以阅读和理解,增加了维护人员的负担。 2. 模块化OS结构 1) 模块化结构 模块化程序设计技术,是最早(20世纪60年代)出现的一种程序设计技术。该技术是基于“分解”和“模块化”原则来控制大型软件的复杂度的。为使OS具有较清晰的结构,OS不再是由众多的过程直接构成,而是将OS按其功能划分为若干个具有一定独立性和大小的模块。每个模块具有某方面的管理功能,如进程管理模块、存储器管理模块、I/O设备管理模块和文件管理模块等,并规定好各模块间的接口, 使各模块之间能通过该接口实现交互,然后再进一步将各模块细分为若干个具有一定管理功能的子模块,如把进程管理模块又分为进程控制、 进程同步、 进程通信和进程调度等子模块, 同样也要规定各子模块之间的接口。若子模块较大时,再进一步将它细分。图 1-5 示出了由模块、子模块等组成的模块化OS结构。 图 1-5 模块化操作系统结构 2) 模块化OS的优缺点 提高了OS设计的正确性、 可理解性和可维护性。 (2) 增强了OS的可适应性。 (3) 加速了OS的开发过程。 模块化结构设计的缺点有二。首先,在开始设计OS时,对模块的划分及对接口的规定并不精确, 而且还可能存在错误,因而很难保证按此规定所设计出的模块会完全正确, 这将使在把这些模块装配成OS时发生困难;其次,从功能观点来划分模块时,未能将共享资源和独占资源加以区别; 由于管理上的差异,又会使模块间存在着复杂的依赖关系使OS结构变得不清晰。 3. 分层式OS结构 1) 分层式结构的基本概念 从改进设计方式上说,应使我们的每一步设计都是建立在可靠的基础上。我们可以从物理机器开始, 在其上面先添加一层具有一定功能的软件A1, 由于A1是建立在完全确定的物理机器上的,在经过精心设计和几乎是穷尽无遗的测试后,可以认为A1是正确的;然后再在A1上添加一层新软件A2,……,如此一层一层地自底向上增添软件层,每一层都实现若干功能,最后总能构成一个能满足需要的OS。 分层式结构设计的基本原则是:每一层都仅使用其底层所提供的功能和服务,这样可使系统的调试和验证都变得容易, 例如,在调试第一层软件A1时,由于它只使用了物理机器提供的功能,因此它将与其所有的高层软件A2,……,An无关; 同样在调试A2时,它也只使用了A1和物理机器所提供的功能, 而与其高层软件A3, ……,An无关,这样,一旦发现Ai出现错误时,通常该错误只会局限于Ai,因为它与所有其高层的软件无关,而Ai层以下的各层软件,又都经过仔细的调试。 2) 分层结构的优缺点 优点: (1) 易保证系统的正确性。 (2) 易扩充和易维护性。 缺点: 系统效率降低了。 1.5.3 客户/服务器模式(Client-Server Model) 客户/服务器模式的组成 客户/服务器系统主要由客户机、服务器和网络系统三个部分组成。 (1)客户机 (2)服务器 (3)网络系统 2. 客户/服务器之间的交互 (1)客户发送请求消息 (2)服务器接收消息 (3)服务器回送消息 (4)客户机接收消息 3. 客户/服务器模式的优点 (1)数据的分布处理和存储 (2)便于集中管理 (3)灵活性和可扩充性 (4)易于改编应用软件 基本客户/服务器模式的 不足之处是存在着不可靠性和瓶颈问题。 1.5.4 面向对象的程序设计 1) 面向对象技术的基本概念 面向对象技术是20世纪80年代初提出并很快流行起来的。该技术是基于“抽象”和“隐蔽”原则来控制大型软件的复杂度的。所谓对象,是指在现实世界中具有相同属性、服从相同规则的一系列事物的抽象,而把其中的具体事物称为对象的实例。OS中的各类实体如进程、线程、消息、存储器等,都使用了对象这一概念,相应地,便有进程对象线程对象、 存储器对象等。 2) 面向对象技术的优点 (1) 通过“重用”提高产品质量和生产率。 (2) 使系统具有更好的易
文档评论(0)