From 5462a908e2c1444dcf8e232af61478201e72aeb5 Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Thu, 8 Aug 2024 23:48:54 +0200
Subject: LOCO: Layout the document better

---
 papers/LOCO-24/contents.latex | 53 ++++++++++++++++++++++++++++++++++---------
 1 file changed, 42 insertions(+), 11 deletions(-)

(limited to 'papers/LOCO-24')

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
-- 
cgit v1.2.3