Systems Programming

Semester:
6ο
Course Type:
Compulsory courses (YM)
Track:
-
Code:
Κ24
ECTS:
8
TEACHING HOURS per week
Theory:
4
Seminar:
-
Laboratory:
-
Specializations
Foundations of Computer Science (Ε1):
-
Data and Knowledge Management (Ε2):
-
Software (Ε3):
-
Hardware and Architecture (Ε4):
-
Communications and Networking (Ε5):
-
Signal and Information Processing (Ε6):
-
Related Courses
Detailed Description
Course Content

This course examines in depth the Unix environment as a development environment. We will look at the Linux API for the C / C ++ languages as well as the Linux shell. We will cover topics such as: basic Unix commands, shell programming, script languages, programming of system functions in C / C ++ for error handling, creation and termination of processes, sending / receiving signals, low-level input / output system calls, communication between local processes, creation, termination and synchronization of threads, file system management, as well as network programming. This course requires independent and consistent effort from the student.

LITERATURE AND STUDY MATERIALS - READING LIST

Peter S. Pacheco. M.J. Rochkind, Advanced Unix Programming, Prentice-Hall Software Series, Englewood Cliffs, NJ, 2004.

Kay Robbins, Steven Robbins, "Unix Systems Programming: Communication, Concurrency, and Threads", Prentice Hall PTR, 2003.