Skip to content

Commit

Permalink
Publish pull/61 (built from linux-kernel-labs/linux#61)
Browse files Browse the repository at this point in the history
  • Loading branch information
Circle CI committed May 2, 2018
1 parent cb323ac commit 74d3bb5
Show file tree
Hide file tree
Showing 198 changed files with 58,510 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,17 @@
+------------+
+-------------+ BUS LOCK | Memory |
| CPU 1 |<------------->| |
| | LOAD (0) | |
| inc v |<--------------| v <- 0 |
| | STORE (1) | |
| |-------------->| v <- 1 |
| | BUS UNLOCK | |
| cEEE |<------------->| | BUS LOCK +-------------+
+-------------+ | |<------------->| CPU 1 |
| | LOAD (1) | |
| |<--------------| inc v |
| v <- 2 | STORE (2) | |
| |-------------->| |
| | BUS UNLOCK | |
| cEEE |<------------->| cEEE |
+------------+ +-------------+
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 @@
w/o privilege transition w/ privilege transition

+ +---------------------+ +---------------------+
| | | | |
| | | OLD SS:ESP | OLD SS | NEW SS:ESP from TSS
| +---------------------+ +---------------------+
| | | | |
| | OLD EFLAGS | | OLD ESP |
| +---------------------+ +---------------------+
| | | | |
| | OLD CS | | OLD EFLAGS |
| +---------------------+ +---------------------+
| | | | |
| | OLD EIP | | OLD CS |
| +---------------------+ +---------------------+
| | | | |
| | (error code) | NEW SS:ESP | OLD EIP |
| +---------------------+ +---------------------+
| | | | |
| | | | (error code) | NEW SS:ESP
| | | +---------------------+
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
v +---------------------+ +---------------------+
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,15 @@
+-------+ +-------+
| CPU 0 | | CPU 1 |
+-------+ +-------+
cache cache
+-------+ +-------+
A | 1 | | 1 | A
+-------+ +-------+
B | 2 | | 2 | B
+-------+ +-------+
memory
+-----------------------------+
A | 1 |
+-----------------------------+
B | 2 |
+-----------------------------+
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,5 @@
+--------------+-----------------------+--------------+
| | | |
| 0x5a5a5a5a | Allocated buffer | 0x6b6b6b6b |
| | | |
+--------------+-----------------------+--------------+
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,9 @@
+------------+
| Memory |
+-------------+ LOAD (0) | | +-------------+
| CPU 0 |<--------------| v <- 0 | LOAD (0) | CPU 1 |
| | STORE (1) | |-------------->| |
| inc v |-------------->| v <- 1 | STORE (1) | inc v |
| cEEE | | v <- 1 |<--------------| cEEE |
+-------------+ | cEEE | +-------------+
+------------+
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,14 @@
+-------------------------------------------+
| Queued Spin Lock cEEE |
| |
| +---+ +---+ +---+ +---+ |
| | |----->| |----->| |----->| | |
| +---+ +---+ +---+ +---+ |
| ^ ^ ^ ^ |
| | | | | |
+-------------------------------------------+
| | | |
CPU10 CPU17 CPU99 CPU0
owns the spins on spins on spins on
lock private private private
lock lock lock
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,13 @@
phase 1
+----------------+
| critical | phase 2
+----------------+ +-----------------+
| | | immediate | phase 3
| - IRQ disabled | +-----------------+ +----------------+
| - ACK IRQ +-----+ | | | deferred |
| | +---> - IRQ disabled | +----------------+
+----------------+ | - device handler| | |
| +-----+ | - IRQ enabled |
+-----------------+ +----> - execute later|
| |
+----------------+
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,22 @@
Interrupt Descriptor
+----------------------------------------------+
| |
| +------------------+ +--------+ +------+ |
| | segment selector | | offset| | PL | |
| +----+-------------+ +---+----+ +------+ |
| | | |
+----------------------------------------------+
| |
| |
+-------------+ +----------------------------> +---------------+
| ^ | ISR address |
| Segment Descriptor | +---------------+
| +----------------------------------------------+ |
| | | |
+---->| +------------------+ +--------+ +------+ | |
| | base | | limit | | 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,11 @@
63 47 42 32
+------------------------------+---+---+----+---+---------------+
| | | D | | | |
| offset (16..31 | P | P | | T | |
| | | L | | | |
+------------------------------+---+---+----+---+---------------+
| | |
| segment selector | offset (0..15) |
| | |
+------------------------------+--------------------------------+
31 15 0
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.
Loading

0 comments on commit 74d3bb5

Please sign in to comment.