context/introduction: add questions about Rust
This commit is contained in:
parent
77d01e79b1
commit
4101d31ba8
1 changed files with 33 additions and 6 deletions
|
@ -88,29 +88,34 @@ As the result of collaborations between hard- and software developers, the memor
|
||||||
A complete understand of this task is necessary in order to reason about it's safety.
|
A complete understand of this task is necessary in order to reason about it's safety.
|
||||||
This chapter starts with the provides a thorough introduction to modern memory management techniques on the x86\_64 architecture.
|
This chapter starts with the provides a thorough introduction to modern memory management techniques on the x86\_64 architecture.
|
||||||
|
|
||||||
\section{Abstraction And Protection Of Resources}
|
\section{Resource Abstraction: Protection And Efficiency}
|
||||||
* TODO: recap that management has been motivated by multiprocessing without side-effects
|
* TODO: recap that management has been motivated by multiprocessing without side-effects
|
||||||
* TODO: brief history and market share of x86\_64 processors and ARM
|
* TODO: brief history and market share of x86\_64 processors and ARM
|
||||||
|
|
||||||
\section{Virtual Addresses}
|
\section{Virtual Addresses}
|
||||||
* TODO: describe dynamic addresses
|
* TODO: describe dynamic (relocatable) addresses
|
||||||
* TODO: describe swapping
|
* TODO: describe swapping
|
||||||
* TODO: describe virtual address
|
* TODO: describe virtual address
|
||||||
* TODO: describe segmantation
|
|
||||||
* TODO: describe paging
|
|
||||||
|
|
||||||
% * TODO: parse http://wiki.osdev.org/Memory_Management_Unit
|
% * TODO: parse http://wiki.osdev.org/Memory_Management_Unit
|
||||||
|
|
||||||
\section{Paging}
|
\section{Paging}
|
||||||
|
* TODO: describe
|
||||||
|
|
||||||
\subsection{Multi-Level Paging}
|
\subsection{Multi-Level Paging}
|
||||||
|
|
||||||
\subsection{Top-Level Page table Self-Reference}
|
\subsection{Top-Level Page table Self-Reference}
|
||||||
|
|
||||||
\subsection{Caching Lookups}
|
\subsection{Caching Lookups}
|
||||||
|
|
||||||
\subsection{Full Example}
|
\subsection{Full Example}
|
||||||
|
|
||||||
* http://taptipalit.blogspot.de/2013/10/theory-recursive-mapping-page.html
|
* http://taptipalit.blogspot.de/2013/10/theory-recursive-mapping-page.html
|
||||||
* https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-2-windows
|
* https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-2-windows
|
||||||
|
|
||||||
\section{Common Memory-Related Errors}
|
\section{Memory Allocation}
|
||||||
|
|
||||||
|
\chapter{Common Memory-Related Errors}
|
||||||
|
|
||||||
This work focuses on the following weaknesses defined in the \gls{CWE}
|
This work focuses on the following weaknesses defined in the \gls{CWE}
|
||||||
|
|
||||||
|
@ -155,9 +160,31 @@ if (ptr == NULL) {
|
||||||
|
|
||||||
\chapter{Introduction To Rust}
|
\chapter{Introduction To Rust}
|
||||||
|
|
||||||
\section{Zero-Cost Abstractions}
|
\section{Compiler Architecture}
|
||||||
|
- TODO: Tokens? AST? LLVM?
|
||||||
|
- TODO: BSYS SS17 GITHUB IO Rust Memory Layout - 4
|
||||||
|
|
||||||
|
|
||||||
|
\section{Static Analysis Features}
|
||||||
|
- TODO: How does static typing help with preventing programming errors
|
||||||
|
- TODO: How does the Rust's static analysis work, theoretically and practically
|
||||||
|
- TODO: how could memory be dynamically allocated and still safety checked?
|
||||||
|
|
||||||
|
\subsection{Lifetimes}
|
||||||
|
- TODO: Where are global 'static variables allocated?
|
||||||
|
|
||||||
|
\subsection{Ownership}
|
||||||
|
- TODO: Who owns global 'static variables?
|
||||||
|
|
||||||
|
\subsection{Type Safety}
|
||||||
|
- TODO: how does casting work?
|
||||||
|
- TODO: what's the equivalent of void*?
|
||||||
|
|
||||||
\subsection{The Newtype Pattern}
|
\subsection{The Newtype Pattern}
|
||||||
|
|
||||||
|
\subsection{Zero-Cost Abstraction}
|
||||||
|
|
||||||
|
|
||||||
https://aturon.github.io/features/types/newtype.html
|
https://aturon.github.io/features/types/newtype.html
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue