操作系统逻辑结构(二)

2.1  操作系统的逻辑结构

OS的设计和实现思路称为逻辑结构。

逻辑结构的种类

  • 整体式结构
  • 层次式结构
  • 微内核结构(客户/服务器结构)

整体式结构

模块为基本单位构建。

特点:模块设计、编码和调试独立;模块调用自由;模块通信多以全局变量形式完成

缺点:信息传递随意,维护和更新困难

层次式结构

分层结构的操作系统所有功能模块按照调用次序排成若干层,相邻层间只有单向依赖或单向调用。层次式结构的软件例子:TCP/IP协议栈。

分层原则

  • 硬件相关-最底层
  • 外部特性-最外层
  • 中间层-调用次序或消息传递顺序
  • 共性的服务-较低层
  • 活跃功能-较低层

微内核结构

操作系统=微内核+核外服务器

微内核:足够小,提供OS最基本的核心功能和服务。完成的工作:1,实现与硬件紧密相关的处理;2,实现一些较基本的功能;3,负责客户和服务器间的通信

核外服务器:完成OS的绝大部分服务功能,等待应用程序提出请求。由若干服务器或进程共同构成,例如进程/线程服务器,虚存服务器,设备管理服务器等。以进程形式运行在用户态。

典型的微内核结构OS如Linux, Minix OS。

 

2.2 CPU的态

支持操作系统的最基本的硬件结构:CPU、内存、中断、时钟。

CPU态

CPU态(Mode):CPU的工作状态,对资源和指令使用权限的描述。

如特权指令:LGDT/LIDT :装载特殊寄存器、CLTS:清除任务开关标志、STI/CTI:允许和禁止中断、IN/OUT:执行I/O操作

态的分类

核态:能够访问所有资源和执行所有指令;管理程序/OS内核

用户态(User mode, 目态):仅能访问部分资源,其它资源受限;用户程序

管态(Supervisor mode):介于核态和用户态之间

用户态向核态转换

  • 用户请求OS提供服务
  • 发生中断
  • 用户进程产生错误(内部中断)
  • 用户态企图执行特权指令

核态向用户态的情形

一般是执行中断返回:IRET

硬件和OS对CPU的观察

硬件按“态“来区分CPU的状态;OS按“进程”来区分CPU的状态

Intel CPU的态

  • Ring 0 ~ Ring 3 (Ring 0最核心,Ring 3最外层)
  • 程序段A访问程序段B时进行权限检查(态)
  • 程序段:请求特权级,RPL
  • 描述符特权级,DPL

存储程序和数据的部件

分类

  • 按存储器(半导体存储器)读写工作方式:RAM,ROM
  • 按存储元的材料:半导体存储器(常做主存);磁存储器(磁带,磁盘);光存储器(光盘)
  • 按与CPU的联系:主存,直接和CPU交换信息;辅存,不能直接和CPU交换信息

理想的存储体系:速度快,容量大,成本低

实际存储体系(混搭而成):寄存器;高速缓存(cache);主存;辅存

分级存储体系的工作原理

CPU读取指令或数据时的访问顺序

  1. 访问缓存(命中,HIT)
  2. 访问内存(没有命中,MISS)
  3. 访问辅存(缺页,PAGE——FAULT)

 

2.3 中断机制

中断定义

指CPU对突发的外部事件的反应过程或者机制。CPU收到外部信号(中断信号)后,停止当前工作,转去处理该外部事件,处理完毕后回到原来工作的中断处(断点)继续原来的工作。

 

引入中断的目的

  • 实现并发活动
  • 实现实时处理
  • 故障自动处理

中断的一些概念

中断源和中断类型

中断源:引起系统中断的事件

中断类型

  • 强迫性中断:程序没有预期。例,I/O,外部中断
  • 自愿中断:程序有预期。例,如访管指令
  • 外中断:由CPU外部事件引起,分不可屏蔽中断和可屏蔽中断。例,I/O,外部事件
  • 内中断:由CPU内部事件引起。例,访管中断,程序中断

断点:程序中断的地方,将要执行的下一指令的地址。CS:IP

现场:程序正确运行所依赖的信息集合,相关寄存器

现场的两个处理过程:现场的保护,进入中断服务程序之前,栈;现场的恢复,退出中断服务程序之后,栈

中断响应过程

  1. 识别中断源
  2. 保护断点和现场
  3. 装入中断服务程序的入口地址(CS:IP)
  4. 进入中断服务程序
  5. 恢复现场和断点
  6. 中断返回:IRET

中断响应的实质

  • 交换指令执行地址
  • 交换CPU的态
  • 工作:现场保护和恢复;参数传递(通信)

 

猜你喜欢

转载自blog.csdn.net/u010420283/article/details/114107877