【操作系统学习笔记01】
以下是下面链接中教程的笔记,如有侵权请联系我删除。随便学学可能不严谨,但如果有离谱错误烦请指正。
https://www.bilibili.com/video/BV1YE411D7nH?p=3&vd_source=febdc1a8028af6b442667407286a2750
操作系统的概念及功能#
管理系统资源。提供给用户和软件易用的接口和环境。是最接近硬件的软件
系统资源管理
- 文件管理:略
- 存储器管理:例 软件运行时的内存
- 处理机管理:例 CPU资源分配
- 设备管理:例 启用麦克风
向上提供的服务
- GUI:略
- 联机命令接口 / 交互式命令接口:提供一条命令,执行一条命令
- 脱机命令接口 / 批处理命令接口:提供一堆命令,执行一堆命令
- 程序接口:程序使用操作系统资源的唯一途径
2、3是用户可以直接使用的
操作系统特征#
- 并发:多个事件同一时间间隔内宏观上同时发生,微观上交替发生
- vs 并行:多个事件同一时刻同时发生
- 单核CPU同一时刻只能运行一个程序,即只能并发
- 多核CPU可以并行
- vs 并行:多个事件同一时刻同时发生
- 共享:多个并发进程共同使用资源
- 互斥共享:一个时间段只允许一个进程访问
- 同时共享:一个时间段内允许多个进程(微观上可能交替)
- 虚拟:把一个物理商店实体变为若干逻辑上的对应物
- 时分复用技术(虚拟处理器)
- 空分复用技术(虚拟存储器)
- 异步:略
操作系统发展与分类#
- 手工操作阶段:写纸带
- 缺点:独占使用,计算机空闲率高
- 单道批处理系统:加快输入输出读写
- 缺点:无并发,IO占比高
- 多道批处理系统:支持并发
- 缺点:无人机交互
- 分时操作系统:时间片为单位轮流响应用户
- 缺点:不能优先处理紧急任务
- 实时操作系统:紧急任务不需要排队(及时性、可靠性)
- 其它服务于特定业务场景的操作系统
操作系统运行机制#
操作系统指令分为特权指令(如内存清零),和非特权指令(如加减)。
- 内核程序可以运行特权指令,组成操作系统内核,是最接近硬件的部分
- 用户程序只能执行非特权指令
CPU有内核态和用户态两种状态,其状态由程序状态字寄存器(PSW)中的一个二进制位表示。
内核态可以执行特权指令,用户态不行。
- 内核态切用户态 依靠操作系统使用一条特权指令修改PSW标志位,主动让出CPU资源给用户程序。
- 用户态切内核态 依靠引发中断,CPU硬件检测到中断后变回内核态。(用户态中执行特权指令会引发中断)
中断#
- 内中断:与执行的指令有关,CPU触发,执行时检查
- 外中断:与执行的指令无关,外部触发,每个指令执行周期后检查
内中断
- 故障:内核程序可能可以修复,修复完还会交还使用权给应用程序
- 终止:内核程序无法修复,终止应用程序,如非法特权指令,整数除0等
- 陷入指令:应用程序执行,通过引发中断请求操作系统内核服务(系统调用)
外中断
- 时钟中断:实现并发的手段
- IO中断: 由IO设备发送
不同中断信号类型,对应不同的中断处理程序
系统调用#
与共享资源有关的操作必须通过系统调用,保证稳定性和安全性
过程:应用程序传参到寄存器,执行陷入指令(应用程序执行)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)