操作系统逻辑结构

操作系统的逻辑结构是指操作系统的设计和实现思路

逻辑结构的种类

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

    整体式结构

  • 层次式结构
    分层原则

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

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


分层式结构
  • 微内核结构(客户/服务器结构,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的态
    工作(现场保护和恢复,参数传递)

你可能感兴趣的:(操作系统逻辑结构)