ch114操作系统结构设计1课件_第1页
ch114操作系统结构设计1课件_第2页
ch114操作系统结构设计1课件_第3页
ch114操作系统结构设计1课件_第4页
ch114操作系统结构设计1课件_第5页
已阅读5页,还剩111页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.4操作系统的结构设计

1.4.1操作系统的构件1.4.2整体式结构的操作系统1.4.3层次式结构的操作系统1.4.4虚拟机结构的操作系统1.4.5客户/服务器与微内核结构的操作系统1.4.6操作系统的运行模型1.4.7Windows2000/XP的客户/服务器结构1.4操作系统的结构设计

1.4.1操作系统的构件11.4.1操作系统的结构设计

操作系统结构设计概况(1)

操作系统设计呈现出以下特征:一是复杂程度高,二是生成周期长,三是正确性难保证。例如,CTSS、OS/360、Multics、Windows20001.4.1操作系统的结构设计

操作系统结构设计概况(1)2操作系统的结构设计概况(2)

操作系统结构设计有两层含义

一.是研究操作系统程序的数据结构和控制结构;二.是组成操作系统程序的构造过程和方法。采用不同的构件和构造方法可组成不同结构的操作系统。操作系统的结构设计概况(2)

操作系统结构设计有两层含义3操作系统的构件(1)内核进程线程类程管程操作系统的构件(1)内核4操作系统的构件(2)

1、内核

内核不是进程,是提供支持系统运行的基本功能的一组程序模块,有了内核的支撑,进程运行环境得到改善,安全性得到保证,系统效率就能提高。分类:微内核和单内核。Linux是单内核操作系统,Mach是微内核操作系统,Windows2000/XP改进的C/S结构。操作系统的构件(2)

1、内核

内核不是进程,是提供支持系统5操作系统的构件(3)

单内核

运行时是一个大二进制映像,模块间的交互通过直接调用其它模块的函数实现。整体式层次式操作系统的构件(3)

单内核

运行时是一个大二进制映像,模块6微内核

Os被分成2部分,只有很小的运行在核心态;另一部分运行在用户态并以C/S方式内核功能:资源抽象、资源分配、资源共享微内核

Os被分成2部分,只有很小的运行在核心态;另一部分运7操作系统的构件(4)

内核提供以下三方面功能

1)中断处理。

2)短程调度。

3)原语管理。

操作系统的构件(4)

内核提供以下三方面功能

1)中断8操作系统的构件(5)

内核的执行有以下属性1)内核是由中断驱动的

2)内核的执行是连续的3)内核在屏蔽中断状态下执行4)内核可以使用特权指令操作系统的构件(5)

内核的执行有以下属性1)内核是9操作系统的构件(6)

内核和裸机组成了一台虚拟机具有以下特性:

1)虚拟机没有中断,2)虚拟机为每个进程提供了一台虚拟处理器,3)虚拟机为进程或模块提供了功能较强的指令系统。操作系统的构件(6)

内核和裸机组成了一台虚拟机具有以10内核被触发和内核处理流程

运行进程发现中断源发现中断源装配中断码交换PSW自愿中断事件保护现场分析和传递参数原语?原语处理创建系统进程系统调用处理强迫中断事件机器故障中断处理I/O中断处理程序中断处理队列调整低级调度运行进程是否管态目态目态硬件完成操作系统内核完成外中断处理创建系统进程内核被触发和内核处理流程

运行进程发现中断源发现中断源装配11操作系统的构件(7)

2、进程

进程是并发程序设计的一个工具,并发程序设计支撑了多道程序设计

操作系统的构件(7)

2、进程

进程是并发程序设计的一个工12操作系统的构件(8)

进程概念使OS结构变得清晰(1)

1)一个进程到另一个进程的控制转移由进程调度机构统一管理,不能杂乱无章,随意进行。2)进程间的信号发送、消息传递和同步互斥由通信及同步机制完成,进程无法有意或无意破坏它进程的数据。每个进程相对独立,相互隔离,提高了系统的安全性和可靠性。

操作系统的构件(8)

进程概念使OS结构变得清晰(1)

13操作系统的构件(9)

进程概念使OS结构变得清晰(2)

3)进程结构较好刻画了系统的并发性,动态地描述出系统的执行过程,具有进程结构的操作系统,结构清晰、整齐划一,可维护性好。操作系统的构件(9)

进程概念使OS结构变得清晰(2)

14操作系统的构件(10)

