当前位置:文档之家› 第六讲 操作系统的运行模型

第六讲 操作系统的运行模型


应用 进程
内核 函数
Байду номын сангаас
应用 进程 内核 函数

应用 进程 内核 函数
用户态
核心态
进程切换 函数




大部分的操作系统功能组织成一组内核函数供应用程序调 用,操作系统的地址空间位于共享地址空间中,不与应用 程序的地址空间重叠,但被所有的应用进程共享。 当发生一次中断或系统调用后,处理器状态将从用户态切 换到核心态,控制权被传递给操作系统;此时,发生了模 式切换,模式上下文(现场)信息被保存,但是进程上下 文切换并没有发生,操作系统仍在该用户进程中执行。 当操作系统的内核函数完成工作后,如果让当前进程继续 运行,执行一次模式切换恢复执行原来被中断的用户进程。 如果应该发生进程切换,控制权就被传递给操作系统的进 程切换函数,实现进程切换,指派另一个就绪进程来占有 处理器运行。 核心:每一次中断时,操作系统的一个模块程序被执行, 然而这个执行过程依然从属于用户进程的执行过程。
OS功能(函数)作为进程执行的模型把操作系统组织成一组系统 进程,即操作系统功能是这些系统进程集合运行的结果,这些系 统进程也称为服务器或服务器进程,于是与用户进程或其他服务 器进程之间构成了客户/服务器关系。Windows 2000/ XP采用了 这种结构。
核心:操作系统本身(除了内核之外)也作为几个进程工作, 它可以接收用户进程的指令,向用户进程提供服务。
系统 进程
服务 进程
应用 程序
环境子 系统
子系统动态链接库 用户态 核心态
执行体
核心 设备驱动程序 图形 引擎
硬件抽象层
系统进程 服务管理器 安全验证 Win登录 会话管理器
服务进程 Service.exe RPC Spooler 事件日志
环境子系统 POSIX
应用程序 任务管理器 IE浏览器 用户程序 子系统DLL
核 心 态


1)可扩充性:适应市场需求易于扩充和改动。 2)可移植性: 3)可靠性与坚固性:防止内部故障和外部侵扰。 4)兼容性:与DOS、Windows旧版本兼容,与UNIX、 OS2、Netware等其他操作系统互操作。 5)高性能:



Windows 20003设计者认为:采用整体式或层次式 操作系统体系结构在可扩充性和可移植性方面效果 不好;纯的微内核运算成本太高,不适用于商业。 因而,Windows 2003把许多系统服务代码放在核 心态运行,包括:文件服务、设备管理、图形引擎 等。 采用基于对象技术,提出了一种C/S系统结构,该结 构在纯微内核结构的基础上做了扩展,融合了层次 式结构和纯微内核结构的特点。 对操作系统性能影响很大的组件放在内核下运行, 其他功能则在内核外实现。 主要优点是模块化程度高、灵活性大、便于维护、 系统性能好。
内核具有独立的存储空间,也可以访问应用进程的空间。
在这种模式下,进程的概念仅仅是针对用户程序而言,操作系统 代码作为一个独立实体在内核模式下运行。
内核函数不可以并发执行。
应用 进程
应用 进程
… 内核
应用 进程
用户态
核心态
为提高内核函数的并发行,在创建应用进程时,同时为 其分配一个核心栈,用于运行操作系统的内核函数,形 成操作系统在应用进程内执行的方式。
OS2 WIN32
系统线程
NTDLL.DLL
用 户 态
系统服务调度进程 Win32 User I/O 文件缓 即插即 电源 安全访 虚存 进程线 注册表配 局部过 GDI 管理器 存管理 用管理 管理器 问监视 管理 程管理 置管理器 程调用 图形驱动 器 对象管理器 核心态可调用接口(执行程序API) 设备驱动程序 硬件抽象层(HAL) 硬件接口(总线、I/O、时钟、计时器、中断、DMA、CACHE控制器) 内核

教学目标
◦ 让学生理解三种操作系统的运行模型 ◦ 让学生了解Windows操作系统的运行模型

教学重点
◦ 三种操作系统运行模型

教学难点
◦ 理解三种操作系统运行模型


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



优点: 首先,它采用了模块化的操作系统实现方法。 其次,原来由内核实现的多种操作系统功能被组织成独 立的进程,有利于操作系统的实现、配置和扩充。 最后,这一结构在多处理器多计算机的环境下非常有效, 一些操作系统服务可指派到专门处理器上执行。



注意:实际上,这里讨论的操作系统的运行模型,指 的是实现操作系统的服务功能的模块的运行方式。 根据操作系统的结构(单内核/微内核)不同,实现这 些服务功能的模块的位置也不同,可以在内核里,也 可以在内核外。 讨论操作系统的运行模型,就需要针对不同的情况分 别讨论。
早期操作系统的实现方式,系统的执行与应用进程不存在关联
相关主题