151
社区成员
发帖
与我相关
我的任务
分享1. 手工操作时代(无操作系统)
背景:早期计算机,无系统、无软件
操作方式:人工插接线、拨开关、纸带打孔输入程序
缺点:
全程人工干预,效率极低
计算机高速运行,人工慢速,人机矛盾极度严重
一人独占整台机器,资源浪费
2. 单道批处理系统
什么是批处理:把多个作业(程序 + 数据 + 指令)打包成一批,交给计算机自动依次运行。单道:内存中同一时刻只驻留一道程序,跑完一个再换下一个。
工作流程:
操作员收集一批任务 → 输入磁带 → 计算机自动逐个执行 → 输出结果
优点:减少人工插拔,解放部分人力
缺点:
CPU 经常空闲:程序进行 I/O(读磁盘、打印)时,CPU 只能干等
内存利用率低,同一时间只跑一个程序
3. 多道批处理系统(现代 OS 雏形)
多道:内存中同时存放多个独立程序。
核心原理:
当一个程序做I/O 阻塞(等待读写)时,CPU 立刻切换执行另一个就绪程序,不让 CPU 闲着。
关键特点:
多道程序并发驻留内存
自动调度、无需人工干预
资源利用率大幅提升(CPU、内存、外设都被利用)
缺点:无交互界面,用户提交任务后只能等结果,不能中途操作。
4. 分时操作系统
为了解决无法人机交互诞生。
核心思想:时间片轮转
把 CPU 时间切成极小的时间片(如 10ms),轮流分给多个联机用户。
宏观:多个用户感觉自己独占一台电脑
微观:CPU 快速切换执行每个人的任务
特点:
人机交互式操作
多路用户同时在线
公平轮转、响应及时
代表:早期 Unix、Linux 服务器版
5. 实时操作系统 RTOS
核心目标:严格按时限完成任务,不能延迟
分类:
硬实时:必须绝对准时,迟到就出事故(航天、军工、汽车自动驾驶、工业控制)
软实时:允许轻微延迟(直播、视频会议)
特点:高可靠、高响应、优先级抢占,不追求资源利用率,优先保时间
代表:鸿蒙实时内核、FreeRTOS、VxWorks
6. 通用操作系统
现在我们用的都是:多道批处理 + 分时 结合
代表:Windows、macOS、桌面版 Linux
既能后台批量跑任务,又能前台多窗口交互。
批处理操作系统:批量处理、无交互、追求资源利用率
分时操作系统:时间片轮转、多用户交互、公平响应
实时操作系统:强时限、高可靠、工业 / 嵌入式
网络操作系统:管理网络资源、服务器 / 局域网(Windows Server、Linux 服务器)
分布式操作系统:多台机器协同成一个整体,统一调度资源(云计算底层)
1. 并发(最核心)
定义:宏观上同时进行,微观上交替执行
操作系统最根本特征,没有并发就不需要复杂 OS
区分:
并发:一个 CPU 快速切换,看起来同时跑
并行:多个 CPU 核心,真正同时各自跑一个程序
2. 共享
定义:系统资源(CPU、内存、硬盘、打印机)被多个进程共同使用
两种共享方式:
互斥共享:同一时刻只能一个进程用(打印机、摄像头)
同时访问共享:可同时读(硬盘文件、缓存)
3. 虚拟
把物理资源逻辑上放大、抽象
例子:
虚拟内存:物理内存很小,虚拟内存让程序拥有超大连续地址空间
虚拟 CPU:一个物理 CPU 时间片轮转,虚拟出多个逻辑 CPU 给进程
4. 异步
进程以不可预知的速度向前推进
什么时候就绪、什么时候 I/O 完成都是不确定的
OS 要做的就是:在异步环境下,保证程序正确执行、数据不出错
1. 为什么要分两种状态?
为了安全隔离:
普通应用程序不能随便操作硬件、改内核数据
防止恶意软件、bug 程序破坏整个系统
2. 定义
用户态:应用程序运行的状态,权限低,不能直接访问硬件、不能操作内核资源
微信、浏览器、游戏都跑在用户态
内核态:操作系统内核运行状态,最高权限,可以操作 CPU、内存、磁盘、所有硬件
3. 怎么从用户态进入内核态?
唯一合法方式:系统调用流程:应用程序(用户态)→ 发起系统调用 → 陷入内核 → 切换为内核态 → 内核完成硬件操作 → 返回用户态
4. 常见触发内核态的场景
读写文件
申请内存
网络收发数据
键盘鼠标中断
进程创建、销毁
发展路线:手工操作 → 单道批处理 → 多道批处理 → 分时系统 → 实时 / 通用 OS
四大特征:并发、共享、虚拟、异步(并发是基础)
并发是交替,并行是真同时;多道批处理提升资源利用率,分时实现人机交互
用户态权限低,内核态权限最高;用户态只能通过系统调用进入内核态
同学们可以背诵以一下本节的核心总结