SlideShare uma empresa Scribd logo
1 de 46
Chapter 6: An Introduction
to System Software and
Virtual Machines
    Invitation to Computer Science,
    C++ Version, Fourth Edition
Objectives

In this chapter, you will learn about


   System software


   Assemblers and assembly language


   Operating systems

Invitation to Computer Science, C++ Version, Fourth Edition 2
Introduction

   Von Neumann computer
       “Naked machine”
       Hardware without any helpful user-oriented
        features
       Extremely difficult for a human to work with
   An interface between the user and the hardware
    is needed to make a Von Neumann computer
    usable

Invitation to Computer Science, C++ Version, Fourth Edition 3
Introduction (continued)

   Tasks of the interface


       Hide details of the underlying hardware from the
        user


       Present information in a way that does not require
        in-depth knowledge of the internal structure of the
        system


Invitation to Computer Science, C++ Version, Fourth Edition 4
Introduction (continued)

   Tasks of the interface (continued)


       Allow easy user access to the available resources


       Prevent accidental or intentional damage to
        hardware, programs, and data




Invitation to Computer Science, C++ Version, Fourth Edition 5
System Software: The Virtual Machine

   System software
       Acts as an intermediary between users and
        hardware
       Creates a virtual environment for the user that
        hides the actual computer architecture
   Virtual machine (or virtual environment)
       Set of services and resources created by the
        system software and seen by the user
Invitation to Computer Science, C++ Version, Fourth Edition 6
Figure 6.1
                     The Role of System Software

Invitation to Computer Science, C++ Version, Fourth Edition 7
Types of System Software

   System software is a collection of many different
    programs
   Operating system
       Controls the overall operation of the computer
       Communicates with the user
       Determines what the user wants
       Activates system programs, applications
        packages, or user programs to carry out user
        requests

Invitation to Computer Science, C++ Version, Fourth Edition 8
Figure 6.2
                      Types of System Software

Invitation to Computer Science, C++ Version, Fourth Edition 9
Types of System Software (continued)

   User interface
       Graphical user interface (GUI) provides graphical
        control of the capabilities and services of the
        computer
   Language services
       Assemblers, compilers, and interpreters
       Allow you to write programs in a high-level, user-
        oriented language, and then execute them

Invitation to Computer Science, C++ Version, Fourth Edition 10
Types of System Software (continued)

   Memory managers
       Allocate and retrieve memory space
   Information managers
       Handle the organization, storage, and retrieval of
        information on mass storage devices
   I/O systems
       Allow the use of different types of input and output
        devices

Invitation to Computer Science, C++ Version, Fourth Edition 11
Types of System Software (continued)

   Scheduler

       Keeps a list of programs ready to run and selects
        the one that will execute next

   Utilities

       Collections of library routines that provide services
        either to user or other system routines

Invitation to Computer Science, C++ Version, Fourth Edition 12
Assembly Language

   Machine language

       Uses binary

       Allows only numeric memory addresses

       Difficult to change

       Difficult to create data



Invitation to Computer Science, C++ Version, Fourth Edition 13
Assembly Language (continued)

   Assembly languages

       Designed to overcome shortcomings of machine
        languages

       Create a more productive, user-oriented
        environment

       Earlier termed second-generation languages

       Now viewed as low-level programming languages

Invitation to Computer Science, C++ Version, Fourth Edition 14
Figure 6.3
            The Continuum of Programming Languages

Invitation to Computer Science, C++ Version, Fourth Edition 15
Assembly Language (continued)

   Source program
       An assembly language program
   Object program
       A machine language program
   Assembler
       Translates a source program into a corresponding
        object program

Invitation to Computer Science, C++ Version, Fourth Edition 16
Figure 6.4
The Translation/Loading/Execution Process

Invitation to Computer Science, C++ Version, Fourth Edition 17
Assembly Language (continued)

   Advantages of writing in assembly language
    rather than machine language
       Use of symbolic operation codes rather than
        numeric (binary) ones
       Use of symbolic memory addresses rather than
        numeric (binary) ones
       Pseudo-operations that provide useful user-
        oriented services such as data generation

Invitation to Computer Science, C++ Version, Fourth Edition 18
Figure 6.6
        Structure of a Typical Assembly Language Program

