From b080e382750b09e3d98fa2a2865a5be43c139a8a Mon Sep 17 00:00:00 2001 From: proninyaroslav Date: Fri, 6 Jan 2017 20:03:56 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D1=82=D0=BD=D0=BE=D1=81=D0=B8=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5=20=D1=81=D1=81=D1=8B=D0=BB?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=B2=20README=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B0?= =?UTF-8?q?=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Booting/README.md | 10 +++++----- Cgroups/README.md | 2 +- Concepts/README.md | 8 ++++---- DataStructures/README.md | 6 +++--- Initialization/README.md | 20 ++++++++++---------- Interrupts/README.md | 20 ++++++++++---------- SyncPrim/README.md | 12 ++++++------ SysCall/README.md | 8 ++++---- Theory/README.md | 6 +++--- Timers/README.md | 14 +++++++------- mm/README.md | 6 +++--- 11 files changed, 56 insertions(+), 56 deletions(-) diff --git a/Booting/README.md b/Booting/README.md index 6f214dc..df57fde 100644 --- a/Booting/README.md +++ b/Booting/README.md @@ -3,8 +3,8 @@ Эта глава описывает процесс загрузки ядра Linux. Здесь вы увидите несколько статей, которые описывают полный цикл загрузки ядра: -* [От загрузчика к ядру](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/Booting/linux-bootstrap-1.html) - описывает все стадии от включения компьютера до запуска первой инструкции ядра. -* [Первые шаги в коде настройки ядра](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/Booting/linux-bootstrap-2.html) - описывает первые шаги в коде настройки ядра. Вы увидите инициализацию динамической памяти, запросы различных параметров, таких как EDD, IST и др. -* [Инициализация видеорежима и переход в защищённый режим](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/Booting/linux-bootstrap-3.html) - описывает инициализацию видеорежима в коде настройки ядра и переход в защищённый режим. -* [Переход в 64-битный режим](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/Booting/linux-bootstrap-4.html) - описывает подготовку к переходу в 64-битный режим и детали перехода. -* [Распаковка ядра](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/Booting/linux-bootstrap-5.html) - описывает подготовку перед распаковкой ядра и детали самой распаковки. +* [От загрузчика к ядру](linux-bootstrap-1.md) - описывает все стадии от включения компьютера до запуска первой инструкции ядра. +* [Первые шаги в коде настройки ядра](linux-bootstrap-2.md) - описывает первые шаги в коде настройки ядра. Вы увидите инициализацию динамической памяти, запросы различных параметров, таких как EDD, IST и др. +* [Инициализация видеорежима и переход в защищённый режим](linux-bootstrap-3.md) - описывает инициализацию видеорежима в коде настройки ядра и переход в защищённый режим. +* [Переход в 64-битный режим](linux-bootstrap-4.md) - описывает подготовку к переходу в 64-битный режим и детали перехода. +* [Распаковка ядра](linux-bootstrap-5.md) - описывает подготовку перед распаковкой ядра и детали самой распаковки. diff --git a/Cgroups/README.md b/Cgroups/README.md index 4afcd0e..a22876a 100644 --- a/Cgroups/README.md +++ b/Cgroups/README.md @@ -2,4 +2,4 @@ This chapter describes `control groups` mechanism in the Linux kernel. -* [Introduction](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/Cgroups/cgroups1.html) +* [Introduction](cgroups1.md) diff --git a/Concepts/README.md b/Concepts/README.md index 7b7f49f..77c713e 100644 --- a/Concepts/README.md +++ b/Concepts/README.md @@ -2,7 +2,7 @@ This chapter describes various concepts which are used in the Linux kernel. -* [Per-CPU variables](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/Concepts/per-cpu.html) -* [CPU masks](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/Concepts/cpumask.html) -* [The initcall mechanism](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/Concepts/initcall.html) -* [Notification Chains in Linux Kernel](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/Concepts/notification_chains.html) +* [Per-CPU variables](per-cpu.md) +* [CPU masks](cpumask.md) +* [The initcall mechanism](initcall.md) +* [Notification Chains in Linux Kernel](notification_chains.md) diff --git a/DataStructures/README.md b/DataStructures/README.md index 57b65c2..9817598 100644 --- a/DataStructures/README.md +++ b/DataStructures/README.md @@ -5,6 +5,6 @@ Linux kernel provides different implementations of data structures like doubly l This part considers the following data structures and algorithms: - * [Doubly linked list](https://github.com/0xAX/linux-insides/blob/master/DataStructures/dlist.md) - * [Radix tree](https://github.com/0xAX/linux-insides/blob/master/DataStructures/radix-tree.md) - * [Bit arrays](https://github.com/0xAX/linux-insides/blob/master/DataStructures/bitmap.md) + * [Doubly linked list](dlist.md) + * [Radix tree](radix-tree.md) + * [Bit arrays](bitmap.md) diff --git a/Initialization/README.md b/Initialization/README.md index 17db342..4a0e59d 100644 --- a/Initialization/README.md +++ b/Initialization/README.md @@ -4,13 +4,13 @@ You will find here a couple of posts which describe the full cycle of kernel ini *Note* That there will not be a description of the all kernel initialization steps. Here will be only generic kernel part, without interrupts handling, ACPI, and many other parts. All parts which I have missed, will be described in other chapters. -* [First steps after kernel decompression](https://github.com/0xAX/linux-insides/blob/master/Initialization/linux-initialization-1.md) - describes first steps in the kernel. -* [Early interrupt and exception handling](https://github.com/0xAX/linux-insides/blob/master/Initialization/linux-initialization-2.md) - describes early interrupts initialization and early page fault handler. -* [Last preparations before the kernel entry point](https://github.com/0xAX/linux-insides/blob/master/Initialization/linux-initialization-3.md) - describes the last preparations before the call of the `start_kernel`. -* [Kernel entry point](https://github.com/0xAX/linux-insides/blob/master/Initialization/linux-initialization-4.md) - describes first steps in the kernel generic code. -* [Continue of architecture-specific initializations](https://github.com/0xAX/linux-insides/blob/master/Initialization/linux-initialization-5.md) - describes architecture-specific initialization. -* [Architecture-specific initializations, again...](https://github.com/0xAX/linux-insides/blob/master/Initialization/linux-initialization-6.md) - describes continue of the architecture-specific initialization process. -* [The End of the architecture-specific initializations, almost...](https://github.com/0xAX/linux-insides/blob/master/Initialization/linux-initialization-7.md) - describes the end of the `setup_arch` related stuff. -* [Scheduler initialization](https://github.com/0xAX/linux-insides/blob/master/Initialization/linux-initialization-8.md) - describes preparation before scheduler initialization and initialization of it. -* [RCU initialization](https://github.com/0xAX/linux-insides/blob/master/Initialization/linux-initialization-9.md) - describes the initialization of the [RCU](http://en.wikipedia.org/wiki/Read-copy-update). -* [End of the initialization](https://github.com/0xAX/linux-insides/blob/master/Initialization/linux-initialization-10.md) - the last part about linux kernel initialization. +* [First steps after kernel decompression](linux-initialization-1.md) - describes first steps in the kernel. +* [Early interrupt and exception handling](linux-initialization-2.md) - describes early interrupts initialization and early page fault handler. +* [Last preparations before the kernel entry point](linux-initialization-3.md) - describes the last preparations before the call of the `start_kernel`. +* [Kernel entry point](linux-initialization-4.md) - describes first steps in the kernel generic code. +* [Continue of architecture-specific initializations](linux-initialization-5.md) - describes architecture-specific initialization. +* [Architecture-specific initializations, again...](linux-initialization-6.md) - describes continue of the architecture-specific initialization process. +* [The End of the architecture-specific initializations, almost...](linux-initialization-7.md) - describes the end of the `setup_arch` related stuff. +* [Scheduler initialization](inux-initialization-8.md) - describes preparation before scheduler initialization and initialization of it. +* [RCU initialization](linux-initialization-9.md) - describes the initialization of the [RCU](http://en.wikipedia.org/wiki/Read-copy-update). +* [End of the initialization](linux-initialization-10.md) - the last part about linux kernel initialization. diff --git a/Interrupts/README.md b/Interrupts/README.md index 41679e2..afe2b2e 100644 --- a/Interrupts/README.md +++ b/Interrupts/README.md @@ -2,13 +2,13 @@ In the following posts, we will cover interrupts and exceptions handling in the linux kernel. -* [Interrupts and Interrupt Handling. Part 1.](https://github.com/0xAX/linux-insides/blob/master/Interrupts/interrupts-1.md) - describes interrupts and interrupt handling theory. -* [Interrupts in the Linux Kernel](https://github.com/0xAX/linux-insides/blob/master/Interrupts/interrupts-2.md) - describes stuffs related to interrupts and exceptions handling from the early stage. -* [Early interrupt handlers](https://github.com/0xAX/linux-insides/blob/master/Interrupts/interrupts-3.md) - describes early interrupt handlers. -* [Interrupt handlers](https://github.com/0xAX/linux-insides/blob/master/Interrupts/interrupts-4.md) - describes first non-early interrupt handlers. -* [Implementation of exception handlers](https://github.com/0xAX/linux-insides/blob/master/Interrupts/interrupts-5.md) - describes implementation of some exception handlers such as double fault, divide by zero etc. -* [Handling non-maskable interrupts](https://github.com/0xAX/linux-insides/blob/master/interrupts/interrupts-6.md) - describes handling of non-maskable interrupts and remaining interrupt handlers from the architecture-specific part. -* [External hardware interrupts](https://github.com/0xAX/linux-insides/blob/master/interrupts/interrupts-7.md) - describes early initialization of code which is related to handling external hardware interrupts. -* [Non-early initialization of the IRQs](https://github.com/0xAX/linux-insides/blob/master/interrupts/interrupts-8.md) - describes non-early initialization of code which is related to handling external hardware interrupts. -* [Softirq, Tasklets and Workqueues](https://github.com/0xAX/linux-insides/blob/master/interrupts/interrupts-9.md) - describes softirqs, tasklets and workqueues concepts. -* [](https://github.com/0xAX/linux-insides/blob/master/interrupts/interrupts-10.md) - this is the last part of the `Interrupts and Interrupt Handling` chapter and here we will see a real hardware driver and some interrupts related stuff. +* [Interrupts and Interrupt Handling. Part 1.](interrupts-1.md) - describes interrupts and interrupt handling theory. +* [Interrupts in the Linux Kernel](interrupts-2.md) - describes stuffs related to interrupts and exceptions handling from the early stage. +* [Early interrupt handlers](interrupts-3.md) - describes early interrupt handlers. +* [Interrupt handlers](interrupts-4.md) - describes first non-early interrupt handlers. +* [Implementation of exception handlers](interrupts-5.md) - describes implementation of some exception handlers such as double fault, divide by zero etc. +* [Handling non-maskable interrupts](interrupts-6.md) - describes handling of non-maskable interrupts and remaining interrupt handlers from the architecture-specific part. +* [External hardware interrupts](interrupts-7.md) - describes early initialization of code which is related to handling external hardware interrupts. +* [Non-early initialization of the IRQs](interrupts-8.md) - describes non-early initialization of code which is related to handling external hardware interrupts. +* [Softirq, Tasklets and Workqueues](interrupts-9.md) - describes softirqs, tasklets and workqueues concepts. +* [Last part](interrupts-10.md) - this is the last part of the `Interrupts and Interrupt Handling` chapter and here we will see a real hardware driver and some interrupts related stuff. diff --git a/SyncPrim/README.md b/SyncPrim/README.md index 541ed7a..932a080 100644 --- a/SyncPrim/README.md +++ b/SyncPrim/README.md @@ -2,9 +2,9 @@ This chapter describes synchronization primitives in the Linux kernel. -* [Introduction to spinlocks](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/SyncPrim/sync-1.html) - the first part of this chapter describes implementation of spinlock mechanism in the Linux kernel. -* [Queued spinlocks](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/SyncPrim/sync-2.html) - the second part describes another type of spinlocks - queued spinlocks. -* [Semaphores](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/SyncPrim/sync-3.html) - this part describes implementation of `semaphore` synchronization primitive in the Linux kernel. -* [Mutual exclusion](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/SyncPrim/sync-4.html) - this part describes - `mutex` in the Linux kernel. -* [Reader/Writer semaphores](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/SyncPrim/sync-5.html) - this part describes special type of semaphores - `reader/writer` semaphores. -* [Sequential locks](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/SyncPrim/sync-6.html) - this part describes sequential locks in the Linux kernel. +* [Introduction to spinlocks](sync-1.md) - the first part of this chapter describes implementation of spinlock mechanism in the Linux kernel. +* [Queued spinlocks](sync-2.md) - the second part describes another type of spinlocks - queued spinlocks. +* [Semaphores](sync-3.md) - this part describes implementation of `semaphore` synchronization primitive in the Linux kernel. +* [Mutual exclusion](sync-4.md) - this part describes - `mutex` in the Linux kernel. +* [Reader/Writer semaphores](sync-5.md) - this part describes special type of semaphores - `reader/writer` semaphores. +* [Sequential locks](sync-6.md) - this part describes sequential locks in the Linux kernel. diff --git a/SysCall/README.md b/SysCall/README.md index f1c9618..f61b214 100644 --- a/SysCall/README.md +++ b/SysCall/README.md @@ -2,7 +2,7 @@ This chapter describes the `system call` concept in the linux kernel. -* [Introduction to system call concept](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/SysCall/syscall-1.html) - this part is introduction to the `system call` concept in the Linux kernel. -* [How the Linux kernel handles a system call](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/SysCall/syscall-2.html) - this part describes how the Linux kernel handles a system call from an userspace application. -* [vsyscall and vDSO](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/SysCall/syscall-3.html) - third part describes `vsyscall` and `vDSO` concepts. -* [How the Linux kernel runs a program](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/SysCall/syscall-4.html) - this part describes startup process of a program. +* [Introduction to system call concept](syscall-1.md) - this part is introduction to the `system call` concept in the Linux kernel. +* [How the Linux kernel handles a system call](syscall-2.md) - this part describes how the Linux kernel handles a system call from an userspace application. +* [vsyscall and vDSO](syscall-3.md) - third part describes `vsyscall` and `vDSO` concepts. +* [How the Linux kernel runs a program](syscall-4.md) - this part describes startup process of a program. diff --git a/Theory/README.md b/Theory/README.md index c04ee04..75b11ef 100644 --- a/Theory/README.md +++ b/Theory/README.md @@ -2,6 +2,6 @@ This chapter describes various theoretical concepts and concepts which are not directly related to practice but useful to know. -* [Paging](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/Theory/Paging.html) -* [Elf64 format](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/Theory/ELF.html) -* [Inline assembly](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/Theory/asm.html) +* [Paging](Paging.md) +* [Elf64 format](ELF.md) +* [Inline assembly](asm.md) diff --git a/Timers/README.md b/Timers/README.md index 2546c3b..3a8ca2d 100644 --- a/Timers/README.md +++ b/Timers/README.md @@ -2,10 +2,10 @@ This chapter describes timers and time management related concepts in the linux kernel. -* [Introduction](https://proninyaroslav.gitbooks.io/linux-insides-ru/content/Timers/timers-1.html) - An introduction to the timers in the Linux kernel. -* [Introduction to the clocksource framework](https://github.com/0xAX/linux-insides/blob/master/Timers/timers-2.md) - Describes `clocksource` framework in the Linux kernel. -* [The tick broadcast framework and dyntick](https://github.com/0xAX/linux-insides/blob/master/Timers/timers-3.md) - Describes tick broadcast framework and dyntick concept. -* [Introduction to timers](https://github.com/0xAX/linux-insides/blob/master/Timers/timers-3.md) - Describes timers in the Linux kernel. -* [Introduction to the clockevents framework](https://github.com/0xAX/linux-insides/blob/master/Timers/timers-5.md) - Describes yet another clock/time management related framework : `clockevents`. -* [x86 related clock sources](https://github.com/0xAX/linux-insides/blob/master/Timers/timers-5.md) - Describes `x86_64` related clock sources. -* [Time related system calls in the Linux kernel](https://github.com/0xAX/linux-insides/blob/master/Timers/timers-7.md) - Describes time related system calls. +* [Introduction](timers-1.md) - An introduction to the timers in the Linux kernel. +* [Introduction to the clocksource framework](timers-2.md) - Describes `clocksource` framework in the Linux kernel. +* [The tick broadcast framework and dyntick](timers-3.md) - Describes tick broadcast framework and dyntick concept. +* [Introduction to timers](timers-4.md) - Describes timers in the Linux kernel. +* [Introduction to the clockevents framework](timers-5.md) - Describes yet another clock/time management related framework : `clockevents`. +* [x86_64 related clock sources](timers-6.md) - Describes `x86_64` related clock sources. +* [Time related system calls in the Linux kernel](timers-7.md) - Describes time related system calls. diff --git a/mm/README.md b/mm/README.md index 4881cab..fbf3d7a 100644 --- a/mm/README.md +++ b/mm/README.md @@ -3,6 +3,6 @@ This chapter describes memory management in the linux kernel. You will see here a couple of posts which describe different parts of the linux memory management framework: -* [Memblock](https://github.com/0xAX/linux-insides/blob/master/MM/linux-mm-1.md) - describes early `memblock` allocator. -* [Fix-Mapped Addresses and ioremap](https://github.com/0xAX/linux-insides/blob/master/MM/linux-mm-2.md) - describes `fix-mapped` addresses and early `ioremap`. -* [kmemcheck](https://github.com/0xAX/linux-insides/blob/master/MM/linux-mm-3.md) - third part describes `kmemcheck` tool. +* [Memblock](linux-mm-1.md) - describes early `memblock` allocator. +* [Fix-Mapped Addresses and ioremap](linux-mm-2.md) - describes `fix-mapped` addresses and early `ioremap`. +* [kmemcheck](linux-mm-3.md) - third part describes `kmemcheck` tool.