Please consult the course's main page.
Topics:
Basic Operating Systems concepts.
Working with the console (GNU/Linux + bash).
Console stdin, stdout, stderr, redirects, pipes. Bash: cat, echo, cut, grep, head, tail, less, stat, find.
Basic C OS programming.
Filesystem tree walk, dirent.h.
screen/tmux, strace, gdb.
Basic script: shell script that compiles the given argument, assuming it to be a C file
make.sh
Topics:
The fork() function.
The exec() family of functions.
Pids, signals. Assigning signal-specific behaviour.
kill, killall, ps, top. Ctrl-z, jobs, bg, fg, & .
Topics:
Interprocess communication. Fifos, Pipes and file descriptor duplication.
Topics:
Interprocess communication. local sockets, socketpairs.
Topics:
Network programming basics. System tools (ip, ifconfig, traceroute, netstat, wireshark).
Topics:
Network communication. remote sockets, client/server applications, sequential/iterative servers. GNU Makefile.
Topics:
Concurrent servers.