28.08.2015 Views

The Design and Implementation of the Anykernel and Rump Kernels

1F3KDce

1F3KDce

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

14<br />

2.3.3 Interrupts<strong>and</strong>Preemption................... 60<br />

2.3.4 An Example ........................... 61<br />

2.4 VirtualMemory............................. 62<br />

2.5 Distributed Services with Remote Clients ............... 64<br />

2.6 Summary ................................ 65<br />

3 <strong>Implementation</strong> 67<br />

3.1 Kernel Partitioning ........................... 67<br />

3.1.1 Extracting <strong>and</strong> Implementing ................. 70<br />

3.1.2 Providing Components ..................... 72<br />

3.2 Running <strong>the</strong> Kernel in an Hosted Environment ............ 73<br />

3.2.1 CSymbolNamespaces ..................... 74<br />

3.2.2 PrivilegedInstructions ..................... 76<br />

3.2.3 <strong>The</strong>HypercallInterface .................... 77<br />

3.3 <strong>Rump</strong>KernelEntry<strong>and</strong>Exit ..................... 81<br />

3.3.1 CPU Scheduling ......................... 84<br />

3.3.2 Interrupts<strong>and</strong>S<strong>of</strong>tInterrupts................. 91<br />

3.4 Virtual Memory Subsystem ...................... 93<br />

3.4.1 Page Remapping ........................ 95<br />

3.4.2 Memory Allocators ....................... 97<br />

3.4.3 Pagedaemon........................... 99<br />

3.5 Synchronization............................. 103<br />

3.5.1 Passive Serialization Techniques ................ 105<br />

3.5.2 Spinlocks on a Uniprocessor <strong>Rump</strong> Kernel .......... 109<br />

3.6 Application Interfaces to <strong>the</strong> <strong>Rump</strong> Kernel .............. 112<br />

3.6.1 SystemCalls .......................... 113<br />

3.6.2 vnodeInterface ......................... 118<br />

3.6.3 InterfacesSpecificto<strong>Rump</strong><strong>Kernels</strong>.............. 120<br />

3.7 <strong>Rump</strong>KernelRootFileSystem .................... 121<br />

3.7.1 Extra-Terrestrial File System ................. 122

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!