This course is an introduction to Unix programming.
- History, the origin and the current state of Unix
- Introduction to Unix shell
- Intro to kernel, virtual memory, process image
- File system, I/O, I/O in C
- Virtual memory, process image and memory management in C
- Shell, command arguments, program arguments in C
- Kernel and system calls in C
- Compilation, debugging, make
- Threads and multi-threaded programming
- Processes, signals, inter-process communication, networking
- Shell scripting
Written exam 50% 5 Asssignments
- Lesson 01 (History of Unix)
- Lesson 02 (Unix Shell & Dir-Structure)
- Lesson 03 (Kernelspace)
- Lesson 04 (I/O in C)
- Lesson 05 (Memory Management in C)
- Lesson 06 (Pointers)
- Lesson 08 (Compiling)
- Lesson 09 (Headers and Dependencies)
- Lesson 10 (Execve)
- Lesson 11 (Threads)
- Lesson 12 (Threads cont)
- Lesson 13 (Networking)
- Lesson 14 (Networking cont)
- Lesson 16 (Threadsafety)
- Lesson 18 (IPC)
- Lesson 19 (Bash)
- Lesson 20 (Bash cont)
- Lecture 01 (History of Unix)
- Lecture 02 (Unix Shell & Dir-Structure)
- Lecture 03 (Kernelspace)
- Lecture 04 (I/O in C)
- Lecture 05 (Memory Management in C)
- Lecture 06 (Pointers)
- Lecture 07 (System Calls)
- Lecture 08 (Compiling)
- Lecture 09 (Headers and Dependencies)
- Lecture 10 (Execve)
- Lecture 11 (Threads)
- Lecture 12 (Threads cont)
- Lecture 13 (Networking)
- Lecture 14 (Networking cont)
- Lecture 15 (Sockets)
- Lecture 16 (Threadsafety)
- Lecture 17 (Threadsafety cont)
- Lecture 18 (IPC)
- Lecture 19 (Bash)
- Lecture 20 (Bash cont)
- Lecture 21 (Even more bash)
- Lab 01 (WSL setup and Hello World)
- Lab 02 (Unix Shell)
- Lab 03 (Shell arguments and String manipulation)
- Lab 04 (Arguments and flags)
This repository is the collection of graded assignments for the UNIX Programming module in Semester 4 of the BSc in Computing in UCD. It is a collection of C programs that are designed to teach the student about the UNIX operating system and the C programming language.
The assignments are as follows: