Lecture5 - 1 OP 5611 Operating Systems Spring 2010 Dan C....

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 1 OP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM 2 Lecture 5 ¡ Last time: Hard/Soft Modularity. Client/Server Organization. ¡ Today: ¢ Virtualization ¡ Threads ¡ Virtual memory ¡ Bounded buffers ¢ Race conditions, locks, semaphores ¢ Thread coordination with a bounded buffer ¡ Next Time: ¢ Processor sharing 3 Virtualization of the three abstractions ¡ Why virtualization ¢ Enforce modularity ¢ Provide uniform access to resources ¡ Virtualization– relating physical with virtual objects ¡ Done by the operating system for the three abstractions: ¢ Interpreters Æ Threads ¢ Storage Æ Virtual memory ¢ Communication links Æ Bounded buffers 4 Virtualization methods Virtualization Æ simulating the interface to a physical object by: 1. Multiplexing Æ create multiple physical objects from one instance of a physical object. 2. Aggregation Æ create one virtual object from multiple physical objects 3. Emulation Æ construct a virtual object from a different type of a physical object. Emulation in software is slow. Method Physical Resource Virtual Resource Multiplexing processor thread real memory virtual memory communication channel virtual circuit processor server (e.g., Web server) Aggregation disk RAID core multi-core processor Emulation disk RAM disk system (e.g. Macintosh) virtual machine (e.g., Virtual PC) Multiplexing + Emulation real memory + disk virtual memory with paging communication channel + processor TCP protocol 5 Threads 1. Threads Æ a thread is a virtual processor; a module in execution 1. Multiplexes a physical processor 2. The state of a thread: (1) the reference to the next computational step (the Pc register) + (2) the environment (registers, stack, heap, current objects). 3. Sequence of operations: 1. Load the module’s text 2. Create a thread and lunch the execution of the module in that thread. 4. A module may have several threads. 5. The thread manager implements the thread abstraction. 1. Interrupts Æ processed by the interrupt handler which interacts with the thread manager 2. Exception Æ interrupts caused by the running thread and processed by exception handlers 3. Interrupt handlers run in the context of the OS while exception handlers run in the context of interrupted thread. 6 Virtual memory 2. Virtual memory Æ a scheme to allow each thread to access only its own virtual address space (collection of virtual addresses). 1. Why needed: 1. To implement a memory enforcement mechanism; to prevent a thread running the code of one module from overwriting the data of another module 2. The physical memory may be too small to fit an application; otherwise each application would need to manage its own memory....
View Full Document

This note was uploaded on 05/12/2010 for the course CS COP5611 taught by Professor Dancristianmarinescu during the Spring '10 term at University of Central Florida.

Page1 / 39

Lecture5 - 1 OP 5611 Operating Systems Spring 2010 Dan C....

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online