Fall 2021: System Programming

From MKWiki
Jump to navigation Jump to search

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

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)

Assignments and Tests

Home Assignments

  • Home Assignment (HA) No. 1, Explain the different object file formats. [12/08/2021]
  • "Home Assignment (HA) No. 2", Explain the difference between compiler and interpreter. [ 08/09/2021]

Class Assignments

  • Class Assignment (CA) No. 1, Question No. 4, DU Previous Year Question Paper (18th Dec 2020). [11/08/2021]
  • Class Assignment (CA) No. 2, Question No. 3, DU Previous Year Question Paper (23rd Dec 2020). [25/08/2021]

Tests and Quizes

  • Test 1
  • Quiz 1
  • Test 2
  • Quiz 2

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