Invitation to Computer Science, C++ Version, Fourth Edition 19
Examples of Assembly Language
Code
   Algorithmic operations

      Set the value of i to 1 (line 2).

      :

      Add 1 to the value of i (line 7).




Invitation to Computer Science, C++ Version, Fourth Edition 20
Examples of Assembly Language
Code (continued)
   Assembly language translation

         LOAD              ONE --Put a 1 into register R.
         STORE             I   --Store the constant 1 into i.
         :
         INCREMENT         I      --Add 1 to memory location i.
         :
    I:   .DATA             0      --The index value. Initially it is 0.
    ONE: .DATA             1      --The constant 1.


Invitation to Computer Science, C++ Version, Fourth Edition 21
Examples of Assembly Language
Code (continued)
   Arithmetic expression

    A=B+C–7

    (Assume that B and C have already been assigned
     values)




Invitation to Computer Science, C++ Version, Fourth Edition 22
Examples of Assembly Language
    Code (continued)
    Assembly language translation
               LOAD    B                 --Put the value B into register R.
               ADD     C                 --R now holds the sum (B + C).
               SUBTRACT SEVEN            --R now holds the expression (B + C - 7).
               STORE   A                 --Store the result into A.
               :                         --These data should be placed after the
                                           HALT.
     A:        .DATA         0
     B:        .DATA         0
     C:        .DATA             0
     SEVEN:    .DATA         7         --The constant 7.

    Invitation to Computer Science, C++ Version, Fourth Edition 23
Examples of Assembly Language
Code (continued)
   Problem

       Read in a sequence of non-negative numbers,
        one number at a time, and compute a running
        sum

       When you encounter a negative number, print out
        the sum of the non-negative values and stop


Invitation to Computer Science, C++ Version, Fourth Edition 24
Figure 6.7
             Algorithm to Compute the Sum of Numbers

Invitation to Computer Science, C++ Version, Fourth Edition 25
Figure 6.8 Assembly Language Program to
                          Compute the Sum of Nonnegative Numbers

Invitation to Computer Science, C++ Version, Fourth Edition 26
Translation and Loading

   Before a source program can be run, an
    assembler and a loader must be invoked
   Assembler
       Translates a symbolic assembly language
        program into machine language
   Loader
       Reads instructions from the object file and stores
        them into memory for execution

Invitation to Computer Science, C++ Version, Fourth Edition 27
Translation and Loading (continued)

   Assembler tasks

       Convert symbolic op codes to binary

       Convert symbolic addresses to binary

       Perform assembler services requested by the
        pseudo-ops

       Put translated instructions into a file for future use

Invitation to Computer Science, C++ Version, Fourth Edition 28
Operating Systems

   System commands
       Carry out services such as translate a program,
        load a program, run a program
       Types of system commands
           Lines of text typed at a terminal
           Menu items displayed on a screen and selected
            with a mouse and a button: Point-and-click
       Examined by the operating system

Invitation to Computer Science, C++ Version, Fourth Edition 29
Functions of an Operating System
   Five most important responsibilities of the
    operating system
       User interface management
       Program scheduling and activation
       Control of access to system and files
       Efficient resource allocation
       Deadlock detection and error detection

Invitation to Computer Science, C++ Version, Fourth Edition 30
The User Interface
   Operating system
       Waits for a user command
       If command is legal, activates and schedules the
        appropriate software package

   User interfaces
       Text-oriented
       Graphical

Invitation to Computer Science, C++ Version, Fourth Edition 31
Figure 6.15
User Interface
Responsibility of the
Operating System


Invitation to Computer Science, C++ Version, Fourth Edition 32
System Security And Protection

   The operating system must prevent

       Non-authorized people from using the computer

           User names and passwords

       Legitimate users from accessing data or programs
        they are not authorized to access

           Authorization lists

Invitation to Computer Science, C++ Version, Fourth Edition 33
Efficient Allocation Of Resources

   The operating system ensures that

       Multiple tasks of the computer can be underway at
        one time

       Processor is constantly busy

           Keeps a queue of programs that are ready to run

           Whenever processor is idle, picks a job from the
            queue and assigns it to the processor

