diff --git a/Concepts/README.md b/Concepts/README.md index d141e34..7ba7130 100644 --- a/Concepts/README.md +++ b/Concepts/README.md @@ -2,7 +2,7 @@ 本章描述内核中使用到的各种各样的概念。 -* [每个 CPU 的变量](https://xinqiu.gitbooks.io/linux-insides-cn/content/Concepts/per-cpu.html) -* [CPU 掩码](https://xinqiu.gitbooks.io/linux-insides-cn/content/Concepts/cpumask.html) -* [initcall 机制](https://xinqiu.gitbooks.io/linux-insides-cn/content/Concepts/initcall.html) -* [Linux 内核的通知链](https://xinqiu.gitbooks.io/linux-insides-cn/content/Concepts/notification_chains.html) +* [每个 CPU 的变量](linux-cpu-1.md) +* [CPU 掩码](linux-cpu-2.md) +* [initcall 机制](linux-cpu-3.md) +* [Linux 内核的通知链](linux-cpu-4.md) diff --git a/DataStructures/README.md b/DataStructures/README.md index c54b32c..e7aab7f 100644 --- a/DataStructures/README.md +++ b/DataStructures/README.md @@ -5,6 +5,6 @@ Linux内核对很多数据结构提供不同的实现方法,比如,双向链 这部分考虑这些数据结构和算法。 - * [双向链表](https://xinqiu.gitbooks.io/linux-insides-cn/content/DataStructures/dlist.html) - * [基数树](https://xinqiu.gitbooks.io/linux-insides-cn/content/DataStructures/radix-tree.html) - * [位数组](https://xinqiu.gitbooks.io/linux-insides-cn/content/DataStructures/bitmap.html) + * [双向链表](linux-datastructures-1.md) + * [基数树](linux-datastructures-2.md) + * [位数组](linux-datastructures-3.md) diff --git a/Initialization/README.md b/Initialization/README.md index cf1cc10..ccea9cf 100644 --- a/Initialization/README.md +++ b/Initialization/README.md @@ -4,13 +4,13 @@ *注意* 这里不是所有内核初始化步骤的介绍。这里只有通用的内核内容,不会涉及到中断控制、 ACPI 、以及其它部分。此处没有详述的部分,会在其它章节中描述。 -* [内核解压之后的首要步骤](https://xinqiu.gitbooks.io/linux-insides-cn/content/Initialization/linux-initialization-1.html) - 描述内核中的首要步骤。 -* [早期的中断和异常控制](https://xinqiu.gitbooks.io/linux-insides-cn/content/Initialization/linux-initialization-2.html) - 描述了早期的中断初始化和早期的缺页处理函数。 -* [在到达内核入口之前最后的准备](https://xinqiu.gitbooks.io/linux-insides-cn/content/Initialization/linux-initialization-3.html) - 描述了在调用 start_kernel 之前最后的准备工作。 -* [内核入口 - start_kernel](https://xinqiu.gitbooks.io/linux-insides-cn/content/Initialization/linux-initialization-4.html) - 描述了内核通用代码中初始化的第一步。 -* [体系架构初始化](https://xinqiu.gitbooks.io/linux-insides-cn/content/Initialization/linux-initialization-5.html) - 描述了特定架构的初始化。 -* [进一步初始化指定体系架构](https://xinqiu.gitbooks.io/linux-insides-cn/content/Initialization/linux-initialization-6.html) - 描述了再一次的指定架构初始化流程。 -* [最后对指定体系架构初始化](https://xinqiu.gitbooks.io/linux-insides-cn/content/Initialization/linux-initialization-7.html) - 描述了指定架构初始化流程的结尾。 -* [调度器初始化](https://xinqiu.gitbooks.io/linux-insides-cn/content/Initialization/linux-initialization-8.html) - 描述了调度初始化之前的准备工作,以及调度初始化。 -* [RCU 初始化](https://xinqiu.gitbooks.io/linux-insides-cn/content/Initialization/linux-initialization-9.html) - 描述了 RCU 的初始化。 -* [初始化结束](https://xinqiu.gitbooks.io/linux-insides-cn/content/Initialization/linux-initialization-10.html) - Linux内核初始化的最后部分。 +* [内核解压之后的首要步骤](linux-initialization-1.md) - 描述内核中的首要步骤。 +* [早期的中断和异常控制](linux-initialization-2.md) - 描述了早期的中断初始化和早期的缺页处理函数。 +* [在到达内核入口之前最后的准备](linux-initialization-3.md) - 描述了在调用 start_kernel 之前最后的准备工作。 +* [内核入口 - start_kernel](linux-initialization-4.md) - 描述了内核通用代码中初始化的第一步。 +* [体系架构初始化](linux-initialization-5.md) - 描述了特定架构的初始化。 +* [进一步初始化指定体系架构](linux-initialization-6.md) - 描述了再一次的指定架构初始化流程。 +* [最后对指定体系架构初始化](linux-initialization-7.md) - 描述了指定架构初始化流程的结尾。 +* [调度器初始化](linux-initialization-8.md) - 描述了调度初始化之前的准备工作,以及调度初始化。 +* [RCU 初始化](linux-initialization-9.md) - 描述了 RCU 的初始化。 +* [初始化结束](linux-initialization-10.md) - Linux内核初始化的最后部分。 diff --git a/Interrupts/README.md b/Interrupts/README.md index 209cbdf..ecf6777 100644 --- a/Interrupts/README.md +++ b/Interrupts/README.md @@ -2,13 +2,13 @@ 在 linux 内核中你会发现很多关于中断和异常处理的话题 -* [中断和中断处理 Part 1.](https://xinqiu.gitbooks.io/linux-insides-cn/content/Interrupts/interrupts-1.html) - 描述中断处理主题 -* [深入 Linux 内核中的中断](https://xinqiu.gitbooks.io/linux-insides-cn/content/Interrupts/interrupts-2.html) - 这部分开始描述和初步步骤相关的中断和异常处理。 -* [初步中断处理](https://xinqiu.gitbooks.io/linux-insides-cn/content/Interrupts/interrupts-3.html) - 描述初步中断处理。 -* [中断处理](https://xinqiu.gitbooks.io/linux-insides-cn/content/Interrupts/interrupts-4.html) - fourth part describes first non-early interrupt handlers. -* [异常处理的实现](https://xinqiu.gitbooks.io/linux-insides-cn/content/Interrupts/interrupts-5.html) - 一些异常处理的实现,比如双重错误、除零等等。 -* [处理不可屏蔽中断](https://xinqiu.gitbooks.io/linux-insides-cn/content/Interrupts/interrupts-6.html) - 描述了如何处理不可屏蔽的中断和剩下的一些与特定架构相关的中断。 -* [深入外部硬件中断](https://xinqiu.gitbooks.io/linux-insides-cn/content/Interrupts/interrupts-7.html) - 这部分讲述了关于处理外部硬件中断的一些早期初始化代码。 -* [IRQs的非早期初始化](https://xinqiu.gitbooks.io/linux-insides-cn/content/Interrupts/interrupts-8.html) - 这部分讲述了处理外部硬件中断的非早期初始化代码。 -* [Softirq, Tasklets and Workqueues](https://xinqiu.gitbooks.io/linux-insides-cn/content/Interrupts/interrupts-9.html) - 这部分讲述了softirqs、tasklets 和 workqueues 的内容。 -* [最后一部分](https://xinqiu.gitbooks.io/linux-insides-cn/content/Interrupts/interrupts-10.html) - 这是中断和中断处理的最后一部分,并且我们将会看到一个真实的硬件驱动和中断。 +* [中断和中断处理第一部分](linux-interrupts-1.md) - 描述中断处理主题 +* [深入 Linux 内核中的中断](linux-interrupts-2.md) - 这部分开始描述和初步步骤相关的中断和异常处理。 +* [初步中断处理](linux-interrupts-3.md) - 描述初步中断处理。 +* [中断处理](linux-interrupts-4.md) - fourth part describes first non-early interrupt handlers. +* [异常处理的实现](linux-interrupts-5.md) - 一些异常处理的实现,比如双重错误、除零等等。 +* [处理不可屏蔽中断](linux-interrupts-6.md) - 描述了如何处理不可屏蔽的中断和剩下的一些与特定架构相关的中断。 +* [深入外部硬件中断](linux-interrupts-7.md) - 这部分讲述了关于处理外部硬件中断的一些早期初始化代码。 +* [IRQs的非早期初始化](linux-interrupts-8.md) - 这部分讲述了处理外部硬件中断的非早期初始化代码。 +* [Softirq, Tasklets and Workqueues](linux-interrupts-9.md) - 这部分讲述了softirqs、tasklets 和 workqueues 的内容。 +* [最后一部分](linux-interrupts-10.md) - 这是中断和中断处理的最后一部分,并且我们将会看到一个真实的硬件驱动和中断。 diff --git a/MM/README.md b/MM/README.md index ac88e22..04a7e9f 100644 --- a/MM/README.md +++ b/MM/README.md @@ -2,6 +2,6 @@ 本章描述 Linux 内核中的内存管理。在本章中你会看到一系列描述 Linux 内核内存管理框架的不同部分的帖子。 -* [内存块](https://xinqiu.gitbooks.io/linux-insides-cn/content/MM/linux-mm-1.html) - 描述早期的 `memblock` 分配器。 -* [固定映射地址和 ioremap](https://xinqiu.gitbooks.io/linux-insides-cn/content/MM/linux-mm-2.html) - 描述固定映射的地址和早期的 `ioremap` 。 -* [kmemcheck](https://xinqiu.gitbooks.io/linux-insides-cn/content/MM/linux-mm-3.html) - 第三部分描述 `kmemcheck` 工具。 +* [内存块](linux-mm-1.md) - 描述早期的 `memblock` 分配器。 +* [固定映射地址和 ioremap](linux-mm-2.md) - 描述固定映射的地址和早期的 `ioremap` 。 +* [kmemcheck](linux-mm-3.md) - 第三部分描述 `kmemcheck` 工具。 diff --git a/SUMMARY.md b/SUMMARY.md index f626950..0d31570 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -19,7 +19,7 @@ * [RCU 初始化](Initialization/linux-initialization-9.md) * [初始化结束](Initialization/linux-initialization-10.md) * [中断](Interrupts/README.md) - * [中断和中断处理 Part 1.](Interrupts/linux-interrupts-1.md) + * [中断和中断处理第一部分](Interrupts/linux-interrupts-1.md) * [深入 Linux 内核中的中断](Interrupts/linux-interrupts-2.md) * [初步中断处理](Interrupts/linux-interrupts-3.md) * [中断处理](Interrupts/linux-interrupts-4.md) diff --git a/SyncPrim/README.md b/SyncPrim/README.md index a9b0fc7..07bbfb5 100644 --- a/SyncPrim/README.md +++ b/SyncPrim/README.md @@ -2,9 +2,9 @@ 这个章节描述内核中所有的同步原语。 -* [自旋锁简介](https://xinqiu.gitbooks.io/linux-insides-cn/content/SyncPrim/sync-1.html) - 这个章节的第一部分描述 Linux 内核中自旋锁机制的实现; -* [队列自旋锁](https://xinqiu.gitbooks.io/linux-insides-cn/content/SyncPrim/sync-2.html) - 第二部分描述自旋锁的另一种类型 - 队列自旋锁; -* [信号量](https://xinqiu.gitbooks.io/linux-insides-cn/content/SyncPrim/sync-3.html) - this part describes impmentation of `semaphore` synchronization primitive in the Linux kernel. 这个部分描述 Linux 内核中的同步原语 `semaphore` 的实现; -* [互斥锁](https://xinqiu.gitbooks.io/linux-insides-cn/content/SyncPrim/sync-4.html) - 这个部分描述 Linux 内核中的 `mutex` ; -* [读者/写者信号量](https://xinqiu.gitbooks.io/linux-insides-cn/content/SyncPrim/sync-5.html) - 这个部分描述特殊类型的信号量 - `reader/writer` 信号量; -* [顺序锁](https://xinqiu.gitbooks.io/linux-insides-cn/content/SyncPrim/sync-6.html) - 这个部分描述 Linux 内核中的顺序锁. +* [自旋锁简介](linux-sync-1.md) - 这个章节的第一部分描述 Linux 内核中自旋锁机制的实现; +* [队列自旋锁](linux-sync-2.md) - 第二部分描述自旋锁的另一种类型 - 队列自旋锁; +* [信号量](linux-sync-3.md) - this part describes impmentation of `semaphore` synchronization primitive in the Linux kernel. 这个部分描述 Linux 内核中的同步原语 `semaphore` 的实现; +* [互斥锁](linux-sync-4.md) - 这个部分描述 Linux 内核中的 `mutex` ; +* [读者/写者信号量](linux-sync-5.md) - 这个部分描述特殊类型的信号量 - `reader/writer` 信号量; +* [顺序锁](linux-sync-6.md) - 这个部分描述 Linux 内核中的顺序锁. diff --git a/SysCall/README.md b/SysCall/README.md index 50d76d1..fef2908 100644 --- a/SysCall/README.md +++ b/SysCall/README.md @@ -2,9 +2,9 @@ 本章描述 Linux 内核中的系统调用概念。 -* [系统调用概念简介](https://xinqiu.gitbooks.io/linux-insides-cn/content/SysCall/syscall-1.html) - 介绍 Linux 内核中的系统调用概念 -* [Linux 内核如何处理系统调用](https://xinqiu.gitbooks.io/linux-insides-cn/content/SysCall/syscall-2.html) - 介绍 Linux 内核如何处理来自于用户空间应用的系统调用。 -* [vsyscall and vDSO](https://xinqiu.gitbooks.io/linux-insides-cn/content/SysCall/syscall-3.html) - 介绍 `vsyscall` 和 `vDSO` 概念。 -* [Linux 内核如何运行程序](https://xinqiu.gitbooks.io/linux-insides-cn/content/SysCall/syscall-4.html) - 介绍一个程序的启动过程。 -* [open 系统调用的实现](https://xinqiu.gitbooks.io/linux-insides-cn/content/SysCall/syscall-5.html) - 介绍 open 系统调用的实现。 -* [Linux 资源限制](https://xinqiu.gitbooks.io/linux-insides-cn/content/SysCall/syscall-6.html) - 介绍 `getrlimit/setrlimit` 的实现。 +* [系统调用概念简介](linux-syscall-1.md) - 介绍 Linux 内核中的系统调用概念 +* [Linux 内核如何处理系统调用](linux-syscall-2.md) - 介绍 Linux 内核如何处理来自于用户空间应用的系统调用。 +* [vsyscall and vDSO](linux-syscall-3.md) - 介绍 `vsyscall` 和 `vDSO` 概念。 +* [Linux 内核如何运行程序](linux-syscall-4.md) - 介绍一个程序的启动过程。 +* [open 系统调用的实现](linux-syscall-5.md) - 介绍 open 系统调用的实现。 +* [Linux 资源限制](linux-syscall-6.md) - 介绍 `getrlimit/setrlimit` 的实现。 diff --git a/Theory/README.md b/Theory/README.md index 43ce519..5bbd007 100644 --- a/Theory/README.md +++ b/Theory/README.md @@ -2,6 +2,6 @@ 这一章描述各种理论性概念和那些不直接涉及实践,但是知道了会很有用的概念。 -* [分页](https://xinqiu.gitbooks.io/linux-insides-cn/content/Theory/Paging.html) -* [Elf64 格式](https://xinqiu.gitbooks.io/linux-insides-cn/content/Theory/ELF.html) -* [內联汇编](https://xinqiu.gitbooks.io/linux-insides-cn/content/Theory/asm.html) +* [分页](linux-theory-1.md) +* [Elf64 格式](linux-theory-2.md) +* [內联汇编](linux-theory-3.md) diff --git a/Timers/README.md b/Timers/README.md index 025c8b3..594e911 100644 --- a/Timers/README.md +++ b/Timers/README.md @@ -2,10 +2,10 @@ 本章介绍 Linux 内核中定时器和时钟管理相关的观念。 -* [简介](https://xinqiu.gitbooks.io/linux-insides-cn/content/Timers/timers-1.html) - 简单介绍 Linux 内核中的定时器。 -* [时钟源框架简介](https://xinqiu.gitbooks.io/linux-insides-cn/content/Timers/timers-2.html) - this part describes `clocksource` framework in the Linux kernel. -* [The tick broadcast framework and dyntick](https://xinqiu.gitbooks.io/linux-insides-cn/content/Timers/timers-3.html) - 介绍 tick broadcast framework and dyntick 概念。 -* [定时器介绍](https://xinqiu.gitbooks.io/linux-insides-cn/content/Timers/timers-4.html) - 介绍 Linux 内核中的定时器。 -* [Clockevents 框架简介](https://xinqiu.gitbooks.io/linux-insides-cn/content/Timers/timers-5.html) - 介绍另外一个时钟管理相关的框架 : `clockevents`. -* [x86 相关的时钟源](https://xinqiu.gitbooks.io/linux-insides-cn/content/Timers/timers-6.html) - 介绍 `x86_64` 相关的时钟源。 -* [Linux 内核中与时钟相关的系统调用](https://xinqiu.gitbooks.io/linux-insides-cn/content/Timers/timers-7.html) - 介绍时钟相关的系统调用。 +* [简介](linux-timers-1.md) - 简单介绍 Linux 内核中的定时器。 +* [时钟源框架简介](linux-timers-2.md) - this part describes `clocksource` framework in the Linux kernel. +* [The tick broadcast framework and dyntick](linux-timers-3.md) - 介绍 tick broadcast framework and dyntick 概念。 +* [定时器介绍](linux-timers-4.md) - 介绍 Linux 内核中的定时器。 +* [Clockevents 框架简介](linux-timers-5.md) - 介绍另外一个时钟管理相关的框架 : `clockevents`. +* [x86 相关的时钟源](linux-timers-6.md) - 介绍 `x86_64` 相关的时钟源。 +* [Linux 内核中与时钟相关的系统调用](linux-timers-7.md) - 介绍时钟相关的系统调用。