-
Notifications
You must be signed in to change notification settings - Fork 151
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Publish pull/10 (built from linux-kernel-labs/linux#10)
- Loading branch information
Circle CI
committed
Feb 25, 2018
1 parent
74095f1
commit f4c1167
Showing
138 changed files
with
39,850 additions
and
0 deletions.
There are no files selected for viewing
17 changes: 17 additions & 0 deletions
17
pull/10/_images/ditaa-00760697e2d08607719269ad7b81254e597c09f8.ditaa
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
+-------------------+ ^ | ||
0xFFFFFFFF | | | | ||
| | | Kernel space | ||
| | | | ||
+-------------------+ v | ||
0xC0000000 | | ^ | ||
| | | User space | ||
| | | | ||
| | | | ||
| | | | ||
| | | | ||
| | | | ||
| | | | ||
| | | | ||
0x00000000 +-------------------+ v | ||
|
||
32bit Virtual Address Space |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions
18
pull/10/_images/ditaa-12614a4afe93c9e1ae68861a79f14afe4f3e4b3e.ditaa
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
+---------------+ +--------------+ +---------------+ -\ | ||
| Application 1 | | Application2 | ... | Application n | | | ||
+---------------+ +--------------+ +---------------+ |> User space | ||
| | | | | ||
v v v -/ | ||
+--------------------------------------------------------+ -\ | ||
| System Call Interface | | | ||
+--------------------------------------------------------+ | | ||
| | | | | ||
v v v |> Kernel space | ||
+--------------------------------------------------------+ | | ||
| Kernel | | | ||
+--------------------------------------------------------+ | | ||
| Device drivers | | | ||
+--------------------------------------------------------+ -/ | ||
| | | -\ | ||
v v v |> Hardware | ||
-/ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 28 additions & 0 deletions
28
pull/10/_images/ditaa-1a27eaf8fb0e144906f0babd7b502d4f17e20d58.ditaa
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
+---------------------------------+ | ||
| Virtual Filesystem Switch | | ||
+---------------------------------+ | ||
^ | ||
| | ||
v | ||
+---------------------------------+ | ||
| Device Mapper | | ||
+---------------------------------+ | ||
^ | ||
| | ||
v | ||
+---------------------------------+ | ||
| Generic Block Layer | | ||
+---------------------------------+ | ||
^ | ||
| | ||
v | ||
+--------------------------------+ | ||
| I/O scheduler | | ||
+--------------------------------+ | ||
^ ^ | ||
| | | ||
v v | ||
+--------------+ +--------------+ | ||
| Block device | | Block device | | ||
| driver | | driver | | ||
+--------------+ +--------------+ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 19 additions & 0 deletions
19
pull/10/_images/ditaa-54dce0ef4e9239c914e50e59267861ca9636f3c8.ditaa
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
+---------------------------------------------------------+ | ||
| application programming (EGC, SPG, PP, SPRC, IOC, etc.) | | ||
+---------------------------------------------------------+ | ||
|
||
+----------------------------------+ | ||
| system programming (PC, SO, CPL) | | ||
+----------------------------------+ | ||
user space | ||
----------------------------------------------------------=- | ||
kernel space | ||
+--------------------------+ | ||
| kernel programming (SO2) | | ||
+--------------------------+ | ||
|
||
----------------------------------------------------------=- | ||
|
||
+----------------------------------+ | ||
| hardware (PM, CN1, CN2, PL ) | | ||
+----------------------------------+ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 21 additions & 0 deletions
21
pull/10/_images/ditaa-5802a7c7d56e7a90c0802cd243a3564024db8d8b.ditaa
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
+-----+ +--------+ +---------+ +---------+ | ||
| App | | File | | Network | | Display |<--+ | ||
| | | Server | | Server | | Server |-+ | | ||
+-----+ +--------+ +---------+ +---------+ | | | ||
| ^ | | User | ||
-|-|----------------------------------------=-|-|-------=- | ||
| | | | Kernel | ||
| | | | | ||
| | | | | ||
| | | | | ||
| | Reply +----------------------------+ | | | ||
| +--------| |----+ | | ||
+--------->| Micro kernel |------+ | ||
Request | (IPC, Memory, Scheduler) | | ||
| | | ||
+----------------------------+ | ||
| | ||
v | ||
+--------------------------------------------------------+ | ||
| Hardware | | ||
+--------------------------------------------------------+ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 29 additions & 0 deletions
29
pull/10/_images/ditaa-5f7331b406ff05ea5e1ade333ee346650d05ab50.ditaa
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
+---------------------------+ | ||
| Berkeley Socket Interface | | ||
+---------------------------+ | ||
|
||
+---------------------------+ | ||
| Transport layer | | ||
+-------------+-------------+ | ||
| TCP | UDP | | ||
+-------------+-------------+ | ||
|
||
+---------------------------+ | ||
| Network layer | | ||
+-----+---------+-----------+ | ||
| IP | Routing | NetFilter | | ||
+-----+---------+-----------+ | ||
|
||
+---------------------------+ | ||
| Data link layer | | ||
+-------+-------+-----------+ | ||
| ETH | ARP | BRIDGING | | ||
+-------+-------+-----------+ | ||
|
||
+---------------------------+ | ||
| Queuing discipline | | ||
+---------------------------+ | ||
|
||
+---------------------------+ | ||
| Network device drivers | | ||
+---------------------------+ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 26 additions & 0 deletions
26
pull/10/_images/ditaa-7687ac05df2abc741196ff07a1ee9c80f397fdfa.ditaa
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
^ ^ ^ | ||
| stat | open | read | ||
v v v | ||
+------------------------------------------------------------+ | ||
| Virtual Filesystem Switch | | ||
| | | ||
| | | ||
| /-------\ /--------\ /--------\ | | ||
| | inode |<----------+ dentry |<----------+ FILE | | | ||
| \---+---/ \----+---/ \---+----/ | | ||
| | | | | | ||
| | | | | | ||
| v v v | | ||
| +-------+ +--------+ +-------+ | | ||
| | inode | | dentry | | page | | | ||
| | cache | | cache | | cache | | | ||
| +-------+ +--------+ +-------+ | | ||
| | | ||
+------------------------------------------------------------+ | ||
^ ^ | ||
| | | ||
v v | ||
+-------------+ +-------------+ | ||
| Filesystem | | Filesystem | | ||
| driver | | driver | | ||
+-------------+ +-------------+ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 24 additions & 0 deletions
24
pull/10/_images/ditaa-b705b1e00a45dab8a2425a4bd02e9b79b03c06e8.ditaa
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
+-----------+ | ||
| | | ||
+------------------>| Memory |<-----------------+ | ||
| | | | | ||
| +-----------+ | | ||
| ^ | | ||
| | | | ||
v v v | ||
+--------------+ +---------------+ +---------------+ | ||
| | | | | | | ||
| Processor A | | Processor B | | Processor C | | ||
| | | | | | | ||
| | | +-----------+ | | +-----------+ | | ||
| | | | Process 1 | | | | Process 1 | | | ||
| | | +-----------+ | | +-----------+ | | ||
| | | | | | | ||
| +----------+ | | +-----------+ | | +-----------+ | | ||
| | kernel | | | | Process 2 | | | | Process 2 | | | ||
| +----------+ | | +-----------+ | | +-----------+ | | ||
| | | | | | | ||
| | | +-----------+ | | +-----------+ | | ||
| | | | Process 3 | | | | Process 3 | | | ||
| | | +-----------+ | | +-----------+ | | ||
+--------------+ +---------------+ +---------------+ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
31 changes: 31 additions & 0 deletions
31
pull/10/_images/ditaa-b80a9008bc3c846632969af516b640297e62e680.ditaa
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
+-----+ +-----+ +-----+ | ||
| App | | App | | App | | ||
+-----+ +-----+ +-----+ | ||
| | | User | ||
=--|-------=--------|--------=-------|-------------------=- | ||
| | | Kernel | ||
v v v | ||
+--------------------------------------------------------+ | ||
| System Call Interface | | ||
+--------------------------------------------------------+ | ||
| | | ||
v v | ||
+-----+ +-----+ | ||
| |<---------------------------->| | Kernel | ||
| |<---+ +------->| | functions | ||
+--+--+ | | +-----+ | ||
| | | ^ | ||
| | +-----+ | | | ||
|+------+---->| |<---+ | | ||
|| | +-----+ | | ||
|| | | | ||
vv | v | ||
+--++-+ | +-----+ | ||
| | +------------------------>| | Device | ||
| |<---------------------------->| | Drivers | ||
+--+--+ +--+--+ | ||
| | | ||
v v | ||
+--------------------------------------------------------+ | ||
| Hardware | | ||
+--------------------------------------------------------+ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
31 changes: 31 additions & 0 deletions
31
pull/10/_images/ditaa-c5a3d9943ec8b9c9f94c6d49caae3811d23063b0.ditaa
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
+-------+ | ||
| linux | | ||
+-+-----+ | ||
| | ||
+------+--------+---------+---------+--------------+--------------+ | ||
| | | | | | | | ||
| v v v v v v | ||
| +------+ +-------+ +-------+ +--------+ +---------------+ +---------+ | ||
| | arch | | block | | certs | | crypto | | Documentation | | drivers | | ||
| +------+ +-------+ +-------+ +--------+ +---------------+ +---------+ | ||
| | ||
+-------+----------+--------+---------+--------+--------+---------+ | ||
| | | | | | | | | ||
| v v v v v v v | ||
| +----------+ +----+ +---------+ +------+ +-----+ +--------+ +-----+ | ||
| | firmware | | fs | | include | | init | | ipc | | kernel | | lib | | ||
| +----------+ +----+ +---------+ +------+ +-----+ +--------+ +-----+ | ||
| | ||
+-----+------+---------+------------+------------+------------+ | ||
| | | | | | | | ||
| v v v v v v | ||
| +----+ +-----+ +---------+ +---------+ +----------+ +-------+ | ||
| | mm | | net | | samples | | scripts | | security | | sound | | ||
| +----+ +-----+ +---------+ +---------+ +----------+ +-------+ | ||
| | ||
+------+--------+--------+ | ||
| | | | ||
v v v | ||
+-------+ +-----+ +------+ | ||
| tools | | usr | | virt | | ||
+-------+ +-----+ +------+ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 24 additions & 0 deletions
24
pull/10/_images/ditaa-c7d1db15e70a728ef4e12fde5800d792bb0e60fc.ditaa
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
+-----------+ | ||
| | | ||
+------------------->| Memory |<------------------+ | ||
| | | | | ||
| +-----------+ | | ||
| ^ | | ||
| | | | ||
v v v | ||
+---------------+ +---------------+ +---------------+ | ||
| | | | | | | ||
| Processor A | | Processor B | | Processor C | | ||
| | | | | | | ||
| +-----------+ | | +-----------+ | | +-----------+ | | ||
| | Process 1 | | | | Process 1 | | | | Process 1 | | | ||
| +-----------+ | | +-----------+ | | +-----------+ | | ||
| | | | | | | ||
| +-----------+ | | +-----------+ | | +-----------+ | | ||
| | Process 2 | | | | Process 2 | | | | Process 2 | | | ||
| +-----------+ | | +-----------+ | | +-----------+ | | ||
| | | | | | | ||
| +-----------+ | | +-----------+ | | +-----------+ | | ||
| | kernel | | | | kernel | | | | kernel | | | ||
| +-----------+ | | +-----------+ | | +-----------+ | | ||
+---------------+ +---------------+ +---------------+ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
43 changes: 43 additions & 0 deletions
43
pull/10/_images/ditaa-da2fa642419267d1ad7e6528d8976defc2000106.ditaa
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
+---------------+ +--------------+ +---------------+ | ||
| Application 1 | | Application2 | ... | Application n | | ||
+---------------+ +--------------+ +---------------+ | ||
| | | | ||
v v v | ||
+--------------------------------------------------------+ | ||
| Kernel | | ||
| | | ||
| +----------------------+ +-------------------+ | | ||
| | Process Management | | Memory Management | | | ||
| +----------------------+ +-------------------+ | | ||
| | | ||
| +------------+ +------------+ +------------+ | | ||
| | Block I/O | | VFS | | Networking | | | ||
| +------------+ +------------+ +------------+ | | ||
| | | ||
| +------------+ +------------+ +------------+ | | ||
| | IPC | | Security | | Crypto | | | ||
| +------------+ +------------+ +------------+ | | ||
| | | ||
| +------------+ +------------+ +------------+ | | ||
| | DRM | | ALSA | | USB | | | ||
| +------------+ +------------+ +------------+ | | ||
| ... | | ||
+--------------------------------------+-----------------+ | ||
| Device drivers | arch | | ||
| | | | ||
| +----+ +-----+ +--------+ +----+ | +----------+ | | ||
| |char| |block| |ethernet| |wifi| | | machine 1| | | ||
| +----+ +-----+ +--------+ +----+ | +----------+ | | ||
| +----------+ +-----+ +----+ +---+ | +----------+ | | ||
| |filesystem| |input| |iio | |usb| | | machine 2| | | ||
| +----------+ +-----+ +----+ +---+ | +----------+ | | ||
| +-----------+ +----------+ +---+ | | | ||
| |framebuffer| | platform | |drm| | ... | | ||
| +-----------+ +----------+ +---+ | | | ||
+-------------------------+----+-------+-----------------+ | ||
| | | | ||
v v v | ||
|
||
+--------------------------------------------------------+ | ||
| Hardware | | ||
+--------------------------------------------------------+ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
===================== | ||
Linux Kernel Teaching | ||
===================== | ||
|
||
This is a collection of lectures and labs Linux kernel topics. The | ||
lectures focus on theoretical and Linux kernel exploration. | ||
|
||
|
||
The labs focus on device drivers topics and they resemble "howto" | ||
style documentation. Each topic has two parts: | ||
|
||
* a walk-through the topic which contains an overview, the main | ||
abstractions, simple examples and pointers to APIs | ||
|
||
* a hands-on part which contains a few exercises that should be | ||
resolved by the student; to focus on the topic at hand, the student | ||
is presented with a starting coding skeleton and with in-depth tips | ||
on how to solve the exercises | ||
|
||
This content is based on the `Operatings Systems 2 | ||
<http://ocw.cs.pub.ro/courses/so2>`_ course from the Computer Science | ||
and Engineering Department, the Faculty of Automatic Control and | ||
Computers, University POLITEHNICA of Bucharest. | ||
|
||
You can get the latest version at http://github.com/linux-kernel-labs. | ||
|
||
To get started build the documentation from the sources: | ||
|
||
.. code-block:: c | ||
cd tools/teaching && make docs | ||
then point your browser at **Documentation/output/labs/index.html**. | ||
|
||
.. toctree:: | ||
|
||
lectures/so2.cs.pub.ro.rst | ||
lectures/intro.rst | ||
labs/vm.rst | ||
labs/exercises.rst | ||
labs/introduction.rst | ||
labs/kernel_modules.rst | ||
labs/kernel_api.rst | ||
labs/device_drivers.rst | ||
labs/interrupts.rst | ||
labs/deferred_work.rst | ||
labs/memory_mapping.rst | ||
labs/device_model.rst |
Oops, something went wrong.