Download presentation
Presentation is loading. Please wait.
Published byToby French Modified over 9 years ago
1
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s
2
Invitation to Computer Science, 5th Edition2 Objectives In this chapter, you will learn about: System software Assemblers and assembly language Operating systems
3
Invitation to Computer Science, 5th Edition33 Introduction Naked machine –Hardware bereft of any helpful user-oriented features –Data as well as instructions must be represented in binary To make a Von Neumann computer usable: –Create an interface between the user and the hardware
4
Invitation to Computer Science, 5th Edition44 System Software The virtual machine –System software: collection of computer programs that manage the resources of a computer and facilitate access to those resources –Software: sequences of instructions that solve a problem
5
Invitation to Computer Science, 5th Edition5 Figure 6.1 The Role of System Software
6
Invitation to Computer Science, 5th Edition6 Types of System Software Operating system –Communicates with users –Determines what they want –Activates other system programs, applications packages, or user programs to carry out their request
7
Invitation to Computer Science, 5th Edition7 Types of System Software (continued) User interface –Provides user with an intuitive visual overview Language services (assemblers, compilers, and interpreters) –Allow you to write programs in a high level Memory managers –Allocate memory space for programs and data Information managers –Handle the organization, storage, and retrieval of information on mass storage devices
8
Invitation to Computer Science, 5th Edition8 Figure 6.2 Types of System Software
9
Invitation to Computer Science, 5th Edition9 Types of System Software (continued) I/O systems –Allow you to easily and efficiently use the input and output devices that exist on a computer system Scheduler –Keeps a list of programs ready to run on the processor and selects the one that will execute next Utilities –Library routines that provide useful services either to a user or to other system routines
10
Invitation to Computer Science, 5th Edition10 Assemblers and Assembly Language Problems with machine language –Uses binary –Is difficult to change –Is difficult to create data
11
Invitation to Computer Science, 5th Edition11 Assembly Language Assembly language –Low-level programming language –Each symbolic assembly language instruction is translated into exactly one binary machine language instruction High-level programming languages –User oriented –Not machine specific –Use both natural language and mathematical notation in their design
12
Invitation to Computer Science, 5th Edition12 Figure 6.3 The Continuum of Programming Languages
13
Invitation to Computer Science, 5th Edition13 Assembly Language (continued) Source program –Program written in assembly language Object program –Source program must be translated into a corresponding machine language program Assembler –System software that carries out translation Advantage of assembly language –Allows use of symbolic addresses
14
Invitation to Computer Science, 5th Edition14 Figure 6.4 The Translation/ Loading/Execution Process
15
Invitation to Computer Science, 5th Edition15 Figure 6.5 Typical Assembly Language Instruction Set
16
Invitation to Computer Science, 5th Edition16 Assembly Language (continued) Advantages of symbolic labels –Program clarity –Maintainability Pseudo-op –Invokes the service of the assembler –Provides program construction
17
Invitation to Computer Science, 5th Edition17 Figure 6.6 Structure of a Typical Assembly Language Program
18
Invitation to Computer Science, 5th Edition18 Examples of Assembly Language Code Conditional operation –Tests and compares values Algorithmic problem-solving cycle –One of the central themes of computer science
19
Invitation to Computer Science, 5th Edition19 Figure 6.7 Algorithm to Compute the Sum of Numbers
20
Invitation to Computer Science, 5th Edition20 Figure 6.8 Assembly Language Program to Compute the Sum of Nonnegative Numbers
21
Invitation to Computer Science, 5th Edition21 Translation and Loading Assembler –Translates a symbolic assembly language program into machine language –Tasks performed Convert symbolic op codes to binary Convert symbolic addresses to binary Perform the assembler services requested by the pseudo-ops Put the translated instructions into a file for future use
22
Invitation to Computer Science, 5th Edition22 Translation and Loading (continued) Op code table –Alphabetized list of all legal assembly language op codes and their binary equivalents In assembly language: –A symbol is defined when it appears in the label field of an instruction or data pseudo-op Pass –Process of examining and processing every assembly language instruction in the program, one instruction at a time
23
Invitation to Computer Science, 5th Edition23 Figure 6.9 Structure of the Op Code Table
24
Invitation to Computer Science, 5th Edition24 Figure 6.10 Generation of the Symbol Table
25
Invitation to Computer Science, 5th Edition25 Translation and Loading (continued) First pass over source code – Assembler looks at every instruction Binding –Process of associating a symbolic name with a physical memory address Primary purposes of the first pass of an assembler –To bind all symbolic names to address values –To enter those bindings into the symbol table
26
Invitation to Computer Science, 5th Edition26 Translation and Loading (continued) Location counter –Variable used to determine the address of a given instruction Second pass –Assembler translates source program into machine language After completion of pass 1 and pass 2 –Object file contains the translated machine language object program
27
Invitation to Computer Science, 5th Edition27 Figure 6.11 Outline of Pass 1 of the Assembler
28
Invitation to Computer Science, 5th Edition28 Figure 6.12 Outline of Pass 2 of the Assembler
29
Invitation to Computer Science, 5th Edition29 Figure 6.13 Example of an Object Program
30
Invitation to Computer Science, 5th Edition30 Operating Systems Operating system –Waits for requests and activates other system programs to service these requests System commands –Used to translate, load, and run programs
31
Invitation to Computer Science, 5th Edition31 Functions of an Operating System The user interface –Operating system commands usually request access to hardware resources, software services, or information –To communicate with a user, a GUI supports visual aids and point-and-click operations
32
Invitation to Computer Science, 5th Edition32 Figure 6.14 Some Typical Operating System Commands
33
Invitation to Computer Science, 5th Edition33 Figure 6.15 User Interface Responsibility of the Operating System
34
Invitation to Computer Science, 5th Edition34 Figure 6.16 Example of a Graphical User Interface
35
Invitation to Computer Science, 5th Edition35 System Security and Protection Operating system –Controls access to the computer and its resources –Safeguards password file –Sometimes uses encryption to provide security Access control –Use of a legal user name and password
36
Invitation to Computer Science, 5th Edition36 Figure 6.17 Authorization List for the File GRADES
37
Invitation to Computer Science, 5th Edition37 Efficient Allocation of Resources I/O controller –Frees the processor to do useful work while the I/O operation is being completed To ensure that a processor does not sit idle if there is useful work to do: –Operating system keeps a queue of programs that are ready to run
38
Invitation to Computer Science, 5th Edition38 The Safe Use of Resources Operating system –Prevents programs or users from attempting operations that cause the computer system to enter a “frozen” state Deadlock –Each program is waiting for a resource to become available that will never become free
39
Invitation to Computer Science, 5th Edition39 The Safe Use of Resources (continued) Deadlock prevention –Operating system uses resource allocation algorithms that prevent deadlock from occurring in the first place Deadlock recovery algorithms –Detect and recover from deadlocks
40
Invitation to Computer Science, 5th Edition40 Summary of OS Responsibilities Major responsibilities of operating systems –User interface management (a receptionist) –Control of access to system and files (a security guard) –Program scheduling and activation (a dispatcher) –Efficient resource allocation (an efficiency expert) –Deadlock detection and error detection (a traffic officer)
41
Invitation to Computer Science, 5th Edition41 Historical Overview of Operating Systems Development First-generation system software –Roughly 1945–1955 –No operating systems and very little software support Second-generation system software –Called batch operating systems (1955–1965) Command language –Commands specifying to the operating system what operations to perform on programs
42
Invitation to Computer Science, 5th Edition42 Figure 6.18 Operation of a Batch Computer System
43
Invitation to Computer Science, 5th Edition43 Figure 6.19 Structure of a Typical Batch Job
44
Invitation to Computer Science, 5th Edition44 Historical Overview of Operating Systems Development (continued) Third-generation operating systems –Multiprogrammed operating systems (1965–1985) –Many user programs are simultaneously loaded into memory –User operation codes: could be included in any user program –Privileged operation codes: use restricted to the operating system or other system software
45
Invitation to Computer Science, 5th Edition45 Historical Overview of Operating Systems Development (continued) Time-sharing system –Many programs can be stored in memory –Allows programmer to enter system commands, programs, and data online Distributed environment –Much of the computing was done remotely in the office, laboratory, classroom, and factory Network operating system –Fourth-generation operating system (1985–present)
46
Invitation to Computer Science, 5th Edition46 Figure 6.20 Configuration of a Time-Shared Computing System
47
Invitation to Computer Science, 5th Edition47 Figure 6.21 A Local Area Network
48
Invitation to Computer Science, 5th Edition48 Historical Overview of Operating Systems Development (continued) Real-time operating system –Manages resources of embedded computers that are controlling ongoing physical processes –Guarantees that it can service important requests within a fixed amount of time
49
Invitation to Computer Science, 5th Edition49 The Future Multimedia user interfaces –Will interact with users and solicit requests in a variety of ways Parallel processing operating system –Can efficiently manage computer systems containing tens, hundreds, or even thousands of processors Distributed computing environment –Users do not need to know the location of a given resource within the network
50
Invitation to Computer Science, 5th Edition50 Figure 6.23 Structure of a Distributed System
51
Invitation to Computer Science, 5th Edition51 Figure 6.24 Some of the Major Advances in Operating Systems Development
52
Invitation to Computer Science, 5th Edition52 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.