美文网首页
操作系统逻辑结构

操作系统逻辑结构

作者: R_est | 来源:发表于2020-06-09 20:40 被阅读0次
    操作系统的逻辑结构是指操作系统的设计和实现思路

    逻辑结构的种类

    • 整体式结构
      以模块为基本单位构建
      模块设计、编码和调试独立
      模块调度自由
      模块通信多以全局变量的形式完成
      但信息传递随意,维护和更新困难

      整体式结构
    • 层次式结构
      分层原则

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

    结构清晰,避免循环调用
    整体问题局部化,系统的正确性容易保证
    有利于操作系统的维护、扩充、移值


    分层式结构
    • 微内核结构(客户/服务器结构,Client/Server)
      操作系统由微内核和核外服务器构成
    微内核 核外服务器
    提供操作系统最基本的核心功能和服务 完成操作系统的绝大部分服务功能,等待应用程序提出请求

    如前面讲到的Minix操作系统

    CPU的态(Mode)

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

    态的类别 权限
    核态(Kernel mode) 能够访问所有资源和执行所有指令,管理程序和操作系统内核
    用户态(User mode,目态) 仅能访问部分资源,其他资源受限,管理用户程序
    管态(Supervisor mode) 介于核态和用户态之间
    态的转换 情景
    用户态->核态 用户请求操作系统提供服务,发生中断,用户进程产生错误(内部中断),用户态企图执行特权指令
    核态->用户态 一般是执行中断返回:IRET
    • 特权指令
      LGDT/LIDT:装载特殊寄存器
      CLTS:清除任务开关标志
      STI/CTL:允许和禁止中断
      HALT:停止CPU的工作
      IN/OUT:执行I/O操作
      从核态转回用户态
      ......

    • 硬件和操作系统对CPU的观察
      硬件按“态”来区分CPU的状态,操作系统按“进程”来区分CPU的状态
      Intel CPU有Ring 0~Ring 3态,其中Ring 0最核心

    • 程序段访问另一程序段
      需要检查RPL(请求特权级)是否高于DPL(描述符特权级)

    • Windows:Ring 0和Ring 3通信
      DeviceIoControl (kernel32.dll)通过操作系统实现应用层对设备数据的访问

    BOOL DeviceIoControl(
      HANDLE hDevice;//设备句柄 //CreatFile打开创建
      DWORD dwloContolCode;//控制码 // 指明要内核完成的操作
      LPVOID  IpInBuffer;//输入数据缓冲区 //Ring 3输入
      DWORD  nInBufferSize;//缓冲区长度 // Ring 3长度
      LPVOID  IpOutBuffer;//输出数据缓冲区 //Ring 0返回参数
      DWORD  nOutBufferSize;//缓冲区长度 //Ring 0返回长度
      LPDWORD IpBytesReturned;// 输出数据实际长度
      LPOVERLAPPED IpOverlapped;// 重叠操作结构指针
    
    • 存储器
      理想存储体系:速度快、容量大、成本低
      实际存储体系:寄存器、高速缓存(CACHE)、主存(内存)、辅存(硬盘)

      存储器
    • 分级存储系统的工作原理
      CPU访问顺序: 访问缓存(命中,HIT)->访问内存(没命中,MISS)->访问辅存(缺页,PAGE_FAULT)

      CPU访问数据顺序
    • 支持操作系统的最基本硬件结构
      CPU、内存、中断、时钟

    中断机制

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

    • 中断的用处
      实现并发活动
      实现实时处理
      故障自动处理

    • 中断源和中断类型
      引起系统中断的事件成为中断源
      强迫性中断:程序没有预期,如I/O、外部中断
      自愿性中断:程序有预期,如执行访管指令
      外中断:CPU外部事件引起,如I/O、外部事件
      (进一步分为可屏蔽中断和不可屏蔽中断,区别在于CPU是否必须响应)
      内中断:CPU内部事件引起,如访管中断、程序中断

    • 断点
      程序中断的地方,将要执行的下一指令的地址,CS:IP (寄存器)

    • 现场
      程序正确运行所依赖的信息集合,相关寄存器
      现场的保护:进入中断服务程序之前,栈
      现场的恢复:退出中断服务程序之后,栈

    • 中断响应过程
      识别中断源->保护断点和现场->装入中断服务程序的入口地址(CS:IP,自动完成)->进入中断服务程序->恢复现场和断点->中断返回(IRET)

    • 中断响应的实质
      交换指令执行地址
      交换CPU的态
      工作(现场保护和恢复,参数传递)

    相关文章

      网友评论

          本文标题:操作系统逻辑结构

          本文链接:https://www.haomeiwen.com/subject/ptwltktx.html