3、线程

进程是系统进行保护和资源分配的单位,而线程则是进程中一条执行路径,每个进程中允许有多个并行执行的路径,线程才是系统进行调度的单位。操作系统的构件(10)

3、线程

进程是系统进行保护和资源分15操作系统的构件(11)

4、管程

管程是管理共享资源的机制,对管程的调用表示对共享资源的请求与释放。管程应包含条件变量,当条件不满足时,可以通过对条件变量做延迟操作使调用进程等待,直到另一个进程调用管程过程并执行一个释放操作为止。操作系统的构件(11)

4、管程

管程是管理共享资源的机制,16操作系统的构件(12)

5、类程

类程用于管理私有资源,对类程的调用表示对私有资源的操作。它仅能被进程及起源于同一进程的其它类程或管程嵌套调用链所调用。其本身也可以调用其它类程或管程。类程可以看作子程序概念的扩充。操作系统的构件(12)

5、类程

类程用于管理私有资源,对类17操作系统的构件(13)

采用进程、管程、类程实现的操作系统进程执行过程中若请求使用共享资源,可以调用管程;若要控制私有资源操作,可以调用类程,这样便于使用高级语言来书写操作系统。1975年,汉森成功地在PDP11/45机上实现了:单用户操作系统Solo、处理小作业作业流系统和过程控制实时调度系统等三个层次管程结构的操作系统。操作系统的构件(13)

采用进程、管程、类程实现的操作系统进18操作系统体系结构分类

整体式结构层次式结构虚拟机结构客户服务器及微内核结构操作系统体系结构分类整体式结构191.4.2整体式结构的操作系统

操作系统的整体式结构又叫模块组合法,早期操作系统(如IBM操作系统)采用这种结构设计方法,

•主要设计思想:•主要设计步骤:

•主要优点和缺点:1.4.2整体式结构的操作系统

操作系统的整体式结201.4.3层次式结构的操作系统(1)

层次式结构是把操作系统划分为内核和若干模块(或进程),这些模块(或进程)按功能的调用次序排列成若干层次,各层之间只能是单向依赖或单向调用关系,这样不但系统结构清晰,而且不构成循环。1.4.3层次式结构的操作系统(1)层次式结构是把21层次式结构的操作系统(2)

层次结构的全序和半序式层次结构的由底向上方法和自顶向下方法层次式结构的操作系统(2)

层次结构的全序和22层次式结构的操作系统(3)

构造层次结构OS分层原则

1)把与机器硬件有关的程序模块放在最底层,2)反映系统外特性的软件放在最外层,3)按照实现操作系统命令时模块间的调用次序或按进程间单向发送信息的顺序来分层4)为进程的正常运行创造环境和提供条件的内核程序应该尽可能放在底层。

层次式结构的操作系统(3)

构造层次结构OS分层原则

23层次式结构的操作系统(4)

层次结构的优点:整体问题局部化,系统的正确性可通过各层正确性来保证。增加、修改或替换层次不影响其他层次,有利于系统的维护和扩充。层次结构是分层单向依赖的,必须要建立模块(进程)间的通信机制,系统花费在通信上的开销较大,系统的效率也就会降低。层次式结构的操作系统(4)

层次结构的优点:整体问题局部化,24层次式结构的操作系统(5)

THE系统第一次提出层次结构设计方法

•第0层完成中断处理、定时器管理和处理器调度。第1层内存和磁鼓管理,为进程分配内存空间,并自动实现内存和磁鼓对换区的数据交换。第2层处理进程与操作员间的通信,为每个进程生成虚操作员控制台。第3层I/O管理,管理信息缓冲区。第4层用户(进程)层。第5层系统操作员(进程)层。层次式结构的操作系统(5)

THE系统第一次提出层251.4.4虚拟机结构的操作系统(1)

基于如下思想,一个分时系统应该提供以下特性:(1)多道程序,(2)一个具有比裸机更方便、界面扩展的计算机。VM/370的主旨在于将此二者彻底地隔离开来。1.4.4虚拟机结构的操作系统(1)

基于如下思想26虚拟机结构的操作系统(2)

物理计算机资源通过多重化和共享技术可改变成多个虚拟机。基本做法:通过用一类物理设备来模拟另一类物理设备,或通过分时地使用一类物理设备,把一个物理实体改变成若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上的对应物是虚幻的、感觉上的。

虚拟机结构的操作系统(2)

