Department of Computer Science and Engineering

B.Tech. III (CO) Semester - 6

L

T

P

C

CO304 : SYSTEM SOFTWARE (CS-2)

3

1

2

5

COURSE OBJECTIVES
  • To develop a basic knowledge in systems software.
  • To explain the design and implementation of various systems software components.
  • To teach assembly language directives, macros, operators, and program structure.
  • To explain the principles and roles of software engineering, software documentation, and software testing.
  • COURSE OUTCOMES
    After successful completion of this course, student will be able to
    • Understand fundamentals of language processing and grammar.
    • Apply knowledge of compilation and code optimization steps to mimic a simple compiler.
    • Demonstrate the working of various system software like assembler, loader, linker, editor and device driver.
    COURSE CONTENT
    INTRODUCTION

    (02 Hours)

    Introduction System software, Utility Software, systems programming.

    ASSEMBLER

    (04 Hours)

    Introduction, Cross Assembler, Micro Assembler, Meta Assembler, Single pass Assembler, Two Pass Assembler, Design of Operation code table, Symbol table, Literal table.

    MACRO PROCESSOR

    (04 Hours)

    Introduction of Macros, Macro processor design, Forward reference, Backward reference, positional parameters, keyword parameters, conditional assembly, Macro calls within Macros, Implementation of macros within Assembler. Designing Macro name table, Macro Definition table, Kew word parameter table, Actual parameter table, Expansion time variable storage.

    COMPILER STRUCTURE

    (02 Hours)

    Analysis-synthesis model of compilation, various phases of a compiler, tool based approach to compiler construction.

    LEXICAL AND SYNTAX ANALYSIS

    (14 Hours)

    Interface with input, parser and symbol table, token, lexeme and patterns, difficulties in lexical analysis, error reporting, and implementation. Regular definition, Transition diagrams. Context free grammars, ambiguity, associativity, precedence, top down parsing, recursive descent parsing, transformation on the grammars, predictive parsing, Bottom up parsing, operator precedence parsing, LR parsers.

    INTERMEDIATE CODE GENERATION

    (06 Hours)

    Intermediate representations, Code generation & instruction selection issues, basic blocks & flow graphs, register allocation, optimization of basic blocks, loops, global dataflow analysis.

    RUN TIME ENVIRONMENT

    (06 Hours)

    Absolute loader, Relocation - Relocating loader, Dynamic loader, Bootstrap loader, Linking-loader, Program relocatibility, Design of Absolute Loader, Design of direct-linking editor, other Loader scheme e.g. (Binders, Linking Loaders, Overlays, Dynamic Binders.

    ADVANCED TOPICS

    (04 Hours)

    Tutorials will be based on the coverage of the above topics separately

    (14 Hours)

    (Total Contact Time: 42 Hours + 14 Hours = 56 Hours)
    BOOKS RECOMMENDED
    1. A.V.Aho, R.Sethi & J D.Ullman, "Compilers-Principles, Techniques and Tools", 2/E, Pearson, 2006.
    2. Leland L. Beck , "System Software - An Introduction to System Programming", 3/E, Addision Wesley, reprint 2003.
    3. Louden , Kenneth C : "Compiler Construction-Principles and Practice",1/E, Thomson, 1997.
    4. D. M. Dhamdhere : "System Programming and Operating System",2/E,TMH,1993.
    5. Houlb : "Compiler Design in C", PHI, EEE, 1995.