TR EN

UNIX/LINUX PROGRAMING COURSE IDENTIFICATION AND APPLICATION INFORMATION

Code Name of the Course Unit Semester In-Class Hours (T+P) Credit ECTS Credit
BIL424 UNIX/LINUX PROGRAMING 5 3 3 6

WEEKLY COURSE CONTENTS AND STUDY MATERIALS FOR PRELIMINARY & FURTHER STUDY

Week Preparatory Topics(Subjects) Method
1 - Scope and Functions of System Programming: Traditional areas of system programming. System programming in an OS environment. History, architecture, services, and features of Unix and Windows. -
2 - A Program in a Unix Environment: Steps involved in software development of a program. Preprocessor, Macros, Compiler, Modules, Linker. Command-line parameters, Environment parameters, Shell programming. -
3 - System Calls, Importance, and Classification: System calls and library calls. System calls for Inter-process Communication (IPC) and Network Programming. System and library calls in UNIX, their general structure and interfaces. -
4 - Processes: Creating processes in UNIX. Parent and Child processes. -
5 - Usage of Processes: Fork() system call. Exec() family of system calls. Synchronization between parent and child processes: system(), wait(), exit(), etc. -
6 - Multiprogramming and Thread Basics: -
7 - Disk Operations: I/O directories and file system operations. Virtual memory. -
8 - MID-TERM EXAM -
9 - Inter-Process Communication (IPC): Purpose and usage in system programming. IPC mechanisms. Pipes as IPC: Named and unnamed pipes. -
10 - Message Queues -
11 - Signals, Semaphores, and Shared Memory -
12 - Sockets and IPC Usage: UDP and TCP sockets. Network programming. -
13 - RPC (Remote Procedure Call) -
14 - Operating System Customization: Device driver development demo applications. -
15 - General Review -
16 - FINAL EXAM -
17 - FINAL EXAM -