Chapter 6: An Introduction to System Software and Virtual Machines Invitation to Computer Science, C++ Version, Fourth Edition ** Re-ordered, Updated 4/14/09.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Higher Computing Computer Systems S. McCrossan Higher Grade Computing Studies 7. Systems Software 1 System Software This software is used to provide the.
Chapter 8: System Software Part of any computer system is the system software –This is software that supports our use of the computer –We will examine.
Chapter 6: An Introduction to System Software and Virtual Machines Invitation to Computer Science, C++ Version, Third Edition.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Chapter 6 In introduction to System Software and Virtual Machine ***Assembly Language.
Chapter 5: Computer Systems Organization Invitation to Computer Science, C++ Version, Third Edition Added to by S. Steinfadt - Spring 2005 Additional source.
Chapter 6: An Introduction to System Software and Virtual Machines Invitation to Computer Science, C++ Version, Third Edition.
Chapter 6: An Introduction to System Software and Virtual Machines Invitation to Computer Science, C++ Version, Third Edition.
©Brooks/Cole, 2003 Chapter 7 Operating Systems Dr. Barnawi.
1 Operating Systems Ch An Overview. Architecture of Computer Hardware and Systems Software Irv Englander, John Wiley, Bare Bones Computer.
Mehmet Can Vuran, Instructor University of Nebraska-Lincoln Acknowledgement: Overheads adapted from those provided by the authors of the textbook.
Chapter 6: An Introduction to System Software and Virtual Machines
1 The development of modern computer systems Early electronic computers Mainframes Time sharing Microcomputers Networked computing.
Chapter 3 Software Two major types of software
Computer Science 101 The Virtual Machine: Operating Systems.
Computer Software.
Operating System Overview
Chapter 6 An Introduction to System Software and Virtual Machines 國立雲林科技大學 資訊工程研究所 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: ext
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Topics Introduction Hardware and Software How Computers Store Data
Management Information Systems, 4 th Edition 1 Chapter 5 Information Systems in Business: Software.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
CS 1308 Computer Literacy and the Internet Computer Systems Organization.
CS 1308 Computer Literacy and the Internet. Introduction  Von Neumann computer  “Naked machine”  Hardware without any helpful user-oriented features.
CISC105 General Computer Science Class 1 – 6/5/2006.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3: Operating Systems Computer Science: An Overview Tenth Edition.
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Computer Systems Organization CS 1428 Foundations of Computer Science.
Visual C++ Programming: Concepts and Projects
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
Computer Science 101 How the Assembler Works. Assembly Language Programming.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Computer Science/Ch. 5 System Softwares 5-1 Chapter 5 System Softwares.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development.
Chapter 6 An Introduction to System Software and Virtual Machines.
Operating System Principles And Multitasking
1 Software. 2 What is software ► Software is the term that we use for all the programs and data on a computer system. ► Two types of software ► Program.
CPSC 171 Introduction to Computer Science System Software and Virtual Machines.
CS 1308 Computer Literacy and the Internet. Objectives In this chapter, you will learn about:  The components of a computer system  Putting all the.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
1 Process Description and Control Chapter 3. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
Slide 6-1 Chapter 6 System Software Considerations Introduction to Information Systems Judith C. Simon.
1.1 Sandeep TayalCSE Department MAIT 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems.
Chapter 4 Software. Introduction Program: is a set of sequence instructions that tell the computer what to do. Software: is a collection of programs,
MULTIMEDIA TECHNOLOGY SMM 3001 OPERATING SYSTEM. how operating systems software manage the computer how operating systems software manage the computer.
Slide 6-1 Chapter 6 Terms System Software Considerations Introduction to Information Systems Judith C. Simon.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
CT101: Computing Systems Introduction to Operating Systems.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
Invitation to Computer Science 6th Edition
Applied Operating System Concepts
Applied Operating System Concepts
Operating System Interface between a user and the computer hardware
Chapter 2: System Structures
Review of computer processing and the basic of Operating system
Introduction to Operating System (OS)
Invitation to Computer Science 6th Edition
Chapter 2: System Structures
Operating System Concepts
Chapter 5: Computer Systems Organization
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Operating System Concepts
Presentation transcript:

