DOC PREVIEW
Penn CIS 380 - CIS 380 LECTURE NOTES

This preview shows page 1-2-3-27-28-29 out of 29 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CSE 380 Computer Operating SystemsWhat is an Operating System?Resource Abstraction and SharingPentium ArchitectureAbstractions in OSSharing of MemoryTimesharingChallenges in OSHow does OS work?Inside a CPUDifferent types of MemorySample Scenario 1Sample Scenario 1 (continued)Sample Scenario 2Sample Scenario 2 (continued)Brief History of Operating Systems1940's -- First Computers1950's -- Batch ProcessingTypical Batch System1960's -- Multiprogramming (timesharing)1970's - Minicomputers & Microprocessors1980's - Networking1990's and BeyondOperating System StructureOperating System Structure (1)Operating System Structure (2)Operating System Structure (3)Operating System Structure (4)Operating System Structure (5)1CSE 380Computer Operating SystemsInstructor: Insup LeeUniversity of PennsylvaniaFall 2003Lecture Note 1: Introduction2What is an Operating System?Operating systems provides an interface between hardware and user programs, and makes hardware usable3Resource Abstraction and SharingIt is an extended machine providing abstraction of the hardwareHides the messy details which must be performedPresents user with a virtual machine, easier to useIt is a resource managerTime on CPU is shared among multiple users/programsSpace in memory and on disks is shared among multiple users/programs4Pentium Architecture5Abstractions in OSHardwareDisksMemoryProcessorsNetworkMonitorKeyboardMouseOS abstractionFilesProgramsThreads / ProcessesCommunicationWindows and GUIInputLocator6Sharing of MemoryIssuesAllocation schemesProtection from each otherProtecting OS codeTranslating logical addresses to physicalSwapping programsWhat if physical memory is small: Virtual memoryProgram 2O S Program 3Free spaceProgram 17TimesharingAt any point, only one program can run on CPUContext switch: changing the program that has CPUWhen to switch (goal: to optimize the CPU usage)When a program terminatesWhen a program has run “long enough”When a program executes a system call or waits for I/OWhen an external interrupt arrives (e.g. mouse click)OS must do all the book-keeping necessary for context switch, with minimum number of instructionsP1 P1P2 P3OS OS OS OS8Challenges in OSPerformance is criticalHow to reduce the memory and time overhead due to OSSynchronization and deadlocks due to shared resourcesScheduling of multiple programsFairness, response time, real-time applicationsMemory management Virtual memory, paging, segmentationSecurity and ProtectionAuthorization, authentication, virusesInterrupt management and error handlingMarketability and backward compatibilityWhy can’t Microsoft still get rid of all bugs in Windows ?9How does OS work?OS gets control of the CPU repeatedlyLet’s look at two typical scenarios to get a glimpse of how things work (we will get a more accurate and detailed understanding as the course progresses)Basic knowledge about computer architecture is essential ! (Read Sec 1.4 to review CSE 240)10Inside a CPUState of a running programRegistersProgram counter (PC)Stack pointerProgram status word (PSW)Key distinction in PSW: user mode vs kernel (OS) modeKey instruction for OS calls: TRAP (switch to kernel mode)Many operations (such as accessing I/O devices) are possible only in the kernel mode11Different types of Memory Use of disks unavoidable (permanence and size)Access time is significantly slower for disks12Sample Scenario 1Consider a statement to read from a file in a user program PUser program stores parameters such as file-id, memory-address, number-of-bytes, and system-call number of read, and executes TRAP instruction to invoke OSHardware saves the state of current program, sets the mode-bit in PSW register in CPU to 1, and transfers control to a fixed location in OS codeOS maintains an internal file table that stores relevant information about all open files13Sample Scenario 1 (continued)OS read routine examines the parameters, checks for errors (e.g. file must be open), consults its file table, and determines the disk address from where data is to be retrieved then it sets up registers to initiate transfer by the disk controllerWhile disk controller is transferring data from disk to memory, OS can suspend current program, and switch to a different programWhen OS routine finishes the job, it stores the status code, and returns control to the user program P (hardware resets mode-bit)Note: Disk controller is accessed only by OS code (this is ensured by hardware protection)14Sample Scenario 2Consider an assignment x:=y in a program PCompiler assigns logical addresses, say Add1 and Add2, for program variables in P’s data spaceWhen P is loaded in memory, OS assigns a physical base address to store P and its dataCompiled code looks likeLoad (R, Add1); Store (R, Add2)While executing Load instruction the hardware translates the logical address Add1 to a physical memory location (this is done by Memory Management Unit MMU)15Sample Scenario 2 (continued)However, OS may not keep all of P in memory all the timeOS maintains an internal table, called page table, that keeps track of which blocks of P are in memoryIf Add1 is not in memory, MMU generates a page fault, and transfers control to OSOS examines the cause, and initiates a disk transfer to load in the relevant block of POS needs to decide memory allocation for the block to be fetched (page replacement algorithms)While this block is being fetched, P may be suspended using a context switch16Brief History of Operating Systems1940's -- First Computers1950's -- Batch Processing1960's -- Multiprogramming (timesharing)1970's -- Minicomputers & Microprocessors1980's -- Networking, Distributed Systems, Parallel (multiprocessor) Systems1990's and Beyond -- PCs, WWW, Mobile Systems, embedded systems171940's -- First ComputersComputer dedicated to one user/programmer at a time. Program loaded manually by programmer, using console switches. Debugging using console lights. Advantages:Interactive (user gets immediate response)Disadvantages:Expensive machine idle most of time, because people are slow.Programming & debugging are tedious.Each program must include code to operate peripherals -- error prone, device dependencies.Libraries of subroutines to drive peripherals are


View Full Document

Penn CIS 380 - CIS 380 LECTURE NOTES

Download CIS 380 LECTURE NOTES
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view CIS 380 LECTURE NOTES and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view CIS 380 LECTURE NOTES 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?