物理计算机资源通过27虚拟机结构的操作系统(3)

程序设计接口进程内核虚机器硬件进程内核进程内核

CMSCMSCMS

370虚拟机系统调用陷入陷入I/O指令运行CMS的VM370虚拟机器虚拟机概念结构

370裸机VM370虚拟机结构的操作系统(3)程序设进程内核虚机器硬件进281.4.5客户/服务器与微内核

结构操作系统(1)

1、客户/服务器与微内核结构客户/服务器结构的思想:将操作系统分成两大部分,一是运行在用户态并以C/S方式活动的进程;二是运行在核心态的内核。

1.4.5客户/服务器与微内核

结构操作系统(1)

29客户/服务器与微内核

结构操作系统(2)

客户/服务器结构的思想(1)每个进程实现一类服务,称服务器进程(如文件服务、进程管理服务、存储管理服务、网络通信服务等)。它的任务是检查是否有客户提出服务请求,如果有请求则在满足客户的要求后返回结果,于是,用户进程与服务器进程形成了C/S关系。客户/服务器与微内核

结构操作系统(2)客户/服务30客户/服务器与微内核

结构操作系统(3)

客户/服务器结构的思想(2)运行在核心态的内核把该消息传给服务器;服务器执行相应操作,再通过内核用消息把结果返回给用户。内核只实现极少任务,主要起信息验证、交换的作用,因而,称微内核(Microkernel),这种结构也就称为客户/服务器与微内核结构。客户/服务器与微内核

结构操作系统(3)

31客户/服务器与微内核

结构操作系统(4)

1)分层结构内核2)微内核进程管理硬件存储管理设备管理文件管理作业管理内核模式微内核硬件客户进程安全服务虚存管理器文件服务器设备驱动程序用户模式客户/服务器与微内核

结构操作系统(4)

1)分层结32客户/服务器与微内核

结构操作系统(5)

微内核结构的优点有:1)一致性接口2)可扩充性3)可移植性4)可靠性5)支持分布式系统6)支持面向对象的操作系统客户/服务器与微内核

结构操作系统(5)

微内核结构33客户/服务器与微内核

结构操作系统(6)

2、微内核的设计

1)基本的存储管理微内核支持内核外部的页面管理和虚存管理:

•转让(Grant)

•映射(Map)

•刷新(Flush)客户/服务器与微内核

结构操作系统(6)

2、微内核的设计

34客户/服务器与微内核

结构操作系统(7)

内核外的页面管理程序做缺页处理

微内核应用进程页面管理程序缺页中断恢复地址空间函数调用客户/服务器与微内核

结构操作系统(7)

内核外的页面管理程35客户/服务器与微内核

结构操作系统(8)

2)进程间通信

微内核操作系统中,进程和线程通信的基本形式是消息。进程间通信基于进程间相关联的端口(Ports),一个端口是一个特定进程的消息队列,与端口相关的是一张能力表,记录了可以与这个进程通信的进程。客户/服务器与微内核

结构操作系统(8)

2)进程间通信

微36客户/服务器与微内核

结构操作系统(9)

3)I/O和中断管理

driverthread;dowaitfor(mhg,sender);ifsender=my_hardware_interrupt{read/writerI/Oports;resethardwareinterrut}else…while(true);客户/服务器与微内核

结构操作系统(9)

3)I/O和中断管371.4.6操作系统的运行模型(1)

操作系统本身是一组程序,也在处理器上运行,那么,操作系统程序是否组织成进程?它是如何控制的、怎样执行的呢?它在什么模式下运行呢?从操作系统的运行方式来看,可分成:非进程内核模型、OS功能(函数)在用户进程内执行的模型和OS功能(函数)作为进程执行的模型。1.4.6操作系统的运行模型(1)

操作系统本身是一组程序38操作系统的运行模型(2)

1)非进程内核模型

操作系统内核P1P2…Pn操作系统的运行模型(2)

1)非进程内核模型

操作系统内核P39操作系统运行模型(3)

2)OS功能在用户进程内执行的模型

进程切换函数OSfuncOSfuncOSfuncP1P2…Pn操作系统运行模型(3)

2)OS功能在用户进程内执行的模型

40操作系统运行模型(4)

OS功能在用户进程内执行模型

的进程映像

进程控制块用户堆栈用户私有地址空间(程序、数据)共享地址空间内核堆栈操作系统运行模型(4)

OS功能在用户进程内执行模型

的进41

