diff --git a/site/index.html b/site/index.html index 28cc11c..2c81e11 100644 --- a/site/index.html +++ b/site/index.html @@ -69,6 +69,9 @@ --fig-inner-bottom: rgba(0, 0, 0, 0.35); --fig-glow: rgba(56, 189, 248, 0.10); --fig-grain: 0.16; + /* 排队列:不能直接用 gCard —— 浅色下 gCard 是白的, + 在白色玻璃面板上等于看不见。给一个独立色调。 */ + --dv-queue-item: rgba(119, 128, 154, 0.22); --code-bg: rgba(6, 10, 22, 0.85); --code-fg: #cdd3f5; --nav-bg: rgba(7, 11, 22, 0.72); @@ -106,6 +109,7 @@ --fig-inner-bottom: rgba(15, 23, 42, 0.06); --fig-glow: rgba(37, 99, 235, 0.08); --fig-grain: 0.08; + --dv-queue-item: rgba(37, 99, 235, 0.13); --text: #0d1526; --text-dim: #48546c; --text-muted: #78849a; @@ -601,6 +605,21 @@ text-anchor: middle; letter-spacing: 0.08em; } + /* 排队类:无级别,用虚线框 + 不发光,与中断类刻意拉开 */ + .dv-queue { + fill: none; + stroke: var(--border); + stroke-width: 1.3; + stroke-dasharray: 5 4; + } + .dv-qitem { fill: var(--dv-queue-item); opacity: 0.95; } + /* 处理方向指示 */ + .dv-qdir { fill: none; stroke: var(--text-muted); stroke-width: 1.2; opacity: 0.6; } + .dv-qdir-tip { fill: none; stroke: var(--text-muted); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; opacity: 0.6; } + /* 两列标题 */ + .dv-colcap { fill: var(--text-dim); font-size: 10px; text-anchor: middle; letter-spacing: 0.04em; } + .dv-colcap-dim { fill: var(--text-muted); } + .dv-caps { fill: var(--text-muted); font-size: 8.8px; text-anchor: middle; } @media (prefers-reduced-motion: no-preference) { .dv-pkdot { animation: pkPulse 1.8s ease-in-out infinite; } @keyframes pkPulse { @@ -1877,52 +1896,62 @@

- - + + + 中断 · 带级别 + 排队 · 无级别 + + - + - - - - + + + + - - - - L4 - 内核独占 · 立即打断 - panic + + L4 + 内核独占 - - L3 - 需及时处理 - 交互 + + L3 + 需及时处理 - - L2 - 消息类 - QQ / 邮件 + + L2 + 消息类 - - L1 - 完全可等 - 批量任务 + + L1 + 完全可等 - - - - 抢占 + + + + + + + + + + + 先到先处理 + 任何中断都能插它前面 - - 正在跑的任务 - 被抢占 - 现场压入中断栈 · 稍后从栈顶原样恢复 + + + + + + + 正在跑的任务 + 同一时刻只一个 + 被打断的现场压入中断栈,稍后原样恢复