Chapter 6: An Introduction to System Software and Virtual Machines Invitation to Computer Science, C++ Version, Fourth Edition ** Re-ordered, Updated 4/14/09 **

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 3 Assembly Language (Section 6.3) Machine language  Uses binary  Allows only numeric memory addresses  Difficult to change  Difficult to create data

Invitation to Computer Science, C++ Version, Fourth Edition 4 Program Conversion Image from Computer Organization and Design: The Hardware/Software Interface, Third Edition, David A. Patterson and John L. Hennessy, Morgan Kaufmann Publishers, 2004.

Invitation to Computer Science, C++ Version, Fourth Edition 5 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 6 Figure 6.3 The Continuum of Programming Languages

Invitation to Computer Science, C++ Version, Fourth Edition 7 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 8 Figure 6.4 The Translation/Loading/Execution Process

Invitation to Computer Science, C++ Version, Fourth Edition 9 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 10 Figure 6.6 Structure of a Typical Assembly Language Program

Invitation to Computer Science, C++ Version, Fourth Edition 11 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 12 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 13 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 14 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 15 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 16 Figure 6.7 Algorithm to Compute the Sum of Numbers

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

Invitation to Computer Science, C++ Version, Fourth Edition 18 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 19 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

Assembler Translation Assemblers use two-passes to convert assembly to machine language  First pass: look at every instruction, Keep track of memory addresses where instruction will be stored once translated and loaded into memory Determines is there is a symbol in the label field of the instruction  If Yes, it enters the symbol and the address into the symbol table Invitation to Computer Science, C++ Version, Fourth Edition 20

Generation of the Symbol Table Invitation to Computer Science, C++ Version, Fourth Edition 21

Generation of the Symbol Table Invitation to Computer Science, C++ Version, Fourth Edition 22 Binding: the process of associating a symbolic name with a physical memory address

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

Second Pass of Assembler Translate the source program into machine language  Op code table searched Which search is most efficient? Op code mnemonic -> binary op code  Translate symbolic memory addresses to binary Invitation to Computer Science, C++ Version, Fourth Edition 24

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

Invitation to Computer Science, C++ Version, Fourth Edition 26 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 27 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 28 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 29 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 30 Figure 6.1 The Role of System Software

Invitation to Computer Science, C++ Version, Fourth Edition 31 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 32 Figure 6.2 Types of System Software

Invitation to Computer Science, C++ Version, Fourth Edition 33 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 34 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 35 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 36 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 37 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 38 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 39 Figure 6.15 User Interface Responsibility of the Operating System

Invitation to Computer Science, C++ Version, Fourth Edition 40 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 41 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 42 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 43 Historical Overview of Operating Systems Development First generation of system software (roughly )  No operating systems  Assemblers and loaders were almost the only system software provided

Invitation to Computer Science, C++ Version, Fourth Edition 44 Historical Overview of Operating Systems Development (continued) Second generation of system software ( )  Batch operating systems  Ran collections of input programs one after the other  Included a command language

Invitation to Computer Science, C++ Version, Fourth Edition 45 Figure 6.18 Operation of a Batch Computer System

Invitation to Computer Science, C++ Version, Fourth Edition 46 Third-generation operating systems ( )  Multiprogrammed operating systems  Permitted multiple user programs to run at once Historical Overview of Operating Systems Development (continued)

Invitation to Computer Science, C++ Version, Fourth Edition 47 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 Historical Overview of Operating Systems Development (continued)

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

Invitation to Computer Science, C++ Version, Fourth Edition 49 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 50 Figure 6.23 Structure of a Distributed System

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

Invitation to Computer Science, C++ Version, Fourth Edition 52 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 53 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