Systems Programming - Intro
Systems Programming - Intro
A P Mazumdar
Introduction
System Software
Variety of programs that support computer
operations
Helps user to focus on specific application
Abstraction of the system
Course Outline
Overview
Language processor
Machine Architecture
Assembly language
Utility Software
Shell programming
Kernel, Device Drivers
Grading Scheme
Mid-term I :
20%
Mid-term II : 20%
End-term:
40%
Books
1. D. M. Dhamdhere: Introduction to Systems Software,
TMH
2. L.L. Beck: System Software-An Introduction to
Systems Programming, Addition Wesley
3. Rebecca Thomas: Adv. Programmer guide to Unix
system V. MH
4. Glingaert: Assemblers, Loaders and Compilers,
Prentice Hall
5. John R. Levine: Linkers and Loaders, Harcourt India
6. Kanetkar: Unix Shell Programming.
Motivation #1
Are INTs integers?
+32767 to -32768
Floats also have limitations
Observation
Need to understand which abstractions apply in
which contexts
Important issues for compiler writers and serious
application programmers
Motivation #2
Need of knowing assembly
Behavior of programs in presence of bugs
Motivation #3
Memory Matters
Memory is not Infinite
Memory Referencing Bugs
Memory performance is not uniform
Motivation #4
Asymptotic Complexity Analysis is not Enough!
Constant factors are also important
Exact operation counts do not show
Performance
Understand system to optimize performance
Motivation #5
Fast Execution is not Enough!
Data IN & OUT
Communicate over Network