Operating Systems: Internals and Design Principles, 6/E William Stallings - Chapter 2: Operating System Overview

A program that controls the execution of application programs

An interface between applications and hardware

 

 

pptx58 trang | Chia sẻ: tieuaka001 | Lượt xem: 576 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Operating Systems: Internals and Design Principles, 6/E William Stallings - Chapter 2: Operating System Overview, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chapter 2 Operating System OverviewPatricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William StallingsOperating SystemA program that controls the execution of application programsAn interface between applications and hardwareOperating System ObjectivesConvenienceEfficiencyAbility to evolveLayers and ViewsServices Provided by the OSProgram developmentEditors and debuggersProgram executionAccess I/O devicesServices Provided by the OSControlled access to filesSystem accessServices Provided by the OSError detection and responseInternal and external hardware errorsSoftware errorsOperating system cannot grant request of applicationServices Provided by the OSAccountingCollect usage statisticsMonitor performanceUsed to anticipate future enhancementsUsed for billing purposesOperating SystemResponsible for managing resourcesFunctions same way as ordinary computer softwareIt is a program that is executedOperating system relinquishes control of the processorOS as Resource ManagerKernelPortion of operating system that is in main memoryContains most frequently used functionsAlso called the nucleusEvolution of Operating SystemsHardware upgrades plus new types of hardwareNew servicesFixesEvolution of Operating SystemsSerial processingNo operating systemMachines run from a console with display lights, toggle switches, input device, and printerEvolution of Operating SystemsSerial processingSchedule timeSetup included loading the compiler, source program, saving compiled program, and loading and linkingEvolution of Operating SystemsSimple batch systemMonitorSoftware that controls the sequence of eventsBatch jobs togetherProgram returns control to monitor when finishedJob Control LanguageSpecial type of programming languageProvides instruction to the monitorWhat compiler to useWhat data to useHardware FeaturesMemory protectionDoes not allow the memory area containing the monitor to be alteredTimerPrevents a job from monopolizing the systemHardware FeaturesPrivileged instructionsCertain machine level instructions can only be executed by the monitorInterruptsEarly computer models did not have this capabilityMemory ProtectionUser program executes in user mode Certain instructions may not be executedMemory ProtectionMonitor executes in system modeKernel modePrivileged instructions are executedProtected areas of memory may be accessedSystem Utilization ExampleUniprogrammingProcessor must wait for I/O instruction to complete before proceedingMultiprogrammingWhen one job needs to wait for I/O, the processor can switch to the other jobMultiprogrammingUtilization HistogramsExampleTime Sharing SystemsUsing multiprogramming to handle multiple interactive jobsProcessor’s time is shared among multiple usersMultiple users simultaneously access the system through terminalsBatch Multiprogramming versus Time SharingCTSS OperationMajor AchievementsProcessesMemory managementInformation protection and securityScheduling and resource managementSystem structureProcessA program in executionAn instance of a program running on a computerThe entity that can be assigned to and executed on a processorProcessA unit of activity characterized byA single sequential thread of executionA current stateAn associated set of system resourcesDifficulties with Designing System SoftwareImproper synchronizationFailed mutual exclusionNondeterminate program operationDeadlocksProcessConsists of three componentsAn executable programAssociated data needed by the programExecution context of the programAll information the operating system needs to manage the processProcessMemory ManagementProcess isolationAutomatic allocation and managementSupport of modular programmingProtection and access controlLong-term storageVirtual MemoryImplements long-term storeInformation stored in named objects called filesAllows programmers to address memory from a logical point of viewPagingAllows process to be comprised of a number of fixed-size blocks, called pagesVirtual address is a page number and an offset within the pageEach page may be located anywhere in main memoryReal address or physical address is the main memory addressVirtual MemoryVirtual Memory AddressingInformation Protection and SecurityAvailabilityConcerned with protecting the system against interruptionConfidentialityAssuring that users cannot read data for which access is unauthorizedInformation Protection and SecurityData integrityProtection of data from unauthorized modificationAuthenticityConcerned with the proper verification of the identity of users and the validity of messages or dataScheduling and Resource ManagementFairnessGive equal and fair access to resourcesDifferential responsivenessDiscriminate among different classes of jobsScheduling and Resource ManagementEfficiencyMaximize throughput, minimize response time, and accommodate as many uses as possibleKey Elements of an Operating SystemSystem StructureView the system as a series of levelsEach level performs a related subset of functionsEach level relies on the next lower level to perform more primitive functionsThis decomposes a problem into a number of more manageable subproblemsLevelsLevel 1Electronic circuitsObjects are registers, memory cells, and logic gatesOperations are clearing a register or reading a memory locationLevel 2 Processor’s instruction setOperations such as add, subtract, load, and storeLevelsLevel 3Adds the concept of a procedure or subroutine, plus call/return operationsLevel 4InterruptsConcepts Related to MultiprogrammingLevel 5Process as a program in executionSuspend and resume processesLevel 6Secondary storage devicesTransfer of blocks of dataConcepts Related to MultiprogrammingLevel 7Creates logical address space for processesOrganizes virtual address space into blocksDeal with External ObjectsLevel 8Communication of information and messages between processesLevel 9Supports long-term storage of named filesLevel 10Provides access to external devices using standardized interfacesDeal with External ObjectsLevel 11Responsible for maintaining the association between the external and internal identifiersLevel 12Provides full-featured facility for the support of processesLevel 13Provides an interface to the OS for the userModern Operating SystemsMicrokernel architectureAssigns only a few essential functions to the kernelAddress spacesInterprocess communication (IPC)Basic schedulingModern Operating SystemsMultithreadingProcess is divided into threads that can run concurrentlyThreadDispatchable unit of workexecutes sequentially and is interruptableProcess is a collection of one or more threadsModern Operating SystemsSymmetric multiprocessing (SMP)There are multiple processorsThese processors share same main memory and I/O facilitiesAll processors can perform the same functionsMultiprogramming and MultiprocessingModern Operating SystemsDistributed operating systemsProvides the illusion of a single main memory space and single secondary memory spaceModern Operating SystemsObject-oriented designUsed for adding modular extensions to a small kernelEnables programmers to customize an operating system without disrupting system integrity

Các file đính kèm theo tài liệu này:

  • pptxchapter02_rev_7638.pptx