当前位置:文档之家› 操作系统的逻辑结构

操作系统的逻辑结构


系统能作为抽象数据类型或对象方法来实现。
缺点: 存在潜在的性能退化 没有纯粹采用模块化结构的商业化操作系统
可扩展内核结构
可扩展内核结构通过使用一个公共的基本功能集合(称为 基础核心),以实现特定操作系统(如实时、分时)的模 块化组织结构。 这种方法为特定操作系统定义了两类模块: 策略独立模块:用来实现微内核(可扩展内核)。这一层 的模块功能(基础组件)与机制和硬件相关,基础组件是 支持上层特定策略的共性部分。 特定策略模式:包含能够满足某种需要的操作系统的模块 集合,它依靠策略独立模块的支持以反映特定操作系统的 需求。
配置在裸机上的第一层软件是操作系统。
什么是操作系统虚拟机
应用程序 扩充后的机器 裸机 操作系统 用户程序 裸机:没有装入任何软件的计算机。 操作系统虚拟机:在裸机上配置了 操作系统程序后就构成。
操作系统虚拟机为用户提供了很多硬件无法提供 的功能。
操作系统虚拟机的功能
虚拟机的“指令”集合 裸机各种基本硬件指令
① 结构:描述组成系统的不同功能如何分组和交互
② 接口:与系统内部结构密切相关,由操作系统提供 给用户、用户程序、或上层软件使用 ③ 运行时的组织结构:定义了执行过程中存在的实体 类型及调用方式
2.2.1
结构化组织
操作系统是一个大型的程序系统,或者说是软件模 块的集合。每个模块包含数据、完成一定功能的程 序以及该模块对外提供的接口。 软件设计者的任务: 1、使用模块来实现功能 2、定义接口实现模块间交互 在操作系统的设计中,采用四种方法:
层次结构
采用层次结构构造操作系统是将操作系统的 各种功能模块分成不同的层次,然后以一定的 原则形成一个整体。 整个操作系统在结构上类似于一个洋葱头, 它由若干层组成,每一层都提供一组功能,这 些功能只依赖于该层以内的各层。
各层次的调用关系:外层可以调用内层, 内层不能调用外层。
资源分配和调度 文件存取 I/O处理 存储管理 进程控制 进程通信 初级中 断处理

可扩展内核结构
可扩展内核结构支持操作系统中两个新方向: 微内核操作系统 在单一硬件平台上建立具有不同策略的操作系统 微内核操作系统的优点: 提高了安全性和可靠性。绝大多数服务不是作为内核进 程,而是作为用户进程来运行 便于系统扩充。不需要修改内核,将新服务加到用户空 间 便于操作系统移植。微内核很小,修改也会很小 便于形成不同策略特征的操作系统。

