Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40Slide 41Slide 42Slide 43Slide 44Slide 45Slide 46Slide 47Slide 48Slide 49Slide 50Slide 51Slide 52Slide 53Slide 54Slide 55Slide 56Slide 57Slide 58Slide 59Slide 60Slide 61Slide 62Slide 63Slide 64Slide 65Slide 66Slide 67Slide 68Chapter 6: An Introduction to System Software and Virtual MachinesInvitation to Computer Science,Java Version, Third EditionInvitation to Computer Science, Java Version, Third Edition2ObjectivesIn this chapter, you will learn aboutSystem softwareAssemblers and assembly languageOperating systemsInvitation to Computer Science, Java Version, Third Edition3IntroductionVon Neumann computer“Naked machine”Hardware without any helpful user-oriented featuresExtremely difficult for a human to work with An interface between the user and the hardware is needed to make a Von Neumann computer usableInvitation to Computer Science, Java Version, Third Edition4Introduction (continued)Tasks of the interfaceHide details of the underlying hardware from the userPresent information in a way that does not require in-depth knowledge of the internal structure of the systemInvitation to Computer Science, Java Version, Third Edition5Introduction (continued)Tasks of the interface (continued)Allow easy user access to the available resourcesPrevent accidental or intentional damage to hardware, programs, and dataInvitation to Computer Science, Java Version, Third Edition6System Software: The Virtual MachineSystem softwareDef: a collection of compute programs that manage the resources of a computer and facilitate access to those resourcesActs as an intermediary between users and hardwareCreates a virtual environment for the user that hides the actual computer architectureVirtual machine (or virtual environment)Set of services and resources created by the system software and seen by the userInvitation to Computer Science, Java Version, Third Edition7Figure 6.1The Role of System SoftwareInvitation to Computer Science, Java Version, Third Edition8Types of System SoftwareSystem software is a collection of many different programsOperating systemControls the overall operation of the computerCommunicates with the userDetermines what the user wantsActivates system programs, applications packages, or user programs to carry out user requestsInvitation to Computer Science, Java Version, Third Edition9Figure 6.2Types of System SoftwareInvitation to Computer Science, Java Version, Third Edition10Types of System Software (continued)User interfaceGraphical user interface (GUI) provides graphical control of the capabilities and services of the computerLanguage servicesAssemblers, compilers, and interpretersAllow you to write programs in a high-level, user-oriented language, and then execute themInvitation to Computer Science, Java Version, Third Edition11Types of System Software (continued)Memory managersAllocate and retrieve memory spaceInformation managersHandle the organization, storage, and retrieval of information on mass storage devicesI/O systemsAllow the use of different types of input and output devicesInvitation to Computer Science, Java Version, Third Edition12Types of System Software (continued)SchedulerKeeps a list of programs ready to run and selects the one that will execute nextUtilitiesCollections of library routines that provide services either to user or other system routinesInvitation to Computer Science, Java Version, Third Edition13Assembly LanguageMachine languageUses binaryAllows only numeric memory addressesDifficult to changeDifficult to create dataInvitation to Computer Science, Java Version, Third Edition14Assembly Language (continued)Assembly languagesDesigned to overcome shortcomings of machine languagesCreate a more productive, user-oriented environmentEarlier termed second-generation languagesNow viewed as low-level programming languagesInvitation to Computer Science, Java Version, Third Edition15Figure 6.3The Continuum of Programming LanguagesInvitation to Computer Science, Java Version, Third Edition16Invitation to Computer Science, Java Version, Third Edition17Assembly Language (continued)Source programAn assembly language programObject programA machine language programAssemblerTranslates a source program into a corresponding object programInvitation to Computer Science, Java Version, Third Edition18Figure 6.4The Translation/Loading/Execution ProcessInvitation to Computer Science, Java Version, Third Edition19Assembly Language (continued)Advantages of writing in assembly language rather than machine languageUse of symbolic operation codes rather than numeric (binary) onesUse of symbolic memory addresses rather than numeric (binary) onesPseudo-operations that provide useful user-oriented services such as data generationInvitation to Computer Science, Java Version, Third Edition20Typical Instruction of Assembly Language(Label): (op code mnemonic) (address field) (comments)Label: permanent identification for this instruction of data, like an address of command.op code mnemonic: symbolic command nameAddress field: symbolic address of the dataComments: for readingInvitation to Computer Science, Java Version, Third Edition21Examples:Binary OP code Operation Meaning0000 LOAD X CON(X)->R0001 STORE X R->CON(X)0010 CLEAR X 0->CON(X)0011 ADD X R+CON(X)->R0100 INCREMENT X CON(X)+1->CON(X)0101 SUBSTRACT X R-CON(X)->R0110 DECREMENT X CON(X)-1->CON(X)0111 COMPARE X if CON(X)>R, set GT = 1 if CON(X)=R, set EQ = 1 if CON(X)<R, set LT = 1Invitation to Computer Science, Java Version, Third Edition22Continued1000 JUMP X Get the next instruction from memory location X1001 JUMPGT X Get the next instruction from memory location X if GT = 11010 JUMPEQ X Get the next instruction from memory location X if EQ = 11011 JUMPLT X Get the next instruction from memory location X if LT = 11100 JUMPNEQ X Get the next instruction from memory location X if EQ = 01101 IN X Input value, store in X1110 OUT X Output X1111 HALT StopInvitation to Computer Science, Java Version, Third Edition23How to
View Full Document