您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 14操作系统的结构设计.
1主要内容:一、操作系统的构件二、整体式结构的操作系统三、层次式结构的操作系统四、虚拟机结构的操作系统五、客户/服务器与微内核结构的操作系统六、操作系统的运行模型七、Windows2000/XP的客户/服务器结构八、Ubuntu程序接口1.4操作系统的结构设计2操作系统的结构设计概述(1)1.操作系统结构设计概况操作系统设计呈现出以下特征:一是复杂程度高,二是生成周期长,三是正确性难保证。例如,CTSS约有32000行程序;IBMOS/360超过百万条机器指令,共有4000个模块组成,花费5000人年;Multics达到千万条机器指令;Windows2000超过3200万行语句,有2500个主要开发人员参与开发。33200万行语句2500人开发一年,平均每人一年开发3200÷2500≈12000行/年每月开发12000行÷12=1000行/月每天开发1000行÷30=35行/天我阅读分析12000行DOS操作系统源代码用时1个月。主要阅读了6000行主控程序。4平均每天阅读200行。反汇编36000行调试程序花费6个月,平均每天阅读代码200行。在短期内招聘2500个高级程序员在国内很难办得到。虽然国人很多,但是能够完成操作系统开发任务的人难招。金山公司创始人求伯君开发WPS(Windows版)时,主要开发人员只有十几个人,中途缺乏开发资金,求伯君卖掉别墅300万~500万才5操作系统的结构设计概述(2)一个操作系统即使开发完成,仍然是无生命的,必须开发该系统下运行的大量的应用程序;待应用程序开发问世后,用户还必须通过文件、培训及实践去学会操作和使用。这意味着用户拥有并使用的是10年或20年前的操作系统技术。而计算机硬件却在不断地更新换代,刚刚开发完成的操作系统又需要升级。6操作系统的结构设计概述(3)2.操作系统结构设计有两层含义一是研究操作系统的整体结构,由程序的构成成分组成操作系统程序的构造过程和方法;二是研究操作系统程序的局部结构,包括数据结构和控制结构。采用不同的构件和构造方法可组成不同结构的操作系统。7一、操作系统的构件(1)操作系统的构件-----通常把组成操作系统程序的基本单位称作操作系统的构件。操作系统的构件主要有:内核、进程、线程、类程、管程等。1.内核(1)概念内核不是进程,而是提供支持系统运行的基本功能的一组程序模块,内核对硬件处理器及有关资源进行首次改造,以便给进程的执行提供良好的运行环境。8一、操作系统的构件(2)(2)分类可分为微内核和单内核。微内核:内核很小,仅具有极少的必须功能,其它功能都在核外实现。通过微内核提供的消息传递机制完成其余功能模块间的联系。内核和核外服务程序的开发是分离的。单内核:内核具有较多的功能,运行时是一个大的二进制映像,模块间的联系通过函数或过程调用实现。Linux是单内核操作系统,Mach是微内核操作系统。9一、操作系统的构件(3)(3)内核必须提供的功能内核必须提供以下三方面功能:1)中断处理。为了缩短屏蔽中断的时间,增加系统内的并发性,内核通常仅进行有限的、简短的处理,其余任务交给在内核之外的特殊用户态进程完成。当中断事件产生时,先由内核截获并转向中断处理例行程序进行原则处理,它分析中断事件的类型和性质,进行必要的状态修改,然后交给内核之外的进程去处理。2)短程调度。主要职能是分配处理器。短程调度按照一定策略管理处理器的转让,以及完成保护和现场恢复的工作。1011一、操作系统的构件(4)3)原语管理。原语是内核中实现某一功能的不可中断过程。12一、操作系统的构件(5)(4)内核执行的属性内核的执行有以下属性:1)内核是由中断驱动的。只有当发生中断事件后由硬件交换程序状态字才引出操作系统的内核进行中断处理,且在处理完中断事件后内核自行退出。2)内核的执行是连续的。在内核执行期间不能插入内核以外的程序执行。3)内核在屏蔽中断状态下执行。在处理某个中断时,为避免中断的嵌套可能引起的错误,必须屏蔽该级中断。13一、操作系统的构件(6)4)内核可以使用特权指令。现代计算机都提供常态和特态等多种机器工作状态,有一类指令称为特权指令,只允许在特态下使用,规定这类指令只允许内核使用,可防止系统出现混乱。14一、操作系统的构件(7)(5)内核和裸机组成的虚拟机的特性1)虚拟机没有中断,进程设计者不再需要有硬件中断的概念,用户进程执行中无需处理中断。2)虚拟机为每个进程提供了一台虚拟处理器,每个进程就好象在各自的私有处理器上顺序的推进,实现了多个进程的并发执行。3)虚拟机为进程提供了功能较强的指令系统,它们能够使用机器的非特权指令、系统调用和原语组成的新的指令系统。15一、操作系统的构件(8)用户进程在目态运行,产生中断并被中断机制发现、响应之后由硬件完成现场保护,交换程序状态字PSW。根据发生的中断事件的类型,进入对应的中断处理程序进行处理。对于由访管中断发生的自愿性中断事件,通常区分两类:一类是由内核直接完成的各种的原语;另一类需要创建系统进程来完成用户进程请求的系统调用。强迫性中断事件也按不同类型进行处理。中断处理结束后,相关进程的状态也发生了变化,需要修改进程状态,调整进程队列,然后,转向低级调度选择下一个执行进程。可能是从断点恢复被中断的进程运行,也可能是选出新的进程占有处理器执行。16一、操作系统的构件(9)运行进程发现中断源装配中断码交换PSW自愿中断事件保护现场分析和传递参数原语?原语处理创建系统进程系统调用处理强迫中断事件机器故障中断处理I/O中断处理程序中断处理队列调整低级调度运行进程是否管态目态目态硬件完成操作系统内核完成外中断处理创建系统进程内核被触发和内核处理流程17一、操作系统的构件(10)2.进程进程是并发程序设计的一个工具,并发程序设计支撑了多道程序设计。进程概念使OS结构变得清晰,主要表现在:1)一个进程到另一个进程的控制转移由进程调度机构统一管理,不能杂乱无章,随意进行。2)进程间的信号发送、消息传递和同步互斥由通信及同步机制完成,进程无法有意或无意破坏其它进程的数据。每个进程相对独立,相互隔离,提高了系统的安全性和可靠性。18一、操作系统的构件(11)3)进程结构较好刻画了系统的并发性,动态地描述出系统的执行过程,具有进程结构的操作系统,结构清晰、整齐划一,可维护性好。19一、操作系统的构件(12)3.线程早期,进程是操作系统中资源分配以及系统调度的基本单位。由于每个进程拥有自己独立的存储空间和运行环境,进程与进程之间的通信和切换开销相当大,限制了系统中并发执行的进程数目。于是,多线程(结构)进程(也叫多线程)开始流行。在一个多线程环境中,进程是系统进行保护和资源分配的单位,而线程则是进程中一条执行路径,每个进程中允许有多个线程,线程才是系统进行调度的独立单位。在一个进程中包含有多个可并发执行的控制流,而不是把多个控制流一一分散在多个进程中,这是并发多线程程序设计与并发多进程程序设计的主要不同之处。20一、操作系统的构件(13)4.管程管程是管理共享资源的程序(一种同步机制),对管程的调用表示对共享资源的请求与释放。管程可以被多个进程或管程嵌套调用,但它们只能互斥地访问管程。管程应包含条件变量,当条件不满足时,可以通过对条件变量做延迟操作使调用进程等待,直到另一个进程调用管程过程并执行一个释放操作为止。由于管程的引入,使得原来分散在进程中的临界区集中了起来统一控制和管理。21一、操作系统的构件(14)5.类程类程用于管理私有资源,对类程的调用表示对私有资源的操作。它仅能被进程及起源于同一进程的其它类程或管程嵌套调用链所调用。其本身也可以调用其它类程或管程。类程可以看作子程序概念的扩充。采用进程、管程、类程实现的操作系统中,进程执行过程中若请求使用共享资源,可以调用管程;若要控制私有资源操作,可以调用类程,这样便于使用高级语言来书写操作系统。22二、整体式结构的操作系统(1)操作系统的体系结构操作系统的体系结构可分成:整体式结构、层次式结构、虚拟机结构、客户/服务器与微内核结构。操作系统的整体式结构又叫模块组合法,是基于结构化程序设计的一种软件结构设计方法。早期操作系统(如IBM操作系统)采用这种结构设计方法。23二、整体式结构的操作系统(2)1.主要设计思想和步骤把模块作为操作系统的基本单位,按照功能需要而不是根据程序和数据的特性把整个系统分解为若干模块(还可再分成子模块),每个模块具有一定独立功能,若干个关联模块协作完成某个功能。明确各个模块之间的接口关系,各个模块间可以不加控制,自由调用;然后,分别设计、编码、调试各个模块。最后,把所有模块连结成一个完整的系统。24二、整体式结构的操作系统(3)2.主要优点和缺点主要优点:结构紧密、组合方便,对不同环境和用户的不同需求,可以组合不同模块来满足,灵活性大;针对某个功能可用最有效的算法和任意调用其他模块中的过程来实现,系统效率较高;设计及编码可齐头并进,加快操作系统研制过程。主要缺点:模块独立性差,模块之间牵连甚多,形成复杂的调用关系,甚至循环调用,造成系统结构不清晰,正确性难保证,系统功能的增、删、改十分困难。25三、层次式结构的操作系统(1)1.层次式结构特征层次式结构是把操作系统划分为内核和若干模块(或进程),这些模块(或进程)按功能的调用次序排列成若干层次,各层之间只能是单向依赖或单向调用关系,即低层为高层服务,高层可以调用低层的功能,反之则不能。这样不但系统结构清晰,而且不构成循环调用。层次结构的构造方法有自底向上方法和自顶向下方法。自底向上方法从裸机开始,逐步添加各层软件,形成越来越接近目标虚拟机的系统。自顶向下方法从目标系统出发,通过若干层软件过渡到宿主机器,其实质是对目标系统的逐步求精。26三、层次式结构的操作系统(2)2.分层的一些原则1)把与机器硬件有关的程序模块放在最底层,以便把硬件与其它层隔离开来。这样既可增强系统的适应性也有利于系统的可移植性,移植时,只需把这层内容按新机器硬件的特性加以改变,其它层内容可以基本不动。2)为进程(线程)的正常运行创造环境和提供条件的内核程序应该尽可能放在底层。3)反映系统外特性的软件放在最外层,这样,需要对系统外特性改变或扩充时,只涉及对外层的修改,内层共同使用的部分保持不变。批处理方式、联机控制方式、实时控制方式等都属于系统外特性。27三、层次式结构的操作系统(3)4)按照实现操作系统命令时模块间的调用次序或按进程间单向发送信息的顺序来分层。例如,文件管理要调用设备管理,因此,文件管理诸模块(或进程)应放在设备管理诸模块(或进程)的外层。一个操作系统按照层次结构的原则,从底向上可以被安排为:裸机、CPU调度及其它内核功能、内存管理、设备管理、文件管理、作业管理、命令管理、用户。28三、层次式结构的操作系统(4)3.层次结构的优缺点分析•层次结构的优点:整体问题局部化,系统的正确性可通过各层正确性来保证。增加、修改或替换层次不影响其他层次,有利于系统的维护和扩充。•层次结构的缺点:层次结构是分层单向依赖的,必须要建立模块(进程)间的通信机制,系统花费在通信上的开销较大,系统的效率也就会降低。29四、虚拟机结构的操作系统(1)1.设计目标使一个分时系统具有以下两个特性:(1)多道程序(2)一个具有比裸机更方便、界面扩展的计算机。并且将此二者彻底地隔离开来。2.基本做法物理计算机资源通过多重化和共享技术可改变成多个虚拟机。通过用一类物理设备来模拟另一类物理设备,或通过分时地使用一类物理设备,把一个物理实体改变成若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上的对应物是虚幻的、感觉上的。30四、虚拟机结构的操作系统(2)3.虚拟机结构的操作系统与传统操作系统(分时、多任务系统)的区别虚拟机结构的操作系统将一台物理计算机虚拟成了若干台逻辑计算机,即虚拟计算机,而且每个虚拟计算机可以运行不同的操作系统,每个操作系统上又可并发运行多道程序。相对于多(物理)处理机系统,虚拟机结构系统可以称为多虚拟(计算)机系统。进程其实并不直接运行在
本文标题:14操作系统的结构设计.
链接地址:https://www.777doc.com/doc-3061206 .html