Unit Code: SCS 307 Unit Title: Systems Programming
Department: Information Technology Lecturer’s Name: Dr. Stephen Njenga Lecturer’s Tel. No.: 0722 383053 Email Address: snjenga@mut.ac.ke Contact Hours: 42 Semester: 2 Academic Year: 2022/2023 Expected Learning Outcomes 1. Describe the functioning of the principal parts of an operating system. 2. Use the systems programming problem solving approach. 3. Use a programming language to develop programs which can manage computer resources. Teaching Methodology 1. Lectures and tutorials 2. Group discussions 3. Demonstration 4. Individual assignment Instructional Materials 1. Projector 2. Text books 3. Computer laboratory 4. Design software 5. Simulators Course Evaluation Methods Assignments = 10 marks CATs = 30 marks Final Paper = 60 marks Total = 100 marks References 1. System Software, An introduction to systems programming, third edition, Author: Leland L. Beck, Publisher: Addison Wesley Longman. ISBN 0-201-42300-6
Week Topic Sub-topic
1 Introduction • Systems Programming basics • Functions of operating systems • Types of system software • History of operating system development 2 UNIX system commands • Structure of UNIX system • Common commands – man, which, csch etc 3 CAT 1 4 UNIX system commands • Directory commands • File commands 5 UNIX system calls • File management calls • Process management calls • Error handling calls 6 File management calls • Sequence of file events • open(), fcntl(), read(), write(), lseek(), close() 7 Process management calls • Process states • Process composition • Process duplication 8 Process management calls • Process differentiation • Changing directories • Priorities • User and group IDs 9 CAT 2 10 Process management calls • Signals • InterProcess Communication – pipes and sockets 11 Error handling calls • errno and perror() 12 Memory management • malloc(), realloc(), free() 13 CAT 3 14 Revision