分类: 默认分类

176 篇文章

CPU 调度算法
CPU 调度算法是操作系统决定“下一个该让哪个进程/线程占用 CPU”的核心机制,目标是在吞吐量、响应时间、公平性、周转时间之间做权衡。下面按经典到现代、单核到多核的脉络系统梳理。 一、基础概念先对齐 抢占式 vs 非抢占式 非抢占:进程主动放弃 CPU(阻塞、结束)才调度 抢占:时间片用完或更高优先级到来,强行切走 核心评价指标 周转时间(Tur…
关系型(MySQL/PostgreSQL)vs 非关系型(Redis/MongoDB)
下面从核心差异 → 各数据库特点 → 选型对照 → 典型组合用法四个层面,系统对比 关系型(MySQL / PostgreSQL) 与 非关系型(Redis / MongoDB)。 一、核心差异一览表 维度关系型(MySQL / PostgreSQL)非关系型(Redis / MongoDB)数据模型表(行 + 列),强 SchemaRedis:K…
数据结构 / 编译原理 / 计算机组成原理
计算机核心基础“铁三角”:数据结构 / 编译原理 / 计算机组成原理全景解析 在计算机专业的课程体系中,有三门课被称为“基础中的基础”——数据结构、编译原理、计算机组成原理。它们分别站在软件与硬件的不同层级,却又紧密咬合,构成了你理解计算机系统全貌的骨架。 这篇文章将用统一的视角,带你梳理这三门课的研究对象、核心内容、实际用途以及相互关系,帮助你建…
中断与系统调用
下面从概念、区别、联系、执行流程、常见误区几个层面,系统讲清楚「中断」与「系统调用」。 一、什么是中断(Interrupt) 1. 基本定义 中断是 CPU 对异步事件的一种响应机制: CPU 在执行当前程序时,被某个外部或内部事件“打断”,转去执行一段预先设定好的代码(中断处理程序),处理完后再回来继续执行原来的程序。 一句话:中断 = CPU …
进程/线程
进程(Process)和线程(Thread)是操作系统中最基本的执行单元,核心区别在于:进程是资源分配的基本单位,线程是 CPU 调度的基本单位。简单说,进程管“内存、文件、资源”,线程管“跑代码”。 一、进程(Process) 定义:一个正在运行的程序实例,拥有独立的内存空间(代码段、数据段、堆、栈)。 特点 独立地址空间,进程间互不干扰,一个进…
拥塞控制
拥塞控制(Congestion Control)是计算机网络(尤其是 TCP/IP 体系)中的核心机制,用来防止过多数据同时注入网络,导致路由器/链路过载、丢包激增、吞吐量崩溃。它和“流量控制(Flow Control)”不同:流量控制是端到端防接收方来不及处理,拥塞控制是全局防网络本身扛不住。 一、为什么需要拥塞控制 网络资源(带宽、缓存、CPU…
虚拟内存
虚拟内存是操作系统把磁盘空间临时当作内存用的机制,核心目的是让程序能用到比物理内存(RAM)更大的地址空间,同时隔离进程、简化内存管理。 它到底怎么工作 每个进程拿到的是独立的虚拟地址空间,CPU 通过 MMU(内存管理单元)把虚拟地址翻译成物理地址。 数据按页(通常 4KB)管理,正在用的页放物理内存,不常用的页换出(swap)到磁盘的页面文件/…
文件系统
文件系统(File System)是 OS 用来在存储设备(磁盘、SSD、U盘等)上组织、存储、检索、保护和管理文件数据的一套机制与数据结构集合。它介于“裸块设备”和“用户/应用程序”之间,把物理扇区抽象成“目录—文件—字节流”的层次视图。 核心职责 命名与寻址:把人类可读的路径(/home/user/a.txt)映射到物理块地址。 空间管理:分配…
DNS
DNS(Domain Name System,域名系统)是互联网的“电话簿”,核心作用就是把人类好记的域名(如 www.qq.com)翻译成机器通信用的 IP 地址(如 183.3.226.xx)。 一、它怎么工作(一次解析的全过程) 你输域名回车 → 浏览器先查本地缓存(浏览器缓存、系统 hosts、系统 DNS 缓存) 本地没有 → 问递归解析…
HTTP/HTTPS
HTTP(超文本传输协议)和 HTTPS(HTTP + SSL/TLS)的核心区别是:HTTPS 在 HTTP 之下加了一层加密通道,解决明文传输带来的窃听、篡改、冒充三大问题。 一、基本定义 HTTP(HyperText Transfer Protocol):应用层协议,默认端口 80,数据明文传输。 HTTPS(HTTP Secure):在 H…