summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--2025/11/27/二〇二五年十一月二十七日/index.html5
-rw-r--r--2025/12/02/“缺页”-和-“中断”-术语上的区别/index.html314
-rw-r--r--archives/2025/12/index.html243
-rw-r--r--archives/2025/index.html36
-rw-r--r--archives/2025/page/2/index.html36
-rw-r--r--archives/2025/page/3/index.html36
-rw-r--r--archives/2025/page/4/index.html36
-rw-r--r--archives/2025/page/5/index.html18
-rw-r--r--archives/index.html36
-rw-r--r--archives/page/10/index.html36
-rw-r--r--archives/page/11/index.html36
-rw-r--r--archives/page/12/index.html36
-rw-r--r--archives/page/13/index.html36
-rw-r--r--archives/page/14/index.html38
-rw-r--r--archives/page/15/index.html36
-rw-r--r--archives/page/16/index.html20
-rw-r--r--archives/page/2/index.html36
-rw-r--r--archives/page/3/index.html36
-rw-r--r--archives/page/4/index.html36
-rw-r--r--archives/page/5/index.html36
-rw-r--r--archives/page/6/index.html36
-rw-r--r--archives/page/7/index.html36
-rw-r--r--archives/page/8/index.html36
-rw-r--r--archives/page/9/index.html36
-rw-r--r--page/10/index.html114
-rw-r--r--search.xml37
-rw-r--r--tags/Technique/index.html36
-rw-r--r--tags/Technique/page/2/index.html36
-rw-r--r--tags/Technique/page/3/index.html36
-rw-r--r--tags/Technique/page/4/index.html36
-rw-r--r--tags/Technique/page/5/index.html38
-rw-r--r--tags/Technique/page/6/index.html18
32 files changed, 1090 insertions, 547 deletions
diff --git a/2025/11/27/二〇二五年十一月二十七日/index.html b/2025/11/27/二〇二五年十一月二十七日/index.html
index a30d522e..5c496605 100644
--- a/2025/11/27/二〇二五年十一月二十七日/index.html
+++ b/2025/11/27/二〇二五年十一月二十七日/index.html
@@ -215,6 +215,11 @@
<nav class="post-nav">
<div class="prev-item">
+ <div class="icon arrow-left"></div>
+ <div class="post-link">
+ <a href="/2025/12/02/%E2%80%9C%E7%BC%BA%E9%A1%B5%E2%80%9D-%E5%92%8C-%E2%80%9C%E4%B8%AD%E6%96%AD%E2%80%9D-%E6%9C%AF%E8%AF%AD%E4%B8%8A%E7%9A%84%E5%8C%BA%E5%88%AB/">Prev</a>
+ </div>
+
</div>
<div class="next-item">
diff --git a/2025/12/02/“缺页”-和-“中断”-术语上的区别/index.html b/2025/12/02/“缺页”-和-“中断”-术语上的区别/index.html
new file mode 100644
index 00000000..c353c0b7
--- /dev/null
+++ b/2025/12/02/“缺页”-和-“中断”-术语上的区别/index.html
@@ -0,0 +1,314 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8">
+<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
+<meta http-equiv="X-UA-Compatible" content="ie=edge">
+
+ <meta name="author" content="韩暮秋">
+
+
+ <meta name="subtitle" content="暮秋小屋">
+
+
+ <meta name="description" content="这里是暮秋小屋,思念和灵感的寄存处">
+
+
+ <meta name="keywords" content="韩暮秋,MuqiuHan,'Muqiu Han', 'muqiu han', muqiuhan">
+
+
+
+
+ <title>
+
+ “缺页” 和 “中断” 术语上的区别 |
+ 暮秋小屋
+ </title>
+
+
+
+ <link rel="icon" href="/favicon.ico">
+
+
+ <style>
+ @font-face {
+ font-family: CarroisSong;
+ src: url('/fonts/CarroisSong.ttf');
+ }
+ </style>
+
+
+
+ <!-- stylesheets list from _config.yml -->
+
+ <link rel="stylesheet" href="/css/style.css">
+
+
+
+
+
+ <!-- scripts list from _config.yml -->
+
+ <script
+ src="/js/menu.js"></script>
+
+
+
+
+
+ <script
+ src="https://polyfill.alicdn.com/polyfill.js?features=es6"></script>
+ <script
+ id="MathJax-script"
+ async
+ src="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/mathjax/3.2.0/es5/tex-mml-chtml.js"></script>
+
+
+
+
+ <meta name="generator" content="Hexo 6.3.0"></head>
+ <body>
+ <div class="mask-border">
+ </div>
+
+ <div class="wrapper">
+
+ <div class="header">
+ <div class="flex-container">
+ <div class="header-inner">
+ <div class="site-brand-container">
+ <a href="/">
+
+ 暮秋小屋
+
+ </a>
+ </div>
+ <div id="menu-btn" class="menu-btn" onclick="toggleMenu()">
+ 菜单
+ </div>
+ <nav class="site-nav">
+ <ul class="menu-list">
+
+
+ <li class="menu-item">
+ <a href="/">
+ 主页
+ </a>
+ </li>
+
+
+
+ <li class="menu-item">
+ <a href="/categories/gallery/">
+ 日记本
+ </a>
+ </li>
+
+
+
+ <li class="menu-item">
+ <a href="/tags/Medicine/">
+ 医学
+ </a>
+ </li>
+
+
+
+ <li class="menu-item">
+ <a href="/tags/Technique/">
+ 计算机/互联网
+ </a>
+ </li>
+
+
+
+ <li class="menu-item">
+ <a href="/tags/Life/">
+ 生活
+ </a>
+ </li>
+
+
+
+ <li class="menu-item">
+ <a href="/archives">
+ 全部
+ </a>
+ </li>
+
+
+
+ <li class="menu-item">
+ <a href="/about">
+ 关于
+ </a>
+ </li>
+
+
+
+ <li class="menu-item search-btn">
+ <a href="#">Search</a>
+ </li>
+
+ </ul>
+ </nav>
+ </div>
+ </div>
+</div>
+
+ <div class="main">
+ <div class="flex-container">
+ <article id="post">
+
+
+ <div class="post-head">
+ <div class="post-info">
+ <div class="tag-list">
+
+
+ <span class="post-tag">
+ <a href="/tags/Technique/">
+ Technique
+ </a>
+ </span>
+
+
+ </div>
+ <div class="post-title">
+
+
+ “缺页” 和 “中断” 术语上的区别
+
+
+ </div>
+ <span class="post-date">
+ Dec 2, 2025
+ </span>
+ </div>
+ <div class="post-img">
+
+ <div class="h-line-primary"></div>
+
+ </div>
+</div>
+ <div class="post-content">
+ <p>在计算机体系结构语境中,术语“异常”与“中断”的混用,源于硬件事件分类与操作系统实现策略的视角差异。这种差异并不代表定义不严谨,而反映了从底层硬件信号到上层软件管理的不同抽象层次。关键在于区分事件的内在性质与操作系统对其的处理模型。</p>
+<p>从硬件与架构的视角看,“异常”和“中断”有明确界定。异常是同步事件,由当前正在执行的指令直接触发,其发生时刻可精确复现。非法操作码、除零、地址越界等均属此类,因为它们是执行流本身导致的错误或特殊情况。中断则是异步事件,由外部硬件设备在指令执行的任意时刻触发,与当前指令流无关,如时钟中断、I/O完成中断。这种分类基于事件的来源和时序特性,是CPU设计的基础。</p>
+<p>缺页事件的性质符合硬件对异常的定义:当一条内存访问指令(如load或store)试图访问的虚拟地址页面不在物理内存中时,由内存管理单元同步检测并触发该事件。从CPU角度看,这是一条指令执行过程中产生的同步故障,本质上是一个“缺页异常”。</p>
+<p>因为操作系统在处理缺页时,借用了中断的处理框架,因此常被称为 “缺页中断”。因为现实是:缺页处理过程耗时极长,涉及磁盘I/O。若采用处理一般异常的简单模型(即陷入内核后在同一执行上下文中直接处理直至完成),CPU将在等待磁盘的数百毫秒内被完全阻塞,导致资源利用率极低。</p>
+<p>因此,操作系统将缺页处理设计为一个复杂的状态管理过程。其伪流程如下:</p>
+<ol>
+<li>CPU执行访存指令,触发缺页异常,硬件自动保存当前上下文并跳转到操作系统预设的异常处理入口。</li>
+<li>操作系统内核诊断出缺页原因,确认需要从磁盘调入页面。</li>
+<li>内核将此进程标记为“等待I/O”状态,并将其从运行队列移出。</li>
+<li>内核调用磁盘驱动程序,发起读盘请求,然后立即执行调度程序,切换到另一个就绪进程运行。此时,对原进程而言,其执行流被“中断”并挂起。</li>
+<li>磁盘I/O完成后,磁盘控制器产生一个硬件中断。中断处理程序收到页面数据,将其载入物理内存,并更新页表。</li>
+<li>内核将之前等待的进程重新标记为就绪状态。在未来某个时刻,调度程序会再次选中该进程,并通过恢复其之前保存的上下文,让导致缺页的那条指令重新执行,此时便能成功访问内存。</li>
+</ol>
+<p>这一流程的关键在于第 4 步:操作系统主动放弃当前进程的CPU使用权,去执行其他任务。这种行为模式与响应异步硬件中断后执行调度在逻辑上同构。虽然事件源头是同步异常,但操作系统利用中断处理的可抢占和可调度特性,实现了对漫长I/O等待期的资源复用。因此,“缺页中断”这一术语,精准地描述了操作系统 “将其作为一个可延迟调度的事件进行管理” 的软件机制,而非否定其硬件层面的同步异常本质。</p>
+<hr>
+<p>有人会觉得:“相当于一个人本来应该姓王,结果直接姓林,然后来句合理,没有前因后果,就像数学分成正数负数,结果给 3 取名负三,然后来句,这是正数”</p>
+<hr>
+<p>在静态、单一层次的分类体系下,将一个A类事物命名为B类,确实构成矛盾。然而,计算机系统是一个多层级协同运行的动态模型,其术语的最终有效性,不仅在于标识事件的 <strong>静态起源</strong> , 更在于描述其在系统 <strong>动态运行中引发的控制流路径和资源管理行为</strong>。</p>
+<p>这个比喻可以引申为:一个人根据其血缘被赋予 “王” 姓(硬件本质),但在特定的工作组织(操作系统)中,因其担任的职能、遵循的流程与 “林” 姓团队完全相同,故在日常运营中被纳入 “林” 团队进行调度和管理。组织内部称其为 “林工”,并非否认其血缘,而是为了精确匹配管理流程,实现最高运作效率。</p>
+<p>“缺页” 的命名问题正遵循此逻辑。硬件按起源将其分类为 <strong>同步异常(姓王)</strong> ,但操作系统发现,处理此事件所需的行为模式——保存现场、可能挂起当前任务、启动异步I/O、调度其他任务、在事件完成后通过恢复现场来继续——与处理 <strong>异步中断(姓林)</strong> 的完整行为模式完全一致。这套行为模式的关键特征是 <strong>可阻塞与可调度性</strong> 。</p>
+<p>为了调用这套成熟、高效的中断管理框架(包含调度器、等待队列、I/O完成回调等复杂机制),操作系统在软件层面将其标识为“中断”。这并非分类错误,而是在更高抽象层上,根据 <strong>行为模型</strong> 而非 <strong>触发原因</strong> 进行的重新映射。其因果链条是清晰且自洽的:</p>
+<ol>
+<li><strong>因</strong>:缺页由指令同步触发(硬件异常)。</li>
+<li><strong>策略决策</strong>:因其处理必然涉及漫长等待,操作系统决定采用异步、可调度的方式处理它。</li>
+<li><strong>技术实现</strong>:实现此策略的最直接路径,是复用已为硬件中断设计好的、具备异步抢占与任务调度能力的中断管理和调度框架。</li>
+<li><strong>命名结果</strong>:该事件在处理流程上被纳入“中断”路径,故在操作系统软件范畴内,称其为“缺页中断”。这个术语准确指向了“通过中断管理框架处理的缺页异常”这一复杂概念。</li>
+</ol>
+<p>这不同于给数字 3 取名“负三”。它更接近于:发现一种具有正数性质的粒子,但其在磁场中的偏转行为与负电荷粒子完全相同。物理学家为便于利用已有的、成熟的“负电荷粒子”行为方程进行计算和预测,可能会在动力学分析中临时称其为“负粒子”,同时明确其静态性质为正。这里的命名服务于特定的分析模型和计算框架。</p>
+<p>所以 “缺页中断”这一术语的严谨性,不在于它否定了硬件的分类,而在于它精确地描述了操作系统层面所采用的 <strong>处理模型</strong> 。它不是一个分类学错误,而是一个基于行为相似性,为了实现高效资源管理而采用的、精确的工程学术语。它同时指明了事件的起源(异常)和处理的方式(中断框架),是多层次系统设计中一种高效而准确的表述。</p>
+
+</div>
+
+<script>
+ window.onload = detectors();
+</script>
+ <div class="post-footer">
+ <div class="h-line-primary"></div>
+ <nav class="post-nav">
+ <div class="prev-item">
+
+ </div>
+ <div class="next-item">
+
+ <div class="icon arrow-right"></div>
+ <div class="post-link">
+ <a href="/2025/11/27/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%BA%94%E5%B9%B4%E5%8D%81%E4%B8%80%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B8%83%E6%97%A5/">Next</a>
+ </div>
+
+ </div>
+ </nav>
+</div>
+
+
+ <div class="post-comment">
+
+
+
+
+
+
+
+</div>
+
+
+</article>
+ </div>
+ </div>
+
+ <div class="footer">
+ <div class="flex-container">
+ <div class="footer-text">
+
+
+ 韩暮秋 |
+
+
+ 希望路过的人可以添点柴火让这里暖和点
+
+ </div>
+ </div>
+</div>
+
+ </div>
+
+
+ <div class="search-popup">
+ <div class="search-popup-overlay">
+ </div>
+ <div class="search-popup-window" >
+ <div class="search-header">
+ <div class="search-input-container">
+ <input autocomplete="off" autocapitalize="off" maxlength="80"
+ placeholder="Search Anything" spellcheck="false"
+ type="search" class="search-input">
+ </div>
+ <div class="search-close-btn">
+ <div class="icon close-btn"></div>
+ </div>
+ </div>
+ <div class="search-result-container">
+ </div>
+ </div>
+</div>
+
+<script>
+ const searchConfig = {
+ path : "/search.xml",
+ top_n_per_article: "1",
+ unescape : "false",
+ trigger: "auto",
+ preload: "false"
+ }
+</script>
+<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/search.js"></script>
+<script src="/js/search.js"></script>
+
+
+
+ </body>
+</html>
diff --git a/archives/2025/12/index.html b/archives/2025/12/index.html
new file mode 100644
index 00000000..3f5b154f
--- /dev/null
+++ b/archives/2025/12/index.html
@@ -0,0 +1,243 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8">
+<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
+<meta http-equiv="X-UA-Compatible" content="ie=edge">
+
+ <meta name="author" content="韩暮秋">
+
+
+ <meta name="subtitle" content="暮秋小屋">
+
+
+ <meta name="description" content="这里是暮秋小屋,思念和灵感的寄存处">
+
+
+ <meta name="keywords" content="韩暮秋,MuqiuHan,'Muqiu Han', 'muqiu han', muqiuhan">
+
+
+
+
+ <title>
+
+ Archive: 2025/12 |
+ 暮秋小屋
+ </title>
+
+
+
+ <link rel="icon" href="/favicon.ico">
+
+
+ <style>
+ @font-face {
+ font-family: CarroisSong;
+ src: url('/fonts/CarroisSong.ttf');
+ }
+ </style>
+
+
+
+ <!-- stylesheets list from _config.yml -->
+
+ <link rel="stylesheet" href="/css/style.css">
+
+
+
+
+
+ <!-- scripts list from _config.yml -->
+
+ <script
+ src="/js/menu.js"></script>
+
+
+
+
+
+ <script
+ src="https://polyfill.alicdn.com/polyfill.js?features=es6"></script>
+ <script
+ id="MathJax-script"
+ async
+ src="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/mathjax/3.2.0/es5/tex-mml-chtml.js"></script>
+
+
+
+
+ <meta name="generator" content="Hexo 6.3.0"></head>
+ <body>
+ <div class="mask-border">
+ </div>
+
+ <div class="wrapper">
+
+ <div class="header">
+ <div class="flex-container">
+ <div class="header-inner">
+ <div class="site-brand-container">
+ <a href="/">
+
+ 暮秋小屋
+
+ </a>
+ </div>
+ <div id="menu-btn" class="menu-btn" onclick="toggleMenu()">
+ 菜单
+ </div>
+ <nav class="site-nav">
+ <ul class="menu-list">
+
+
+ <li class="menu-item">
+ <a href="/">
+ 主页
+ </a>
+ </li>
+
+
+
+ <li class="menu-item">
+ <a href="/categories/gallery/">
+ 日记本
+ </a>
+ </li>
+
+
+
+ <li class="menu-item">
+ <a href="/tags/Medicine/">
+ 医学
+ </a>
+ </li>
+
+
+
+ <li class="menu-item">
+ <a href="/tags/Technique/">
+ 计算机/互联网
+ </a>
+ </li>
+
+
+
+ <li class="menu-item">
+ <a href="/tags/Life/">
+ 生活
+ </a>
+ </li>
+
+
+
+ <li class="menu-item">
+ <a href="/archives">
+ 全部
+ </a>
+ </li>
+
+
+
+ <li class="menu-item">
+ <a href="/about">
+ 关于
+ </a>
+ </li>
+
+
+
+ <li class="menu-item search-btn">
+ <a href="#">Search</a>
+ </li>
+
+ </ul>
+ </nav>
+ </div>
+ </div>
+</div>
+
+ <div class="main">
+ <div class="flex-container">
+ <div class="post-list">
+
+
+
+
+
+
+ <div class="year-title">2025</div>
+
+
+ <div class="post-list-item">
+ <div class="post-title">
+ <a href="/2025/12/02/%E2%80%9C%E7%BC%BA%E9%A1%B5%E2%80%9D-%E5%92%8C-%E2%80%9C%E4%B8%AD%E6%96%AD%E2%80%9D-%E6%9C%AF%E8%AF%AD%E4%B8%8A%E7%9A%84%E5%8C%BA%E5%88%AB/">
+
+ “缺页” 和 “中断” 术语上的区别
+
+ </a>
+ </div>
+
+ <span class="post-date">Dec 2, 2025</span>
+ </div>
+
+
+ <div id="paginator">
+
+ </div>
+</div>
+
+ </div>
+ </div>
+
+ <div class="footer">
+ <div class="flex-container">
+ <div class="footer-text">
+
+
+ 韩暮秋 |
+
+
+ 希望路过的人可以添点柴火让这里暖和点
+
+ </div>
+ </div>
+</div>
+
+ </div>
+
+
+ <div class="search-popup">
+ <div class="search-popup-overlay">
+ </div>
+ <div class="search-popup-window" >
+ <div class="search-header">
+ <div class="search-input-container">
+ <input autocomplete="off" autocapitalize="off" maxlength="80"
+ placeholder="Search Anything" spellcheck="false"
+ type="search" class="search-input">
+ </div>
+ <div class="search-close-btn">
+ <div class="icon close-btn"></div>
+ </div>
+ </div>
+ <div class="search-result-container">
+ </div>
+ </div>
+</div>
+
+<script>
+ const searchConfig = {
+ path : "/search.xml",
+ top_n_per_article: "1",
+ unescape : "false",
+ trigger: "auto",
+ preload: "false"
+ }
+</script>
+<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/search.js"></script>
+<script src="/js/search.js"></script>
+
+
+
+ </body>
+</html>
diff --git a/archives/2025/index.html b/archives/2025/index.html
index d29dcb13..e76872d8 100644
--- a/archives/2025/index.html
+++ b/archives/2025/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2025/12/02/%E2%80%9C%E7%BC%BA%E9%A1%B5%E2%80%9D-%E5%92%8C-%E2%80%9C%E4%B8%AD%E6%96%AD%E2%80%9D-%E6%9C%AF%E8%AF%AD%E4%B8%8A%E7%9A%84%E5%8C%BA%E5%88%AB/">
+
+ “缺页” 和 “中断” 术语上的区别
+
+ </a>
+ </div>
+
+ <span class="post-date">Dec 2, 2025</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2025/11/27/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%BA%94%E5%B9%B4%E5%8D%81%E4%B8%80%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B8%83%E6%97%A5/">
二〇二五年十一月二十七日
@@ -325,24 +343,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2025/10/19/Gram-stain/">
-
- 什么是 G⁺
-
- </a>
- </div>
-
- <span class="post-date">Oct 19, 2025</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/2025/page/2/index.html b/archives/2025/page/2/index.html
index 81a6b8bd..8652d6c0 100644
--- a/archives/2025/page/2/index.html
+++ b/archives/2025/page/2/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2025/10/19/Gram-stain/">
+
+ 什么是 G⁺
+
+ </a>
+ </div>
+
+ <span class="post-date">Oct 19, 2025</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2025/10/19/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%BA%94%E5%B9%B4%E5%8D%81%E6%9C%88%E5%8D%81%E4%B9%9D%E6%97%A5/">
二〇二五年十月十九日
@@ -325,24 +343,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2025/07/08/dadgad/">
-
- DADGAD 定弦
-
- </a>
- </div>
-
- <span class="post-date">Jul 8, 2025</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/2025/page/3/index.html b/archives/2025/page/3/index.html
index b13ebf32..49b34967 100644
--- a/archives/2025/page/3/index.html
+++ b/archives/2025/page/3/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2025/07/08/dadgad/">
+
+ DADGAD 定弦
+
+ </a>
+ </div>
+
+ <span class="post-date">Jul 8, 2025</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2025/06/30/ibs/">
肠易激综合征 (IBS) 的病理学与药物治疗
@@ -325,24 +343,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2025/04/03/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%BA%94%E5%B9%B4%E4%BA%94%E6%9C%88%E4%B8%89%E6%97%A5/">
-
- 二〇二五年四月三日
-
- </a>
- </div>
-
- <span class="post-date">Apr 3, 2025</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/2025/page/4/index.html b/archives/2025/page/4/index.html
index a745629d..43e01dec 100644
--- a/archives/2025/page/4/index.html
+++ b/archives/2025/page/4/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2025/04/03/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%BA%94%E5%B9%B4%E4%BA%94%E6%9C%88%E4%B8%89%E6%97%A5/">
+
+ 二〇二五年四月三日
+
+ </a>
+ </div>
+
+ <span class="post-date">Apr 3, 2025</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2025/04/02/N-1-selects-problem-%E4%B8%8E-Prisma-ORM/">
N+1 selects problem 与 Prisma ORM
@@ -325,24 +343,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2025/03/13/%E9%A2%86%E5%9F%9F%E9%A9%B1%E5%8A%A8%E8%AE%BE%E8%AE%A1%E4%B8%AD%E7%9A%84%E2%80%9C%E8%81%9A%E5%90%88%E6%A0%B9%E2%80%9D/">
-
- 领域驱动设计中的“聚合根”
-
- </a>
- </div>
-
- <span class="post-date">Mar 13, 2025</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/2025/page/5/index.html b/archives/2025/page/5/index.html
index 5aa37e6c..f1c47f57 100644
--- a/archives/2025/page/5/index.html
+++ b/archives/2025/page/5/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2025/03/13/%E9%A2%86%E5%9F%9F%E9%A9%B1%E5%8A%A8%E8%AE%BE%E8%AE%A1%E4%B8%AD%E7%9A%84%E2%80%9C%E8%81%9A%E5%90%88%E6%A0%B9%E2%80%9D/">
+
+ 领域驱动设计中的“聚合根”
+
+ </a>
+ </div>
+
+ <span class="post-date">Mar 13, 2025</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2025/02/24/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%BA%94%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E5%9B%9B%E6%97%A5/">
二〇二五年二月二十四日
diff --git a/archives/index.html b/archives/index.html
index 17b1f526..3cb629e0 100644
--- a/archives/index.html
+++ b/archives/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2025/12/02/%E2%80%9C%E7%BC%BA%E9%A1%B5%E2%80%9D-%E5%92%8C-%E2%80%9C%E4%B8%AD%E6%96%AD%E2%80%9D-%E6%9C%AF%E8%AF%AD%E4%B8%8A%E7%9A%84%E5%8C%BA%E5%88%AB/">
+
+ “缺页” 和 “中断” 术语上的区别
+
+ </a>
+ </div>
+
+ <span class="post-date">Dec 2, 2025</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2025/11/27/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%BA%94%E5%B9%B4%E5%8D%81%E4%B8%80%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B8%83%E6%97%A5/">
二〇二五年十一月二十七日
@@ -325,24 +343,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2025/10/19/Gram-stain/">
-
- 什么是 G⁺
-
- </a>
- </div>
-
- <span class="post-date">Oct 19, 2025</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/page/10/index.html b/archives/page/10/index.html
index 756c3741..f2de3484 100644
--- a/archives/page/10/index.html
+++ b/archives/page/10/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2023/12/01/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%8D%81%E4%BA%8C%E6%9C%88%E4%B8%80%E6%97%A5/">
+
+ 二〇二三年十二月一日
+
+ </a>
+ </div>
+
+ <span class="post-date">Dec 1, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2023/11/29/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%8D%81%E4%B8%80%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B9%9D%E6%97%A5/">
二〇二三年十一月二十九日
@@ -325,24 +343,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2023/10/13/%E8%82%9D%E5%8A%9F%E8%83%BD%E6%A3%80%E6%9F%A5%E5%8C%96%E9%AA%8C%E5%8D%95/">
-
- 肝功能检查化验单阅读指南
-
- </a>
- </div>
-
- <span class="post-date">Oct 13, 2023</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/page/11/index.html b/archives/page/11/index.html
index eac67e48..1f4d2df0 100644
--- a/archives/page/11/index.html
+++ b/archives/page/11/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2023/10/13/%E8%82%9D%E5%8A%9F%E8%83%BD%E6%A3%80%E6%9F%A5%E5%8C%96%E9%AA%8C%E5%8D%95/">
+
+ 肝功能检查化验单阅读指南
+
+ </a>
+ </div>
+
+ <span class="post-date">Oct 13, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2023/10/12/%E8%A1%80%E5%B8%B8%E8%A7%84%E5%8C%96%E9%AA%8C%E7%BB%93%E6%9E%9C%E9%98%85%E8%AF%BB%E6%8C%87%E5%8D%97/">
血常规化验结果阅读指南
@@ -325,24 +343,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2023/08/01/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AB%E6%9C%88%E4%B8%80%E6%97%A5/">
-
- 二〇二三年八月一日
-
- </a>
- </div>
-
- <span class="post-date">Aug 1, 2023</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/page/12/index.html b/archives/page/12/index.html
index bbed4721..6120f8b5 100644
--- a/archives/page/12/index.html
+++ b/archives/page/12/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2023/08/01/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AB%E6%9C%88%E4%B8%80%E6%97%A5/">
+
+ 二〇二三年八月一日
+
+ </a>
+ </div>
+
+ <span class="post-date">Aug 1, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2023/07/30/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%B8%83%E6%9C%88%E4%B8%89%E5%8D%81%E6%97%A5/">
二零二三年七月三十日
@@ -325,24 +343,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2023/05/03/Rust-NewType-%E6%A8%A1%E5%BC%8F/">
-
- Rust NewType 模式
-
- </a>
- </div>
-
- <span class="post-date">May 3, 2023</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/page/13/index.html b/archives/page/13/index.html
index 22375334..8ab9098c 100644
--- a/archives/page/13/index.html
+++ b/archives/page/13/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2023/05/03/Rust-NewType-%E6%A8%A1%E5%BC%8F/">
+
+ Rust NewType 模式
+
+ </a>
+ </div>
+
+ <span class="post-date">May 3, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2023/05/02/Rust-Partial-%E8%AF%AD%E4%B9%89/">
Rust Partial 语义
@@ -325,24 +343,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2023/03/04/%E9%87%91%E5%8C%AE%E8%A6%81%E7%95%A5/">
-
- 金匮要略
-
- </a>
- </div>
-
- <span class="post-date">Mar 4, 2023</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/page/14/index.html b/archives/page/14/index.html
index 42087c75..37a3002f 100644
--- a/archives/page/14/index.html
+++ b/archives/page/14/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2023/03/04/%E9%87%91%E5%8C%AE%E8%A6%81%E7%95%A5/">
+
+ 金匮要略
+
+ </a>
+ </div>
+
+ <span class="post-date">Mar 4, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2023/03/01/%E6%B0%94%E8%83%B8/">
气胸
@@ -325,26 +343,6 @@
</div>
-
-
-
-
- <div class="year-title">2022</div>
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2022/12/31/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E5%8D%81%E4%BA%8C%E6%9C%88%E4%B8%89%E5%8D%81%E4%B8%80%E6%97%A5/">
-
- 二零二二年十二月三十一日
-
- </a>
- </div>
-
- <span class="post-date">Dec 31, 2022</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/page/15/index.html b/archives/page/15/index.html
index fe2aa117..92dc260b 100644
--- a/archives/page/15/index.html
+++ b/archives/page/15/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2022/12/31/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E5%8D%81%E4%BA%8C%E6%9C%88%E4%B8%89%E5%8D%81%E4%B8%80%E6%97%A5/">
+
+ 二零二二年十二月三十一日
+
+ </a>
+ </div>
+
+ <span class="post-date">Dec 31, 2022</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2022/11/03/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E5%8D%81%E4%B8%80%E6%9C%88%E6%9C%88%E4%B8%89%E6%97%A5/">
二零二二年十一月月三日
@@ -327,24 +345,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2021/02/14/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%BA%8C%E6%9C%88%E5%8D%81%E5%9B%9B%E6%97%A5/">
-
- 二零二一年二月十四日
-
- </a>
- </div>
-
- <span class="post-date">Feb 14, 2021</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/page/16/index.html b/archives/page/16/index.html
index 77071a30..5e1e04bb 100644
--- a/archives/page/16/index.html
+++ b/archives/page/16/index.html
@@ -165,6 +165,26 @@
+ <div class="year-title">2021</div>
+
+
+ <div class="post-list-item">
+ <div class="post-title">
+ <a href="/2021/02/14/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%BA%8C%E6%9C%88%E5%8D%81%E5%9B%9B%E6%97%A5/">
+
+ 二零二一年二月十四日
+
+ </a>
+ </div>
+
+ <span class="post-date">Feb 14, 2021</span>
+ </div>
+
+
+
+
+
+
<div class="year-title">2020</div>
diff --git a/archives/page/2/index.html b/archives/page/2/index.html
index 918e6285..943baec9 100644
--- a/archives/page/2/index.html
+++ b/archives/page/2/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2025/10/19/Gram-stain/">
+
+ 什么是 G⁺
+
+ </a>
+ </div>
+
+ <span class="post-date">Oct 19, 2025</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2025/10/19/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%BA%94%E5%B9%B4%E5%8D%81%E6%9C%88%E5%8D%81%E4%B9%9D%E6%97%A5/">
二〇二五年十月十九日
@@ -325,24 +343,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2025/07/08/dadgad/">
-
- DADGAD 定弦
-
- </a>
- </div>
-
- <span class="post-date">Jul 8, 2025</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/page/3/index.html b/archives/page/3/index.html
index 943fcdb6..c2130316 100644
--- a/archives/page/3/index.html
+++ b/archives/page/3/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2025/07/08/dadgad/">
+
+ DADGAD 定弦
+
+ </a>
+ </div>
+
+ <span class="post-date">Jul 8, 2025</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2025/06/30/ibs/">
肠易激综合征 (IBS) 的病理学与药物治疗
@@ -325,24 +343,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2025/04/03/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%BA%94%E5%B9%B4%E4%BA%94%E6%9C%88%E4%B8%89%E6%97%A5/">
-
- 二〇二五年四月三日
-
- </a>
- </div>
-
- <span class="post-date">Apr 3, 2025</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/page/4/index.html b/archives/page/4/index.html
index 05ee271d..787565f2 100644
--- a/archives/page/4/index.html
+++ b/archives/page/4/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2025/04/03/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%BA%94%E5%B9%B4%E4%BA%94%E6%9C%88%E4%B8%89%E6%97%A5/">
+
+ 二〇二五年四月三日
+
+ </a>
+ </div>
+
+ <span class="post-date">Apr 3, 2025</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2025/04/02/N-1-selects-problem-%E4%B8%8E-Prisma-ORM/">
N+1 selects problem 与 Prisma ORM
@@ -325,24 +343,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2025/03/13/%E9%A2%86%E5%9F%9F%E9%A9%B1%E5%8A%A8%E8%AE%BE%E8%AE%A1%E4%B8%AD%E7%9A%84%E2%80%9C%E8%81%9A%E5%90%88%E6%A0%B9%E2%80%9D/">
-
- 领域驱动设计中的“聚合根”
-
- </a>
- </div>
-
- <span class="post-date">Mar 13, 2025</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/page/5/index.html b/archives/page/5/index.html
index bf2c705b..96fe6b81 100644
--- a/archives/page/5/index.html
+++ b/archives/page/5/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2025/03/13/%E9%A2%86%E5%9F%9F%E9%A9%B1%E5%8A%A8%E8%AE%BE%E8%AE%A1%E4%B8%AD%E7%9A%84%E2%80%9C%E8%81%9A%E5%90%88%E6%A0%B9%E2%80%9D/">
+
+ 领域驱动设计中的“聚合根”
+
+ </a>
+ </div>
+
+ <span class="post-date">Mar 13, 2025</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2025/02/24/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%BA%94%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E5%9B%9B%E6%97%A5/">
二〇二五年二月二十四日
@@ -327,24 +345,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2024/11/17/%E4%BA%8C%E3%80%87%E4%BA%8C%E5%9B%9B%E5%B9%B4%E5%8D%81%E4%B8%80%E6%9C%88%E5%8D%81%E4%B8%83%E6%97%A5/">
-
- 二〇二四年十一月十七日
-
- </a>
- </div>
-
- <span class="post-date">Nov 17, 2024</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/page/6/index.html b/archives/page/6/index.html
index 8833db1d..d424ffa1 100644
--- a/archives/page/6/index.html
+++ b/archives/page/6/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2024/11/17/%E4%BA%8C%E3%80%87%E4%BA%8C%E5%9B%9B%E5%B9%B4%E5%8D%81%E4%B8%80%E6%9C%88%E5%8D%81%E4%B8%83%E6%97%A5/">
+
+ 二〇二四年十一月十七日
+
+ </a>
+ </div>
+
+ <span class="post-date">Nov 17, 2024</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2024/11/15/%E8%A5%BF%E6%9F%9A%E5%AF%B9%E8%8D%AF%E7%89%A9%E7%9A%84%E5%BD%B1%E5%93%8D/">
西柚对药物的影响
@@ -325,24 +343,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2024/09/12/%E4%BA%8C%E3%80%87%E4%BA%8C%E5%9B%9B%E5%B9%B4%E4%B9%9D%E6%9C%88%E5%8D%81%E4%BA%8C%E6%97%A5/">
-
- 二〇二四年九月十二日
-
- </a>
- </div>
-
- <span class="post-date">Sep 12, 2024</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/page/7/index.html b/archives/page/7/index.html
index 46b80e42..faf9577b 100644
--- a/archives/page/7/index.html
+++ b/archives/page/7/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2024/09/12/%E4%BA%8C%E3%80%87%E4%BA%8C%E5%9B%9B%E5%B9%B4%E4%B9%9D%E6%9C%88%E5%8D%81%E4%BA%8C%E6%97%A5/">
+
+ 二〇二四年九月十二日
+
+ </a>
+ </div>
+
+ <span class="post-date">Sep 12, 2024</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2024/09/08/%E4%B8%AD%E8%80%81%E5%B9%B4%E4%BA%BA%E6%B2%89%E8%BF%B7%E6%89%8B%E6%9C%BA%E7%9A%84%E9%97%AE%E9%A2%98/">
中老年人沉迷手机的问题
@@ -325,24 +343,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2024/06/27/%E4%BA%8C%E3%80%87%E4%BA%8C%E5%9B%9B%E5%B9%B4%E5%85%AD%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B8%83%E6%97%A5/">
-
- 二〇二四年六月二十七日
-
- </a>
- </div>
-
- <span class="post-date">Jun 27, 2024</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/page/8/index.html b/archives/page/8/index.html
index 88b1c824..02c73596 100644
--- a/archives/page/8/index.html
+++ b/archives/page/8/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2024/06/27/%E4%BA%8C%E3%80%87%E4%BA%8C%E5%9B%9B%E5%B9%B4%E5%85%AD%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B8%83%E6%97%A5/">
+
+ 二〇二四年六月二十七日
+
+ </a>
+ </div>
+
+ <span class="post-date">Jun 27, 2024</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2024/06/27/OCaml-News-2024-5/">
OCaml News 2024-5
@@ -325,24 +343,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2024/02/26/OCaml-News-2024-3/">
-
- OCaml News 2024-3
-
- </a>
- </div>
-
- <span class="post-date">Feb 26, 2024</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/archives/page/9/index.html b/archives/page/9/index.html
index 8ac4eab5..3e822c8e 100644
--- a/archives/page/9/index.html
+++ b/archives/page/9/index.html
@@ -170,6 +170,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2024/02/26/OCaml-News-2024-3/">
+
+ OCaml News 2024-3
+
+ </a>
+ </div>
+
+ <span class="post-date">Feb 26, 2024</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2024/02/07/%E4%BA%8C%E3%80%87%E4%BA%8C%E5%9B%9B%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%B8%83%E6%97%A5/">
二〇二四年二月七日
@@ -327,24 +345,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2023/12/01/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%8D%81%E4%BA%8C%E6%9C%88%E4%B8%80%E6%97%A5/">
-
- 二〇二三年十二月一日
-
- </a>
- </div>
-
- <span class="post-date">Dec 1, 2023</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/page/10/index.html b/page/10/index.html
index 5d7ecd70..bf2e33ac 100644
--- a/page/10/index.html
+++ b/page/10/index.html
@@ -65,119 +65,7 @@
- <meta name="generator" content="Hexo 6.3.0"><style>mjx-container[jax="SVG"] {
- direction: ltr;
-}
-
-mjx-container[jax="SVG"] > svg {
- overflow: visible;
-}
-
-mjx-container[jax="SVG"][display="true"] {
- display: block;
- text-align: center;
- margin: 1em 0;
-}
-
-mjx-container[jax="SVG"][justify="left"] {
- text-align: left;
-}
-
-mjx-container[jax="SVG"][justify="right"] {
- text-align: right;
-}
-
-g[data-mml-node="merror"] > g {
- fill: red;
- stroke: red;
-}
-
-g[data-mml-node="merror"] > rect[data-background] {
- fill: yellow;
- stroke: none;
-}
-
-g[data-mml-node="mtable"] > line[data-line] {
- stroke-width: 70px;
- fill: none;
-}
-
-g[data-mml-node="mtable"] > rect[data-frame] {
- stroke-width: 70px;
- fill: none;
-}
-
-g[data-mml-node="mtable"] > .mjx-dashed {
- stroke-dasharray: 140;
-}
-
-g[data-mml-node="mtable"] > .mjx-dotted {
- stroke-linecap: round;
- stroke-dasharray: 0,140;
-}
-
-g[data-mml-node="mtable"] > svg {
- overflow: visible;
-}
-
-[jax="SVG"] mjx-tool {
- display: inline-block;
- position: relative;
- width: 0;
- height: 0;
-}
-
-[jax="SVG"] mjx-tool > mjx-tip {
- position: absolute;
- top: 0;
- left: 0;
-}
-
-mjx-tool > mjx-tip {
- display: inline-block;
- padding: .2em;
- border: 1px solid #888;
- font-size: 70%;
- background-color: #F8F8F8;
- color: black;
- box-shadow: 2px 2px 5px #AAAAAA;
-}
-
-g[data-mml-node="maction"][data-toggle] {
- cursor: pointer;
-}
-
-mjx-status {
- display: block;
- position: fixed;
- left: 1em;
- bottom: 1em;
- min-width: 25%;
- padding: .2em .4em;
- border: 1px solid #888;
- font-size: 90%;
- background-color: #F8F8F8;
- color: black;
-}
-
-foreignObject[data-mjx-xml] {
- font-family: initial;
- line-height: normal;
- overflow: visible;
-}
-
-.MathJax path {
- stroke-width: 3;
-}
-
-mjx-container[display="true"] {
- overflow: auto hidden;
-}
-
-mjx-container[display="true"] + br {
- display: none;
-}
-</style></head>
+ <meta name="generator" content="Hexo 6.3.0"></head>
<body>
<div class="mask-border">
</div>
diff --git a/search.xml b/search.xml
index 8f9ef042..6d1afddd 100644
--- a/search.xml
+++ b/search.xml
@@ -3456,6 +3456,43 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的�
</tags>
</entry>
<entry>
+ <title>“缺页” 和 “中断” 术语上的区别</title>
+ <url>/2025/12/02/%E2%80%9C%E7%BC%BA%E9%A1%B5%E2%80%9D-%E5%92%8C-%E2%80%9C%E4%B8%AD%E6%96%AD%E2%80%9D-%E6%9C%AF%E8%AF%AD%E4%B8%8A%E7%9A%84%E5%8C%BA%E5%88%AB/</url>
+ <content><![CDATA[<p>在计算机体系结构语境中,术语“异常”与“中断”的混用,源于硬件事件分类与操作系统实现策略的视角差异。这种差异并不代表定义不严谨,而反映了从底层硬件信号到上层软件管理的不同抽象层次。关键在于区分事件的内在性质与操作系统对其的处理模型。</p>
+<p>从硬件与架构的视角看,“异常”和“中断”有明确界定。异常是同步事件,由当前正在执行的指令直接触发,其发生时刻可精确复现。非法操作码、除零、地址越界等均属此类,因为它们是执行流本身导致的错误或特殊情况。中断则是异步事件,由外部硬件设备在指令执行的任意时刻触发,与当前指令流无关,如时钟中断、I/O完成中断。这种分类基于事件的来源和时序特性,是CPU设计的基础。</p>
+<p>缺页事件的性质符合硬件对异常的定义:当一条内存访问指令(如load或store)试图访问的虚拟地址页面不在物理内存中时,由内存管理单元同步检测并触发该事件。从CPU角度看,这是一条指令执行过程中产生的同步故障,本质上是一个“缺页异常”。</p>
+<p>因为操作系统在处理缺页时,借用了中断的处理框架,因此常被称为 “缺页中断”。因为现实是:缺页处理过程耗时极长,涉及磁盘I/O。若采用处理一般异常的简单模型(即陷入内核后在同一执行上下文中直接处理直至完成),CPU将在等待磁盘的数百毫秒内被完全阻塞,导致资源利用率极低。</p>
+<p>因此,操作系统将缺页处理设计为一个复杂的状态管理过程。其伪流程如下:</p>
+<ol>
+<li>CPU执行访存指令,触发缺页异常,硬件自动保存当前上下文并跳转到操作系统预设的异常处理入口。</li>
+<li>操作系统内核诊断出缺页原因,确认需要从磁盘调入页面。</li>
+<li>内核将此进程标记为“等待I/O”状态,并将其从运行队列移出。</li>
+<li>内核调用磁盘驱动程序,发起读盘请求,然后立即执行调度程序,切换到另一个就绪进程运行。此时,对原进程而言,其执行流被“中断”并挂起。</li>
+<li>磁盘I/O完成后,磁盘控制器产生一个硬件中断。中断处理程序收到页面数据,将其载入物理内存,并更新页表。</li>
+<li>内核将之前等待的进程重新标记为就绪状态。在未来某个时刻,调度程序会再次选中该进程,并通过恢复其之前保存的上下文,让导致缺页的那条指令重新执行,此时便能成功访问内存。</li>
+</ol>
+<p>这一流程的关键在于第 4 步:操作系统主动放弃当前进程的CPU使用权,去执行其他任务。这种行为模式与响应异步硬件中断后执行调度在逻辑上同构。虽然事件源头是同步异常,但操作系统利用中断处理的可抢占和可调度特性,实现了对漫长I/O等待期的资源复用。因此,“缺页中断”这一术语,精准地描述了操作系统 “将其作为一个可延迟调度的事件进行管理” 的软件机制,而非否定其硬件层面的同步异常本质。</p>
+<hr>
+<p>有人会觉得:“相当于一个人本来应该姓王,结果直接姓林,然后来句合理,没有前因后果,就像数学分成正数负数,结果给 3 取名负三,然后来句,这是正数”</p>
+<hr>
+<p>在静态、单一层次的分类体系下,将一个A类事物命名为B类,确实构成矛盾。然而,计算机系统是一个多层级协同运行的动态模型,其术语的最终有效性,不仅在于标识事件的 <strong>静态起源</strong> , 更在于描述其在系统 <strong>动态运行中引发的控制流路径和资源管理行为</strong>。</p>
+<p>这个比喻可以引申为:一个人根据其血缘被赋予 “王” 姓(硬件本质),但在特定的工作组织(操作系统)中,因其担任的职能、遵循的流程与 “林” 姓团队完全相同,故在日常运营中被纳入 “林” 团队进行调度和管理。组织内部称其为 “林工”,并非否认其血缘,而是为了精确匹配管理流程,实现最高运作效率。</p>
+<p>“缺页” 的命名问题正遵循此逻辑。硬件按起源将其分类为 <strong>同步异常(姓王)</strong> ,但操作系统发现,处理此事件所需的行为模式——保存现场、可能挂起当前任务、启动异步I/O、调度其他任务、在事件完成后通过恢复现场来继续——与处理 <strong>异步中断(姓林)</strong> 的完整行为模式完全一致。这套行为模式的关键特征是 <strong>可阻塞与可调度性</strong> 。</p>
+<p>为了调用这套成熟、高效的中断管理框架(包含调度器、等待队列、I/O完成回调等复杂机制),操作系统在软件层面将其标识为“中断”。这并非分类错误,而是在更高抽象层上,根据 <strong>行为模型</strong> 而非 <strong>触发原因</strong> 进行的重新映射。其因果链条是清晰且自洽的:</p>
+<ol>
+<li><strong>因</strong>:缺页由指令同步触发(硬件异常)。</li>
+<li><strong>策略决策</strong>:因其处理必然涉及漫长等待,操作系统决定采用异步、可调度的方式处理它。</li>
+<li><strong>技术实现</strong>:实现此策略的最直接路径,是复用已为硬件中断设计好的、具备异步抢占与任务调度能力的中断管理和调度框架。</li>
+<li><strong>命名结果</strong>:该事件在处理流程上被纳入“中断”路径,故在操作系统软件范畴内,称其为“缺页中断”。这个术语准确指向了“通过中断管理框架处理的缺页异常”这一复杂概念。</li>
+</ol>
+<p>这不同于给数字 3 取名“负三”。它更接近于:发现一种具有正数性质的粒子,但其在磁场中的偏转行为与负电荷粒子完全相同。物理学家为便于利用已有的、成熟的“负电荷粒子”行为方程进行计算和预测,可能会在动力学分析中临时称其为“负粒子”,同时明确其静态性质为正。这里的命名服务于特定的分析模型和计算框架。</p>
+<p>所以 “缺页中断”这一术语的严谨性,不在于它否定了硬件的分类,而在于它精确地描述了操作系统层面所采用的 <strong>处理模型</strong> 。它不是一个分类学错误,而是一个基于行为相似性,为了实现高效资源管理而采用的、精确的工程学术语。它同时指明了事件的起源(异常)和处理的方式(中断框架),是多层次系统设计中一种高效而准确的表述。</p>
+]]></content>
+ <tags>
+ <tag>Technique</tag>
+ </tags>
+ </entry>
+ <entry>
<title>中老年人沉迷手机的问题</title>
<url>/2024/09/08/%E4%B8%AD%E8%80%81%E5%B9%B4%E4%BA%BA%E6%B2%89%E8%BF%B7%E6%89%8B%E6%9C%BA%E7%9A%84%E9%97%AE%E9%A2%98/</url>
<content><![CDATA[<p>沉迷于手机的老年人,其实很多都是因为儿女不在身边,他们只能把这份孤独转嫁到手机上。</p>
diff --git a/tags/Technique/index.html b/tags/Technique/index.html
index 4b9e28a6..497e46e8 100644
--- a/tags/Technique/index.html
+++ b/tags/Technique/index.html
@@ -177,6 +177,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2025/12/02/%E2%80%9C%E7%BC%BA%E9%A1%B5%E2%80%9D-%E5%92%8C-%E2%80%9C%E4%B8%AD%E6%96%AD%E2%80%9D-%E6%9C%AF%E8%AF%AD%E4%B8%8A%E7%9A%84%E5%8C%BA%E5%88%AB/">
+
+ “缺页” 和 “中断” 术语上的区别
+
+ </a>
+ </div>
+
+ <span class="post-date">Dec 2, 2025</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2025/09/09/database-fk-design-in-clinical-medicine/">
在临床医疗领域中的数据库外键设计取舍
@@ -332,24 +350,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2025/04/02/N-1-selects-problem-%E4%B8%8E-Prisma-ORM/">
-
- N+1 selects problem 与 Prisma ORM
-
- </a>
- </div>
-
- <span class="post-date">Apr 2, 2025</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/tags/Technique/page/2/index.html b/tags/Technique/page/2/index.html
index c3610cdb..45a65dd8 100644
--- a/tags/Technique/page/2/index.html
+++ b/tags/Technique/page/2/index.html
@@ -177,6 +177,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2025/04/02/N-1-selects-problem-%E4%B8%8E-Prisma-ORM/">
+
+ N+1 selects problem 与 Prisma ORM
+
+ </a>
+ </div>
+
+ <span class="post-date">Apr 2, 2025</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2025/03/31/%E5%9C%A8F-%E4%B8%AD%E5%A4%84%E7%90%86%E5%A4%8D%E6%9D%82%E4%BE%9D%E8%B5%96%E6%B3%A8%E5%85%A5%E7%9A%84%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97/">
在F#中处理复杂依赖注入的实践指南
@@ -332,24 +350,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2025/02/11/%E4%BB%8E%E4%BA%8B%E4%BB%B6%E9%A3%8E%E6%9A%B4%E7%9C%8B%E9%A2%86%E5%9F%9F%E9%A9%B1%E5%8A%A8%E8%AE%BE%E8%AE%A1/">
-
- 从事件风暴看领域驱动设计
-
- </a>
- </div>
-
- <span class="post-date">Feb 11, 2025</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/tags/Technique/page/3/index.html b/tags/Technique/page/3/index.html
index 42cb8cf9..afe09476 100644
--- a/tags/Technique/page/3/index.html
+++ b/tags/Technique/page/3/index.html
@@ -177,6 +177,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2025/02/11/%E4%BB%8E%E4%BA%8B%E4%BB%B6%E9%A3%8E%E6%9A%B4%E7%9C%8B%E9%A2%86%E5%9F%9F%E9%A9%B1%E5%8A%A8%E8%AE%BE%E8%AE%A1/">
+
+ 从事件风暴看领域驱动设计
+
+ </a>
+ </div>
+
+ <span class="post-date">Feb 11, 2025</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2025/02/10/%E5%AE%9E%E6%97%B6%E6%90%9C%E7%B4%A2%E4%B8%AD%E7%9A%84%E9%98%B2%E6%8A%96%E5%87%BD%E6%95%B0/">
实时搜索中的防抖函数
@@ -334,24 +352,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2024/07/23/OCaml-News-2024-6/">
-
- OCaml News 2024-6
-
- </a>
- </div>
-
- <span class="post-date">Jul 23, 2024</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/tags/Technique/page/4/index.html b/tags/Technique/page/4/index.html
index 1edc0438..fe1b6af4 100644
--- a/tags/Technique/page/4/index.html
+++ b/tags/Technique/page/4/index.html
@@ -177,6 +177,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2024/07/23/OCaml-News-2024-6/">
+
+ OCaml News 2024-6
+
+ </a>
+ </div>
+
+ <span class="post-date">Jul 23, 2024</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2024/07/01/OCaml-News-2024-4/">
OCaml News 2024-4
@@ -332,24 +350,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2024/01/08/OCaml-News-2024-1/">
-
- OCaml News 2024-1
-
- </a>
- </div>
-
- <span class="post-date">Jan 8, 2024</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/tags/Technique/page/5/index.html b/tags/Technique/page/5/index.html
index e2dba20e..2e657840 100644
--- a/tags/Technique/page/5/index.html
+++ b/tags/Technique/page/5/index.html
@@ -172,6 +172,26 @@
+ <div class="year-title">2024</div>
+
+
+ <div class="post-list-item">
+ <div class="post-title">
+ <a href="/2024/01/08/OCaml-News-2024-1/">
+
+ OCaml News 2024-1
+
+ </a>
+ </div>
+
+ <span class="post-date">Jan 8, 2024</span>
+ </div>
+
+
+
+
+
+
<div class="year-title">2023</div>
@@ -332,24 +352,6 @@
</div>
-
-
-
-
-
- <div class="post-list-item">
- <div class="post-title">
- <a href="/2023/05/03/Rust-NewType-%E6%A8%A1%E5%BC%8F/">
-
- Rust NewType 模式
-
- </a>
- </div>
-
- <span class="post-date">May 3, 2023</span>
- </div>
-
-
<div id="paginator">
<div class=paginator>
diff --git a/tags/Technique/page/6/index.html b/tags/Technique/page/6/index.html
index 292ba7a6..27456d8c 100644
--- a/tags/Technique/page/6/index.html
+++ b/tags/Technique/page/6/index.html
@@ -177,6 +177,24 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2023/05/03/Rust-NewType-%E6%A8%A1%E5%BC%8F/">
+
+ Rust NewType 模式
+
+ </a>
+ </div>
+
+ <span class="post-date">May 3, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2023/05/02/Rust-Partial-%E8%AF%AD%E4%B9%89/">
Rust Partial 语义