操作系统的运行模型(5)

3)OS功能作为独立进程执行的模型

进程切换函数P1P2…PnOS1OS2…OSm

操作系统的运行模型(5)

3)OS功能作为独立进程执行的421.4.7Windows2000/XP客户/服务器结构(1)

Windows2000/XP系统结构的设计目标:

1)可扩充性:2)可移植性:3)可靠性与坚固性:4)兼容性:5)高性能:1.4.7Windows2000/XP客户/服务器结构(43Windiws2000/XP客户/服务器结构(2)

采用基于对象技术,提出了一种C/S系统结构,该结构在纯微内核结构的基础上做了扩展,融合了层次式结构和纯微内核结构的特点。对操作系统性能影响很大的组件放在内核下运行,其他功能则在内核外实现。主要优点是模块化程度高、灵活性大、便于维护、系统性能好。

Windiws2000/XP客户/服务器结构(2)

采用44Windows2000/XP客户/服务器结构(3)

结构简框

系统进程服务进程应用程序环境子系统

子系统动态链接库用户态核心态

执行体核心设备驱动程序

硬件抽象层图形引擎Windows2000/XP客户/服务器结构(3)

结构简框45Windows2000/XP客户/服务器结构(4)

系统线程NTDLL.DLLService.exeRPCSpooler事件日志服务进程任务管理器IE浏览器用户程序子系统DLL应用程序POSIXOS2WIN32环境子系统服务管理器安全验证Win登录会话管理器系统进程核心态用户态Win32UserGDI图形驱动器硬件抽象层(HAL)设备驱动程序内核对象管理器核心态可调用接口(执行程序API)系统服务调度进程I/O管理器文件缓存管理进程线程管理安全访问监视虚存管理局部过程调用注册表配置管理器电源管理器即插即用管理硬件接口(总线、I/O、时钟、计时器、中断、DMA、CACHE控制器)

Windows2000/XP客户/服务器结构(4)

系统46Windows2000/XP客户/服务器结构(5)

1)硬件抽象层HAL

HAL是实现可移植性的关键部分,位于硬件最上面和系统的最低层,把系统的内核、设备驱动程序及执行体从与平台相关的硬件差异中分隔开来。HAL隐藏各种与硬件有关的细节,如系统总线、计时器、I/O接口、DMA、中断控制器、多处理器通信机制等,对内核来说是运行在计算机硬件平台上的低级接口。Windows2000/XP客户/服务器结构(5)

1)硬47Windows2000/XP客户/服务器结构(6)

2)设备驱动程序(1)

设备驱动程序是I/O系统和相关硬件之间的接口,把用户的I/O函数调用转换成特定硬件设备的I/O要求。设备驱动程序不直接操作硬件,而是调用HAL来控制硬件的接口。

Windows2000/XP客户/服务器结构(6)

2)设48Windows2000/XP客户/服务器结构(7)

设备驱动程序(2)

设备驱动程序包括以下几类:(1)硬件设备驱动程序:(2)文件系统驱动程序:(3)过滤器驱动程序:(4)网络重定向程序和服务器:Windows2000/XP客户/服务器结构(7)

设备驱49Windows2000/XP客户/服务器结构(8)

3)内核

内核执行操作系统最基本的操作,决定操作系统如何使用处理器并确保慎重使用它们。内核提供如下函数:(1)线程管理和调度;(2)进程切换;(3)陷阱处理和异常调度;Windows2000/XP客户/服务器结构(8)

3)内50Windows2000/XP客户/服务器结构(9)

内核提供如下函数:

(4)中断处理和调度;(5)多处理器同步;(6)提供由执行体使用的基本内核对象。Windows2000/XP客户/服务器结构(9)

51Windows2000/XP客户/服务器结构(10)

4)Windows2000/XP执行体执行体包括五种类型函数:(1)从用户态被导出并且可以调用的函数。(2)从用户态被导出并且可以调用的函数,(3)只能从在DDK中已经导出并且文档化的核心态调用的函数。(4)在核心态组件之间调用的但没有文档化的函数。(5)组件内部的函数。Windows2000/XP客户/服务器结构(10)

4)52Windows2000/XP客户/服务器结构(11)

执行体包含下列重要组件进程和线程管理器虚拟内存管理器安全访问监视器I/O管理器高速缓存管理器

Windows2000/XP客户/服务器结构(11)

执行53Windows2000/XP客户/服务器结构(12)

5)NTDLL.DLL

