标签: 操作系统

进程线程、内存管理、文件系统、中断与调度等系统层机制。

10 篇文章

离散数学:从集合到图论的形式化思维全景
离散数学:从集合到图论的形式化思维全景 离散数学并非一堆孤立概念的堆砌,而是以集合为语言、逻辑为推理、关系与函数为结构、图论为建模的一整套离散世界认知体系。它既是计算机科学的理论地基,也是培养严格抽象思维的训练场。 一、基石:集合论与数学语言 一切从"集合"开始。集合是离散数学里最底层的容器,后续所有结构(关系、函数、图、逻辑域)都建立在它之上。 …
技术人进阶全景图:从“调包”到“改内核”,一文读懂现代大厂技术栈
在互联网行业,技术迭代的速度远超常人想象。很多非技术出身的管理者,或者刚入行的同学,面对一堆缩写(如 gRPC、eBPF、Raft)时常感到一头雾水。而技术人员自身,也常常困惑于“我会写代码”和“我是资深专家”之间的界限到底在哪里。 今天,我们为你绘制一张现代大厂技术全景图。这不仅是一份名词解释,更是一份技术人从初级到专家的进阶指南。 一、地基:通…
I/O 模型(阻塞/非阻塞/多路复用)
I/O 模型是操作系统处理“等待数据 + 拷贝数据”这两个阶段的不同策略,核心区别在于进程/线程在哪个阶段被卡住。下面按经典分类讲清楚,顺带把常见误解一次理清。 一、I/O 的两个阶段(必须先懂) 一次网络 I/O(比如 recv)通常分两步: 等待数据就绪:内核等待网卡收到数据,放入内核缓冲区 数据拷贝:内核把数据从内核缓冲区拷到用户缓冲区 不同…
死锁
死锁(Deadlock)是并发系统中多个进程/线程因互相持有对方所需资源且不释放,导致全体永久阻塞、无法继续推进的状态。 四个必要条件(Coffman 条件) 必须同时满足才会死锁,破任一即可避免: 互斥:资源只能被一个占用(如锁、打印机) 占有且等待:持有一资源的同时等待另一资源 不可抢占:已分配资源不能被强行夺走,只能主动释放 循环等待:A等B…
CPU 调度算法
CPU 调度算法是操作系统决定“下一个该让哪个进程/线程占用 CPU”的核心机制,目标是在吞吐量、响应时间、公平性、周转时间之间做权衡。下面按经典到现代、单核到多核的脉络系统梳理。 一、基础概念先对齐 抢占式 vs 非抢占式 非抢占:进程主动放弃 CPU(阻塞、结束)才调度 抢占:时间片用完或更高优先级到来,强行切走 核心评价指标 周转时间(Tur…
数据结构 / 编译原理 / 计算机组成原理
计算机核心基础“铁三角”:数据结构 / 编译原理 / 计算机组成原理全景解析 在计算机专业的课程体系中,有三门课被称为“基础中的基础”——数据结构、编译原理、计算机组成原理。它们分别站在软件与硬件的不同层级,却又紧密咬合,构成了你理解计算机系统全貌的骨架。 这篇文章将用统一的视角,带你梳理这三门课的研究对象、核心内容、实际用途以及相互关系,帮助你建…
中断与系统调用
下面从概念、区别、联系、执行流程、常见误区几个层面,系统讲清楚「中断」与「系统调用」。 一、什么是中断(Interrupt) 1. 基本定义 中断是 CPU 对异步事件的一种响应机制: CPU 在执行当前程序时,被某个外部或内部事件“打断”,转去执行一段预先设定好的代码(中断处理程序),处理完后再回来继续执行原来的程序。 一句话:中断 = CPU …
进程/线程
进程(Process)和线程(Thread)是操作系统中最基本的执行单元,核心区别在于:进程是资源分配的基本单位,线程是 CPU 调度的基本单位。简单说,进程管“内存、文件、资源”,线程管“跑代码”。 一、进程(Process) 定义:一个正在运行的程序实例,拥有独立的内存空间(代码段、数据段、堆、栈)。 特点 独立地址空间,进程间互不干扰,一个进…
虚拟内存
虚拟内存是操作系统把磁盘空间临时当作内存用的机制,核心目的是让程序能用到比物理内存(RAM)更大的地址空间,同时隔离进程、简化内存管理。 它到底怎么工作 每个进程拿到的是独立的虚拟地址空间,CPU 通过 MMU(内存管理单元)把虚拟地址翻译成物理地址。 数据按页(通常 4KB)管理,正在用的页放物理内存,不常用的页换出(swap)到磁盘的页面文件/…
文件系统
文件系统(File System)是 OS 用来在存储设备(磁盘、SSD、U盘等)上组织、存储、检索、保护和管理文件数据的一套机制与数据结构集合。它介于“裸块设备”和“用户/应用程序”之间,把物理扇区抽象成“目录—文件—字节流”的层次视图。 核心职责 命名与寻址:把人类可读的路径(/home/user/a.txt)映射到物理块地址。 空间管理:分配…