Abraham Silberschatz, Peter Baer Galvin, Greg Gagne: Operating System Concepts 10th edition, Wiley, 2018.
Note, that there is an International and a US version of the book. It is not important if you use the US or the international version.
Below is a (growing) overview of Linux tools (mostly command-line) used throughout the lectures.
Communication
command1 | command2 (pipe) redirects output of command1 into input of command2echo <out> outputs <out>File system browsing and manipulation. The command line has a working directory in which you currently are.
pwd outputs the working directoryls outputs all files in the working directory (or another directory using ls <dir>)cd <dir> changes the working directory. <dir> can be absolute, for example, cd /etc/ or relative, for example cd subdirectory. Use cd .. to navigate to the parent directory - mv <file> <directory/filename> moves file <file> to different directory or renames to different namerm <file> removes <file>File I/O
cat <file> outputs content of filecommand > file redirects the output of command into the file file (overwriting). For example echo content > file writes content into file filecommand >> file redirects the output of command into the file file (appending)Searching
grep <pattern> searches input for pattern and outputs only lines containing the pattern. Example usage: cat <file> | grep <pattern> (searches for <pattern> in <file>; ls | grep <filename> (searches for <filename> in working directory)Text editors
nano <file> is a simple command line text editorvi <file> is a more advanced command line text editorNetworking
ping <host> test connectivity to host <host>ssh <user>@<host> establish remote command line on <host>Processes
ps -e list all processestop shows resource usage of processestaskset --cpu-list 1 <command> executes the program <command> only on CPU core 1Communication
mkfifo dm510_fifo first)Parallelism
-fopenmpSynchronization
TBA