操作系统(一)——操作系统基础
一、什么是操作系统(Operating System,OS)
1. 定义
操作系统(Operating System,简称 OS) 是运行在计算机硬件上的系统软件,是连接用户和计算机硬件之间的桥梁。
简单来说:
没有操作系统,用户无法直接操作硬件。
例如:
- Windows
- Linux
- macOS
- Android
- iOS
都属于操作系统。
2. 操作系统的地位
计算机系统分为四层:
用户(User) ↑应用程序(App) ↑操作系统(OS) ↑硬件(Hardware)
因此:
操作系统就是软硬件之间的中间层。
它负责把复杂的硬件封装起来,让程序员和用户能够方便地使用计算机。
例如:
用户点击一个 Word 文件
↓
Windows 调用磁盘驱动
↓
硬盘读取数据
↓
返回给 Word
整个过程用户完全不需要了解硬盘如何工作。
二、操作系统的作用(重点)
考试经常问:
操作系统有哪些作用?
主要有四个。
① 管理CPU(处理器)
CPU 是计算机最重要的资源。
如果多个程序同时运行:

CPU 不可能真正同时执行。
操作系统会:
- 调度CPU
- 分配CPU时间片
- 控制程序切换
例如:
程序A↓ 程序B ↓ 程序C ↓ 程序A
由于切换速度极快(毫秒级),用户感觉像是在同时运行。
这就是:
CPU调度
② 管理内存(RAM)
程序运行必须占用内存。
例如:
微信300MB Chrome1GB IDEA2GB
操作系统负责:
- 内存分配
- 内存回收
- 地址映射
- 防止程序互相覆盖
例如:
程序A
1000~3000
程序B
4000~7000
操作系统保证:
程序A不会访问程序B的数据。
③ 管理文件
所有文件:
照片 视频 文档 程序

都由操作系统统一管理。
例如:
Windows:
C:\Users\Desktop
Linux:
/home/user/
操作系统负责:
- 创建文件
- 删除文件
- 复制文件
- 权限管理
- 文件存储
④ 管理设备(I/O)
例如:
- 键盘
- 鼠标
- 显示器
- 打印机
- 网卡
- 硬盘
- 摄像头
程序不会直接控制设备。
而是:
应用程序 ↓ 操作系统 ↓ 设备驱动 ↓ 硬件
因此:
操作系统统一管理所有外设。
⑤ 提供用户接口
用户操作电脑:
鼠标 键盘 命令行
实际上都是:
先告诉操作系统,
再由操作系统执行。
例如:
Windows:
删除文件
Linux:
bashrm file.txt
都是OS完成真正删除。
三、操作系统的基本功能
总结起来:
| 功能 | 作用 |
|---|---|
| 处理机管理 | 管理CPU |
| 存储管理 | 管理内存 |
| 文件管理 | 管理磁盘文件 |
| 设备管理 | 管理硬件设备 |
| 用户接口 | 提供GUI、命令行 |
口诀:
CPU、内存、文件、设备、接口。
四、用户态(User Mode)和内核态(Kernel Mode)(★★★★★)
这是面试最高频知识点。
1. 为什么要区分?
如果任何程序都能:
- 删除系统文件
- 修改内存
- 控制CPU
整个电脑马上崩溃。
因此:
操作系统把CPU权限分为两种。
2. 用户态(User Mode)
特点:
权限最低。
普通程序运行的位置。
例如:

