1、1.4 1.4 操作系统结构操作系统结构和运行模型和运行模型 1.4.1 操作系统结构分类 1.4.2 操作系统结构设计 1.4.3 操作系统内核 1.4.4 操作系统运行模型1.4.1 1.4.1 操作系统操作系统结构分类结构分类(1)操作系统设计呈现出以下特征:复杂程度高,生成周期长,正确性难保证。操作系统结构设计有三层含义:1、研究操作系统整体结构,如功能如何分块,相互如何交互,及考虑构造它的过程和方法;2、研究操作系统程序局部结构,包括数据结构和控制结构;3、操作系统运行时的组织,如系统是否组织成进程或线程?在系统空间还是在用户空间运行?1.4.1 1.4.1 操作系统操作系统结构分类
2、结构分类(2)操作系统结构分类操作系统结构分类(3)(3)1.单体式结构 2.层次式结构 3.虚拟机结构 4.微内核结构单体式结构操作系统单体式结构操作系统 系统服务系统服务应用程序应用程序应用程序应用程序 裸裸 机机层次式结构操作系统层次式结构操作系统 THETHE操作系统层次结构操作系统层次结构5 5层层 系统操作员(进程)系统操作员(进程)4 4层层 用户进程用户进程3 3层层 I/OI/O管理管理2 2层层 进程与操作员间通信进程与操作员间通信1 1层层 内存和磁盘管理内存和磁盘管理0 0层层 中断处理、定时器管理中断处理、定时器管理 、处理器调度,提供多、处理器调度,提供多 道程序环
3、境。道程序环境。虚拟机结构虚拟机结构操作系统操作系统应用程序应用程序 应用程序应用程序 应用程序应用程序 CMS CMS CMS VM/370 System/370裸机裸机 370虚拟机虚拟机系统调用系统调用陷阱陷阱陷阱陷阱I/O指令指令微内核结构微内核结构操作系统操作系统1.4.2 Linux操作系统结构设计操作系统结构设计(1)Linux采用单体式结构设计:1)系统设计时作为一个单独的大过程;2)系统运行时是一个大二进制映像;3)引入加载模块和卸载模块机制。Linux 内核有以下部分组成:1)核心部分:进程调度、进程通信和管理、主存和虚存管理、VFS和文件管理、设备驱动和管理、网络驱动和管
4、理等。2)外围部分:shell、图形用户界面和一组实用工具。1.4.2 Linux操作系统结构设计操作系统结构设计(2)Linux内核子系统及其依赖关系内核子系统及其依赖关系 虚存管理和主存管理网络管理和网络驱动VFS和文件管理设备管理和设备驱动进程管理和进程通信进程调度 块设备 内存字符设备 网卡硬件层硬件层软件层1.4.3操作系统内核操作系统内核 1.内核的概念内核的概念 内核(kernel)是作为可信软件来提供支持进程并发执行的基本功能和基本操作的一组程序模块。内核通常驻留在内核空间,运行于核心态,具有访问硬设备和所有主存空间的权限,是仅有的能执行特权指令的那部分程序。1.4.3操作系统
5、内核(操作系统内核(2)1.内核的概念内核的概念 在内核的支撑下,机器功能得到扩展、进程运行环境得到改善,安全性得到保证,系统效率得到提高。内核分类:单内核和微内核。LinuxLinux单内核结构单内核结构 用户态用户态 系统库系统库(函数库函数库)应用程序应用程序系统调用接口系统调用接口 模块模块内核内核(进程管理、进程管理、存储管理、文件存储管理、文件管理、设备管理、管理、设备管理、网络管理网络管理)设备设备 驱动驱动 计算机硬件计算机硬件核心态单内单内核核2.内核的功能内核的功能(1)中断处理(2)时钟管理(3)短程调度(进程调度)(4)原语管理(原语指由若干多机器指令构成的完成某种特定
6、功能的一段程序,具有不可分割性;即原语的执行必须是连续的,在执行过程中不允许被中断。)3.内核的属性内核的属性 内核是由中断驱动的;内核是不可抢占的;内核可以在屏蔽中断状态下执行;内核可以使用特权指令。4.虚拟机的特性虚拟机的特性(1)虚拟机没有中断。(2)虚拟机为每个进程提供一台虚处理器,实现了多进程并发执行。(3)虚拟机为进程提供功能强大的指令系统,即它们能够使用机器非特权指令和系统调用所组成的新的指令系统。5.机制与策略分离机制与策略分离(1)机制:提供及实现确定的功能。常将机制作为系统的可信软件来实现。策略:如何使用这些功能。可在不可信的环境中定义策略。机制与策略分离机制与策略分离(2
7、)机制与策略分离的原则:(1)机制由OS实现,策略留给用户完成;(2)机制放在底层,策略放在高层;(3)机制集中在少数模块,策略可散布在系统多处。1.4.4 操作系统运行模型操作系统运行模型(1)操作系统本身是一组程序,也在处理器上运行,那么,操作系统程序是否组织成进程?它是如何控制的、怎样执行的呢?它在什么模式下运行呢?从操作系统的运行方式来看,可分成:1)嵌入应用进程中运行模型;2)作为独立进程运行模型。操作系统运行模型操作系统运行模型(2)(2)嵌入应用进程中嵌入应用进程中运行模型运行模型核心态核心态用户态用户态内核内核函数函数内核内核函数函数内核内核函数函数应用应用进程进程应用应用进程进程进程切换进程切换函数函数应用应用进程进程操作系统的运行模型操作系统的运行模型(3)(3)作为独立进程运行模型作为独立进程运行模型微内核(进程切换函数)微内核(进程切换函数)应应用用进进程程OSOS函函数数用用户户态态核核心心态态应应用用进进程程OSOS函函数数应应用用进进程程OSOS函函数数谢谢!