SlideShare ist ein Scribd-Unternehmen logo
1 von 50
System Software




          Overall Syllabus Discussion
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, ….
We Discussed On…
    Machine Architecture
    Assemblers
    Loaders and Linkers
    Editors and Debugging Systems
    Macro Processor
    Compilers
    Lex and Yacc
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
System Software & Machine
Architecture

    •Machine Dependent
    •Machine Independent
Space for
                           2 inch x 2 inch
                             size Picture

SIC Machine Architecture
  •Memory and Registers
  •Data Formats
  •Instruction Formats
  •Addressing Modes
  •Instruction Set
  •Input and Output
SIC/XE Machine Architecture
   •Memory and Registers
   •Data Formats
   •Instruction Formats
   •Addressing Modes
   •Instruction Set
   •Input and Output
Example Programs SIC


   Example Programs (SIC/XE)
Different Architectures
  •Traditional (CISC) machines
       - VAX Architecture
       - Pentium Pro Architecture
  •RISC machines
       - UltraSPARC Architecture
       - Cray T3E Architecture
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
RISC Machines
•Reduced Instruction Set Computers
•Intended to simplify the design of
processors. Greater reliability, faster
execution and less expensive processors
•Standard and fixed instruction length
•Number of machine instructions,
instruction formats, and addressing modes
relatively small
Comparison of these
   •Memory
   •Registers
   •Data Formats
   •Instruction Formats
   •Addressing Modes
   •Instruction Set
   •Input and Output
Assemblers
 This Chapter Gave you…
   -Assembler Definition
   - Assembler Features
   - Machine dependent and machine independent
        features
   - Design of various assemblers
               - One-pass
               - Multi-pass
Assemblers
• Translating source code written in assembly
  language to object code.
• Assigning machine address to symbolic labels.
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
• 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
Machine-Dependent Assembler
Features
 In Machine Specific Instructions we have:
    Instruction Format and Addressing modes
         How to handle program relocation
Machine independent features

   Literals
   Symbol defining statements
   Expressions
   Program blocks
   Control Sections and program
   linkings
Types of Assemblers
  One-pass assembler
  Multi-pass assembler
  Two-pass assembler with overlay
Loaders and Linkers
 This Chapter Gave you…
  - Basic Loader Functions
  - Machine-Dependent Loader Features
  - Machine-Independent Loader Features
  - Loader Design Options
  - Implementation Examples
Role of Loader
  Source                                   Object
                        Object
           Translator             Loader   program
 Program                                   ready for
                        Program            execution




Translator – Assembler/Compiler


                                           Memory
Role of Loader
  Source                                  Object
                       Object
           Assembler             Loader   program
 Program                                  ready for
                       Program            execution




                                          Memory
Role of Loader and Linker
                                             Memory

Source                Object
          Assembler              Linker
Program               Program                Object
                                             program
                                             ready for
                                Executable   execution

                                  Code


                                 Loader
Role of Absolute Loader
                         1000
    Object    Absolute          Object
    Program   Loader            program
                                ready for
                                execution
                         2000




                                Memory
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
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
Machine-independent Loader Features

  Features that are not directly related to
  machine architecture and design
     - Automatic Library Search
     - Loader Options
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 for
Processing of an Object                execution
program using LL
Linkage Editors             Object
                          Program(s)


                           Linkage
              Library       editor



                             Linked
                            program


                            Relocating
                             loader
Processing of an Object
program using LE            Memory
Implementation examples…
•Brief description of loaders and linkers for
actual computers
•They are
   MS-DOS Linker        - Pentium architecture
   SunOS Linkers        - SPARC architecture
   Cray MPP Linkers – T3E architecture
Editors and Debugging Systems

  This Chapter Gave you…

     - Text editors
     - Interactive Debugging Systems
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
Editing    Editing
                      component    buffer
                                             Editing
                                              filter


                       Traveling                         Main
                      component                         memory

