Syllabus

CS2304       SYSTEM SOFTWARE

 

AIM

To have an understanding of foundations of design of assemblers, loaders, linkers, and macro processors.

 

OBJECTIVES

·         To understand the relationship between system software and machine architecture.

·         To know the design and implementation of assemblers

·         To know the design and implementation of linkers and loaders.

·         To have an understanding of macro processors.

·         To have an understanding of system software tools.

 

UNIT I         INTRODUCTION

System software and machine architecture – The Simplified Instructional Computer (SIC) - Machine architecture - Data and instruction formats - addressing modes - instruction sets - I/O and programming.

 

UNIT II        ASSEMBLERS

Basic assembler functions - A simple SIC assembler – Assembler algorithm and data structures - Machine dependent assembler features - Instruction formats and addressing modes – Program relocation - Machine independent assembler features - Literals – Symbol-defining statements – Expressions - One pass assemblers and Multi pass assemblers - Implementation example - MASM assembler.

 

UNIT III       LOADERS AND LINKERS

Basic loader functions - Design of an Absolute Loader – A Simple Bootstrap Loader - Machine dependent loader features - Relocation – Program Linking – Algorithm and Data Structures for Linking Loader - Machine-independent loader features Automatic Library Search – Loader Options - Loader design options - Linkage Editors – Dynamic Linking – Bootstrap Loaders - Implementation example - MSDOS linker.

 

UNIT IV       MACRO PROCESSORS

Basic macro processor functions - Macro Definition and Expansion – Macro Processor Algorithm and data structures - Machine-independent macro processor features - Concatenation of Macro Parameters – Generation of Unique Labels – Conditional Macro Expansion – Keyword Macro Parameters-Macro within Macro-Implementation example -

MASM Macro Processor – ANSI C Macro language.

 

UNIT V        SYSTEM SOFTWARE TOOLS

Text editors - Overview of the Editing Process - User Interface – Editor Structure. - Interactive debugging systems - Debugging functions and capabilities – Relationship with other parts of the system – User-Interface Criteria.

 

TEXT BOOK

1.      Leland L. Beck, “System Software – An Introduction to Systems Programming”, 3rd Edition, Pearson Education Asia, 2006.

 

REFERENCES

1.      D. M. Dhamdhere, “Systems Programming and Operating Systems”, Second Revised Edition, Tata McGraw-Hill, 2000.

2.      John J. Donovan “Systems Programming”, Tata McGraw-Hill Edition, 2000.

3.      John R. Levine, Linkers & Loaders – Harcourt India Pvt. Ltd., Morgan Kaufmann Publishers, 2000.