Türkçe | English
GRADUATE INSTITUTE of NATURAL and APPLIED SCIENCES / DEPARTMENT of COMPUTER ENGINEERING
Doctorate
Course Catalog
http://ceng.ktu.edu.tr/
Phone: +90 0462 3773157
FBE
GRADUATE INSTITUTE of NATURAL and APPLIED SCIENCES / DEPARTMENT of COMPUTER ENGINEERING / Doctorate
Katalog Ana Sayfa
  Katalog Ana Sayfa  KTÜ Ana Sayfa   Katalog Ana Sayfa
 
 

BIL7150Advanced System Programming3+0+0ECTS:7.5
Year / SemesterSpring Semester
Level of CourseThird Cycle
Status Elective
DepartmentDEPARTMENT of COMPUTER ENGINEERING
Prerequisites and co-requisitesNone
Mode of DeliveryFace to face
Contact Hours14 weeks - 3 hours of lectures per week
Lecturer--
Co-LecturerNone
Language of instructionTurkish
Professional practise ( internship ) None
 
The aim of the course:
The course aims to describe the programming interface to the Unix system, the system call interface and many of the functions provided in the standard C library, through coverage of files, processes, semaphores, tracing, signals, POSIX threads and client-server communication.
 
Programme OutcomesCTPOTOA
Upon successful completion of the course, the students will be able to :
PO - 1 : manage file subsystem through system calls.3,5,101,3
PO - 2 : manage process subsystem through system calls.3,5,101,3
PO - 3 : redirect I/O from any of the standard streams to a file.3,5,101,3
PO - 4 : write programs that executes other programs.3,5,101,3
PO - 5 : make processes communicate in Unix systems.3,5,101,3
PO - 6 : create and handle signals in programs.3,51,3
PO - 7 : do system programming at system-call level.3,101,3
CTPO : Contribution to programme outcomes, TOA :Type of assessment (1: written exam, 2: Oral exam, 3: Homework assignment, 4: Laboratory exercise/exam, 5: Seminar / presentation, 6: Term paper), PO : Learning Outcome

 
Contents of the Course
Unix systems: History, standards, kernel, system calls. File subsystem management: File and directory structures, disk special files, permissions, file and directory accesses, I/O redirections. Process subsystem management: Process model, process environments, process creation and termination, process control, process times. Interprocess communication: Buffering, process synchronization and communication concepts, pipes, named pipes, semaphores, message queues, shared memory. Process monitoring: Tracing mechanisms, ptrace system call, /proc file system, process halting and restarting, system resource control. Signals: Signal concepts, software interrupts, signal catching and handling, signal blocking, signal system calls. Terminal I/O: Getting and setting terminal attributes, canonical and noncanonical modes, nonblocking I/O, raw terminal I/O, pseudo terminals. Threads: Thread concepts, thread environment, thread invocation and synchronization. Socket programming: Sockets, TCP/IP architecture, client/server programming.
 
Course Syllabus
 WeekSubjectRelated Notes / Files
 Week 1Unix Systems
 Week 2System Interfaces: Libraries and System Calls
 Week 3File Subsystem Management - I
 Week 4File Subsystem Management -II
 Week 5Process Subsystem Management - I
 Week 6Process Subsystem Management - II
 Week 7Interprocess Communication
 Week 8File Systems: fdfs and /proc
 Week 9Mid-term exam
 Week 10Process Monitoring Mechanisms
 Week 11Signals
 Week 12Terminal I/O
 Week 13Threads
 Week 14Socket Programming
 Week 15A Client-Server Application
 Week 16End-of-term exam
 
Textbook / Material
1Stevens, W.R., Raqo, S.A. 2005; Advanced Programming in the UNIX Environment, 2nd ed., Addison Wesley, 960 p.
2Robbins, K.A., Robbins, S. 2003; UNIX Systems Programming: Communication, Concurrency and Threads, Prentice Hall, 912 p.
 
Recommended Reading
1Bach, M.J. 1986; The Design Of The Unix Operating System, Prentice Hall, 486 p.
 
Method of Assessment
Type of assessmentWeek NoDate

Duration (hours)Weight (%)
Mid-term exam 8 11/04/2013 2 30
Homework/Assignment/Term-paper 14 24/05/2013 0,5 20
End-of-term exam 16 30/05/2013 2 50
 
Student Work Load and its Distribution
Type of workDuration (hours pw)

No of weeks / Number of activity

Hours in total per term
Yüz yüze eğitim 3 14 42
Sınıf dışı çalışma 5 14 70
Arasınav için hazırlık 15 1 15
Arasınav 2 1 2
Ödev 30 1 30
Dönem sonu sınavı için hazırlık 20 1 20
Dönem sonu sınavı 2 1 2
Total work load181