input   Command
        language                             Viewing
        processor      Viewing     Viewing     filter
                      component     buffer




        Output
        devices          Display                          File
                       component                        system



                    Typical editor structure
Editors function in three basic types
of computing environments:

               Time sharing
               Stand-alone
               Distributed

            Each type of environment imposes some
            constraints on the design of an editor
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
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
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
Macros
•A macro instruction (Macro) is a notational
convenience for the programmer
   •Allows the programmer to write short hand
   programs (modular programming).
•The macro processor replaces each macro
instruction with its equivalent block of instructions.
•The macro processor is not concerned with the
meaning of the involved statements during
expansion.
•The design of the macro processor is generally
machine independent.
Macro Expansion
Macro Invocation
Two-Pass Macro Processor
Design of two-pass macro processor
  Pass 1:
     Process all macro definitions
  Pass 2:
     Expand all macro invocation statements
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
-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
Compilers
    Introduction
    Basic Compiler Function
    Lexical Analysis,
    Syntactic Analysis
           Operator-Precedence Parsing
           Shift Reduce Parsing
           Recusive Descent Parsing
Source Program
Phases of
Compilers      Lexical analysis

                Syntax analysis

    Table        Intermediate        Error
  Management    Code generation     Handling

               Code Optimization

                Code Generation
               Target Program
   Code Generation
   Machine - Dependent Code Optimization
   Machine Independent Compiler Features
   Machine - Independent Code Optimization
MACHINE - DEPENDENT CODE
OPTIMIZATION
 There are several different possibilities for
performing machine-dependent code optimization .
   Assignment and use of registers
   Divide the problem into basic blocks.
 Rearrangement of machine instruction to
improve efficiency of execution
•Machine Independent Compiler
Features
•Storage Allocation
•Block Structured Languages
•Compiler Design Options – Division Into
Passes
•Interpreters
•P-Code Compilers
•Compiler-Compilers
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
LEX (LEXical Analyzer Generator)
   Features
   Creating a Lexical Analyzer with LEX
   LEX Source
   LEX Regular Expressions
   Functions
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
Notes for all the topics are available
                   @

    http://forum.vtu.ac.in

Weitere ähnliche Inhalte

Was ist angesagt?

Unit 3 sp assembler
Unit 3 sp assemblerUnit 3 sp assembler
Unit 3 sp assemblerDeepmala Sharma
 
Unit 3
Unit 3Unit 3
Unit 3pm_ghate
 
Simplified instructional computer
Simplified instructional computerSimplified instructional computer
Simplified instructional computerKirby Fabro
 
System software
System softwareSystem software
System softwareSenthil Kanth
 
Loaders ( system programming )
Loaders ( system programming ) Loaders ( system programming )
Loaders ( system programming ) Adarsh Patel
 
Direct linking loader
Direct linking loaderDirect linking loader
Direct linking loaderbabyparul
 
Ch 4 linker loader
Ch 4 linker loaderCh 4 linker loader
Ch 4 linker loaderMalek Sumaiya
 
Single pass assembler
Single pass assemblerSingle pass assembler
Single pass assemblerBansari Shah
 
Introduction to loaders
Introduction to loadersIntroduction to loaders
Introduction to loadersTech_MX
 
Linkers
LinkersLinkers
LinkersTech_MX
 
Loader and Its types
Loader and Its typesLoader and Its types
Loader and Its typesParth Dodiya
 
32 dynamic linking nd overlays
32 dynamic linking nd overlays32 dynamic linking nd overlays
32 dynamic linking nd overlaysmyrajendra
 

Was ist angesagt? (20)

Unit 3 sp assembler
Unit 3 sp assemblerUnit 3 sp assembler
Unit 3 sp assembler
 
Unit 3
Unit 3Unit 3
Unit 3
 
Simplified instructional computer
Simplified instructional computerSimplified instructional computer
Simplified instructional computer
 