NTDLL.DLL是特殊的系统支持库,用于子系统动态链接库。包含两类函数:(1)作为WindowsXP执行体系统服务的系统服务调度占位程序;(2)子系统动态链接库、及其他本机映像使用的内部支持函数。

Windows2000/XP客户/服务器结构(12)

5)54Windows2000/XP客户/服务器结构(13)

6)系统进程

Idle进程:System进程和System:会话管理器SMSS.EXE:WIN32子系统CSRSS.EXE:登录进程WinLogon.EXE:本地安全身份身份鉴别服务器进程LSASS.EXE:服务管理器SERVICES.EXE及其相关服务器进程:Windows2000/XP客户/服务器结构(13)

6)55Windows2000/XP客户/服务器结构(14)

7)服务控制器及服务进程

•一个特殊系统进程,负责启动、停止和与服务控制器交互,并管理用户态进程服务。服务类似于UNIX的守护进程,可配置成在系统引导时自动启动而不需交互式登录。

•服务程序是合法的Win32映象,这些映象调用特殊Win32函数以与服务控制器相互使用,例如,注册、启动、响应状态请求、暂停或关闭服务。一些组件是作为服务来实现的,如,事件日志、假脱机、RPC支持和网络组件。

Windows2000/XP客户/服务器结构(14)

7)56Windows2000/XP客户/服务器结构(15)

8)环境子系统

Win32子系统是将基本的执行体系统服务的某些子集提供给应用程序,向用户应用程序展示本地操作系统服务,提供操作系统“环境”或个性。Windows2000/XP带有三个环境子系统:WIN32、POSIX和OS/21.2。

Windows2000/XP客户/服务器结构(15)

8)57Windows2000/XP客户/服务器结构(16)

9)用户应用程序和子系统动态连接库

用户应用程序可以是:WIN32、Windows3.1、MS-DOS、POSIX、OS/2五种类型之一。

Windows2000/XP客户/服务器结构(16)

9)581.4操作系统的结构设计

1.4.1操作系统的构件1.4.2整体式结构的操作系统1.4.3层次式结构的操作系统1.4.4虚拟机结构的操作系统1.4.5客户/服务器与微内核结构的操作系统1.4.6操作系统的运行模型1.4.7Windows2000/XP的客户/服务器结构1.4操作系统的结构设计

1.4.1操作系统的构件591.4.1操作系统的结构设计

操作系统结构设计概况(1)

操作系统设计呈现出以下特征:一是复杂程度高,二是生成周期长,三是正确性难保证。例如,CTSS、OS/360、Multics、Windows20001.4.1操作系统的结构设计

操作系统结构设计概况(1)60操作系统的结构设计概况(2)

操作系统结构设计有两层含义

一.是研究操作系统程序的数据结构和控制结构;二.是组成操作系统程序的构造过程和方法。采用不同的构件和构造方法可组成不同结构的操作系统。操作系统的结构设计概况(2)

操作系统结构设计有两层含义61操作系统的构件(1)内核进程线程类程管程操作系统的构件(1)内核62操作系统的构件(2)

1、内核

内核不是进程,是提供支持系统运行的基本功能的一组程序模块,有了内核的支撑,进程运行环境得到改善,安全性得到保证,系统效率就能提高。分类:微内核和单内核。Linux是单内核操作系统,Mach是微内核操作系统,Windows2000/XP改进的C/S结构。操作系统的构件(2)

1、内核

内核不是进程,是提供支持系统63操作系统的构件(3)

单内核

运行时是一个大二进制映像,模块间的交互通过直接调用其它模块的函数实现。整体式层次式操作系统的构件(3)

单内核

运行时是一个大二进制映像,模块64微内核

Os被分成2部分,只有很小的运行在核心态;另一部分运行在用户态并以C/S方式内核功能:资源抽象、资源分配、资源共享微内核

Os被分成2部分,只有很小的运行在核心态;另一部分运65操作系统的构件(4)

内核提供以下三方面功能

1)中断处理。

2)短程调度。

3)原语管理。

操作系统的构件(4)

内核提供以下三方面功能

1)中断66操作系统的构件(5)

内核的执行有以下属性1)内核是由中断驱动的

2)内核的执行是连续的3)内核在屏蔽中断状态下执行4)内核可以使用特权指令操作系统的构件(5)

内核的执行有以下属性1)内核是67操作系统的构件(6)

内核和裸机组成了一台虚拟机具有以下特性:

