news 2026/7/9 2:57:24

操作系统:操作系统基础原理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
操作系统:操作系统基础原理

操作系统基础原理

本文系统介绍操作系统的基础原理,内容包括操作系统的角色、内核架构、进程与线程管理、CPU调度、内存管理、文件系统与I/O、并发与同步以及安全与保护机制,为理解和设计现代计算系统提供理论基础。

1CPU时间在用户态、内核态和空闲状态之间的示意分布。

2:存储层次结构及访问时延示意(对数刻度)。

3:进程在就绪、运行和阻塞状态之间随时间变化的示意。

4:磁盘IOPS随时间变化的示意曲线(与负载相关)。

组件

主要角色

示例

关键概念

进程与线程管理

创建、调度和同步执行单元。

调度器、进程表、线程库等。

上下文切换、抢占、进程间通信等。

内存管理

分配、保护和管理内存资源。

虚拟内存、分页和分段机制。

地址空间、页表、MMU等。

文件系统与I/O

存储并访问持久数据。

文件系统、设备驱动和I/O调度器。

数据块、元数据、缓冲和缓存等。

设备与资源管理

为硬件设备提供抽象接口并管理资源。

驱动程序、硬件抽象层、资源控制器。

中断处理、资源抽象和管控。

表1:操作系统主要组件及其角色。

状态

描述

典型触发条件

备注

新建 (New)

进程正在创建中。

fork/exec或系统调用创建进程。

已分配资源但尚未调度执行。

就绪 (Ready)

进程可运行,等待CPU时间片。

被调度器加入就绪队列。

与其他就绪进程竞争CPU。

运行 (Running)

进程正在CPU上执行。

调度器选择并分派时间片。

可能主动释放或被抢占。

阻塞/等待 (Blocked/Waiting)

进程等待I/O完成或某事件发生。

发起I/O请求、等待锁、休眠等。

事件完成后回到就绪状态。

结束 (Terminated)

进程已完成执行或被终止。

正常退出或收到终止信号。

操作系统回收其资源。

表2:典型进程状态及状态转换触发条件。

调度算法

基本原理

优点

缺点

FCFS先来先服务

按照到达顺序调度进程运行。

实现简单,开销低。

平均响应时间可能较差,易出现“车队效应”。

时间片轮转 (Round Robin)

为每个进程分配固定时间片,按轮次调度。

适合分时系统,CPU分配较公平。

时间片大小影响调度开销和交互响应。

优先级调度

总是运行就绪队列中优先级最高的进程。

可支持QoS和灵活优先级策略。

低优先级进程可能长期饥饿。

多级反馈队列 (MLFQ)

设置多级队列,时间片和优先级因队列而异。

可根据进程行为自适应调整,兼顾交互和批处理。

设计和调优较复杂,实现难度较大。

表3:常见CPU调度算法及其优缺点。

1. 操作系统的角色与结构

操作系统是管理硬件资源并为应用程序提供服务和抽象的软件系统。它处于用户应用与硬件之间,为CPU、内存、存储和外设提供受控访问。

典型结构包括内核(具有最高特权的核心)、系统库以及用户态工具。内核实现进程调度、内存管理、设备驱动和系统调用等底层机制;系统库提供更高层的API;用户工具为配置和运维提供界面和命令。

2. 内核架构

不同操作系统采用不同的内核架构。单体内核(如传统Unix和Linux)将大部分服务置于同一地址空间,通信效率较高,但对复杂度管理提出挑战;微内核则将许多服务移入用户态,仅在内核中保留最基本的IPC和调度功能。

混合内核结合两者特点,以模块化方式组织组件,并允许部分服务在内核态运行。模块化和清晰接口有助于提高可维护性和可靠性。内核架构的选择会影响系统性能、故障隔离能力和可扩展性。

3. 进程与线程

进程是运行中程序的实例,包含代码、数据、栈以及打开的文件和网络套接字等资源。线程是进程内部的执行单元,共享同一地址空间和资源,但拥有独立的栈和寄存器。多线程进程可在多核CPU上利用并行性。

进程管理涉及创建(如fork/exec或相应系统调用)、调度、同步和终止等操作;线程管理包括线程创建、锁和信号量等同步原语的使用以及资源清理。正确理解进程与线程语义是设计并发程序、避免竞争条件和死锁的前提。

4. CPU调度

CPU调度决定在任意时刻哪个进程或线程获得CPU。在多道程序环境中,调度器从就绪队列中根据策略选择执行单元,以在吞吐量、公平性和交互响应之间进行平衡。基础调度算法包括先来先服务(FCFS)、时间片轮转、优先级调度和多级反馈队列等。

现代操作系统通常采用更复杂的调度策略,考虑交互性、实时约束和CPU亲和性等因素。例如,Linux 默认使用完全公平调度器(CFS),近似实现CPU时间的公平共享;实时调度器则采用基于优先级和截止时间的算法来保证任务时序。