Loader
LoaderLoader
Loader
 
System software
System softwareSystem software
System software
 
Loaders ( system programming )
Loaders ( system programming ) Loaders ( system programming )
Loaders ( system programming )
 
Direct linking loader
Direct linking loaderDirect linking loader
Direct linking loader
 
Spr ch-02
Spr ch-02Spr ch-02
Spr ch-02
 
Ch 4 linker loader
Ch 4 linker loaderCh 4 linker loader
Ch 4 linker loader
 
Single pass assembler
Single pass assemblerSingle pass assembler
Single pass assembler
 
P code
P codeP code
P code
 
Introduction to loaders
Introduction to loadersIntroduction to loaders
Introduction to loaders
 
Linkers
LinkersLinkers
Linkers
 
Assembler
AssemblerAssembler
Assembler
 
Loaders
LoadersLoaders
Loaders
 
Loader and Its types
Loader and Its typesLoader and Its types
Loader and Its types
 
Spr ch-01
Spr ch-01Spr ch-01
Spr ch-01
 
Direct linking loaders
Direct linking loadersDirect linking loaders
Direct linking loaders
 
32 dynamic linking nd overlays
32 dynamic linking nd overlays32 dynamic linking nd overlays
32 dynamic linking nd overlays
 
Linkers
LinkersLinkers
Linkers
 

Ähnlich wie Overall 23 11_2007_hdp

System software-loaders
System software-loadersSystem software-loaders
System software-loaderskitturashmikittu
 
Mba i-ifm-u-2-computer software
Mba i-ifm-u-2-computer softwareMba i-ifm-u-2-computer software
Mba i-ifm-u-2-computer softwareRai University
 
Bba i-introduction to computer-u-2- application and system software
Bba  i-introduction to computer-u-2- application and system softwareBba  i-introduction to computer-u-2- application and system software
Bba i-introduction to computer-u-2- application and system softwareRai University
 
Bca i-fundamental of computer-u-2- application and system software
Bca  i-fundamental of  computer-u-2- application and system softwareBca  i-fundamental of  computer-u-2- application and system software
Bca i-fundamental of computer-u-2- application and system softwareRai University
 
Mca i-fundamental of computer-u-2- application and system software
Mca  i-fundamental of  computer-u-2- application and system softwareMca  i-fundamental of  computer-u-2- application and system software
Mca i-fundamental of computer-u-2- application and system softwareRai University
 
Bsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system softwareBsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system softwareRai University
 
Compiler Design Introduction
Compiler Design IntroductionCompiler Design Introduction
Compiler Design IntroductionKuppusamy P
 
.NET Core, ASP.NET Core Course, Session 3
.NET Core, ASP.NET Core Course, Session 3.NET Core, ASP.NET Core Course, Session 3
.NET Core, ASP.NET Core Course, Session 3aminmesbahi
 
Insight into progam execution ppt
Insight into progam execution pptInsight into progam execution ppt
Insight into progam execution pptKeerty Smile
 
A Comparison of .NET Framework vs. Java Virtual Machine
A Comparison of .NET Framework vs. Java Virtual MachineA Comparison of .NET Framework vs. Java Virtual Machine
A Comparison of .NET Framework vs. Java Virtual MachineAbdelrahman Hosny
 
Loaders and Linkers
Loaders and LinkersLoaders and Linkers
Loaders and Linkerskunj desai
 
.net Based Component Technologies
.net Based Component Technologies.net Based Component Technologies
.net Based Component Technologiesprakashk453625
 
Ch 1.pptx
Ch 1.pptxCh 1.pptx
Ch 1.pptxwoldu2
 

Ähnlich wie Overall 23 11_2007_hdp (20)

Compiler Construction
Compiler ConstructionCompiler Construction
Compiler Construction
 
System software-loaders
System software-loadersSystem software-loaders
System software-loaders
 
