操作系统逻辑结构
1|0操作系统的逻辑结构
逻辑结构就是 OS 的设计和实现思路
1|1口逻辑结构的种类
- 整体式结构
- 层次式结构
- 微内核结构(客户/服务器结构,Client/Seryer)
1|2整体式结构
整体式结构以模块为单位,模块之间互相调用。
特点
- 模块设计、编码和调试独立
- 模块调用自由
- 模块通信多以全局变量形式完成
缺点
- 信息传递随意,维护和更新困难。
1|3层次式结构
例如:TCP/IP协议
所有的功能模块按照次序排成若干层,相邻层单向依赖或单向调用
层次结构的优点
- 结构清晰,避免循环调用。
- 整体问题局部化,系统的正确性容易保证。
- 有利于操作系统的维护、扩充、移植
1|4微内核结构(客户/服务器结构,Client/Seryer)
操作系统 = 微内核+核外服务器
微内核
足够小,提供OS最基本的核心功能和服务
- 实现与硬件紧密相关的处理
- 实现一些较基本的功能;
- 负责客户和服务器间的通信。
核外服务器:
- 完成OS的绝太部分服务功能,等待应用程序提出请求。
- 由若干服务器或进程共同构成口。例如:进程/线程服务器,虚存服务器,设备管理服务器等,以进程形式运行在用户态。
2|0CPU的态
2|1CPU态(Mode)
- CPU的工作状态。
- 对资源和指令使用权限的描述
2|2态的分类
- 核态(Kernel mode)
- 能够访问所有资源和执行所有指令
- 管理程序/OS内核口
- 用户态(User.mode,目态)
- 仅能访问部分资源,其它资源受限。
- 用户程序
- 管态(Supervisor mode)
- 介于核态和用户态之间,界限不明确,有些甚至没有
2|3用户态和核态的转换
-
用户态向核态转换
- 用户请求OS提供服务
- 发生中断
- 用户进程产生错误(内部中断)
- 用户态企图执行特权指令
-
口核态向用户态转换的情形
- 一般是执行中断返回:IRET
3|0存储程序和数据的部件口分类
3|1按存储器(半导体存储器逵写工作方式
- RAM
- ROM
3|2按存储元的材料
- 半导体存储器(常作主存)
- 磁存储器(磁带,磁盘)
- 光存储器(光盘)
3|3按与CPU的联系
- 主存:直接和CPU交换信息
- 辅存:不能直接和CPU交换信息
3|4存储体系
- 寄存器
- 高速缓存(CACHE)
- 主存
- 辅存
4|0中断机制
中断是指CPU对突发的外部事件的反应过程或机制。CPU收到外部信号(中断信号)后,停止当前工作,转去处理该外部事件,处理完毕后回到原来工作的中断处(断点)继续原来的工作。
引入中断的目的
- 实现并发活动
- 实现实时处理
- 故障自动处理
4|1一些概念
- 中断源:引起系统中断的事件
- 中断类型:强迫性中断和自愿中断(程序预期达到还是没达到)、外中断(中断)和内中断(俘获)口外中断(内部还是外部事件)、不可屈蔽中断和可屏蔽中断口(中断原因紧要还是不紧要)
- 断点:程序中断的地方,将要执行的下一指令的地址
- 现场:程序正确运行所依赖的信息集合。两个处理过程为现场保护和现场恢复。
4|2中断响应过程
- 识别中断源
- 保护断点和现场
- 装入中断服务程序的入口地址(CS:P)
- 进入中断服务程序
- 恢复现场和断点
- 中断返回:IRET
4|3中断响应的实质
- 交换指令执行地址
- 交换CPU的态
- 工作
- 现场保护和恢复
- 参数传递(通信)
__EOF__
作 者:Hichens
出 处:https://www.cnblogs.com/hichens/p/12430625.html
关于博主:莫得感情的浅度学习机器人
版权声明:@Hichens
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人