小言_互联网的博客

(二)操作系统逻辑结构-学习笔记

225人阅读  评论(0)

学习资源: https://www.bilibili.com/video/av46264774/

二、操作系统逻辑结构

1. 操作系统的逻辑结构

  • 整体式结构
    • 模块为基本单位构建
    • 模块设计、编码和调试独立;模块调用自由;模块通信多以全局变量形式完成
    • 信息传递随意,维护和更新困难
  • 层次结构 (类似TCP/IP协议栈)
    • 所有功能模块按照调用次序排成若干层, 相邻层间只有单向依赖或单向调用
  • 微内核机构 (Minix OS)
    操作系统 = 微内核 + 核外服务器
    • 微内核: 足够小,提供OS最基本的核心功能和服务
      • 实现与硬件紧密相关的处理
      • 实现一些较基本的功能
      • 负责客户和服务器间的通信
    • 核外服务器: 完成OS的绝大部分服务功能,等待应用程序提出请求
      • 进程服务器、线程服务器,需存服务器、设备管理服务器等,以进程形式运行在用户态。

Linux是单体内核(宏内核)

2. CPU的态

支持操作系统的最基本硬件结构

  • CPU
  • 内存
  • 中断
  • 时钟

CPU态(Mode)

  • CPU的工作状态
  • 对资源和指令使用权限的描述

态的分类

  • 核态(kernel mode)
    • 能够访问所有资源和执行所有指令
    • 管理程序 / OS内核
  • 用户态(User mode, 目态)
    • 仅能够访问部分资源,其它资源受限
    • 用户程序
  • 管态(Supervisor mode)
    • 介于核态和用户态之间

用户态和核态之间的准换

  • 用户态向核态转换
    • 用户请求OS提供服务
    • 发生中断
    • 用户进程产生错误(内部中断)
    • 用户态企图执行特权指令
  • 核态向用户态转换
    • 一般是执行中断返回: IRET

存储体系

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

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

3. 中断机制

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

引入中断的目的:

  • 实现并发活动 (CPU和外设等)
  • 实现实时处理
  • 故障自动处理

中断源和中断类型

  • 引起系统中断的事件称为中断源
  • 中断类型
    • 强迫性中断(I/O,外部中断)和自愿中断
    • 外中断和内中断
    • 不可屏幕中断和可屏蔽中断

断点

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

现场(上下文)

  • 程序正确执行所依赖的信息集合
    • 相关寄存器

现场的两个处理过程

  • 现场的保护: 进入中断服务程序之前,栈
  • 现场的恢复: 退出中断服务程序后,栈

中断响应的过程

  1. 识别中断源
  2. 保护断点和现场
  3. 装入中断服务程序的入口地址(CS:IP); 硬件完成,不需要程序员干预
  4. 进入中断服务程序
  5. 恢复现场和断点
  6. 中断返回: IRET

中断响应的实质

  • 交换指令执行地址
  • 交换CPU的态 (中断响应的过程是在核态完成的)
  • 工作
    • 现场保护和恢复
    • 参数传递(通信) 由主程序传递给中断服务程序,同样中断服务程序可以返回给主程序

转载:https://blog.csdn.net/zhulf0804/article/details/102255491
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场