CS2304 SYSTEM SOFTWARE
To have an understanding of foundations of design of assemblers, loaders, linkers, and macro processors.
· 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.
1. Leland L. Beck, “System Software – An Introduction to Systems Programming”, 3rd Edition, Pearson Education
1. D. M. Dhamdhere, “Systems Programming and Operating Systems”, Second Revised Edition, Tata McGraw-Hill, 1 .
2. John J. Donovan “Systems Programming”, Tata McGraw-Hill Edition, 1 72.
3. John R. Levine, Linkers & Loaders – Harcourt India Pvt. Ltd., Morgan Kaufmann Publishers, 2000.