Invitation to Computer Science, C++ Version, Fourth Edition 34
The Safe Use Of Resources

   Deadlock
       Two processes are each holding a resource the
        other needs
       Neither process will ever progress
   The operating system must handle deadlocks
       Deadlock prevention
       Deadlock recovery

Invitation to Computer Science, C++ Version, Fourth Edition 35
Historical Overview of Operating
Systems Development
   First generation of system software (roughly
    1945-1955)


       No operating systems


       Assemblers and loaders were almost the only
        system software provided

Invitation to Computer Science, C++ Version, Fourth Edition 36
Historical Overview of Operating
Systems Development (continued)
   Second generation of system software (1955-
    1965)

       Batch operating systems

       Ran collections of input programs one after the
        other

       Included a command language


Invitation to Computer Science, C++ Version, Fourth Edition 37
Figure 6.18
               Operation of a Batch Computer System
Invitation to Computer Science, C++ Version, Fourth Edition 38
Historical Overview of Operating
Systems Development (continued)
   Third-generation operating systems (1965-1985)


       Multiprogrammed operating systems


       Permitted multiple user programs to run at once




Invitation to Computer Science, C++ Version, Fourth Edition 39
Historical Overview of Operating
Systems Development (continued)
   Fourth-generation operating systems (1985-
    present)

       Network operating systems

       Virtual environment treats resources physically
        residing on the computer in the same way as
        resources available through the computer’s
        network

Invitation to Computer Science, C++ Version, Fourth Edition 40
Figure 6.22
The Virtual Environment Created by a Network Operating System

Invitation to Computer Science, C++ Version, Fourth Edition 41
The Future

   Operating systems will continue to evolve

   Possible characteristics of fifth-generation
    systems

       Multimedia user interfaces

       Parallel processing systems

       Completely distributed computing environments

Invitation to Computer Science, C++ Version, Fourth Edition 42
Figure 6.23
                   Structure of a Distributed System

Invitation to Computer Science, C++ Version, Fourth Edition 43
Figure 6.24
Some of the Major Advances in Operating Systems Development
Invitation to Computer Science, C++ Version, Fourth Edition 44
Summary

   System software acts as an intermediary
    between the users and the hardware

   Assembly language creates a more productive,
    user-oriented environment than machine
    language

   An assembler translates an assembly language
    program into a machine language program


Invitation to Computer Science, C++ Version, Fourth Edition 45
Summary (continued)
   Responsibilities of the operating system

       User interface management

       Program scheduling and activation

       Control of access to system and files

       Efficient resource allocation

       Deadlock detection and error detection

Invitation to Computer Science, C++ Version, Fourth Edition 46

Mais conteúdo relacionado

Mais procurados

Compiler worksheet
Compiler worksheetCompiler worksheet
Compiler worksheetArthyR3
 
The C++ Programming Language
The C++ Programming LanguageThe C++ Programming Language
The C++ Programming LanguageProf Ansari
 
introduction to c language
 introduction to c language introduction to c language
introduction to c languageRai University
 
Embedded C programming based on 8051 microcontroller
Embedded C programming based on 8051 microcontrollerEmbedded C programming based on 8051 microcontroller
Embedded C programming based on 8051 microcontrollerGaurav Verma
 
Compiler gate question key
Compiler gate question keyCompiler gate question key
Compiler gate question keyArthyR3
 
COM1407: Introduction to C Programming
COM1407: Introduction to C Programming COM1407: Introduction to C Programming
COM1407: Introduction to C Programming Hemantha Kulathilake
 
Java conceptual learning material
Java conceptual learning materialJava conceptual learning material
Java conceptual learning materialArthyR3
 
C programming session 11
C programming session 11C programming session 11
C programming session 11Vivek Singh
 
C Unit 1 notes PREPARED BY MVB REDDY
C Unit 1 notes PREPARED BY MVB REDDYC Unit 1 notes PREPARED BY MVB REDDY
C Unit 1 notes PREPARED BY MVB REDDYRajeshkumar Reddy
 
Programming for problem solving ppts unit 1
Programming for problem solving ppts unit 1Programming for problem solving ppts unit 1
Programming for problem solving ppts unit 1lakshmi lingutla
 
