تجاوز إلى المحتوى الرئيسي
User Image

صفوان قاسم Safwan Qasem

Assistant Professor

عضو هيئة تدريس

علوم الحاسب والمعلومات
مبنى 31، الدور الثاني، رقم المكتب 2235
مادة دراسية

CSC 320 - Systems Programming

The course aims to give the students an understanding of the practical utilization and power of all the notions introduced in the Operating Systems course using an open source OS: Linux.
The course will focus on the programming interface of a Linux/Unix system, starting by an introduction to shell programming, before moving to using OS functionalities in programming through the system call interface and many of the functions provided in the standard C library. Topics covered include an overview of the basic Unix programming concepts, an introduction to shell programming, unbuffered I/O, the standard I/O library, the environment of a Unix process, process control, signals, and inter-process communication.
Upon the successful completion of this course, a student should be able to:

  • Understand the internal operation of Linux system such as: process, program, process groups, signals, running programs, address space, user and kernel modes, system calls, and context switching.
  • Produce medium complexity shell scripts to automate repetitive tasks.
  • Write simple C programs similar to standard Linux utilities (mv, rm …) using Linux system calls.
  • Identify the central role of concurrency in systems programming and produce programs which generate, link, and control multiple processes.
  • To write a more sophisticated programs by making an efficient use of the OS services and reusing the existing system utilities.
     
ملحقات المادة الدراسية