CS 04 403: Systems Programming
 

Home

Handouts Suite

Latest Technology & Trendz







CS 403: Systems Programming

Course Instructor : Zainul Abid T P

Course Assistants: ---

Synopsis

The subject gives the essentials of system software design. The objective of the study of this subject is to equip the student with the right kind of tools for computer systems design and development. Students are encouraged to preview the course materials before lectures.

Syllabus

Module 1
Background - system software. machine architecture - the simplified instructional computer - traditional machines - RISC machines . Assemblers - basic assembler functions - machine dependent and machine independent assembler features - assembler design options - implementation examples - AIX Assembler. 

Module 2
Loaders and linkers - basic loader functions - machine dependent and machine independent loader features - loader design options and implementation examples.
Macro processors - basic macro processor functions - machine-independent macro processor features - macro processor design options and implementation examples 
 
Module 3
Introduction to operating systems - basic principles - batch processing - multiprogramming - timesharing systems and real-time systems - parallel and distributed systems.
Computer system structure - computer system operation - I/O structure - structure - storage hierarchy - hardware protection - general system architecture - operating system structure - system components - OS services - system calls - system structure - virtual machines
 
 Module 4
General overview of the UNIX operating system - history of UNIX - system structure - user perspective - services - hardware assumptions - unix architecture - system concepts - kernel data structures - system administration process.

Course Reading

1. System Software - An introduction to Systems Programming,Beck L.L., Addison Wesley
2. Operating System Concepts,Silberschatz & Galvin, Addison Wesley
3. The Design of the Unix Operating System,Bach M.J., Prentice Hall India

Lecture Notes

Lecture 1 : Introduction to system software and simplified instructional computer (SIC) [3 hours] (pdf)
Lecture 2 : Different machine architecture: CISC & RISC [1 hour] (pdf)
Lecture 3 : Assemblers and basic assembler functions [2 hours] (pdf)
Lecture 4 : Machine dependent and machine independent assembler features [3 hours] (pdf)
Lecture 5 : Introduction to Loaders and linkers and basic functions [2 hours]   (pdf)
Lecture 6 : Machine independent Loader features and design options [2 hours] (pdf)
Lecture 7 : Macro processors and basic functions [2 hours] (pdf)
Lecture 8 : Machine independent Macro processor features and design options [2 hours] (pdf)
Lecture 9 : Introduction to operating systems and basic principles [2 hours] (pdf)
Lecture 10 : Computer system structure, I/O structure and hardware protection [2 hours] (pdf)
Lecture 11 : Operating system structure , services and system calls [2 hours] (pdf)
Lecture 12 : Concept of virtual machines [1 hour] (pdf)
Lecture 13 : General overview of the UNIX operating system  
Lecture 14: System structure and services and hardware assumptions 
Lecture 15 : Unix architecture and kernel data structures 
 Lecture 16 : System administration process

Assignment Questions

Assignment 1 : Will be announced in due course.
Assignment 2 : Will be announced in due course.
Assignment 3:Create a basic SIC assembler using C/C++ (Carries 15% of total Weightage).
Assignment 4:Create a simulator for a SIC/XE assembler and linking loader (Carries 15% of total Weightage).

Tests

Test 1 : Carries 10% of total Weightage.Covers the following: Lecture 1 & 2.
Test 2 : Carries 25% of total Weightage.Covers the following: Lecture 3 to 8.
Test 3 : Carries 25% of total Weightage.Covers the following: Lecture 9 to 16.

Grading

Assignments : 30 %
Tests : 60 %
Regularity: 10%