Mba i-ifm-u-2-computer software
Mba i-ifm-u-2-computer softwareMba i-ifm-u-2-computer software
Mba i-ifm-u-2-computer software
 
Bba i-introduction to computer-u-2- application and system software
Bba  i-introduction to computer-u-2- application and system softwareBba  i-introduction to computer-u-2- application and system software
Bba i-introduction to computer-u-2- application and system software
 
Bca i-fundamental of computer-u-2- application and system software
Bca  i-fundamental of  computer-u-2- application and system softwareBca  i-fundamental of  computer-u-2- application and system software
Bca i-fundamental of computer-u-2- application and system software
 
Mca i-fundamental of computer-u-2- application and system software
Mca  i-fundamental of  computer-u-2- application and system softwareMca  i-fundamental of  computer-u-2- application and system software
Mca i-fundamental of computer-u-2- application and system software
 
Bsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system softwareBsc cs 1 fit u-2 application and system software
Bsc cs 1 fit u-2 application and system software
 
Compiler Design Introduction
Compiler Design IntroductionCompiler Design Introduction
Compiler Design Introduction
 
Chap01-Intro.ppt
Chap01-Intro.pptChap01-Intro.ppt
Chap01-Intro.ppt
 
E.s unit 6
E.s unit 6E.s unit 6
E.s unit 6
 
.NET Core, ASP.NET Core Course, Session 3
.NET Core, ASP.NET Core Course, Session 3.NET Core, ASP.NET Core Course, Session 3
.NET Core, ASP.NET Core Course, Session 3
 
Insight into progam execution ppt
Insight into progam execution pptInsight into progam execution ppt
Insight into progam execution ppt
 
Loaders
LoadersLoaders
Loaders
 
A Comparison of .NET Framework vs. Java Virtual Machine
A Comparison of .NET Framework vs. Java Virtual MachineA Comparison of .NET Framework vs. Java Virtual Machine
A Comparison of .NET Framework vs. Java Virtual Machine
 
Loaders and Linkers
Loaders and LinkersLoaders and Linkers
Loaders and Linkers
 
Cd unit i
Cd unit iCd unit i
Cd unit i
 
report
reportreport
report
 
.net Based Component Technologies
.net Based Component Technologies.net Based Component Technologies
.net Based Component Technologies
 
Ch 1.pptx
Ch 1.pptxCh 1.pptx
Ch 1.pptx
 
Software presentation
Software presentationSoftware presentation
Software presentation
 

Mehr von Mohd Arif

Bootp and dhcp
Bootp and dhcpBootp and dhcp
Bootp and dhcpMohd Arif
 
Arp and rarp
Arp and rarpArp and rarp
Arp and rarpMohd Arif
 
User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocolMohd Arif
 
Project identification
Project identificationProject identification
Project identificationMohd Arif
 
Project evalaution techniques
Project evalaution techniquesProject evalaution techniques
Project evalaution techniquesMohd Arif
 
Presentation
PresentationPresentation
PresentationMohd Arif
 
Pointers in c
Pointers in cPointers in c
Pointers in cMohd Arif
 
Peer to-peer
Peer to-peerPeer to-peer
Peer to-peerMohd Arif
 
Overview of current communications systems
Overview of current communications systemsOverview of current communications systems
Overview of current communications systemsMohd Arif
 
Objectives of budgeting
Objectives of budgetingObjectives of budgeting
Objectives of budgetingMohd Arif
 
Network management
Network managementNetwork management
Network managementMohd Arif
 
Networing basics
Networing basicsNetworing basics
Networing basicsMohd Arif
 
Iris ngx next generation ip based switching platform
Iris ngx next generation ip based switching platformIris ngx next generation ip based switching platform
Iris ngx next generation ip based switching platformMohd Arif
 
Ip sec and ssl
Ip sec and  sslIp sec and  ssl
Ip sec and sslMohd Arif
 
