@@ -171,13 +171,13 @@ <h2>单体内核</h2>
171
171
</ article >
172
172
< article class ="admonition- slide level-2 ">
173
173
174
- < h2 > 单体内核*可以* 是模块化的</ h2 >
174
+ < h2 > 单体内核 < em > 可以 </ em > 是模块化的</ h2 >
175
175
176
176
< ul class ="simple ">
177
177
< li > 组件可以在编译时启用或禁用</ li >
178
- < li > 支持可加载的内核模块 (在运行时)</ li >
178
+ < li > 支持可加载内核模块 (在运行时)</ li >
179
179
< li > 将内核组织成逻辑上独立的子系统</ li >
180
- < li > 严格的接口 ,但其性能开销低:宏、内联函数以及函数指针</ li >
180
+ < li > 接口严格 ,但其性能开销低:宏、内联函数以及函数指针</ li >
181
181
</ ul >
182
182
183
183
@@ -188,8 +188,8 @@ <h2>单体内核*可以*是模块化的</h2>
188
188
189
189
< h2 > “混合”内核</ h2 >
190
190
191
- < p > 许多操作系统和内核专家认为这个标签毫无意义,只是营销手段 。Linus Torvalds 对此问题说 :</ p >
192
- < p > “至于所谓的‘混合内核’,那只是营销而已。‘哦,那些微内核有很好的公关,我们怎么能给我们的工作内核也弄点好公关呢?哦,我知道了,让我们用一个酷酷的名字,来暗示它具有其他系统所拥有的所有公关优势’。 ”</ p >
191
+ < p > 许多操作系统和内核专家认为这种标签没有实际意义,仅仅是市场营销的策略 。Linus Torvalds 对此评论道 :</ p >
192
+ < p > “至于所谓的‘混合内核’,那完全是营销的产物。‘噢,微内核获得了很多好评,我们怎样才能为我们的内核也赢得一些好评呢?我有个主意,就让我们给它起一个很酷的名字,暗示它拥有所有其他系统的优势。’ ”</ p >
193
193
194
194
195
195
@@ -204,12 +204,12 @@ <h2>地址空间</h2>
204
204
</ ul >
205
205
< blockquote >
206
206
< div > < ul class ="simple ">
207
- < li > RAM和外设内存 </ li >
207
+ < li > RAM 和外设内存 </ li >
208
208
</ ul >
209
209
</ div > </ blockquote >
210
210
< ul class ="simple ">
211
211
< li > 虚拟地址空间< ul >
212
- < li > CPU 在受保护/分页模式下看到的内存 </ li >
212
+ < li > CPU 在受保护/分页模式下感知的内存 </ li >
213
213
< li > 进程地址空间</ li >
214
214
< li > 内核地址空间</ li >
215
215
</ ul >
@@ -302,9 +302,9 @@ <h2>多任务处理</h2>
302
302
303
303
< h2 > 抢占式内核</ h2 >
304
304
305
- < p > 抢占式多任务处理和抢占式内核是不同的术语 。</ p >
306
- < p > 如果一个进程在内核模式下运行时可以被抢占,则内核是抢占式的 。</ p >
307
- < p > 然而,请注意非抢占式内核可能支持抢占式多任务处理 。</ p >
305
+ < p > 抢占式多任务处理与抢占式内核是两个不同的概念 。</ p >
306
+ < p > 如果一个进程在内核模式下运行时可以被其他进程抢占,那么这个内核就是抢占式的 。</ p >
307
+ < p > 然而,请注意,即使是非抢占式内核,也可能支持抢占式多任务处理 。</ p >
308
308
309
309
310
310
@@ -314,7 +314,7 @@ <h2>抢占式内核</h2>
314
314
315
315
< h2 > 可分页的内核内存</ h2 >
316
316
317
- < p > 如果内核内存的某些部分(代码 、数据、堆栈或动态分配内存)可以交换到磁盘上,则内核支持可分页的内核内存 。</ p >
317
+ < p > 如果内核内存的某些部分(如代码 、数据、堆栈或动态分配的内存)能够被交换到磁盘上,那么该内核就支持可分页的内核内存 。</ p >
318
318
319
319
320
320
@@ -324,8 +324,8 @@ <h2>可分页的内核内存</h2>
324
324
325
325
< h2 > 内核堆栈</ h2 >
326
326
327
- < p > 每个进程都有一个内核堆栈,用于在执行系统调用时,保持函数调用链和局部变量状态。内核栈在进程处于内核模式时使用 。</ p >
328
- < p > 内核堆栈很小( 4 KB - 12 KB),因此内核开发人员必须避免在堆栈上分配大型结构或未适当限定的递归调用 。</ p >
327
+ < p > 每个进程都配备了一个内核堆栈,该堆栈用于维护函数调用链和局部变量的状态。当进程因系统调用而运行在内核模式下时,会使用到这个内核堆栈 。</ p >
328
+ < p > 由于内核堆栈的容量相对较小(通常在 4 KB 到 12 KB 之间),内核开发人员必须避免在堆栈上分配大型数据结构或进行深度未受限的递归调用 。</ p >
329
329
330
330
331
331
@@ -439,9 +439,9 @@ <h2>Linux开发模型</h2>
439
439
< ul class ="simple ">
440
440
< li > 开源,采用 GPLv2 许可证</ li >
441
441
< li > 贡献者:公司、学术界和独立开发者</ li >
442
- < li > 开发周期:3 - 4 个月,包括 1 - 2 周的合并窗口(merge window)和错误修复阶段</ li >
443
- < li > 新功能只允许在合并窗口期间合并 </ li >
444
- < li > 合并窗口结束后,每周会制作一个发行候选(release candidate)版本(rc1、rc2等 )</ li >
442
+ < li > 开发周期:3—— 4 个月,包括 1—— 2 周的合并窗口(merge window)和错误修复阶段</ li >
443
+ < li > 新特性只允许在合并窗口期间合并 </ li >
444
+ < li > 合并窗口结束后,每周会制作一个发行候选(release candidate)版本(rc1、rc2 等 )</ li >
445
445
</ ul >
446
446
447
447
@@ -471,39 +471,7 @@ <h2>维护者层次结构</h2>
471
471
472
472
< h2 > Linux 源代码布局</ h2 >
473
473
474
- < div class ="highlight-text "> < div class ="highlight "> < pre > < span > </ span > +-------+
475
- | linux |
476
- +-+-----+
477
- |
478
- +------+--------+---------+---------+--------------+--------------+
479
- | | | | | | |
480
- | v v v v v v
481
- | +------+ +-------+ +-------+ +--------+ +---------------+ +---------+
482
- | | arch | | block | | certs | | crypto | | Documentation | | drivers |
483
- | +------+ +-------+ +-------+ +--------+ +---------------+ +---------+
484
- |
485
- +-------+----------+--------+---------+--------+--------+---------+
486
- | | | | | | | |
487
- | v v v v v v v
488
- | +----------+ +----+ +---------+ +------+ +-----+ +--------+ +-----+
489
- | | firmware | | fs | | include | | init | | ipc | | kernel | | lib |
490
- | +----------+ +----+ +---------+ +------+ +-----+ +--------+ +-----+
491
- |
492
- +-----+------+---------+------------+------------+------------+
493
- | | | | | | |
494
- | v v v v v v
495
- | +----+ +-----+ +---------+ +---------+ +----------+ +-------+
496
- | | mm | | net | | samples | | scripts | | security | | sound |
497
- | +----+ +-----+ +---------+ +---------+ +----------+ +-------+
498
- |
499
- +------+--------+--------+
500
- | | |
501
- v v v
502
- +-------+ +-----+ +------+
503
- | tools | | usr | | virt |
504
- +-------+ +-----+ +------+
505
- </ pre > </ div >
506
- </ div >
474
+ < img alt ="../_images/ditaa-f45246aade5ecc7cfb71f7f103a57f95fc7c2b9e.png " src ="../_images/ditaa-f45246aade5ecc7cfb71f7f103a57f95fc7c2b9e.png " />
507
475
508
476
509
477
@@ -569,9 +537,9 @@ <h2>arch</h2>
569
537
570
538
< ul class ="simple ">
571
539
< li > 针对架构的特定代码</ li >
572
- < li > 可能进一步细分为针对机器的特定代码 </ li >
540
+ < li > 可能进一步细分为针对特定机器的代码 </ li >
573
541
< li > 与引导加载程序(boot loader)以及特定于架构的初始化程序进行交互</ li >
574
- < li > 访问各种硬件位 ,这些硬件位是架构或机器特定的,例如中断控制器、SMP 控制器、总线控制器、异常和中断设置以及虚拟内存处理</ li >
542
+ < li > 操作各种硬件位 ,这些硬件位是架构或机器特定的,例如中断控制器、SMP 控制器、总线控制器、异常和中断设置以及虚拟内存处理</ li >
575
543
< li > 针对架构优化的函数(例如 memcpy,字符串操作等)</ li >
576
544
</ ul >
577
545
@@ -666,13 +634,13 @@ <h2>块I/O管理</h2>
666
634
</ article >
667
635
< article class ="admonition- slide level-2 ">
668
636
669
- < h2 > 虚拟文件系统切换 </ h2 >
637
+ < h2 > 虚拟文件系统 </ h2 >
670
638
671
639
< div class ="highlight-text "> < div class ="highlight "> < pre > < span > </ span > ^ ^ ^
672
640
| stat | open | read
673
641
v v v
674
642
+------------------------------------------------------------+
675
- | 虚拟文件系统切换 |
643
+ | 虚拟文件系统 |
676
644
| |
677
645
| |
678
646
| /-------\ /--------\ /--------\ |
@@ -746,9 +714,9 @@ <h2>网络堆栈</h2>
746
714
< h2 > Linux 安全模块</ h2 >
747
715
748
716
< ul class ="simple ">
749
- < li > 扩展默认的 Linux 安全模型的钩子</ li >
717
+ < li > 扩展默认的 Linux 安全模型的钩子(hook) </ li >
750
718
< li > 被几个 Linux 安全扩展使用:< ul >
751
- < li > 安全增强型 Linux(Security Enhanced Linux, SELinux)</ li >
719
+ < li > 安全增强型 Linux(SELinux)</ li >
752
720
< li > AppArmor</ li >
753
721
< li > Tomoyo</ li >
754
722
< li > Smack</ li >
0 commit comments