Overview
This course is intended to be an introductory course for those interested in systems programming. I tried to keep this course very simple and easy to understand. In order to do that I created this slide deck that is short and concise, with programming example to compliment them. I will introduce you to the main concepts so you will have a strong foundation and base point to dive deeper into these topics and cover additional topics on your own.
General Course Contents
-
System calls and how they interact with the kernel
-
File manipulation looking at how to create, delete, and edit files using system call
-
(briefly) Memory management and how exactly Unix deals with virtual memory addressing
-
Processes: how to create one and what they are used for.
-
Threads and how they are used.
-
Synchronization issues that arise when using processes and threading