Ip security in i psec
Ip security in i psecIp security in i psec
Ip security in i psecMohd Arif
 
Intro to comp. hardware
Intro to comp. hardwareIntro to comp. hardware
Intro to comp. hardwareMohd Arif
 
Heap sort
Heap sortHeap sort
Heap sortMohd Arif
 
H.323 vs. cops interworking
H.323 vs. cops interworkingH.323 vs. cops interworking
H.323 vs. cops interworkingMohd Arif
 

Mehr von Mohd Arif (20)

Bootp and dhcp
Bootp and dhcpBootp and dhcp
Bootp and dhcp
 
Arp and rarp
Arp and rarpArp and rarp
Arp and rarp
 
User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocol
 
Project identification
Project identificationProject identification
Project identification
 
Project evalaution techniques
Project evalaution techniquesProject evalaution techniques
Project evalaution techniques
 
Presentation
PresentationPresentation
Presentation
 
Pointers in c
Pointers in cPointers in c
Pointers in c
 
Peer to-peer
Peer to-peerPeer to-peer
Peer to-peer
 
Overview of current communications systems
Overview of current communications systemsOverview of current communications systems
Overview of current communications systems
 
Objectives of budgeting
Objectives of budgetingObjectives of budgeting
Objectives of budgeting
 
Network management
Network managementNetwork management
Network management
 
Networing basics
Networing basicsNetworing basics
Networing basics
 
Lists
ListsLists
Lists
 
Iris ngx next generation ip based switching platform
Iris ngx next generation ip based switching platformIris ngx next generation ip based switching platform
Iris ngx next generation ip based switching platform
 
Ip sec and ssl
Ip sec and  sslIp sec and  ssl
Ip sec and ssl
 
Ip security in i psec
Ip security in i psecIp security in i psec
Ip security in i psec
 
Intro to comp. hardware
Intro to comp. hardwareIntro to comp. hardware
Intro to comp. hardware
 
Heap sort
Heap sortHeap sort
Heap sort
 
H.323 vs. cops interworking
H.323 vs. cops interworkingH.323 vs. cops interworking
H.323 vs. cops interworking
 
H.323
H.323H.323
H.323
 

KĂźrzlich hochgeladen

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

KĂźrzlich hochgeladen (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Overall 23 11_2007_hdp

  • 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 & Machine Architecture •Machine Dependent •Machine Independent
  • 6. Space for 2 inch x 2 inch size Picture SIC 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 of processors. Greater reliability, faster execution and less expensive processors •Standard and fixed instruction length •Number of machine instructions, instruction formats, and addressing modes relatively 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 Assembler Features 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 execution Translator – 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 Memory Source Object Assembler Linker Program 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 for Processing of an Object execution program using LL
  • 29. Linkage Editors Object Program(s) Linkage Library editor Linked program Relocating loader Processing of an Object program using LE Memory
  • 30. Implementation examples… •Brief description of loaders and linkers for actual 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 memory input Command language Viewing processor Viewing Viewing filter component buffer Output devices Display File component system Typical editor structure
  • 34. Editors function in three basic types of 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 notational convenience for the programmer •Allows the programmer to write short hand programs (modular programming). •The macro processor replaces each macro instruction with its equivalent block of instructions. •The macro processor is not concerned with the meaning of the involved statements during expansion. •The design of the macro processor is generally machine independent.
  • 39. Macro Expansion Macro Invocation Two-Pass Macro Processor Design 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 Program Phases of Compilers 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 CODE OPTIMIZATION There are several different possibilities for performing machine-dependent code optimization .  Assignment and use of registers  Divide the problem into basic blocks.  Rearrangement of machine instruction to improve efficiency of execution
  • 46. •Machine Independent Compiler Features •Storage Allocation •Block Structured Languages •Compiler Design Options – Division Into Passes •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 @ http://forum.vtu.ac.in