5. 内存管理与虚拟内存

内存管理负责为各进程提供足够内存并保证地址空间隔离。虚拟内存抽象了物理内存,为每个进程提供一个逻辑上连续的地址空间。操作系统和硬件中的内存管理单元(MMU)通过页表将虚拟地址映射到物理页框。

分页将内存划分为固定大小的页和页框,简化分配和换页。操作系统可采用需求分页,仅在访问时将页加载到内存;当物理内存不足时,采用LRU等页面置换算法选择被换出的页。分段机制在部分体系结构中用于将地址空间划分为代码、数据和栈等逻辑段。合理的内存管理可防止内存破坏并支持共享库等高效共享机制。

6. 文件系统与I/O管理

文件系统为持久数据提供层次化抽象,将文件和目录组织在统一命名空间中,并维护权限、时间戳和大小等元数据。操作系统为不同存储设备提供统一访问接口,底层通过驱动和I/O调度器与磁盘、SSD等设备进行通信。

I/O操作通常使用缓冲和缓存机制以降低访问时延并提高吞吐量。异步I/O允许应用在I/O过程中继续计算,由操作系统负责数据传输。在多用户环境中,权限控制、配额和日志机制有助于保证数据完整性和控制资源使用。

7. 并发、同步与死锁

操作系统提供并发执行和同步的原语。互斥锁和自旋锁用于保护临界区不被多个线程同时访问;信号量和条件变量用于通过事件通知协调线程。在复杂系统中,可能使用监视器或事务内存等更高层抽象。

死锁发生在多个进程或线程相互等待彼此持有的资源,导致系统无法继续前进。操作系统设计可以采用死锁预防、避免(如银行家算法)或检测与恢复策略。正确使用同步原语对于保证程序正确性、避免活锁并在高并发场景下保持性能至关重要。

8. 保护机制、安全与操作系统服务

保护机制用于在进程和用户之间建立边界。用户态/内核态分离、内存保护、文件权限和访问控制列表等有助于防止越权访问。现代操作系统还实现身份验证、加密支持、沙箱、可信启动和审计等安全功能。

操作系统还提供日志、时间管理、网络协议栈、设备发现和系统配置等服务。系统调用形成用户应用与内核服务之间的接口,其设计会影响系统性能和安全性。

9. 总结

操作系统负责管理硬件资源并提供抽象,使复杂应用能够安全、高效地运行。核心原理包括进程与线程管理、CPU调度、内存管理、文件系统与I/O处理、并发控制和安全保护等。深入理解这些原理对于设计、优化和排查现代计算系统问题至关重要。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/9 2:56:28

高晓军:字节跳动兆瓦级算力系统架构设计

7 月 3 日,由全球计算联盟(GCC)指导,GCC-Open AI Infra 社区主办、益企研究院协办的"超节点与 GW 级 AIDC 技术论坛暨 Open AI Infra 社区半年工作会议"成功举办。本文根据Open AI Infra 社区管理委员会联席主席、字节跳…

作者头像 李华
网站建设 2026/7/9 2:55:41

gstack、Superpowers这两个AI 插件用法

Claude Code用gstackSuperpowers两款插件就够啦~分工互补效率翻倍!gstack是YC总裁开源工具,23条手动指令管产品方向、浏览器验证和上线;Superpowers是自动触发的编码框架,14项规范94%PR拒绝率把控代码质量,…

作者头像 李华
网站建设 2026/7/9 2:54:49

一分钟搞懂 Hive 表

一、Hive表是什么? Hive 是基于 Hadoop 的数据仓库工具 。和MySQL表最大的区别是:Hive表不存真实数据,只存元数据(表名、字段、存储路径等信息),真实数据全部存放在 HDFS 分布式文件系统上。 hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功…

作者头像 李华
网站建设 2026/7/9 2:53:31

VR-Reversal:打破VR视频观看壁垒的智能转换神器

VR-Reversal:打破VR视频观看壁垒的智能转换神器 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.com/gh_mirrors/…

作者头像 李华
网站建设 2026/7/9 2:52:18

AI驱动的DApp用户行为分析:链上交互序列的模式挖掘与留存优化

AI驱动的DApp用户行为分析:链上交互序列的模式挖掘与留存优化 一、链上数据的隐秘脉络:从交易哈希到行为模式 DApp 的链上数据是公开的——每一笔交易的发起地址、目标合约、调用方法、参数编码都记录在区块中,任何人都可以读取。但公开数据与…

作者头像 李华
网站建设 2026/7/9 2:51:51

从零开始学网络安全第三天

Windows 用户、组管理与账户安全完整教程 一、学习目标 理解用户账户核心概念,熟练掌握用户账户创建、日常运维全流程操作;理解用户组的设计作用,能够独立完成自定义组创建、成员增减管理;结合网络安全与等保规范,从…

作者头像 李华