2.3 处理机的状态
2.3.1、处理机状态及分类 为什么要区分处理机的态?
在系统中有两类程序在运行——
管理程序
管理和控制者 负责管理和分配系统资源
用户程序
被管理和被控制者 所需资源必须向操作系统提出请求
为用户提供服务
享受系统提供的服务
为了保证操作系统不被破坏,应为操作系统建立一个保护环境。 采用的办法是根据运行程序对资源和机器指令的使用权限将处理 器设置为不同状态。
客户—服务器方式特点
服务器(server):提供服务的进程
客户端(client):调用进程
优点:
适用于分布式系统 便于实现多种不同的服务类型 具有较好的容错性 客户—服务器组织方式严格进行功能特性的分离,使系 统易于理解和维护 缺点: 必须维持许多持久型的服务进程,这些进程要监听和响 应各种不同的请求。
断处理程序来处理。
操作系统服务作为系统服务进程
用户进程 客户端 发送请求 服务 例程 返回结果 系统进程 服务器
服务请求和服务响应是通过消息
传递方式来实现的,又称为客 户—服务器方式。 操作系统对外提供服务的功能处 理为单独自治的系统进程,称为 服务员进程(服务器) 应用进程活动时称为应用进程, 需要操作系统服务时,向服务器 发请求服务消息。 服务器收到请求,执行相关例程, 以消息的形式返回结果给请求者。
2.1 操作系统的虚拟机 2.2 操作系统的组织结构 2.3 处理机的状态
2.4 中断机制
2.5 UNIX系统结构
2.1 操作系统虚拟机
OS管理和控制多个用户对计算机系统的软、硬件 资源的共享。 用户请求资源数比系统资源数多,虚拟的概 念可以实现资源共享,使给定的物理资源能 力更强。 为计算机配置各种软件扩充计算机的功能, 用户以透明的方式使用系统的各类资源。
改变机器状态的指令
修改特殊寄存器的指令
涉及外部设备的输入/输出指令
在下列情况下,由用户态自动转向管态:
用户进程访问操作系统,要求操作系统的某 种服务(即管理程序调用)。 发生一次中断。
用户程序发生一个错误。(内部中断)
在用户态下企图执行一条特权指令。 从管态转回用户态是用一条指令实现的,这条 指令本身也是特权指令。
中断系统=中断装置+中断处理程序
中断源:引起中断发生的事件,如打印完成中断,
其中断源是打印机。
断点:发生中断时正在运行的程序被暂时停止,
程序的暂停点称为断点。例如,某程序正在执行 0200地址的指令被中断,那么,0200地址就是断 点, 在中断返回时就执行0200的下一条指令。
中断响应:是处理机发现有中断请求时,中止现运
用户进程
操作系统 内核 服务 例程 返回
又称为采用系统功能调用方式。 操作系统的服务例程以内核功能
调用或库函数方式实现。
应用程序需要操作系统某项服务
库或内核调用
功能时,只需调用对应的内核功 能调用或库函数。
操作系统被调用的服务例程作为
用户的子例程(通过特殊的方式 进入)
硬件引发的中断由操作系统的中
实例:x86系列处理器-2
各个级别有保护性检查(地址校验、I/O限制) 特权级别之间的转换方式不尽相同 四个级别运行不同类别的程序: •R0-运行操作系统核心代码 •R1-运行关键设备驱动程序和I/O处理例程 •R2-运行其它受保护共享代码,如语言系统运行环境 •R3-运行各种用户程序
现有基于x86处理器的操作系统,多数UNIX、Linux以 及Windows系列大都只用了R0和R3两个特权级别
3.机器故障中断:当机器发生故障时所产生的中断叫硬件故 障中断。
例如,电源故障、通道与主存交换信息时主存出错、从主 存取指令错、内存单元奇偶校验错、机器电路检验错等
4. 程序中断:在现行程序执行过程中,若发生了程序性质 的错误或出现了某些程序的特定状态而产生的中断称为程序 性中断。 例如:定点溢出、十进制溢出、十进制数错、地址错、用 户态下用核态指令、越界、非法操作等。程序的特定状态包 括逐条指令跟踪、指令地址符合跟踪、转态跟踪、监视等。 5. 访管中断:对操作系统提出某种请(需)求是所发出的中 断称为访管中断。 例如请求I/O传输,建立进程、打开文件、关闭文件、文件 的读、写等系统调用)
裸机
处理机 分派
3
操作系统的层次结构
2.2.2
运行时的组织结构
操作系统是一个程序的集合,或称为例程的集 合。操作系统又是一个服务系统,它根据用户的 请求而提供服务。
操作系统运行时的组织结构按调用方式分为两 种类型: 操作系统服务作为子例程 操作系统服务作为系统服务进程
操作系统服务作为子例程
CPU对系统发生的某个事件作出的一种反应
CPU暂停正在执行的程序,保留现场后自动转去执
户 角 度 看 中 断
CPU暂停正在执行的程序,保留现场后自动转去执行相应事件 的处理程序,处理完成后返回断点,继续执行被打断的程序
什么是处理机的态? ——处理机的工作状态,即处理机当前正在执行哪一 类程序,依此来区分处理机的状态。
多数系统将处理器工作状态划分为管态和用户态
管态(Supervisor mode):操作系统管理程序运行时机器所处的 状态,较高的特权级别,又称为特权态(特态)、系统态
用户态(user mode):用户程序运行时机器所处的状态,较低 的特权级别,又称为目态、普通态(普态) 有些系统将处理器状态划分核心状态,管理状态和用户程序状 态(目标状态)三种
操作系统提供的命令
系统所提供的全部操作命令的集合称为操作命令语言, 它是用户与系统进行通信的手段和界面。
用户界面分为两个方面: 操作命令(命令接口)

键盘命令 作业控制语言 图形化用户界面
系统功能调用(程序接口)
操作系统的虚拟技术
用户眼中的 虚拟机器 虚存
虚拟处理机
memory
cpu
device
行程序的执行并自动引出中断处理程序的过程。 系统堆栈: 在内存开辟的一块区域,用于临时保存现场
2.4.2 中断类型 按中断功能分类:
1.输入输出中断:当外部设备或通道操作正常结束或发生某 种错误时所发生的中断。 例如打印机打印完成、缺纸,读磁盘时相应驱动器中没 有磁盘等。 2.外中断:对中央处理机而言,它的外部非通道式装置所引 起的中断称为外部中断。 例如,时钟中断,操作员控制台中断,多机系统中CPU 到CPU之间的通信中断,各种外设或传感器发来的实时中断 等
①一体化 ②模块化 ③可扩展内核 ④层次化
一体化结构
在一体化结构中,所有的操作系统功能模块和数 据结构放在一个逻辑模块中,操作系统软件的模块 间没有显式的接口。 优点: 系统的设计只需少量分析,很好实现后非常有效 缺点: 难以理解、难以维护 验证正确性十分困难
模块化结构
采用某块化结构的系统,其功能通过逻辑独立的 模块来划分,相关模块间具有良好定义的接口。 优点:
实例:x86系列处理器-1
•3386、486、Pentium系列都支持4个处理器特权级别(特权
环:R0、R1、R2和R3) •从R0到R3特权能力依次降低 •R0相当于双状态系统的管态 •R3相当于目态 •R1和R2则介于两者之间,它们能够运行的指令集合具有包 含关系:
I R 0 I R1 I R 2 I R 3
相关主题