C Programming and Coding Standards, Learn C Programming
C Programming and Coding Standards, Learn C ProgrammingC Programming and Coding Standards, Learn C Programming
C Programming and Coding Standards, Learn C ProgrammingTonex
 
Introduction to C Unit 1
Introduction to C Unit 1Introduction to C Unit 1
Introduction to C Unit 1SURBHI SAROHA
 
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++jamieayre
 

Mais procurados (20)

Compiler worksheet
Compiler worksheetCompiler worksheet
Compiler worksheet
 
The C++ Programming Language
The C++ Programming LanguageThe C++ Programming Language
The C++ Programming Language
 
introduction to c language
 introduction to c language introduction to c language
introduction to c language
 
Embedded C programming based on 8051 microcontroller
Embedded C programming based on 8051 microcontrollerEmbedded C programming based on 8051 microcontroller
Embedded C programming based on 8051 microcontroller
 
Compiler gate question key
Compiler gate question keyCompiler gate question key
Compiler gate question key
 
COM1407: Introduction to C Programming
COM1407: Introduction to C Programming COM1407: Introduction to C Programming
COM1407: Introduction to C Programming
 
Java conceptual learning material
Java conceptual learning materialJava conceptual learning material
Java conceptual learning material
 
C programming session 11
C programming session 11C programming session 11
C programming session 11
 
C compiler-ide
C compiler-ideC compiler-ide
C compiler-ide
 
C_Programming_Notes_ICE
C_Programming_Notes_ICEC_Programming_Notes_ICE
C_Programming_Notes_ICE
 
C Unit 1 notes PREPARED BY MVB REDDY
C Unit 1 notes PREPARED BY MVB REDDYC Unit 1 notes PREPARED BY MVB REDDY
C Unit 1 notes PREPARED BY MVB REDDY
 
Programming for problem solving ppts unit 1
Programming for problem solving ppts unit 1Programming for problem solving ppts unit 1
Programming for problem solving ppts unit 1
 
C language introduction
C language introduction C language introduction
C language introduction
 
Computer Programming - Lecture 2
Computer Programming - Lecture 2Computer Programming - Lecture 2
Computer Programming - Lecture 2
 
C language
C languageC language
C language
 
C Programming and Coding Standards, Learn C Programming
C Programming and Coding Standards, Learn C ProgrammingC Programming and Coding Standards, Learn C Programming
C Programming and Coding Standards, Learn C Programming
 
Introduction to C Unit 1
Introduction to C Unit 1Introduction to C Unit 1
Introduction to C Unit 1
 
Unit4
Unit4Unit4
Unit4
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
 

Destaque

Latexturax 100426112727-phpapp02
Latexturax 100426112727-phpapp02Latexturax 100426112727-phpapp02
Latexturax 100426112727-phpapp02abelena
 
Winter images
Winter imagesWinter images
Winter imagesabelena
 
Prueba belen
Prueba belenPrueba belen
Prueba belenabelena
 
Division 2 Step Word Problem
Division 2 Step Word ProblemDivision 2 Step Word Problem
Division 2 Step Word Problem31771m
 
Florencia Y Roma
Florencia Y RomaFlorencia Y Roma
Florencia Y Romaabelena
 
Your Blog Needs Traffic
Your Blog Needs TrafficYour Blog Needs Traffic
Your Blog Needs TrafficAbhishek Shah
 
排毒與養生--施慧敏中醫師創價學會演講
排毒與養生--施慧敏中醫師創價學會演講排毒與養生--施慧敏中醫師創價學會演講
排毒與養生--施慧敏中醫師創價學會演講maillol
 

Destaque (8)

Latexturax 100426112727-phpapp02
Latexturax 100426112727-phpapp02Latexturax 100426112727-phpapp02
Latexturax 100426112727-phpapp02
 
Winter images
Winter imagesWinter images
Winter images
 
Prueba belen
Prueba belenPrueba belen
Prueba belen
 
Division 2 Step Word Problem
Division 2 Step Word ProblemDivision 2 Step Word Problem
Division 2 Step Word Problem
 
Florencia Y Roma
Florencia Y RomaFlorencia Y Roma
Florencia Y Roma
 
