From 5462a908e2c1444dcf8e232af61478201e72aeb5 Mon Sep 17 00:00:00 2001 From: Ekaitz Zarraga 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