1)虚拟机没有中断,2)虚拟机为每个进程提供了一台虚拟处理器,3)虚拟机为进程或模块提供了功能较强的指令系统。操作系统的构件(6)

内核和裸机组成了一台虚拟机具有以68内核被触发和内核处理流程

运行进程发现中断源发现中断源装配中断码交换PSW自愿中断事件保护现场分析和传递参数原语?原语处理创建系统进程系统调用处理强迫中断事件机器故障中断处理I/O中断处理程序中断处理队列调整低级调度运行进程是否管态目态目态硬件完成操作系统内核完成外中断处理创建系统进程内核被触发和内核处理流程

运行进程发现中断源发现中断源装配69操作系统的构件(7)

2、进程

进程是并发程序设计的一个工具,并发程序设计支撑了多道程序设计

操作系统的构件(7)

2、进程

进程是并发程序设计的一个工70操作系统的构件(8)

进程概念使OS结构变得清晰(1)

1)一个进程到另一个进程的控制转移由进程调度机构统一管理,不能杂乱无章,随意进行。2)进程间的信号发送、消息传递和同步互斥由通信及同步机制完成,进程无法有意或无意破坏它进程的数据。每个进程相对独立,相互隔离,提高了系统的安全性和可靠性。

操作系统的构件(8)

进程概念使OS结构变得清晰(1)

71操作系统的构件(9)

进程概念使OS结构变得清晰(2)

3)进程结构较好刻画了系统的并发性,动态地描述出系统的执行过程,具有进程结构的操作系统,结构清晰、整齐划一,可维护性好。操作系统的构件(9)

进程概念使OS结构变得清晰(2)

72操作系统的构件(10)

3、线程

进程是系统进行保护和资源分配的单位,而线程则是进程中一条执行路径,每个进程中允许有多个并行执行的路径,线程才是系统进行调度的单位。操作系统的构件(10)

3、线程

进程是系统进行保护和资源分73操作系统的构件(11)

4、管程

管程是管理共享资源的机制,对管程的调用表示对共享资源的请求与释放。管程应包含条件变量,当条件不满足时,可以通过对条件变量做延迟操作使调用进程等待,直到另一个进程调用管程过程并执行一个释放操作为止。操作系统的构件(11)

4、管程

管程是管理共享资源的机制,74操作系统的构件(12)

5、类程

类程用于管理私有资源,对类程的调用表示对私有资源的操作。它仅能被进程及起源于同一进程的其它类程或管程嵌套调用链所调用。其本身也可以调用其它类程或管程。类程可以看作子程序概念的扩充。操作系统的构件(12)

5、类程

类程用于管理私有资源,对类75操作系统的构件(13)

采用进程、管程、类程实现的操作系统进程执行过程中若请求使用共享资源,可以调用管程;若要控制私有资源操作,可以调用类程,这样便于使用高级语言来书写操作系统。1975年,汉森成功地在PDP11/45机上实现了:单用户操作系统Solo、处理小作业作业流系统和过程控制实时调度系统等三个层次管程结构的操作系统。操作系统的构件(13)

采用进程、管程、类程实现的操作系统进76操作系统体系结构分类

整体式结构层次式结构虚拟机结构客户服务器及微内核结构操作系统体系结构分类整体式结构771.4.2整体式结构的操作系统

操作系统的整体式结构又叫模块组合法,早期操作系统(如IBM操作系统)采用这种结构设计方法,

•主要设计思想:•主要设计步骤:

•主要优点和缺点:1.4.2整体式结构的操作系统

操作系统的整体式结781.4.3层次式结构的操作系统(1)

层次式结构是把操作系统划分为内核和若干模块(或进程),这些模块(或进程)按功能的调用次序排列成若干层次,各层之间只能是单向依赖或单向调用关系,这样不但系统结构清晰,而且不构成循环。1.4.3层次式结构的操作系统(1)层次式结构是把79层次式结构的操作系统(2)

层次结构的全序和半序式层次结构的由底向上方法和自顶向下方法层次式结构的操作系统(2)

层次结构的全序和80层次式结构的操作系统(3)

构造层次结构OS分层原则

1)把与机器硬件有关的程序模块放在最底层,2)反映系统外特性的软件放在最外层,3)按照实现操作系统命令时模块间的调用次序或按进程间单向发送信息的顺序来分层4)为进程的正常运行创造环境和提供条件的内核程序应该尽可能放在底层。

