Skip to content

Commit

Permalink
Publish pull/26 (built from linux-kernel-labs/linux#26)
Browse files Browse the repository at this point in the history
  • Loading branch information
Circle CI committed Mar 6, 2018
1 parent b5ef405 commit 57b2a93
Show file tree
Hide file tree
Showing 149 changed files with 47,287 additions and 0 deletions.
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.
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.
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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
+-------------+ +-------------+
| Application | | Application |
+-------------+ +-------------+
| |
|read(fd, buff, len) |fork()
| |
v v
+---------------------------------------+
| Kernel |
+---------------------------------------+
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
+-------------+ dup2 +-----------------------------+
| Application |-----+ | libc |
+-------------+ | | |
+---->| C7590 dup2: |
| ... |
| C7592 movl 0x8(%esp),%ecx |
| C7596 movl 0x4(%esp),%ebx |
| C759a movl $0x3f,%eax |
+------------------------------+ C759f int $0x80 |
| | ... +<-----+
| +-----------------------------+ |
| |
| |
| |
| |
| +------------------------------------------------------------+ |
| | Kernel | |
| | | |
+--->|ENTRY(entry_INT80_32) | |
| ASM_CLAC | |
| pushl %eax # pt_regs->orig_ax | |
| SAVE_ALL pt_regs_ax=$-ENOSYS # save rest | |
| ... | |
| movl %esp, %eax | |
| call do_int80_syscall_32 | |
| .... | |
| RESTORE_REGS 4 # skip orig_eax/error_code | |
| ... | |
| INTERRUPT_RETURN +-+
+------------------------------------------------------------+
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pull/26/_images/kernel-virtmem-map.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pull/26/_images/paging.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pull/26/_images/read.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pull/26/_images/read2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pull/26/_images/write.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pull/26/_images/write2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 57b2a93

Please sign in to comment.