0% found this document useful (0 votes)
57 views11 pages

Systems Programming - Intro

This document outlines the course Systems Programming. It will cover an overview of system software, language processors, machine architecture, assembly language, utility software, shell programming, kernels and device drivers. Students will be graded based on two midterms worth 20% each, an end-term exam worth 40%, and assignments/quizzes/attendance worth 20%. The course aims to help students understand limitations of machine representations, the need to know assembly for debugging and performance tuning, issues with memory and complexity analysis, and that fast execution alone is not enough without considering data and communication factors.

Uploaded by

Aneesh Kaushal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views11 pages

Systems Programming - Intro

This document outlines the course Systems Programming. It will cover an overview of system software, language processors, machine architecture, assembly language, utility software, shell programming, kernels and device drivers. Students will be graded based on two midterms worth 20% each, an end-term exam worth 40%, and assignments/quizzes/attendance worth 20%. The course aims to help students understand limitations of machine representations, the need to know assembly for debugging and performance tuning, issues with memory and complexity analysis, and that fast execution alone is not enough without considering data and communication factors.

Uploaded by

Aneesh Kaushal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Systems Programming

A P Mazumdar

Introduction
System Software
Variety of programs that support computer
operations
Helps user to focus on specific application
Abstraction of the system

You have already used many system softwares


IDE, compiler, loader, linker, debugger
Assembler, macro processor
Operating System (Windows, Linux)

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%

Assignments, Quiz, Attendance: 20%

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

All mathematical properties can not be


assumed
Machine finiteness

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

Tuning program performance


Implementing system software
Creating / fighting malware

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

You might also like