This course covers introduction to operating systems, which serve as an interface between

computer hardware and the user. The operating system is responsible for the management and

coordination of processes, sharing of limited resources of the computer. Students will be

exposed to the techniques and algorithms that may be applied in designing an operating

system. Topics covered include process management, concurrency and synchronization,

deadlock, memory management, file management, secondary storage management and I/O

management. At the end of the course, the student shall have a clear understanding on the

general concepts that underlie of an operating system.