Operating System Overview

Similar presentations

2 Operating SystemA program that controls the execution of application programsAn interface between applications and hardware

3 Operating System ObjectivesConvenienceMakes the computer more convenient to useEfficiencyAllows computer system resources to be used in an efficient mannerAbility to evolvePermit effective development, testing, and introduction of new system functions without interfering with service

10 Kernel Portion of operating system that is in main memoryContains most-frequently used functionsAlso called the nucleus

11 Evolution of an Operating SystemHardware upgrades and new types of hardwareNew servicesFixes

12 Evolution of Operating SystemsSerial ProcessingNo operating systemMachines run from a console with display lights and toggle switches, input device, and printerSchedule tomeSetup included loading the compiler, source program, saving compiled program, and loading and linking

13 Evolution of Operating SystemsSimple Batch SystemsMonitorsSoftware that controls the running programsBatch jobs togetherProgram branches back to monitor when finishedResident monitor is in main memory and available for execution

14 Job Control Language (JCL)Special type of programming languageProvides instruction to the monitorwhat compiler to usewhat data to use

15 Hardware Features Memory protection Timerdo not allow the memory area containing the monitor to be alteredTimerprevents a job from monopolizing the system

16 Hardware Features Memory protection Timerdo not allow the memory area containing the monitor to be alteredTimerprevents a job from monopolizing the system

17 UniprogrammingProcessor must wait for I/O instruction to complete before preceding

18 MultiprogrammingWhen one job needs to wait for I/O, the processor can switch to the other job

27 Processes A program in executionAn instance of a program running on a computerThe entity that can be assigned to and executed on a processorA unit of activity characterized by a single sequential thread of execution, a current state, and an associated set of system resources

28 Difficulties with Designing System SoftwareImproper synchronizationensure a process waiting for an I/O device receives the signalFailed mutual exclusionNondeterminate program operationprogram should only depend on input to it, not relying on common memory areasDeadlocks

29 Process Consists of three components An executable programAssociated data needed by the programExecution context of the programAll information the operating system needs to manage the process

32 Virtual MemoryAllows programmers to address memory from a logical point of viewWhile one process is written out to secondary store and the successor process read in there in no hiatus

33 File System Implements long-term storeInformation stored in named objects called files

34 PagingAllows 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 any where in main memoryReal address or physical address in main memory

37 Information Protection and SecurityAccess controlregulate user access to the systemInformation flow controlregulate flow of data within the system and its delivery to usersCertificationproving that access and flow control perform according to specifications

38 Scheduling and Resource ManagementFairnessgive equal and fair access to all processesDifferential responsivenessdiscriminate between different classes of jobsEfficiencymaximize throughput, minimize response time, and accommodate as many uses as possible

40 System Structure View 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 subproblems

44 Characteristics of Modern Operating SystemsMicrokernel architectureassigns only a few essential functions to the kerneladdress spaceinterprocess communication (IPC)basic scheduling

45 Characteristics of Modern Operating SystemsMultithreadingprocess is divided into threads that can run simultaneouslyThreaddispatchable unit of workexecutes sequentially and is interruptableProcess is a collection of one or more threads

46 Characteristics of Modern Operating SystemsSymmetric multiprocessingthere are multiple processorsthese processors share same main memory and I/O facilitiesAll processors can perform the same functions

47 Characteristics of Modern Operating SystemsDistributed operating systemsprovides the illusion of a single main memory and single secondary memory spaceused for distributed file system

48 Characteristics of Modern Operating SystemsObject-oriented designused for adding modular extensions to a small kernelenables programmers to customize an operating system without disrupting system integrity

49 Windows 2000 Exploits the power of today’s 32-bit microprocessorsProvides full multitasking in a single-user environmentClient/Server computing

50 Windows 2000 Architecture Modular structure for flexibilityExecutes on a variety of hardware platformsSupports application written for a variety of other operating system

51 OS Organization Modified microkernel architectureNot a pure microkernelMany system functions outside of the microkernel run in kernel modeAny module can be removed, upgraded, or replaced without rewriting the entire system

55 Client/Server Model Simplifies the Executive Improves reliabilitypossible to construct a variety of APIsImproves reliabilityeach service runs as a separate process with its own partition of memoryclients cannot not directly access hardwareProvides a uniform means fro applications to communicate via LPCProvides base for distributed computing

56 Threads and SMPDifferent routines can execute simultaneously on different processorsMultiple threads of execution within a single process may execute on different processors simultaneouslyServer processes may use multiple threadsShare data and resources between process