Your SlideShare is downloading. ×
Overall 23 11_2007_hdp
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Overall 23 11_2007_hdp


Published on

Published in: Technology

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. System Software Overall Syllabus Discussion
  • 2. System Software •The subject introduced the design and implementation of system software •System software consists of a variety of programs that support the operation of a computer •operating system, compiler, assembler, macro processor, loader or linker, debugger, text editor, database management systems, software engineering tools, ….
  • 3. We Discussed On… Machine Architecture Assemblers Loaders and Linkers Editors and Debugging Systems Macro Processor Compilers Lex and Yacc
  • 4. Machine Architecture This Chapter Gave you… •System Software & Machine Architecture •The Simplified Instructional Computer SIC and SIC/XE •Traditional (CISC) Machines Complex Instruction Set Computers •RISC Machines Reduced Instruction Set Computers
  • 5. System Software & MachineArchitecture •Machine Dependent •Machine Independent
  • 6. Space for 2 inch x 2 inch size PictureSIC Machine Architecture •Memory and Registers •Data Formats •Instruction Formats •Addressing Modes •Instruction Set •Input and Output
  • 7. SIC/XE Machine Architecture •Memory and Registers •Data Formats •Instruction Formats •Addressing Modes •Instruction Set •Input and Output
  • 8. Example Programs SIC Example Programs (SIC/XE)
  • 9. Different Architectures •Traditional (CISC) machines - VAX Architecture - Pentium Pro Architecture •RISC machines - UltraSPARC Architecture - Cray T3E Architecture
  • 10. Traditional (CISC) Machines•Complex Instruction Set Computers•Has relatively large and complex instruction set•Different instruction formats, different lengths,different addressing modes•Implementation of hardware is complex• VAX and Intel x86 processors are examples
  • 11. RISC Machines•Reduced Instruction Set Computers•Intended to simplify the design ofprocessors. Greater reliability, fasterexecution and less expensive processors•Standard and fixed instruction length•Number of machine instructions,instruction formats, and addressing modesrelatively small
  • 12. Comparison of these •Memory •Registers •Data Formats •Instruction Formats •Addressing Modes •Instruction Set •Input and Output
  • 13. Assemblers This Chapter Gave you… -Assembler Definition - Assembler Features - Machine dependent and machine independent features - Design of various assemblers - One-pass - Multi-pass
  • 14. Assemblers• Translating source code written in assembly language to object code.• Assigning machine address to symbolic labels.
  • 15. Assembler Design• Assembler Design can be done in: – Single pass – Two pass• Single Pass Assembler: – Does everything in single pass – Cannot resolve the forward referencing
  • 16. • Multi pass assembler: – Does the work in two pass – Resolves the forward references• First pass: – Scans the code – Validates the tokens – Creates a symbol table• Second Pass: – Solves forward references – Converts the code to the machine code
  • 17. Machine-Dependent AssemblerFeatures In Machine Specific Instructions we have: Instruction Format and Addressing modes How to handle program relocation
  • 18. Machine independent features Literals Symbol defining statements Expressions Program blocks Control Sections and program linkings
  • 19. Types of Assemblers One-pass assembler Multi-pass assembler Two-pass assembler with overlay
  • 20. Loaders and Linkers This Chapter Gave you… - Basic Loader Functions - Machine-Dependent Loader Features - Machine-Independent Loader Features - Loader Design Options - Implementation Examples
  • 21. Role of Loader Source Object Object Translator Loader program Program ready for Program executionTranslator – Assembler/Compiler Memory
  • 22. Role of Loader Source Object Object Assembler Loader program Program ready for Program execution Memory
  • 23. Role of Loader and Linker MemorySource Object Assembler LinkerProgram Program Object program ready for Executable execution Code Loader
  • 24. Role of Absolute Loader 1000 Object Absolute Object Program Loader program ready for execution 2000 Memory
  • 25. Machine-Dependent Loader Features Absolute Loader – Simple and efficient Disadvantage is – programmer has to specify the starting address One program to run – no problem – not for several Difficult to use subroutine libraries efficiently
  • 26. Program Linking • Goal - Resolve the problems with EXTREF and EXTDEF from different control sections (Sec 2.3.5) • Example - Program in Fig. 3.8 and object code in Fig. 3.9 • Use modification records for both relocation and linking - address constant - external reference
  • 27. Machine-independent Loader Features Features that are not directly related to machine architecture and design - Automatic Library Search - Loader Options
  • 28. Linking Loaders Object Program(s) The source program is first assembled or compiled, producing an Library Linking object program. loader A linking loader performs all linking and loading operations, and Memory loads the program into memory forProcessing of an Object executionprogram using LL
  • 29. Linkage Editors Object Program(s) Linkage Library editor Linked program Relocating loaderProcessing of an Objectprogram using LE Memory
  • 30. Implementation examples…•Brief description of loaders and linkers foractual computers•They are MS-DOS Linker - Pentium architecture SunOS Linkers - SPARC architecture Cray MPP Linkers – T3E architecture
  • 31. Editors and Debugging Systems This Chapter Gave you… - Text editors - Interactive Debugging Systems
  • 32. Text Editors An Interactive text editor has become an important part of almost any computing environment Text editor acts as a primary interface to the computer for all type of “knowledge workers” as they compose, organize, study, and manipulate computer-based information
  • 33. Editing Editing component buffer Editing filter Traveling Main component memoryinput Command language Viewing processor Viewing Viewing filter component buffer Output devices Display File component system Typical editor structure
  • 34. Editors function in three basic typesof computing environments: Time sharing Stand-alone Distributed Each type of environment imposes some constraints on the design of an editor
  • 35. Interactive Debugging Systems An interactive debugging system provides programmers with facilities that aid in testing and debugging of programs Many such systems are available during these days Our discussion was broad in scope, giving the overview of interactive debugging systems – not specific to any particular existing system
  • 36. We Discussed Important functions and capabilities of IDS Relationship of IDS to other parts of the system The nature of the user interface for IDS
  • 37. Macro Processor This Chapter Gave you… - Basic Macro Processor Functions - Algorithms - Nested macros -Comparison of different macro design - Machine-Independent macro features - Implementation of conditional macros
  • 38. Macros•A macro instruction (Macro) is a notationalconvenience for the programmer •Allows the programmer to write short hand programs (modular programming).•The macro processor replaces each macroinstruction with its equivalent block of instructions.•The macro processor is not concerned with themeaning of the involved statements duringexpansion.•The design of the macro processor is generallymachine independent.
  • 39. Macro ExpansionMacro InvocationTwo-Pass Macro ProcessorDesign of two-pass macro processor Pass 1: Process all macro definitions Pass 2: Expand all macro invocation statements
  • 40. One-Pass Macro Processor •A one-pass macro processor that alternate between macro definition and macro expansion in a recursive way is able to handle recursive macro definition Data Structure for One-Pass Macro Processor - DEFTAB (definition table) - NAMTAB - ARGTAB
  • 41. -Machine-Independent Macro Processor Features-Concatenation of Macro Parameters-Generating Unique Labels-Macro-time Looping-Conditional Macro expansion-Keyword macro parameters-Recursive Macros-Line-by-Line Macros-Integrated Macros
  • 42. Compilers  Introduction  Basic Compiler Function  Lexical Analysis,  Syntactic Analysis Operator-Precedence Parsing Shift Reduce Parsing Recusive Descent Parsing
  • 43. Source ProgramPhases ofCompilers Lexical analysis Syntax analysis Table Intermediate Error Management Code generation Handling Code Optimization Code Generation Target Program
  • 44.  Code Generation Machine - Dependent Code Optimization Machine Independent Compiler Features Machine - Independent Code Optimization
  • 45. MACHINE - DEPENDENT CODEOPTIMIZATION There are several different possibilities forperforming machine-dependent code optimization . Assignment and use of registers Divide the problem into basic blocks. Rearrangement of machine instruction toimprove efficiency of execution
  • 46. •Machine Independent CompilerFeatures•Storage Allocation•Block Structured Languages•Compiler Design Options – Division IntoPasses•Interpreters•P-Code Compilers•Compiler-Compilers
  • 47. Lex and Yacc -LEX is a program generator designed for lexical processing of character input streams. -Yacc provides a general tool for describing the input to a computer program
  • 48. LEX (LEXical Analyzer Generator)  Features  Creating a Lexical Analyzer with LEX  LEX Source  LEX Regular Expressions  Functions
  • 49. YACC –Yet Another Compiler-Compiler  YACC Basic Specification  How does the Parser Works?  Ambiguity and Conflicts  YACC Programs  simple expression with +, - , /, and *.  recognize an valid variable.  Lex and Yacc
  • 50. Notes for all the topics are available @