层次式结构的操作系统(3)

构造层次结构OS分层原则

81层次式结构的操作系统(4)

层次结构的优点:整体问题局部化,系统的正确性可通过各层正确性来保证。增加、修改或替换层次不影响其他层次,有利于系统的维护和扩充。层次结构是分层单向依赖的,必须要建立模块(进程)间的通信机制,系统花费在通信上的开销较大,系统的效率也就会降低。层次式结构的操作系统(4)

层次结构的优点:整体问题局部化,82层次式结构的操作系统(5)

THE系统第一次提出层次结构设计方法

•第0层完成中断处理、定时器管理和处理器调度。第1层内存和磁鼓管理,为进程分配内存空间,并自动实现内存和磁鼓对换区的数据交换。第2层处理进程与操作员间的通信,为每个进程生成虚操作员控制台。第3层I/O管理,管理信息缓冲区。第4层用户(进程)层。第5层系统操作员(进程)层。层次式结构的操作系统(5)

THE系统第一次提出层831.4.4虚拟机结构的操作系统(1)

基于如下思想,一个分时系统应该提供以下特性:(1)多道程序,(2)一个具有比裸机更方便、界面扩展的计算机。VM/370的主旨在于将此二者彻底地隔离开来。1.4.4虚拟机结构的操作系统(1)

基于如下思想84虚拟机结构的操作系统(2)

物理计算机资源通过多重化和共享技术可改变成多个虚拟机。基本做法:通过用一类物理设备来模拟另一类物理设备,或通过分时地使用一类物理设备,把一个物理实体改变成若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上的对应物是虚幻的、感觉上的。

虚拟机结构的操作系统(2)

物理计算机资源通过85虚拟机结构的操作系统(3)

程序设计接口进程内核虚机器硬件进程内核进程内核

CMSCMSCMS

370虚拟机系统调用陷入陷入I/O指令运行CMS的VM370虚拟机器虚拟机概念结构

370裸机VM370虚拟机结构的操作系统(3)程序设进程内核虚机器硬件进861.4.5客户/服务器与微内核

结构操作系统(1)

1、客户/服务器与微内核结构客户/服务器结构的思想:将操作系统分成两大部分,一是运行在用户态并以C/S方式活动的进程;二是运行在核心态的内核。

1.4.5客户/服务器与微内核

结构操作系统(1)

87客户/服务器与微内核

结构操作系统(2)

客户/服务器结构的思想(1)每个进程实现一类服务,称服务器进程(如文件服务、进程管理服务、存储管理服务、网络通信服务等)。它的任务是检查是否有客户提出服务请求,如果有请求则在满足客户的要求后返回结果,于是,用户进程与服务器进程形成了C/S关系。客户/服务器与微内核

结构操作系统(2)客户/服务88客户/服务器与微内核

结构操作系统(3)

客户/服务器结构的思想(2)运行在核心态的内核把该消息传给服务器;服务器执行相应操作,再通过内核用消息把结果返回给用户。内核只实现极少任务,主要起信息验证、交换的作用,因而,称微内核(Microkernel),这种结构也就称为客户/服务器与微内核结构。客户/服务器与微内核

结构操作系统(3)

89客户/服务器与微内核

结构操作系统(4)

1)分层结构内核2)微内核进程管理硬件存储管理设备管理文件管理作业管理内核模式微内核硬件客户进程安全服务虚存管理器文件服务器设备驱动程序用户模式客户/服务器与微内核

结构操作系统(4)

1)分层结90客户/服务器与微内核

结构操作系统(5)

微内核结构的优点有:1)一致性接口2)可扩充性3)可移植性4)可靠性5)支持分布式系统6)支持面向对象的操作系统客户/服务器与微内核

结构操作系统(5)

微内核结构91客户/服务器与微内核

结构操作系统(6)

2、微内核的设计

1)基本的存储管理微内核支持内核外部的页面管理和虚存管理:

•转让(Grant)

•映射(Map)

•刷新(Flush)客户/服务器与微内核

结构操作系统(6)

2、微内核的设计

92客户/服务器与微内核

结构操作系统(7)

内核外的页面管理程序做缺页处理

微内核应用进程页面管理程序缺页中断恢复地址空间函数调用客户/服务器与微内核

结构操作系统(7)

内核外的页面管理程93客户/服务器与微内核

结构操作系统(8)

2)进程间通信