Your Blog Needs Traffic
Your Blog Needs TrafficYour Blog Needs Traffic
Your Blog Needs Traffic
 
排毒與養生--施慧敏中醫師創價學會演講
排毒與養生--施慧敏中醫師創價學會演講排毒與養生--施慧敏中醫師創價學會演講
排毒與養生--施慧敏中醫師創價學會演講
 
Presentación6
Presentación6Presentación6
Presentación6
 

Semelhante a system software

ch01_an overview of computers and programming languages
ch01_an overview of computers and programming languagesch01_an overview of computers and programming languages
ch01_an overview of computers and programming languagesLiemLe21
 
Introduction to C programming
Introduction to C programmingIntroduction to C programming
Introduction to C programmingRokonuzzaman Rony
 
Bsc cs i pic u-1 introduction to c language
Bsc cs i pic u-1 introduction to c languageBsc cs i pic u-1 introduction to c language
Bsc cs i pic u-1 introduction to c languageRai University
 
Concepts Unit C
Concepts Unit C Concepts Unit C
Concepts Unit C jarana00
 
Btech i pic u-1 introduction to c language
Btech i pic u-1 introduction to c languageBtech i pic u-1 introduction to c language
Btech i pic u-1 introduction to c languageRai University
 
Mca i pic u-1 introduction to c language
Mca i pic u-1 introduction to c languageMca i pic u-1 introduction to c language
Mca i pic u-1 introduction to c languageRai University
 
Diploma ii cfpc u-1 introduction to c language
Diploma ii  cfpc u-1 introduction to c languageDiploma ii  cfpc u-1 introduction to c language
Diploma ii cfpc u-1 introduction to c languageRai University
 
Programming_Fundamentals_Chapter_1_INTRO.pdf
Programming_Fundamentals_Chapter_1_INTRO.pdfProgramming_Fundamentals_Chapter_1_INTRO.pdf
Programming_Fundamentals_Chapter_1_INTRO.pdfBernardVelasco1
 
Introduction-to-C-Part-1.pptx
Introduction-to-C-Part-1.pptxIntroduction-to-C-Part-1.pptx
Introduction-to-C-Part-1.pptxNEHARAJPUT239591
 
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJIntroduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJmeharikiros2
 
Chowtodoprogram solutions
Chowtodoprogram solutionsChowtodoprogram solutions
Chowtodoprogram solutionsMusa Gürbüz
 
Introduction-to-C-Part-1 (1).doc
Introduction-to-C-Part-1 (1).docIntroduction-to-C-Part-1 (1).doc
Introduction-to-C-Part-1 (1).docMayurWagh46
 
Introduction of c language
Introduction of c languageIntroduction of c language
Introduction of c languagefarishah
 
C++ helps you to format the I/O operations like determining the number of dig...
C++ helps you to format the I/O operations like determining the number of dig...C++ helps you to format the I/O operations like determining the number of dig...
C++ helps you to format the I/O operations like determining the number of dig...bhargavi804095
 
Unit 1 of c++ part 1 basic introduction
Unit 1 of c++ part 1 basic introductionUnit 1 of c++ part 1 basic introduction
Unit 1 of c++ part 1 basic introductionAKR Education
 

Semelhante a system software (20)

ch01_an overview of computers and programming languages
ch01_an overview of computers and programming languagesch01_an overview of computers and programming languages
ch01_an overview of computers and programming languages
 
Introduction to C programming
Introduction to C programmingIntroduction to C programming
Introduction to C programming
 
C_Intro.ppt
C_Intro.pptC_Intro.ppt
C_Intro.ppt
 
C++ ch1
C++ ch1C++ ch1
C++ ch1
 
Bsc cs i pic u-1 introduction to c language
Bsc cs i pic u-1 introduction to c languageBsc cs i pic u-1 introduction to c language
Bsc cs i pic u-1 introduction to c language
 
Concepts Unit C
Concepts Unit C Concepts Unit C
Concepts Unit C
 
Btech i pic u-1 introduction to c language
Btech i pic u-1 introduction to c languageBtech i pic u-1 introduction to c language
Btech i pic u-1 introduction to c language
 
