51 lines
1.4 KiB
TeX
51 lines
1.4 KiB
TeX
% // vim: set ft=tex:
|
|
\chapter{Topic Refinement}
|
|
|
|
\section{Static Checks}
|
|
* TODO: Difference between static- and runtime checks
|
|
|
|
\subsection{Define Additional Anlyse Rules}
|
|
* Example: TLB needs to be reset on Task Change
|
|
|
|
\subsection{Static Variable Declaration}
|
|
|
|
|
|
|
|
\section{Virtual Memory Management In Hard- and Software}
|
|
* Architecture choice: x86\_64
|
|
* CPU supports
|
|
|
|
* TODO: Is the static analysis of hardware specific assembly code possible and useful at all?
|
|
* LLVM knows about the target and can potentially give hints about hardware specific instructions
|
|
* TODO: On which level can abstraction in Rust code start?
|
|
|
|
\subsection{Interrupts}
|
|
* https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf p. 2848
|
|
|
|
|
|
\section{Testing}
|
|
* How effective are tests?
|
|
* Are they necessary in addition to static checks?
|
|
|
|
|
|
\chapter{Using Rust Within Non-Rust Operating Systems}
|
|
\section{Linux Kernel Modules}
|
|
|
|
* TODO: describe Difficulties with Macros used Within Kernel
|
|
|
|
\chapter{OS Designs Based On Rust}
|
|
|
|
Thread Libraries:
|
|
* https://github.com/edef1c/libfringe
|
|
|
|
\section{Blog OS}
|
|
\section{intermezzOS}
|
|
\subsection{Memory Management}
|
|
* Which language items help with managing memory?
|
|
* How generic can the memory allocators be written?
|
|
|
|
Guarantees to be statically checked:
|
|
* Prevent access to unmapped physical memory
|
|
* Prevent duplicates in page tables
|
|
\section{Reddox}
|
|
\section{Tock}
|