CS 502 : System Software

Cr : 3
L - T - P    :    2 - 0 - 2

Syllabus

No of lectures per week : 2
No of lab classes per week : 1
Total no of lectures : 31
Total no of lab classes : 15

Lecture Plan :
Sl.No. Topic No.of
Lectures
1 Overview of system software, types of system software, language procesors 1
2 Features of assembly languages, the task of an assembler
Assembly process - pass structure of assembler, assembler data structures
Forward referencing, location counter
Exercise: Progamming exercise in C for file operations and distinction between text file and binary file.
4
3 Lexical Analysis- implementation methods, flex
interface between lexical analyser and the rest an assembler
Exercise: Implement a lexical analyser for a particular assembly language using using string-comparision method, and then by using flex .
3
4 Strucure and use of Mnemonics table
Analysis phase, structure and usage of symbol table
Exercise: Define mnemonic table and symbol table in C.
2
5 Intermediate code- possible formats
Synthesis phase - write m/c code into output file
Exercise: Implement an assembler for a simple assembly language.
Familiarisation with an assembler in Windows/Linux
2
6 Macros and macro pre-processing - parameter passsing methods for macros, data structures for macro expansion.
Exercise: Implement a simple macro-preprocessor for an assembly language
3
7 Program linking and loading, need for relocation
Structures of object modules
Program linking : Static linking and Dynamic linking
Exercise: See the structure of an object module.
2
8 Case studies of linking schemes in Linux and Windows, shared objects and DLLs 3
9 OLE and ActiveX features of MS Windows 2
10 Debuggers: Features, implementation
Example of debugger - gdb
2
11 Text editors: types, features, implementation
Case studies - vi, sed, MS-Word
Exercise: Implement a simple text editor.
2
12 Software tools: make, grep, awk, rcs, sed, sort, join
Exercise: Exercise with these tools.
Shell programming.
2
13 Compilers: Features of HLLs, compiler's task, grammars, stages of compilation, optimization 3

Evaluation Plan:

Home Assignments 15
Class Assignments 10
Mid Term 50
Lab Assignments 50
Attendence and discipline 5
End-term lab test 25
End Term 100
Total 255

Question Bank:

(Click)

Books/References:

  1. Dhamdhere, D M : Systems Programming and Operating Systems, Tata Mc Graw Hill
  2. Sumitabha Das : Unix System V.4 Concepts and Applications, Tata Mc Graw Hill
  3. Linux Manuals.
  4. Windows Manuals.