Mca i pic u-1 introduction to c language
Mca i pic u-1 introduction to c languageMca i pic u-1 introduction to c language
Mca i pic u-1 introduction to c language
 
Diploma ii cfpc u-1 introduction to c language
Diploma ii  cfpc u-1 introduction to c languageDiploma ii  cfpc u-1 introduction to c language
Diploma ii cfpc u-1 introduction to c language
 
Programming_Fundamentals_Chapter_1_INTRO.pdf
Programming_Fundamentals_Chapter_1_INTRO.pdfProgramming_Fundamentals_Chapter_1_INTRO.pdf
Programming_Fundamentals_Chapter_1_INTRO.pdf
 
Srgoc dotnet_new
Srgoc dotnet_newSrgoc dotnet_new
Srgoc dotnet_new
 
C language
C languageC language
C language
 
Introduction to C Programming
Introduction to C ProgrammingIntroduction to C Programming
Introduction to C Programming
 
Introduction-to-C-Part-1.pptx
Introduction-to-C-Part-1.pptxIntroduction-to-C-Part-1.pptx
Introduction-to-C-Part-1.pptx
 
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJIntroduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
 
Chowtodoprogram solutions
Chowtodoprogram solutionsChowtodoprogram solutions
Chowtodoprogram solutions
 
Introduction-to-C-Part-1 (1).doc
Introduction-to-C-Part-1 (1).docIntroduction-to-C-Part-1 (1).doc
Introduction-to-C-Part-1 (1).doc
 
Introduction of c language
Introduction of c languageIntroduction of c language
Introduction of c language
 
C++ helps you to format the I/O operations like determining the number of dig...
C++ helps you to format the I/O operations like determining the number of dig...C++ helps you to format the I/O operations like determining the number of dig...
C++ helps you to format the I/O operations like determining the number of dig...
 
Unit 1 of c++ part 1 basic introduction
Unit 1 of c++ part 1 basic introductionUnit 1 of c++ part 1 basic introduction
Unit 1 of c++ part 1 basic introduction
 

Último

Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 

Último (20)

Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 

