Fall 2021: System Programming
Contents
Logistics
- Class Timings: Wednesdays and Thursdays 10:45 am - 12:45 pm (3rd and 4th slot)
- Classroom: Online
- Lab Timings: Tuesdays 1:00 pm - 5:00 pm (5th - 8thslot)
Course Overview
- As per the COURSE Guidelines
Lectures
Lecture | Topic | Lecture Slides | Readings |
---|---|---|---|
Unit 01-Part 1 (22/07, 29/07, 04/08, 05/08, 11/08) | Introduction to System Software: System Software and Machine Architecture. Assemblers: Introduction to Assembler. A Simple Manual Assembler. Assembler Design Process: (1) Major Data Structures used (Machine Opcode Table, Pseudo Opcode Table, Symbol Table), (2) Two-pass Assembler, (3) Single-pass Assembler. Load-and-go Assemblers, Object file formats.
|
1.pdf | Chapter 3 (R1) |
Unit 01-Part 2 (12/08, 19/08, 25/08, 02/09) | Linkers and Loaders:Introduction to Linking, Static vs. Dynamic Linking, Combining Object Modules, Pass I of Linking, Pass II of Linking. LIbrary Linking. Position Independent Code. Shared Library Linking. Loader: Binary Image, Types of Loaders.
|
2.pdf | Chapter 4 (R1) |
Unit 02 (08/09) | Introduction to Compilers:Overview of compilation, Phases of a compiler
|
3.pdf Example.jpg | Chapter 1 (R2) |
Unit 03 (09/09, 15/09) | Lexical Analysis: (1) Role of Lexical Analyzer - Lexical Analysis vs. Parsing. Tokens, Patterns, and Lexemes. Attributes for Tokens. Lexical Error.
(2) Specification of Tokens-Symbols, Alphabets, Strings(Terms for Parts of Strings), Languages(Operations on Languages). Regular Expressions (Algebraic Laws), Regular Definitions, Extensions of Regular Expressions. |
[ ] | Chapter 3 (R2) |
Assignments and Tests
- Assignment No. 1(a), Explain the different object file formats. [12/08/2021]
- Assignment No. 1(b), Explain the difference between compiler and interpreter. [ 08/09/2021]
- Assignment No. 1(c), Question No. 4, DU Previous Year Question Paper (18th Dec 2020). [11/08/2021]
- Assignment No. 1(d), Question No. 3, DU Previous Year Question Paper (23rd Dec 2020). [25/08/2021]
- Assignment No. 1(e), Explain the different types of Language Processors with suitable examples/diagrams.
Assignment No. 1, Submission Deadline: 25/09/2021
References/Resources
- R1: Chattopadhyaya, S. (2011). System Software. PHI Learning.
- R2: Aho, A., Lam, M., Sethi, R., & Ullman, J. D. (2006). Compilers: Principles, Techniques, and Tools. 2nd edition. Addison Wesley.
- Additional R1: Beck, L. & Manjula, D. (1996). System Software: An Introduction to System Programming. 3rd edition. Pearson Education.
- Additional R2: Dhamdhere, D. M. (2015). Systems Programming. Tata McGrawHill.
Course Running Status (~25%)
Unit/Chapter | Topic | Status | Remarks |
---|---|---|---|
1/Ch3(R1) | Assemblers | Completed | 11/08/2021 |
1/Ch4(R1) | Linkers and Loaders | Completed | 25/08/2021 |
2/Ch1(R2) | Introduction | Completed | 08/09/2021 |