Concurrency Conclusion

Slides:



Advertisements
Similar presentations
Process management Information maintained by OS for process management  process context  process control block OS virtualization of CPU for each process.
Advertisements

Introduction CSCI 444/544 Operating Systems Fall 2008.
Concurrency: Threads, Address Spaces, and Processes Sarah Diesburg Operating Systems COP 4610.
Why Concurrency? Allows multiple applications to run at the same time  Analogy: juggling.
Operating Systems Parallel Systems (Now basic OS knowledge)
Threads Irfan Khan Myo Thein What Are Threads ? a light, fine, string like length of material made up of two or more fibers or strands of spun cotton,
Winter 2005 CMPE 151: Network Administration Lecture 2.
Operating Systems Parallel Systems and Threads (Soon to be basic OS knowledge)
Process Concept An operating system executes a variety of programs
Dreams in a Nutshell Steven Sommer Microsoft Research Institute Department of Computing Macquarie University.
Processes Part I Processes & Threads* *Referred to slides by Dr. Sanjeev Setia at George Mason University Chapter 3.
Chapter 8 Windows Outline Programming Windows 2000 System structure Processes and threads in Windows 2000 Memory management The Windows 2000 file.
Multithreading Allows application to split itself into multiple “threads” of execution (“threads of execution”). OS support for creating threads, terminating.
SYNCHRONIZATION Module-4. scheduling Scheduling is an operating system mechanism that arbitrate CPU resources between running tasks. Different scheduling.
Introduction to Threads CS240 Programming in C. Introduction to Threads A thread is a path execution By default, a C/C++ program has one thread called.
Multithreading in Java Project of COCS 513 By Wei Li December, 2000.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 13 Threads Read Ch 5.1.
Processes & Threads Introduction to Operating Systems: Module 5.
Lecture 1: Network Operating Systems (NOS) An Introduction.
Multithreading The objectives of this chapter are: To understand the purpose of multithreading To describe Java's multithreading mechanism.
HNC COMPUTING - Network Concepts 1 Network Concepts Network Concepts Network Operating Systems Network Operating Systems.
Concurrency Conclusion Andy Wang Operating Systems COP 4610 / CGS 5765.
Implementing Mutual Exclusion Andy Wang Operating Systems COP 4610 / CGS 5765.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Threads.
CMPS Operating Systems Prof. Scott Brandt Computer Science Department University of California, Santa Cruz.
Introduction to Operating Systems Concepts
Introduction to threads
Introduction to Operating Systems
Operating System & Application Software
2. OPERATING SYSTEM 2.1 Operating System Function
Andy Wang COP 5611 Advanced Operating Systems
Course Introduction Dr. Eggen COP 6611 Advanced Operating Systems
Andy Wang COP 5611 Advanced Operating Systems
Chapter 5: Threads Overview Multithreading Models Threading Issues
Chapter 4 Threads.
Unit OS2: Operating System Principles
CS490 Windows Internals Quiz 2 09/27/2013.
Threads & multithreading
Chapter 4: Threads.
Chapter 3: Windows7 Part 1.
Concurrency: Threads, Address Spaces, and Processes
Introduction to Operating Systems
Operating Systems Processes and Threads.
Chapter 4 Multithreading programming
Chapter 1: Intro (excerpt)
Threads, SMP, and Microkernels
ICS 143 Principles of Operating Systems
Concurrency: Threads, Address Spaces, and Processes
Chapter 26 Concurrency and Thread
COMS Prelim 1 Review Session
Lecture Topics: 11/1 General Operating System Concepts Processes
B.Ramamurthy Chapter 2 : Appendix
Threads Chapter 4.
Andy Wang COP 5611 Advanced Operating Systems
Design Components are Code Components
Implementing Mutual Exclusion
What is Concurrent Programming?
EE 472 – Embedded Systems Dr. Shwetak Patel.
Implementing Mutual Exclusion
Andy Wang COP 5611 Advanced Operating Systems
- When you approach operating system concepts there might be several confusing terms that may look similar but in fact refer to different concepts:  multiprogramming, multiprocessing, multitasking,
Chapter 3 – Operating Systems
Outline Process Management Process manager Hardware process
Concurrency Conclusion
Andy Wang COP 5611 Advanced Operating Systems
Light-Weight Process (Threads)
Concurrency Conclusion
Concurrency Conclusion
Concurrency: Threads, Address Spaces, and Processes
Chapter 3: Process Management
Presentation transcript:

Concurrency Conclusion Andy Wang Operating Systems COP 4610 / CGS 5765

Threads and Synchronization Better, cleaner, and simpler abstraction to application programmers Programming abstraction Sequential execution, each with its own CPU Semaphores and monitors Physical hardware Single CPU Interrupts test_and_set

Since 1985 Every major OS comes with threads Mach OS/2 Windows NT Solaris

Since 1985 Major applications are written in threads Word processing Databases Web servers Embedded systems

A Cautionary Tale Microsoft OS/2 Spectacular failure (IBM re-wrote the whole OS from scratch) Used threads for everything Window systems Communication among programs

Microsoft OS/2 Created many threads Few are ready to run Most threads wait around for user typing and network packets Since each thread needs to store its own execution stack (running or waiting), OS/2 required $200 extra memory to store those threads $200 for working while printing?

The Moral of the Story… Threads are cheap But they are not free