summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEkaitz Zarraga <ekaitz@elenq.tech>2024-08-08 23:48:54 +0200
committerEkaitz Zarraga <ekaitz@elenq.tech>2024-08-08 23:48:54 +0200
commit5462a908e2c1444dcf8e232af61478201e72aeb5 (patch)
treeb7d994b222a5d59a1581a6982b8611a70df590e8
parent8a888fc66f216848eac705ca2da2afbc03c96ba2 (diff)
LOCO: Layout the document better
-rw-r--r--papers/LOCO-24/contents.latex53
1 files changed, 42 insertions, 11 deletions
diff --git a/papers/LOCO-24/contents.latex b/papers/LOCO-24/contents.latex
index 6069a97..cc09008 100644
--- a/papers/LOCO-24/contents.latex
+++ b/papers/LOCO-24/contents.latex
@@ -165,16 +165,36 @@ Computing}{December 05, 2024}{Glasgow, Scotland, United Kingdom }
\section{Motivation}
-\subsection{Von Neumann architecture}
-\subsection{Unix}
+
+\subsection{Von Neumann model}
+
+General purpose device: CPU + Store + User interaction
+
+The Store is implemented with hardware memories, flat storage of numbers in
+addresses.
+
+
+\subsection{Unix's heritage}
\epigraph{
Applicants must also have extensive knowledge of Unix, although they should
- have sufficiently good programming taste to not consider this an achievement.}
-{\textit{-- Hal Abelson}}
-
-\subsection{The Kernel}
-\subsubsection{Virtual Memory}
-\subsection{The Shell}
+ have sufficiently good programming taste to not consider this an achievement.
+}{\textit{-- Hal Abelson}}
+
+ Since its inception, Unix was a huge innovation in Operating Systems market.
+ Its main features include \textit{multitasking} and \textit{multi-user}
+ support, a programming interface, \textit{files as abstractions} for devices
+ and other objects and a powerful \textit{shell} that facilitates program
+ composition.
+
+\subsubsection{The Kernel}
+ In the Unix model, the Kernel, the core of the Operating System, is
+ responsible for managing the hardware resources. For that job, it uses
+ several concepts that systems designers and programmers are familiarized with
+ and are discouraged to change. Those include \textit{virtual memory},
+ \textit{processes}, \textit{shared-memory threads}, \textit{hierarchical
+ filesystems} and \textit{system calls}.
+
+\subsubsection{The Shell}
The shell is run as a userspace program that has the hability to launch other
programs using an outdated fork+exec mechanism that encourages memory
overshoot\cite{fork:Baumann}.
@@ -182,10 +202,16 @@ Computing}{December 05, 2024}{Glasgow, Scotland, United Kingdom }
words, \textit{"text streams [are] the universal interface"}
\cite{QuarterCenturyUnix:Salus}.
-\subsection{Language interpreters}
+\subsubsection{Userspace programs}
+ ELF/Mach-O/EXE -> the kernel acts as an interpreter for them.
+ Virtual memory separates one program from another.
+ The CPU helps with that.
+ Each program is a process (invented concept)
+ Each process can launch threads \cite{Threads:Lee}
+\paragraph{Language interpreters}
Language interpreters are run as userspace programs.
-\subsection{Hardware}
+\subsection{Computer hardware}
Computer processors, often marketed as "\textit{general purpose}", are based
on the von Newmann model\cite{LiberateFromVonNeumann:Backus}, a CPU and a
Store that is, and designed for running an Operating System on them. They
@@ -210,8 +236,13 @@ Computing}{December 05, 2024}{Glasgow, Scotland, United Kingdom }
\subsection{Optimization for tree structures}
\subsection{Hardware garbage collection}
\subsection{Extendable CPU}
+\subsection{No kernel/interpreter separation}
+\subsection{No threads/processes but tasks}
+\subsection{No virtual memory}
+\subsection{Capability based security "lambda-style"}
+ Reduces the amount of permission issues inherited from Von Neumann style and
+ Unix.
-\cite{Threads:Lee}
%% The acknowledgments section is defined using the "acks" environment
%% (and NOT an unnumbered section). This ensures the proper