From 417f97bc3ecf1d2c6fb37d37db1ee76d2ffd7cc9 Mon Sep 17 00:00:00 2001 From: Robert Strandh Date: Sun, 13 Jan 2019 09:30:31 +0100 Subject: [PATCH] Cite article by Waddington et al. --- Documentation/chap-intro.tex | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/Documentation/chap-intro.tex b/Documentation/chap-intro.tex index b527491..95ac58e 100644 --- a/Documentation/chap-intro.tex +++ b/Documentation/chap-intro.tex @@ -279,17 +279,18 @@ 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 +Recent research \cite{Barroso:2017:AKM:3069398.3015146} +\cite{Waddington:2018:SCC:3289258.3186331} 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$.