system software

  • 1. Chapter 6: An Introduction to System Software and Virtual Machines Invitation to Computer Science, C++ Version, Fourth Edition
  • 2. Objectives In this chapter, you will learn about  System software  Assemblers and assembly language  Operating systems Invitation to Computer Science, C++ Version, Fourth Edition 2
  • 3. Introduction  Von Neumann computer  “Naked machine”  Hardware without any helpful user-oriented features  Extremely difficult for a human to work with  An interface between the user and the hardware is needed to make a Von Neumann computer usable Invitation to Computer Science, C++ Version, Fourth Edition 3
  • 4. Introduction (continued)  Tasks of the interface  Hide details of the underlying hardware from the user  Present information in a way that does not require in-depth knowledge of the internal structure of the system Invitation to Computer Science, C++ Version, Fourth Edition 4
  • 5. Introduction (continued)  Tasks of the interface (continued)  Allow easy user access to the available resources  Prevent accidental or intentional damage to hardware, programs, and data Invitation to Computer Science, C++ Version, Fourth Edition 5
  • 6. System Software: The Virtual Machine  System software  Acts as an intermediary between users and hardware  Creates a virtual environment for the user that hides the actual computer architecture  Virtual machine (or virtual environment)  Set of services and resources created by the system software and seen by the user Invitation to Computer Science, C++ Version, Fourth Edition 6
  • 7. Figure 6.1 The Role of System Software Invitation to Computer Science, C++ Version, Fourth Edition 7
  • 8. Types of System Software  System software is a collection of many different programs  Operating system  Controls the overall operation of the computer  Communicates with the user  Determines what the user wants  Activates system programs, applications packages, or user programs to carry out user requests Invitation to Computer Science, C++ Version, Fourth Edition 8
  • 9. Figure 6.2 Types of System Software Invitation to Computer Science, C++ Version, Fourth Edition 9
  • 10. Types of System Software (continued)  User interface  Graphical user interface (GUI) provides graphical control of the capabilities and services of the computer  Language services  Assemblers, compilers, and interpreters  Allow you to write programs in a high-level, user- oriented language, and then execute them Invitation to Computer Science, C++ Version, Fourth Edition 10
  • 11. Types of System Software (continued)  Memory managers  Allocate and retrieve memory space  Information managers  Handle the organization, storage, and retrieval of information on mass storage devices  I/O systems  Allow the use of different types of input and output devices Invitation to Computer Science, C++ Version, Fourth Edition 11
  • 12. Types of System Software (continued)  Scheduler  Keeps a list of programs ready to run and selects the one that will execute next  Utilities  Collections of library routines that provide services either to user or other system routines Invitation to Computer Science, C++ Version, Fourth Edition 12
  • 13. Assembly Language  Machine language  Uses binary  Allows only numeric memory addresses  Difficult to change  Difficult to create data Invitation to Computer Science, C++ Version, Fourth Edition 13
  • 14. Assembly Language (continued)  Assembly languages  Designed to overcome shortcomings of machine languages  Create a more productive, user-oriented environment  Earlier termed second-generation languages  Now viewed as low-level programming languages Invitation to Computer Science, C++ Version, Fourth Edition 14
  • 15. Figure 6.3 The Continuum of Programming Languages Invitation to Computer Science, C++ Version, Fourth Edition 15
  • 16. Assembly Language (continued)  Source program  An assembly language program  Object program  A machine language program  Assembler  Translates a source program into a corresponding object program Invitation to Computer Science, C++ Version, Fourth Edition 16
  • 17. Figure 6.4 The Translation/Loading/Execution Process Invitation to Computer Science, C++ Version, Fourth Edition 17
  • 18. Assembly Language (continued)  Advantages of writing in assembly language rather than machine language  Use of symbolic operation codes rather than numeric (binary) ones  Use of symbolic memory addresses rather than numeric (binary) ones  Pseudo-operations that provide useful user- oriented services such as data generation Invitation to Computer Science, C++ Version, Fourth Edition 18
  • 19. Figure 6.6 Structure of a Typical Assembly Language Program Invitation to Computer Science, C++ Version, Fourth Edition 19
  • 20. Examples of Assembly Language Code  Algorithmic operations Set the value of i to 1 (line 2). : Add 1 to the value of i (line 7). Invitation to Computer Science, C++ Version, Fourth Edition 20
  • 21. Examples of Assembly Language Code (continued)  Assembly language translation LOAD ONE --Put a 1 into register R. STORE I --Store the constant 1 into i. : INCREMENT I --Add 1 to memory location i. : I: .DATA 0 --The index value. Initially it is 0. ONE: .DATA 1 --The constant 1. Invitation to Computer Science, C++ Version, Fourth Edition 21
  • 22. Examples of Assembly Language Code (continued)  Arithmetic expression A=B+C–7 (Assume that B and C have already been assigned values) Invitation to Computer Science, C++ Version, Fourth Edition 22
  • 23. Examples of Assembly Language Code (continued)  Assembly language translation LOAD B --Put the value B into register R. ADD C --R now holds the sum (B + C). SUBTRACT SEVEN --R now holds the expression (B + C - 7). STORE A --Store the result into A. : --These data should be placed after the HALT. A: .DATA 0 B: .DATA 0 C: .DATA 0 SEVEN: .DATA 7 --The constant 7. Invitation to Computer Science, C++ Version, Fourth Edition 23
  • 24. Examples of Assembly Language Code (continued)  Problem  Read in a sequence of non-negative numbers, one number at a time, and compute a running sum  When you encounter a negative number, print out the sum of the non-negative values and stop Invitation to Computer Science, C++ Version, Fourth Edition 24
  • 25. Figure 6.7 Algorithm to Compute the Sum of Numbers Invitation to Computer Science, C++ Version, Fourth Edition 25
  • 26. Figure 6.8 Assembly Language Program to Compute the Sum of Nonnegative Numbers Invitation to Computer Science, C++ Version, Fourth Edition 26
  • 27. Translation and Loading  Before a source program can be run, an assembler and a loader must be invoked  Assembler  Translates a symbolic assembly language program into machine language  Loader  Reads instructions from the object file and stores them into memory for execution Invitation to Computer Science, C++ Version, Fourth Edition 27
  • 28. Translation and Loading (continued)  Assembler tasks  Convert symbolic op codes to binary  Convert symbolic addresses to binary  Perform assembler services requested by the pseudo-ops  Put translated instructions into a file for future use Invitation to Computer Science, C++ Version, Fourth Edition 28
  • 29. Operating Systems  System commands  Carry out services such as translate a program, load a program, run a program  Types of system commands  Lines of text typed at a terminal  Menu items displayed on a screen and selected with a mouse and a button: Point-and-click  Examined by the operating system Invitation to Computer Science, C++ Version, Fourth Edition 29
  • 30. Functions of an Operating System  Five most important responsibilities of the operating system  User interface management  Program scheduling and activation  Control of access to system and files  Efficient resource allocation  Deadlock detection and error detection Invitation to Computer Science, C++ Version, Fourth Edition 30
  • 31. The User Interface  Operating system  Waits for a user command  If command is legal, activates and schedules the appropriate software package  User interfaces  Text-oriented  Graphical Invitation to Computer Science, C++ Version, Fourth Edition 31
  • 32. Figure 6.15 User Interface Responsibility of the Operating System Invitation to Computer Science, C++ Version, Fourth Edition 32
  • 33. System Security And Protection  The operating system must prevent  Non-authorized people from using the computer  User names and passwords  Legitimate users from accessing data or programs they are not authorized to access  Authorization lists Invitation to Computer Science, C++ Version, Fourth Edition 33
  • 34. Efficient Allocation Of Resources  The operating system ensures that  Multiple tasks of the computer can be underway at one time  Processor is constantly busy  Keeps a queue of programs that are ready to run  Whenever processor is idle, picks a job from the queue and assigns it to the processor Invitation to Computer Science, C++ Version, Fourth Edition 34
  • 35. The Safe Use Of Resources  Deadlock  Two processes are each holding a resource the other needs  Neither process will ever progress  The operating system must handle deadlocks  Deadlock prevention  Deadlock recovery Invitation to Computer Science, C++ Version, Fourth Edition 35
  • 36. Historical Overview of Operating Systems Development  First generation of system software (roughly 1945-1955)  No operating systems  Assemblers and loaders were almost the only system software provided Invitation to Computer Science, C++ Version, Fourth Edition 36
  • 37. Historical Overview of Operating Systems Development (continued)  Second generation of system software (1955- 1965)  Batch operating systems  Ran collections of input programs one after the other  Included a command language Invitation to Computer Science, C++ Version, Fourth Edition 37
  • 38. Figure 6.18 Operation of a Batch Computer System Invitation to Computer Science, C++ Version, Fourth Edition 38
  • 39. Historical Overview of Operating Systems Development (continued)  Third-generation operating systems (1965-1985)  Multiprogrammed operating systems  Permitted multiple user programs to run at once Invitation to Computer Science, C++ Version, Fourth Edition 39
  • 40. Historical Overview of Operating Systems Development (continued)  Fourth-generation operating systems (1985- present)  Network operating systems  Virtual environment treats resources physically residing on the computer in the same way as resources available through the computer’s network Invitation to Computer Science, C++ Version, Fourth Edition 40
  • 41. Figure 6.22 The Virtual Environment Created by a Network Operating System Invitation to Computer Science, C++ Version, Fourth Edition 41
  • 42. The Future  Operating systems will continue to evolve  Possible characteristics of fifth-generation systems  Multimedia user interfaces  Parallel processing systems  Completely distributed computing environments Invitation to Computer Science, C++ Version, Fourth Edition 42
  • 43. Figure 6.23 Structure of a Distributed System Invitation to Computer Science, C++ Version, Fourth Edition 43
  • 44. Figure 6.24 Some of the Major Advances in Operating Systems Development Invitation to Computer Science, C++ Version, Fourth Edition 44
  • 45. Summary  System software acts as an intermediary between the users and the hardware  Assembly language creates a more productive, user-oriented environment than machine language  An assembler translates an assembly language program into a machine language program Invitation to Computer Science, C++ Version, Fourth Edition 45
  • 46. Summary (continued)  Responsibilities of the operating system  User interface management  Program scheduling and activation  Control of access to system and files  Efficient resource allocation  Deadlock detection and error detection Invitation to Computer Science, C++ Version, Fourth Edition 46