From ec720b119000b8ef4f4a9f8d4c1e41686662546e Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 5 Apr 2017 18:51:02 +0200 Subject: [PATCH] context: working on intro --- src/docs/glossary.tex | 21 +++++++++++++++++++++ src/docs/parts/context/context.tex | 13 ++++++++++--- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index e0d379c..131d44a 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -1,5 +1,26 @@ % // vim: set ft=tex: +\newglossaryentry{rustlang}{ + name = Rust, + description = { + The Rust Programming Language. + }, +} + +\newglossaryentry{compiler}{ + name = compiler, + description = { + A program that can transform software source code to executable machine code. + }, +} + +\newglossaryentry{addrspace}{ + name = memory address space, + description = { + A logical entity that represents parts of the virtual memory, specified with a starting address and the length in a standardize unit + }, +} + \newglossaryentry{API}{ name = API, description = { diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index 5475720..c194baa 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -1,15 +1,22 @@ % // vim: set ft=tex: \chapter{Introduction} +This thesis studies the feasibility of using static code analysis, as found in the \gls{rustlang}'s \gls{compiler}, to ensure memory safety within an \gls{OS} kernel. -\section{Purpose of the Study} % Purpose of the Study %The Purpose of the Study is a statement contained within one or two paragraphs that identifies the research design, such as qualitative, quantitative, mixed methods, ethnographic, or another design. The research variables, if a quantitative study, are identified, for instance, independent, dependent, comparisons, relationships, or other variables. The population that will be used is identified, whether it will be randomly or purposively chosen, and the location of the study is summarized. Most of these factors will be discussed in detail in Chapter 3. +The purpose of this study is to evaluate Rust's feasibility to guarantee memory safety when it's used for \gls{OS} development. + +% Scope +In the general sense an \gls{OS} is a \gls{app} that runs within one \gls{addrspace} and is able to run on the hardware platform without any abstraction. +This study could be applied to all \glspl{app}, but the focus is on the implementation of \glspl{OS}. +The main reason for this is that the due to its nature, the \gls{OS} is the only \gls{app} that has unrestricted access to the system's hardware, which makes it the most important \gls{app} to maintain secure. -\section{Significance of the Study} % Significance of the Study % The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. +The current de-facto standard language for \gls{OS} development appears to be the C, a very popular \gls{OS} example is \gls{Linux}. +Recent years have shown how prone it is to security vulnerabilities, which is covered by exemplary details within this study. (TODO reference) + -\section{Primary Research Questions} % Primary Research Questions % The primary research question is the basis for data collection and arises from the Purpose of the Study. There may be one, or there may be several. When the research is finished, the contribution to the knowledge will be the answer to these questions. Do not confuse the primary research questions with interview questions in a qualitative study, or survey questions in a quantitative study. The research questions in a qualitative study are followed by both a null and an alternate hypothesis.