Относительные ссылки в README файлах

pull/709/head
proninyaroslav 8 years ago
parent 1e47e02143
commit b080e38275

@ -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) - описывает подготовку перед распаковкой ядра и детали самой распаковки.

@ -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)

@ -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)

@ -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)

@ -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.

@ -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.

@ -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.

@ -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.

@ -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)

@ -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.

@ -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.

Loading…
Cancel
Save