Operation operation fast threads user topaz threads

Info iconThis preview shows page 1. Sign up to view the full content.

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

Unformatted text preview: eads, and processes. Operation Operation Fast Threads (user) Topaz Threads Threads (kernel) Unix Processes Null fork 34 948 11300 Signal-wait 37 441 1840 Scheduler Scheduler Activations Want best of both worlds User-space: custom-scheduling, fast Kernel-space: integrated (multiprocessing), blockable SA SA Idea: Create a structure that allows information to flow flow between: user-space (thread library) and kernel One-way is common … system call Other way is uncommon (sort of) …. Upcall SA SA Cont’d Two new things: Activation: structure that allows information/events to to flow (holds key information, e.g. stacks) Virtual Virtual processor: abstraction of a physical machine; gets “allocated” to an application -- means any threads attached to it will run on that processor --- want to run on multiple processors – ask OS for > 1 VP Example Example Kernel provides two processors to the application, user library picks picks two threads to run …. Now, suppose T1 blocks …. T1 T1 blocks in the kernel I/O for (T1) completes Notification Notification requires a processor; kernel preempts one of them (B – T2), does upcall Problem : suppose no processors! – must wait until kernel gives one Two threads back on the ready list! Example Example (done) User library picks a thread to run (resume T1) Assessment Assessment Pros: Cons: Next Next Lecture Scheduling (maybe deadlock, if time) Read Chap. 2, 6 MOS, Lottery Scheduling Paper HW #1 available Project #1 available on Friday...
View Full Document

Ask a homework question - tutors are online