一、操作系统基础

2026-07-18wei👁 11 阅读8 分钟阅读📝 3380 字💬 0 评论
一、操作系统基础

操作系统(一)——操作系统基础

一、什么是操作系统(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:

bash
rm 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)


系统调用过程

例如:

程序:

c
open("a.txt"); 

实际过程:

应用程序  系统调用  操作系统  磁盘驱动  硬盘 

因此:

程序不能直接操作硬盘。


常见系统调用

Linux:

c
open()read()write()close()fork()exec() 

Windows:

CreateFile() ReadFile() WriteFile() CreateProcess() 

为什么需要系统调用?

原因:

安全。

否则:

任何程序都能:

格式化硬盘 关闭CPU 删除系统文件 

后果十分严重。


六、中断(Interrupt)(★★★★★)

什么是中断?

CPU 正在执行程序时,

突然发生了一件事情,

CPU 必须暂停当前工作,

先处理新的事件。

这就是:

中断(Interrupt)


举例

正在打游戏:

LOL 

突然:

键盘按下 鼠标点击 收到网络数据 

CPU:

暂停游戏

处理键盘

继续游戏

这就是中断。


中断流程

CPU执行程序  发生中断  保存现场  处理中断  恢复现场  继续执行 

考试喜欢考:

保存现场 → 中断处理 → 恢复现场


中断分类

① 外部中断

来自硬件。

例如:

  • 键盘
  • 鼠标
  • 网卡
  • 时钟
  • 打印机

例如:

按下:

A 

CPU立即处理中断。


② 内部中断(异常)

来自CPU内部。

例如:

除零异常 非法指令 缺页异常 

例如:

c
1/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 为什么成为服务器首选?(面试常问)

原因:

  1. 免费开源
  2. 稳定(可连续运行数月甚至数年)
  3. 权限管理完善
  4. 网络性能优秀
  5. 安全性高
  6. 易于自动化运维
  7. 支持 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 开源免费、稳定、安全、性能高、权限管理完善,并且拥有丰富的服务器软件生态,因此成为互联网服务器的主流操作系统。

wei
技术博客作者
3380 字 · 0 评论
2026-07-18

评论 (0)

暂无评论,来写第一条吧

登录后发表评论

分类

友链

关于本站

用 SpringBoot + Nuxt3 搭建的个人技术博客,记录编程之路的思考与收获。

© 2026 好啵博客 · Built with ❤️ & SpringBoot + Nuxt3