都运行在:
用户态
用户态不能:
❌ 修改CPU
❌ 修改内存管理
❌ 访问硬件
❌ 修改系统文件
3. 内核态(Kernel Mode)
权限最高。
只有:
操作系统内核
可以运行。
可以:
✅ 操作CPU
✅ 管理内存
✅ 控制磁盘
✅ 控制网络
✅ 控制驱动
所以:
Windows 内核、
Linux Kernel
都运行在内核态。
4. 两者区别
| 用户态 | 内核态 |
|---|---|
| 权限低 | 权限最高 |
| 普通程序运行 | 操作系统运行 |
| 不能访问硬件 | 可以访问硬件 |
| 安全 | 危险但功能强 |
口诀:
用户态负责"申请",内核态负责"执行"。
五、系统调用(System Call)(★★★★★)
什么是系统调用?
普通程序不能直接访问硬件。
如果程序想:
读文件 写磁盘 创建进程 申请内存
怎么办?
只能:
请求操作系统帮忙。
这个过程:
就是
系统调用(System Call)
系统调用过程
例如:
程序:
copen("a.txt");
实际过程:
应用程序 ↓ 系统调用 ↓ 操作系统 ↓ 磁盘驱动 ↓ 硬盘
因此:
程序不能直接操作硬盘。
常见系统调用
Linux:
copen()read()write()close()fork()exec()
Windows:
CreateFile() ReadFile() WriteFile() CreateProcess()
为什么需要系统调用?
原因:
安全。
否则:
任何程序都能:
格式化硬盘 关闭CPU 删除系统文件
后果十分严重。
六、中断(Interrupt)(★★★★★)
什么是中断?
CPU 正在执行程序时,
突然发生了一件事情,
CPU 必须暂停当前工作,
先处理新的事件。
这就是:
中断(Interrupt)
举例
正在打游戏:
LOL
突然:
键盘按下 鼠标点击 收到网络数据
CPU:
暂停游戏
↓
处理键盘
↓
继续游戏
这就是中断。
中断流程
CPU执行程序 ↓ 发生中断 ↓ 保存现场 ↓ 处理中断 ↓ 恢复现场 ↓ 继续执行
考试喜欢考:
保存现场 → 中断处理 → 恢复现场
中断分类
① 外部中断
来自硬件。
例如:
- 键盘
- 鼠标
- 网卡
- 时钟
- 打印机
例如:
按下:
A
CPU立即处理中断。
② 内部中断(异常)
来自CPU内部。
例如:
除零异常 非法指令 缺页异常
例如:
c1/0
CPU:
立即异常。
中断的作用
没有中断:
CPU需要不停检查:
键盘? 鼠标? 打印机? 网卡?
效率极低。
有了中断:
设备主动通知CPU。
CPU效率大幅提高。
七、系统调用和中断的区别(面试高频)
很多同学容易混。
| 系统调用 | 中断 |
|---|---|
| 主动请求 | 被动发生 |
| 来自程序 | 来自硬件或异常 |
| 为了使用OS服务 | 为了响应事件 |
| 进入内核态 | 也会进入内核态 |
一句话:
系统调用是程序主动"敲门",中断是硬件或异常主动"打断"CPU。
八、操作系统分类
1. Linux(★★★★★)
特点:
- 开源
- 免费
- 稳定
- 安全
- 多用户
- 多任务
服务器市场占有率最高。
常见发行版:
- Ubuntu
- CentOS
- Debian
- Red Hat
- Fedora
应用:
- 云服务器
- 大数据
- Docker
- Kubernetes
- AI服务器
2. Windows
特点:
- 图形界面友好
- 软件生态丰富
- 办公方便
- 游戏支持最好
适合:
- 办公
- 家庭
- 游戏
缺点:
- 闭源
- 收费
- 更新频繁
3. 嵌入式操作系统
运行在资源有限的设备中。
例如:
智能手表 路由器 无人机 汽车 智能家居
常见:
- FreeRTOS
- RT-Thread
- VxWorks
- LiteOS
特点:
- 占用内存小
- 实时性强
- 功耗低
九、Linux 为什么成为服务器首选?(面试常问)
原因:
- 免费开源
- 稳定(可连续运行数月甚至数年)
- 权限管理完善
- 网络性能优秀
- 安全性高
- 易于自动化运维
- 支持 Docker、Kubernetes、Hadoop、Spark 等主流服务器软件
因此:
互联网公司服务器几乎都采用 Linux。
十、本章重点总结(必背)
操作系统作用
- 管理CPU
- 管理内存
- 管理文件
- 管理设备
- 提供用户接口
用户态 vs 内核态
| 用户态 | 内核态 |
|---|---|
| 权限低 | 权限高 |
| 普通程序 | 操作系统 |
| 不能访问硬件 | 可以访问硬件 |
系统调用
程序想访问:
- 文件
- 网络
- 内存
- 设备
必须通过:
系统调用 → 操作系统 → 硬件
中断
CPU:
执行程序 ↓ 发生中断 ↓ 保存现场 ↓ 处理中断 ↓ 恢复现场 ↓ 继续执行
操作系统分类
| 类型 | 代表 |
|---|---|
| Linux | Ubuntu、CentOS、Debian |
| Windows | Windows 10、11、Server |
| 嵌入式 | FreeRTOS、RT-Thread、VxWorks |
面试/考试高频问题
Q1:操作系统的作用是什么?
答: 操作系统是软硬件之间的中间层,负责管理 CPU、内存、文件、设备等资源,并为用户和应用程序提供统一的接口。
Q2:用户态和内核态有什么区别?
答: 用户态权限低,只能运行普通应用程序;内核态权限最高,可以直接访问硬件和管理系统资源。应用程序需要通过系统调用进入内核态获取系统服务。
Q3:什么是系统调用?
答: 系统调用是应用程序向操作系统请求服务的接口,例如打开文件、创建进程、申请内存等操作,都需要通过系统调用完成。
Q4:什么是中断?
答: 中断是 CPU 在执行程序过程中,被硬件事件或异常打断,暂停当前任务,先处理紧急事件,再恢复继续执行的一种机制。
Q5:Linux 为什么广泛用于服务器?
答: 因为 Linux 开源免费、稳定、安全、性能高、权限管理完善,并且拥有丰富的服务器软件生态,因此成为互联网服务器的主流操作系统。

