第11章操作系统结构与设计讲述.ppt
文本预览下载声明
计算机操作系统 操作系统原理 Principles of Operating System 第11章 操作系统结构与设计 11.1 操作系统结构 11.2 用户接口设计 11.3 系统设计与实现 11.4 操作系统性能 11.1 操作系统结构 1.整体式结构 2.分层式结构 3.微内核结构 1.整体式结构 这是一种大杂烩,整个操作系统是一堆过程的集合,每个过程都可以任意调用其他过程。 从信息隐藏的观点看,它没有任何隐藏——每个过程对其他过程都是可见的。 这种系统中提供机器的两种运行模式:用户态和核心态。 所有过程可大致分为三层: 最高层是主程序,它引用所需的服务过程; 中间层是一组服务过程,它们执行系统调用; 底层是一组公用过程,用来支持各服务过程。 2.分层式结构 系统看作是一系列的层,每一层执行操作系统所需要的功能的相关子集,它依赖于下一个较低层,较低层执行更为原始的功能,并隐藏这些功能的细节。它还要给相邻的较高层提供服务。可以通过定义层使得改变一层时不需要改变其他层,把一个问题分解成几个更易于处理的子问题。 THE系统 是第一个按这种方式构造的操作系统,1968年由E.W.Dijkstra和他的学生们建造,该系统共有6层: 0层 负责处理机的分配,当发生中断或定时器到时时进行进程切换,从而提供了基本的多道程序环境。 1层 第1层执行内存和磁鼓的管理,用来为进程分配内存空间和磁鼓上的空间。在内存用完时则在磁鼓上分配512K字的空间用作交换。 在这层上,进程不用考虑它是在磁鼓上还是在内存中运行,能保证一旦某一页面需要访问时,它必定在内存中。 2层 第2层处理每个进程和操作员控制台之间的通信。 在这层上,每个进程都有自己的操作员控制台。 3层 第3层进行输入输出管理,管理I/O设备,对信息流缓冲。 在这层上,每个进程和I/O设备打交道时不必考虑其物理的细节。 4层 第4层是用户程序层,用户程序不必考虑进程、内存、控制台或I/O设备等细节。 MULTICS系统中的分层结构 这种分层的概念后来体现在MULTICS系统中,但它不是层,而是一系列同心环,且内层环比外层环有更多的权利。 当外环中的过程想调用内环过程时,它必须利用对等的系统调用。 这种环机制的优点是易于扩充用户子系统。例如,教师可编写一个程序在n层环中运行,用来对学生写的程序进行测试和打分,而学生的程序运行在n+1层环上,所以学生无法改变他们的分数 UNIX 系统V的层次结构 分层中的问题 每层都处理相当多的功能,一层中的主要变化可能会产生巨大的影响,跟踪相邻层(上一层或下一层)中的代码有很多困难。 其结果是,通过增加或减少一些功能,在基本操作系统上很难实现一个专用版本,并且由于在相邻层之间有很多交互,因而很难保证安全性。 3.微内核 随着UNIX操作系统的扩充,内核变得大且难以管理。在20世纪80年代中期,卡耐基-梅隆大学的研究人员开发了一个称为Mach的操作系统,该系统采用微内核(Microkernel)方法来模块化内核。 这种方法将所有非基本部分从内核中移走,并将它们当作系统级程序和用户级程序来实现。 用这种方法构建操作系统,结果是更小的内核。 微内核结构 尽管什么应该在微内核中、什么应该在微内核外,不同的设计有不同的分界线,但是共同的特点是许多传统上属于操作系统一部分的功能现在都是外部子系统,包括设备驱动程序、文件系统、虚存管理程序和安全服务等,它们可以与内核交互,也可以相互交互。 从图中可以看出,微内核结构用一个水平分层的结构代替了传统的纵向分层的结构。 在微内核外部的操作系统部件被当作服务器进程实现,它们可以借助于通过微内核传递消息来实现相互之间的交互。 微内核起着信息交换的作用: 验证信息、 在部件间传递信息并授权访问硬件。 执行包含功能,除非允许交换,否则它阻止信息传递。 微内核优点 微内核结构可以很方便地扩充操作系统。 所有新服务被增加到用户空间中,因而并不需要修改内核。 当内核确实需要修改时,所做的改变也会很小,因为微内核本身很小。 这样操作系统很容易从一种硬件平台移植到另一种平台设计。 由于绝大多数服务是作为用户进程而不是作为内核进程来运行的,因此微内核也就提供了更好的安全性和可靠性。如果一个服务失败,那么操作系统的其他部分并不受影响 11.2 操作系统用户接口 1.命令接口 2.程序接口 3.图形用户接口 1.命令接口 在操作系统与计算机用户之间提供易于理解的双向通信机制 基本任务: 解释命令,传送命令以便执行 接受系统信息,提交给用户(以响应语言的形式) 基本分类 脱机命令接口 联机命令接口 脱机命令接口 随着批处理操作系统的出现,出现了控制作业运行的作业控制语言(JCL,Job Control Language)。 用户用作
显示全部