微内核操作系统中,进程和线程通信的基本形式是消息。进程间通信基于进程间相关联的端口(Ports),一个端口是一个特定进程的消息队列,与端口相关的是一张能力表,记录了可以与这个进程通信的进程。客户/服务器与微内核

结构操作系统(8)

2)进程间通信

微94客户/服务器与微内核

结构操作系统(9)

3)I/O和中断管理

driverthread;dowaitfor(mhg,sender);ifsender=my_hardware_interrupt{read/writerI/Oports;resethardwareinterrut}else…while(true);客户/服务器与微内核

结构操作系统(9)

3)I/O和中断管951.4.6操作系统的运行模型(1)

操作系统本身是一组程序,也在处理器上运行,那么,操作系统程序是否组织成进程?它是如何控制的、怎样执行的呢?它在什么模式下运行呢?从操作系统的运行方式来看,可分成:非进程内核模型、OS功能(函数)在用户进程内执行的模型和OS功能(函数)作为进程执行的模型。1.4.6操作系统的运行模型(1)

操作系统本身是一组程序96操作系统的运行模型(2)

1)非进程内核模型

操作系统内核P1P2…Pn操作系统的运行模型(2)

1)非进程内核模型

操作系统内核P97操作系统运行模型(3)

2)OS功能在用户进程内执行的模型

进程切换函数OSfuncOSfuncOSfuncP1P2…Pn操作系统运行模型(3)

2)OS功能在用户进程内执行的模型

98操作系统运行模型(4)

OS功能在用户进程内执行模型

的进程映像

进程控制块用户堆栈用户私有地址空间(程序、数据)共享地址空间内核堆栈操作系统运行模型(4)

OS功能在用户进程内执行模型

的进99

操作系统的运行模型(5)

3)OS功能作为独立进程执行的模型

进程切换函数P1P2…PnOS1OS2…OSm

操作系统的运行模型(5)

3)OS功能作为独立进程执行的1001.4.7Windows2000/XP客户/服务器结构(1)

Windows2000/XP系统结构的设计目标:

1)可扩充性:2)可移植性:3)可靠性与坚固性:4)兼容性:5)高性能:1.4.7Windows2000/XP客户/服务器结构(101Windiws2000/XP客户/服务器结构(2)

采用基于对象技术,提出了一种C/S系统结构,该结构在纯微内核结构的基础上做了扩展,融合了层次式结构和纯微内核结构的特点。对操作系统性能影响很大的组件放在内核下运行,其他功能则在内核外实现。主要优点是模块化程度高、灵活性大、便于维护、系统性能好。

Windiws2000/XP客户/服务器结构(2)

采用102Windows2000/XP客户/服务器结构(3)

结构简框

系统进程服务进程应用程序环境子系统

子系统动态链接库用户态核心态

执行体核心设备驱动程序

硬件抽象层图形引擎Windows2000/XP客户/服务器结构(3)

结构简框103Windows2000/XP客户/服务器结构(4)

系统线程NTDLL.DLLService.exeRPCSpooler事件日志服务进程任务管理器IE浏览器用户程序子系统DLL应用程序POSIXOS2WIN32环境子系统服务管理器安全验证Win登录会话管理器系统进程核心态用户态Win32UserGDI图形驱动器硬件抽象层(HAL)设备驱动程序内核对象管理器核心态可调用接口(执行程序API)系统服务调度进程I/O管理器文件缓存管理进程线程管理安全访问监视虚存管理局部过程调用注册表配置管理器电源管理器即插即用管理硬件接口(总线、I/O、时钟、计时器、中断、DMA、CACHE控制器)

Windows2000/XP客户/服务器结构(4)

系统104Windows2000/XP客户/服务器结构(5)

1)硬件抽象层HAL

HAL是实现可移植性的关键部分,位于硬件最上面和系统的最低层,把系统的内核、设备驱动程序及执行体从与平台相关的硬件差异中分隔开来。HAL隐藏各种与硬件有关的细节,如系统总线、计时器、I/O接口、DMA、中断控制器、多处理器通信机制等,对内核来说是运行在计算机硬件平台上的低级接口。Windows2000/XP客户/服务器结构(5)

1)硬105Windows2000/XP客户/服务器结构(6)

2)设备驱动程序(1)

设备驱动程序是I/O系统和相关硬件之间的接口,把用户的I/O函数调用转换成特定硬件设备的I/O要求。设备驱动程序不直接操作硬件,而是调用HAL来控制硬件的接口。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论