第一章 操作系统——概述(英文标注)
一.基本概念
操作系统(Operation System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境的程序集合。
三重定义:是系统软件,区别于应用软件/硬件
是计算机软硬件资源的管理者
是用户、应用程序与硬件之间的接口
四大设计目标:
| 方便性 Convenience | 核心是提供良好的用户接口,方便用户使用计算机系统 |
|
有效性 Efficiency |
提高硬件资源的利用率与系统吞吐量 (吞吐量throughput:单位时间内系统能够完成的进程 / 任务数量) |
|
可扩展性 Extensibility |
适配硬件升级、功能拓展 |
|
开放性 Openness |
遵循统一、公开的标准接口规范,支持不同软硬件兼容,兼容不同厂商设备与应用 |
四大基本特征:
|
并发 Concurrence |
两个或多个事件在同一时间间隔内发生 宏观同时、微观交替 |
|
共享 Sharing |
多个并发执行的进程共同使用系统资源 |
|
虚拟 Virtual |
一个物理上的实体->若干逻辑上的对应物 |
|
异步 Asynchhronism [eɪ'sɪŋkrənəs] |
进程以不可预知的速度、走走停停向前推进;何时分配 CPU、何时 I/O 阻塞都不确定。 |
并行Parallelism:存在多个处理核心(多个 CPU / 多核 CPU),同一时刻多个任务真正同时执行,是物理层面的同时运行。
1.1核心权限与架构
| 比喻对象 | 专业术语 | 英文全称 | 一句话定义 |
|---|---|---|---|
| 董事会/核心机房(最高权限) | 内核态 / 核心态 | Kernel Mode | CPU执行操作系统内核代码的特权模式,可执行全部指令、访问所有硬件。 |
| 普通办公区(受限权限) | 用户态 | User Mode | CPU执行普通应用程序的受限模式,不能直接操作硬件或内核空间。 |
| 前台申请表(办业务的唯一凭证) | 系统调用 | System Call | 用户态程序请求内核服务的编程接口,是切换到内核态的唯一合法入口。 |
| 前台申请表上的专属业务编号 | 系统调用号 | System Call Number | 内核为每个系统调用分配的唯一整数编号,用于在陷入内核时快速定位具体服务。 |
| 紧急电话/闹钟(硬件主动喊你) | 中断 | Interrupt | 硬件设备(键盘、时钟)发往CPU的异步电信号,打断当前执行流并转向处理程序。 |
| 程序内部出错报警(自己触发) | 陷阱 / 异常 | Trap / Exception | 程序执行中同步发生的意外事件(如除零、缺页),主动触发内核处理。 |
1.2 进程与线程 - 项目执行部
| 比喻对象 | 专业术语 | 英文全称 | 一句话定义 |
|---|---|---|---|
|
独立项目组 (有独立办公室和物资) |
进程 | Process | 正在运行的程序实例,是操作系统资源分配(内存、文件)的基本单位。 |
| 项目组里的具体员工 | 线程 | Thread | 进程内部的执行流,是CPU调度的最小单位,同进程的线程共享资源。 |
| 项目组的详细档案卡 | 进程控制块 | PCB (Process Control Block) | 内核为每个进程维护的数据结构,存储PID、状态、寄存器、优先级等全部管理信息。 |
| 员工的个人档案卡 | 线程控制块 | TCB (Thread Control Block) | 内核为每个线程维护的数据结构,记录线程独有的寄存器、栈指针和调度信息。 |
| 项目组组号(唯一编号) | 进程标识符 | PID (Process IDentifier) | 系统分配给每个进程的唯一数字编号,用于内核索引和管理。 |
| 排队等工位 / 正在干活 / 等物料暂停 | 进程基础三态 | Ready / Running / Blocked | 就绪态(等待CPU)、运行态(占用CPU)、阻塞态(等待I/O),构成进程生命周期流转。 |
| 负责人离职后无人接管的项目组 | 孤儿进程 | Orphan Process | 父进程先于子进程结束,子进程被内核中的init/systemd进程领养并回收。 |
| 项目已结束但档案未注销(占着工号) | 僵尸进程 | Zombie Process | 子进程已终止,但其PCB仍保留等待父进程调用wait()读取退出状态,若父进程不处理则造成资源泄漏。 |
| 把整个项目组完整复制一份分家 | fork() 进程创建 | fork() System Call | Unix/Linux中通过复制调用进程(父进程)来创建新进程(子进程)的系统调用,子进程获得父进程数据副本。 |
1.3 CPU调度算法 - 排班
| 比喻对象 | 专业术语 | 英文全称 / 缩写 | 一句话定义 |
|---|---|---|---|
|
总经理 (制定排班规则) |
调度器 | Scheduler | 操作系统模块,负责按策略从就绪队列中选择下一个占用CPU的进程/线程。 |
| 换项目时收拾旧文件/铺开新文件 | 上下文切换 | Context Switch | 保存当前进程的CPU状态到其PCB,并加载新进程PCB内容的切换开销。 |
|
先来先排队, 不插队不换人 |
先来先服务 | FCFS (First-Come, First-Served) | 按进程到达顺序依次执行直到结束,非抢占式,平均等待时间较长。 |
| 每人发5分钟时间片,铃响就换人 | 时间片轮转 | RR (Round Robin) | 每个进程分配固定时间片,用完即切换,实现公平分时响应。 |
| 紧急任务插队先做 | 优先级调度 | Priority Scheduling | 根据进程优先级高低决定执行顺序,高优先级可抢占低优先级(需配合老化防饥饿)。 |
| 优先把耗时短的杂活先干完 | 短作业优先 | SJF (Shortest Job First) | 优先选择预计运行时间最短的进程执行,理论上平均等待时间最小(非抢占)。 |
| 等得越久的老员工,下次被叫到的优先级越高 | 高响应比优先 | HRRN (Highest Response Ratio Next) | 动态计算优先级(等待时间+要求服务时间)/要求服务时间,兼顾长短作业与等待时长。 |
| 现代综合排班法(多队列动态升降级) | 多级反馈队列 | MLFQ (Multilevel Feedback Queue) | 设置多个优先级队列,进程按行为(CPU/IO密集型)动态升降队列,兼顾响应与吞吐。 |
| 排班规则是否允许中途把人从工位撵走 | 抢占式 / 非抢占式 | Preemptive / Non-preemptive |
抢占式允许更高优先级任务强制剥夺当前进程的CPU; 非抢占式必须等当前进程主动让出。 |
1.4 内存管理-行政后勤部
| 比喻对象 | 专业术语 | 英文全称 | 简要解释 |
|---|---|---|---|
|
办公桌面 (快但面积有限) |
物理内存 | Physical Memory / RAM | 计算机实际安装的随机存取存储器,CPU可直接寻址,容量有限且断电丢失。 |
| 大型仓库(大但取用慢) |
硬盘 / 外存 |
Hard Disk / Secondary Storage |
永久存储数据的设备(机械硬盘或SSD),容量大但访问速度远慢于内存。 |
|
桌面置换大法 (用仓库冒充桌面空间) |
虚拟内存 | Virtual Memory | 操作系统利用外存(硬盘 / SSD) 逻辑扩充内存的存储管理技术。 |
| 仓库里划出的临时货架区 | 交换分区 / 交换空间 | Swap Partition / Swap Space | 硬盘上专门用于存放被换出内存页的区域,作为虚拟内存的后备仓库。 |
| 把文件在桌面和仓库间搬来搬去 | 分页 / 页面交换 | Paging | 将虚拟地址空间和物理内存都划分为固定大小的页(通常4KB),按页进行映射和交换。 |
| 按逻辑段落划分(代码段、数据段分开) | 分段 | Segmentation | 将程序划分为逻辑段(代码段、数据段等),每段有独立的基址和长度。 |
| 先按逻辑切大段落,再把每个大段切成固定小块 | 段页式存储管理 | Segmented Paging | 结合分段与分页:程序先按逻辑分段,每段内部再按固定大小分页,段表+页表两级映射。 |
| 储物格子内部用不完的空隙 | 内部碎片 | Internal Fragmentation | 分页机制中,进程最后一页未占满的剩余空间,属于页内浪费。 |
| 储物格之间无法拼凑的零散缝隙 | 外部碎片 | External Fragmentation | 分段机制中,内存空闲区被分割成许多无法利用的小块,总和够但连续不够。 |
| 项目组的索引地图(虚拟→物理映射) | 页表 | Page Table | 进程私有的映射表,将虚拟页号转换为物理页框号(或记录该页在交换区的位置)。 |
| 行政口袋本(缓存最近常用映射) | 快表 / 转译后备缓冲器 | TLB (Translation Lookaside Buffer) | CPU内部的高速缓存,缓存最近访问的页表项,命中时无需查内存页表,极速加速地址转换。 |
| 仓库(虚拟)里的格子对应桌面(物理)的具体格子编号 | 物理页框 | Page Frame | 物理内存被划分成的固定大小存储块,用于装载从虚拟内存映射过来的虚拟页。 |
| 发现文件不在桌面,需去仓库取 | 缺页中断 | Page Fault | 访问的虚拟页不在物理内存时触发的异常,需从硬盘加载并可能换出一页。 |
| 做梦时的最佳选择(理论最优) / 翻抽屉扔最久没碰的 / 按顺时针转圈检查淘汰 | OPT / LRU / Clock 置换算法 | OPT (Optimal) / LRU (Least Recently Used) / Clock | OPT淘汰最远将来才用的页(理论下限);LRU淘汰最长时间未用的页;Clock用循环队列和访问位近似实现LRU。 |
| 桌面满了该扔哪份文件的通用规则 | 页面置换算法 | Page Replacement Algorithm | 缺页时决定淘汰哪个物理页的规则,常见有FIFO、LRU、Clock、NRU等。 |
x86(32位):指针长度只有 32 位,所以虚拟地址空间最大只有 2^32 = 4GB。
x64(64位):指针长度为 64 位, 所以纯数学理论上虚拟地址空间最大只有 2^64 = 16777216 TB。
1.5 文件管理
| 比喻对象 | 专业术语 | 英文全称 / 缩写 | 简要解释 |
|---|---|---|---|
| 文件夹(分类盒子) | 目录 | Directory | 文件系统中用于组织文件的容器,可包含文件或子目录。 |
| 树状结构放置 | 文件树 / 目录树 | File Tree / Directory Tree | 从根目录开始的分层树状结构,所有文件通过唯一路径标识。 |
| 文件的底层身份证(记录大小、权限、位置,但不记文件名) | 索引节点 | Inode (Index Node) | 硬盘上存储文件元数据(大小、权限、时间戳、数据块指针)的结构,文件名在目录项中。 |
| 进程打开文件时拿到的号码牌 | 文件描述符 | File Descriptor (FD) | 操作系统为进程打开的文件分配的整数索引,进程通过它读写文件,指向内核文件表项。 |
| 同份文件的多个别名(指向同一个inode) | 硬链接 | Hard Link | 同一inode的多个目录项,删除源文件不影响其他硬链接访问数据。 |
| 指向原始文件的快捷方式(新建独立inode) | 软链接 / 符号链接 | Symbolic Link | 新建一个独立文件存储目标路径,源文件删除则失效,可跨文件系统。 |
| 仓库自动取货机的寻路优化 | 磁盘调度算法 | FCFS / SSTF / SCAN / CSCAN | 决定磁头移动顺序:FCFS按请求顺序,SSTF找最近磁道,SCAN往复扫描,CSCAN单向循环。 |
| 取货文件的中转临时置物台 | 缓冲区缓存 | Buffer Cache | 内核在内存中开辟的区域,暂存磁盘数据块,显著减少频繁的直接磁盘I/O。 |
1.6 同步与死锁(并发控制) - 资源争夺(Process、Thread)
| 比喻对象 | 专业术语 | 英文全称 | 简要解释 |
|---|---|---|---|
| 同一时间只能一个人使用的打印机(保护对象) | 临界资源 | Critical Resource | 一次仅允许一个进程/线程访问的共享资源(如打印机、全局变量),是引入锁的根本原因。 |
| 申请、使用、释放公共资源的操作 | 临界区 | Critical Section | 访问共享资源的代码片段,同一时刻最多一个线程执行。 |
| 多人同时修改同一份Excel导致数据错乱 | 竞态条件 | Race Condition | 多个进程/线程并发访问共享数据时,由于执行顺序不可控导致结果取决于时机的错误。 |
| 不可分割的最小操作(要么全做,要么全不做) | 原子操作 | Atomic Operation | 执行过程不可中断的操作,常用于实现锁和同步原语。 |
| 预约登记表(可允许多个预约) | 信号量 | Semaphore | 整型计数器,用于控制多进程对共享资源的访问,支持P(减)和V(加)操作。 |
| 只能一人进入的厕所门锁 | 互斥量 / 互斥锁 | Mutex (Mutual Exclusion) | 特殊的二值信号量(0/1),同一时刻只允许一个线程进入临界区。 |
| 抢不到锁就原地打转不放手 | 自旋锁 | Spinlock | 忙等待锁,尝试获取的线程循环检测直到成功,适用于临界区极短且不睡眠的场景。 |
| 阅览室规则:允许多人同时看书(读共享),写书时只准一人进且禁止他人读(写独占) | 读写锁 | Read-Write Lock (RWLock) | 更细粒度的锁,允许多个读者同时访问,但写者必须独占,适合读多写少。 |
| A等B,B等A,互相僵持卡死 | 死锁 | Deadlock | 多个进程互相等待对方占有的资源,导致永久阻塞的现象。 |
| 形成死锁的四个缺一不可的条件 | 死锁必要条件 | Mutual Exclusion / Hold and Wait / No Preemption / Circular Wait | 互斥、占有且等待、不可抢占、循环等待,四个条件同时满足才会死锁。 |
| 针对死锁的四大对策 | 死锁处理策略 | Prevention / Avoidance / Detection / Recovery | 预防(破坏条件)、避免(如银行家算法)、检测(周期检查资源图)、解除(终止进程或抢占资源)。 |
| 精明的银行家,分配前先算账 | 银行家算法 | Banker's Algorithm | 避免死锁的经典算法,分配资源前模拟计算,确保系统始终处于安全状态。 |
| 工厂流水线(生产-消费) / 圆桌哲学家拿筷子 / 图书管理员登记借还书 | 经典同步问题 | Producer-Consumer / Dining Philosophers / Readers-Writers | 用于验证同步机制正确性的三大经典场景:生产者-消费者(共享缓冲区)、哲学家就餐(竞争叉子)、读者-写者(数据共享)。 |
1.7 进程间通信 IPC - 跨部门沟通
| 比喻对象 | 专业术语 | 英文全称 | 简要解释 |
|---|---|---|---|
| 跨部门沟通总称 | 进程间通信 | IPC (Inter-Process Communication) | 操作系统提供的机制,允许不同进程之间交换数据或同步动作。 |
| 对讲传声筒(单向字节流) | 管道 | Pipe | 单向字节流通信,通常用于父子进程,数据按FIFO顺序传输。 |
| 有名字的对讲机(无亲缘关系也能用) | 命名管道 | Named Pipe / FIFO | 有文件名标识的管道,允许无亲缘关系的进程间通信,同样按FIFO传输。 |
| 内部邮件系统(异步收发消息块) | 消息队列 | Message Queue | 进程间通过消息块异步通信,每个消息有类型,接收方可按类型选择读取。 |
| 公共大黑板(最快,但需加锁) | 共享内存 | Shared Memory | 将同一块物理内存映射到多个进程的虚拟地址空间,最快IPC,需配合同步机制。 |
| 把仓库文件直接映射到桌面上操作(省去复制搬运) | 内存映射 | mmap (Memory Map) | 将文件或设备内容映射到进程虚拟地址空间,实现文件访问与内存访问的统一,可用于进程间共享。 |
| 跨城市/跨国家通信(网络) | 套接字 | Socket | 支持跨网络或跨主机的通信端点,提供字节流或数据报传输,是网络编程基础。 |
| 同栋大楼内部专用对讲专线(比长途快) | Unix域套接字 | Unix Domain Socket | 本机内部进程间通信的Socket接口,基于文件系统路径标识,不经网络协议栈,效率高于网络Socket。 |
| 轻量级紧急通知(响铃提醒) | 信号 | Signal | 内核发送给进程的软中断通知,用于异步事件处理(如SIGKILL终止、SIGALRM定时)。 |
1.8 并发与执行特性
| 比喻对象 | 专业术语 | 英文全称 | 简要解释 |
|---|---|---|---|
| 多个项目同时在不同会议室进行(真同时) | 并行 | Parallelism | 多个任务同时在不同的CPU核心上执行,是物理上的真正同时运行。 |
| 多个项目轮流用同一间会议室(逻辑同时) | 并发 | Concurrency | 多个任务在同一时间段内交替推进(通过时间片轮转),逻辑上看起来同时,实际可能单核。 |
| 员工在等打印机结果时暂停手头一切工作 | 阻塞 | Blocking | 进程/线程因等待事件(如I/O完成)而暂停执行,被移出运行队列。 |
| 员工提交打印请求后继续干别的,不必干等 | 非阻塞 | Non-blocking | 请求操作后不等待完成,立即返回,后续通过轮询或回调检查结果。 |
| 交了打印申请后主动等结果再走 / 交了就走,事后通知再来取 | 同步 / 异步 | Synchronous / Asynchronous |
同步指调用方主动等待操作完成并获取结果; 异步指发起调用后立即返回,由系统通过回调或通知告知结果。 |
阻塞/非阻塞侧重调用方等待时能否干别的,同步/异步侧重结果返回的方式。
二. 操作系统发展历程
1.1 手工操作阶段(无操作系统)
早期计算机不存在任何系统软件,没有编译器、加载器等辅助工具。程序员需手动将程序逻辑翻译为二进制机器指令,通过打孔制作纸带,再依靠开关、纸带机向计算机输入程序。
完整程序处理流程:手写程序源码 → 人工查表翻译二进制指令 → 制作穿孔纸带(机器码载体)→ 手工输入设备加载程序。Source Code->Compiler->Object Code->Hardware
特点:人机串行工作,同一时刻硬件仅能服务一个程序,硬件资源独占;人工翻译、换纸带耗时极长,CPU 大量空闲等待人工操作,硬件利用率极低,上手门槛极高
缺陷:任务切换全靠人工操作,流程繁琐耗时,CPU、外设资源严重浪费
1.2 批处理系统(第一代操作系统雏形)Batch Operating System
为解决手工操作阶段人工干预多、CPU 资源严重浪费的痛点,系统引入监控程序(最早的操作系统内核雏形),可批量录入作业程序,脱离人工全程干预,机器自动依次执行任务。
1.2.1 单道批处理
同一时刻内存中仅驻留一道程序,当程序发起磁盘、打印等 IO 请求进入阻塞状态时,CPU 只能空闲等待,无法执行其他任务;所有作业依托磁带机批量统一提交,自动串行运行。
目的:消除频繁的人工开关机、换纸带操作,减少人工操作耗时,解放人力,初步降低人机等待时间
特点:自动批量运行、无需全程人工值守;CPU 与 IO 设备串行工作
缺陷:IO 阻塞期间 CPU 长期空闲,硬件资源依旧利用率低下
1.2.2 多道批处理
在内存中同时驻留多道相互独立的程序,借助系统调度程序,当某一道程序等待 IO 操作时,CPU 立刻切换运行内存中其他就绪程序,让 CPU 和外设并行工作。
目的:实现 CPU 与外设、多道程序之间并行运行,彻底盘活硬件资源,大幅提升 CPU、内存、IO 外设的整体利用率,提升系统吞吐率
特点:多程序内存共存、软硬件设备并行工作、自动化程度高
代表系统:IBM OS/360
缺点:系统全程自动运行,无任何人机交互接口,程序运行过程中用户无法干预、无法调试,出错后只能运行结束才能查看结果
1.3 分时操作系统 Time-Sharing Operating System
针对批处理系统无法人机交互、用户不能实时调试程序的短板,分时操作系统采用时间片轮转调度策略(CPU 按照极短固定时间片,快速轮流切换运行多个终端用户任务)。切换速度极快,让每位用户主观上都感觉自己独占整台计算机。
目的:实现多人同时上机,支持实时人机交互,方便用户在线调试、控制程序运行,兼顾多用户使用公平性
核心机制:时钟中断、进程上下文切换
特点:人机交互性强、多用户同时在线、CPU 时间片公平分配、响应速度快
代表系统:UNIX、Linux、早期小型机系统
缺点:系统开销增大,频繁任务切换会损耗一部分 CPU 性能;系统设计复杂度远高于批处理系统。
1.4 实时操作系统 Real-Time Operating System
针对工业控制、航空航天、医疗设备等对响应时间有硬性要求的场景,实时操作系统可优先响应关键任务,严格保障任务在规定截止时间内完成,不受其他普通进程干扰。
目的:满足特殊场景确定性响应需求,保证关键任务准时执行,杜绝系统延迟引发安全事故
核心机制:优先级抢占调度、高精度时钟中断、任务硬截止时间管控
特点:响应时延极低、任务优先级明确、执行时序可预测、可靠性极高
缺点:系统通用性差,不适合日常办公娱乐场景,资源利用率低于分时系统;优先级不合理易出现低优先级任务饥饿问题
分类:硬实时系统(超时直接导致系统故障,如导弹控制系统)、软实时系统(轻微超时无严重后果,如直播流媒体)
代表:VxWorks、FreeRTOS、RT-Thread、Windows CE
1.5 网络式操作系统与分布式操作系统
二者本质都是为了解决单机能力边界不足的问题,但所处的技术发展阶段不同,要解决的核心痛点层级有本质区别:网络操作系统解决的是“单机孤岛能不能互通”的基础问题,分布式操作系统解决的是“单机性能到顶、怎么靠多机突破上限”的规模化问题。
|
网络操作系统 Network Operating System, NOS |
分布式操作系统 Distributed Operating System, DOS |
|
|---|---|---|
| 核心定位 | 以单机操作系统为基础,附加网络服务能力的扩展型单机系统 | 管控多节点集群、统一调度全局资源的原生多机操作系统 |
| 核心目标 | 打破单机信息孤岛,实现跨机资源共享与数据互通 | 整合多节点算力 / 存储,突破单机性能上限,对外呈现为单一超级计算机 |
| 设计思想 | 单机自治为主,网络共享为辅,不改变单机系统的核心架构 | 全局统一管控,资源池化抽象,以多机协同为原生设计目标 |
| 节点自治性 | 极高,各节点拥有完整的本机资源控制权,彼此独立运行 | 极低,节点资源全部纳入全局调度,自身无独立决策权 |
| 资源管理模式 | 各节点自主管理本地资源,仅对外开放部分共享资源 | 全集群资源统一抽象为资源池,由系统全局按需分配调度 |
| 资源透明性 | 差,访问远程资源必须显式指定目标机器地址与路径 | 高,用户 / 程序完全感知不到资源的物理位置,调用方式与单机一致 |
| 系统耦合度 | 松耦合,节点间仅通过网络协议交互,彼此独立运行 | 紧耦合,节点间深度协同,全局状态实时同步 |
| 任务调度方式 | 调度完全由本机 OS 负责,无跨机任务调度能力 | 全局统一调度,任务可自动分配到任意节点执行,支持动态迁移 |
| 通信机制 | 基于网络协议的显式通信,编程时需手动指定目标节点地址 | 内核级透明通信,进程间通信与单机 IPC 体验一致,底层自动处理网络传输 |
| 故障影响范围 | 单节点故障仅影响自身,不波及其他节点,整体可用性依赖单机 | 单节点故障自动触发任务 / 数据迁移,业务无感知;全局一致性故障可能影响整个集群 |
| 一致性要求 | 无强一致性要求,各节点数据独立维护,互不干扰 | 需保障集群数据、状态的一致性,受 CAP 理论约束,需设计专门的一致性协议 |
| 易用性与开发门槛 | 简单,是单机系统的延伸,原有单机程序无需修改即可运行 | 复杂,需解决一致性、容错、分布式通信等问题,开发与调试门槛极高 |
| 横向扩展能力 | 扩展简单,新增节点即插即用,但无法实现算力线性叠加 | 支持弹性扩缩容,新增节点自动纳入资源池,算力随节点数近似线性提升 |
| 运维复杂度 | 低,运维逻辑与单机系统差异小,仅需额外维护网络共享配置 | 高,需监控集群状态、处理节点故障、保障数据一致性,运维成本呈指数级上升 |
| 典型适用场景 | 小型局域网办公、企业内部文件 / 打印共享、小规模组网场景 | 云计算平台、大数据计算、高并发互联网服务、超大规模分布式存储、科学计算集群 |
| 典型代表 | Novell NetWare、早期 Windows Server、UNIX 网络版 | 云厂商自研分布式云操作系统、大数据集群调度内核、分布式容器编排底层系统 |
1.6个人电脑操作系统
个人电脑操作系统又称桌面操作系统,是面向个人终端用户、安装在台式机 / 笔记本等个人硬件上,以人机交互为核心的通用操作系统,也是大众日常接触最多的 OS 类型。
核心定位:服务单用户,管理单台电脑的全部硬件软件资源,优先保障交互体验与易用性,覆盖办公、娱乐、学习、开发等个人全场景。
核心设计原则:易用性优先、交互友好、软硬件广泛兼容、单用户多任务
核心特点
- 单用户多任务:同一时间主要服务一个活跃用户,但支持同时运行多个应用程序,通过 CPU 调度实现多程序并发。
- 图形化交互为主:标配图形用户界面(GUI),通过桌面、窗口、图标、键鼠 / 触屏完成操作,学习门槛极低。
- 强生态兼容性:适配海量第三方应用软件,兼容打印机、U 盘、显卡、手柄等各类外接设备。
- 体验导向调度:优先保障前台交互程序的响应速度,兼顾多媒体渲染、游戏性能等个人场景需求。
主流代表
- Windows 系列:全球桌面端市场占有率最高,生态最完善,覆盖办公、游戏、民用全场景
- macOS:苹果 Mac 设备专属,系统封闭稳定,流畅度高,在设计、音视频、开发领域使用率高
- Linux 桌面发行版:如 Ubuntu、Fedora、Deepin 等,开源免费,定制性强,以技术开发者用户为主
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)