CS54 – 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 macroprocessors.
To have an understanding of system software tools.
System software and machine architecture – The Simplified Instructional Computer (SIC) - Machine architecture - Data and instruction formats - addressing modes instruction sets - I/O and programming.
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.
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.
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 Asia, 2006.
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.
©EINSTEIN COLLEGE OF ENGINEERING
Page 1 of 131
ANNA UNIVERSITY TIRUNELVELI / REGULATION 2008
CS54 – SYSTEM SOFTWARE
The subject introduces the design and implementation of system software. Software is set of instructions or programs written to carry out certain task o n digital computers. It is classified into system software and application software.
System software consists of a variety of programs that support the operation of a computer. This software makes it possible for the user to focus on an application or other problem to be solved, without needing to know the details of how the machine works internally Eg. Operating system, compiler, assembler, macro processor, loader or linker, debugger, text editor, database management systems (some of them) and, software engineering tools. Application software focuses on an application or problem to be solved. System software consists of a variety of programs that support the operation of a computer. DIFFERENT STEPS INVOLVED IN USING A HIGH LEVEL LANGUAGE
Types of system s/w that has been used by us in a C program
A program written (create & modify) in High level language ( C, C++, pascal typed in text editor
Translated into machine language (object program) using compiler. The compiler in turn store the .obj into the secondary device
The resulting machine language...