Add subsection on the problem of slow context switches in kernel-based operating systems.

master
Robert Strandh 5 years ago
parent 98f73da30d
commit 71278ceb82

@ -277,6 +277,27 @@ address space of a single process. Multics did not have a kernel, but
it still had the problem of full access to its own address space, so
that the stack could be overwritten by a defective end-user program.
\subsection{Mediocre input/output performance}
Recent research \cite{Barroso:2017:AKM:3069398.3015146} indicates that
the performance of input and output in traditional kernel-based
systems is not good enough for some of the modern devices now becoming
available. Recall that, in order to perform some input or output, an
application program must make a system call so that the kernel can
perform the operation on behalf of the application. Things are
organized this way in order to prevent application programs from
directly accessing devices so as to protect those devices from getting
incorrect controls. Thus, input and output requires a \emph{context
switch} which consists of the \emph{system call} itself, a change of
the \emph{page table} for address translation, and \emph{flushing the
cache} since virtual addresses are no longer valid. Such a context
switch typically takes around $1 \mu s$.
For typical devices such as disks, performance is not a problem
because these devices are very slow compared to the time it takes for
the context switch. However, for some modern storage devices the slow
context switch is a problem.
\section{Objectives for a Lisp operating system}
The three main objectives of a Lisp operating system correspond to

Loading…
Cancel
Save