1
0

thesis: Complenet 5.1

This commit is contained in:
2025-08-13 10:58:33 +02:00
parent 3a2d3caa0d
commit a4378a7c8e
2 changed files with 76 additions and 1 deletions

View File

@@ -3,4 +3,78 @@
Lorem Ipsum.
Perhaps do some study/``research'' on performance (CPU/memory/\dots).
\section{Usefulness for the Operating Systems Course}\label{sec:usefulness}
Up until recently the Operating Systems Course (mentioned in Section~\ref{sec:motivation-and-goal}) was split into three exercise blocks:
Files, Shared Memory, Semaphores; Related Processes and Inter-Process Communication via Unnamed Pipes; and Sockets.
Table~\ref{tab:functions} lists all functions presented in the course and their implementation status in \texttt{intercept.so}.
As one may see, simple file stream functions are not currently implemented in \texttt{intercept.so}.
This is because of time restrictions on this work and the fact, that simple file operations may be tested easily in the conventional way of checking the resulting output.
All other functions have at least interception and mocking (returning, failing) implemented.
For some functions the modification of function arguments has been implemented.
\begin{table}[h!]
\centering
\begin{threeparttable}
\begin{tabular}{ c|l|c }
Ex. Block & Functions & Implementation \\
\hline
- & malloc, calloc, realloc, reallocarray, free & \texttt{icmrf} \\
- & getopt & \texttt{ic-rf} \\
- & sigaction & \texttt{ic-{}-f} \\
- & mmap & \texttt{ic-rf} \\
- & munmap & \texttt{icmrf} \\
- & close & \texttt{icmrf} \\
\hline
1 & open, fopen, fdopen & \texttt{-{}-{}-{}-{}-} \\
1 & read, pread, write, pwrite & \texttt{ic-rf} \\
1 & fread, fgets, fgetc, fwrite, fputs, fputc, fprintf, fseek & \texttt{-{}-{}-{}-{}-} \\
1 & ferror, feof, clearerr, fileno, fflush, fclose & \texttt{-{}-{}-{}-{}-} \\
1 & getline, getdelim & \texttt{ic-rf} \\
1 & shm\_open, ftruncate, shm\_unlink & \texttt{icmrf} \\
1 & sem\_open, shm\_close, sem\_unlink & \texttt{icmrf} \\
1 & sem\_wait, sem\_post & \texttt{icmrf} \\
1 & sem\_trywait, sem\_timedwait & \texttt{icmrf} \\
1 & sem\_getvalue, sem\_destroy & \texttt{icmrf} \\
\hline
2 & fork, wait, waitpid & \texttt{icmrf} \\
2 & exec*, fexecve & \texttt{ic-rf} \\
2 & exit & \texttt{icm-{}-} \\
2 & pipe & \texttt{ic-rf} \\
2 & dup, dup2, dup3 & \texttt{icmrf} \\
\hline
3 & socket, bind, accept, connect & \texttt{ic-rf} \\
3 & listen & \texttt{icmrf} \\
3 & getaddrinfo & \texttt{ic-rf} \\
3 & freeaddrinfo & \texttt{icmrf} \\
3 & send, recv & \texttt{ic-rf} \\
3 & sendto, sendmsg, recvfrom, recvmsg & \texttt{ic-rf} \\
3 & setsockopt & \texttt{-{}-{}-{}-{}-} \\
\end{tabular}
\begin{tablenotes}
\item[\texttt{i}] Function may be intercepted.
\item[\texttt{c}] Complex function arguments or return value(s) are recorded fully.
\item[\texttt{m}] Function arguments may be modified.
\item[\texttt{r}] Function may be mocked using a specified return value.
\item[\texttt{f}] Function may be mocked using a specified error value.
\end{tablenotes}
\caption{List of relevant functions and their implementation status.}
\label{tab:functions}
\end{threeparttable}
\end{table}
\section{Performance}\label{sec:performance}
Lorem Ipsum.
\subsection{Performance when Intercepting}\label{subsec:performance-intercepting}
Lorem Ipsum.
\subsection{Performance when Manipulating}\label{subsec:performance-manipulating}
Lorem Ipsum.

View File

@@ -44,6 +44,7 @@
\usepackage{textcomp}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usepackage[flushleft]{threeparttable}
\newcommand{\newthreadShift}[4][gray!30]{
\newinst[#4]{#2}{#3}