《操作系统原理与设计 Operating System Principles and Implementation》课程教学课件(英文讲稿)Chapter 4 Threads

Operating SystemsCh4 Threads1
Operating Systems 1 Ch4 Threads

Chapter 4:Threads· Thread Concepts- Why use threads-StructureinMemory-BenefitsandChallenges- Thread ModelsProgramming-Basic Programming:Pthreads Library-Implicit Threading:ThreadPools&OpenMP2
Chapter 4: Threads • Thread Concepts – Why use threads – Structure in Memory – Benefits and Challenges – Thread Models • Programming – Basic Programming: Pthreads Library – Implicit Threading: Thread Pools & OpenMP 2

Multi-threading- Motivation3
3 Multi-threading - Motivation

Motivation-Application Side· Most software applications are multithreaded, eachapplication is implemented as a process withseveral threads of control-Webbrowser: displays images, retrieve data from network-Wordprocessor? display graphics, respond to keystrokes, spelling & grammarchecking4
Motivation - Application Side • Most software applications are multithreaded, each application is implemented as a process with several threads of control – Web browser • displays images, retrieve data from network – Word processor • display graphics, respond to keystrokes, spelling & grammar checking 4

Motivation-ApplicationSide: Most software applications are multithreaded-Webbrowser-Wordprocessor- Similar tasks in a single application (web server)·Acceptclientrequests,servicethereguests·Usuallyservethousandsof clients(2) create new(1) requestthreadto servicethe requestclientthreadserver(3) resume listeningforadditionalclient requests5
Motivation - Application Side • Most software applications are multithreaded – Web browser – Word processor – Similar tasks in a single application (web server) • Accept client requests, service the requests • Usually serve thousands of clients 5

Motivation-ApplicationSide Why not create a process for each task?-Processcreationis: Heavy-weighted·Resourceintensive Still remember what kinds of data are included in aprocess...- Text, data, stack, heap in user-space memory-PcBinkernel-spacememoryMany of the data can be shared between multipletasks within an application6
Motivation – Application Side • Why not create a process for each task? – Process creation is • Heavy-weighted • Resource intensive • Still remember what kinds of data are included in a process. – Text, data, stack, heap in user-space memory – PCB in kernel-space memory • Many of the data can be shared between multiple tasks within an application 6

Motivation-SystemSide? Modern computers usually contain multicores- But, each processor can run only one process at a time- CPU is not fully utilized· How to improve the efficiency?-Assign one task to each core- Real parallelism (not just concurrency with interleavingonsingle-coresystem)7
Motivation – System Side • Modern computers usually contain multicores – But, each processor can run only one process at a time – CPU is not fully utilized • How to improve the efficiency? – Assign one task to each core – Real parallelism (not just concurrency with interleaving on single-core system) 7

Concurrencyvs.ParallelismConcurrent execution on single-core system:T1T2T3T4T1T3T4T2T1single coretimeParallel execution on a multi-core system:T1T3T3T1T1core1T4T4T2T2T2core2time8
Concurrency vs. Parallelism 8 Concurrent execution on single-core system: Parallel execution on a multi-core system:

Multi-threading- Motivation- Thread Concept
9 Multi-threading - Motivation - Thread Concept

High-level ldeafilesdatafilescodedatacodestackregistersregistersregistersregistersstackstackstackthreadthreadmultithreadedprocesssingle-threadedprocess10
High-level Idea 10
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《操作系统原理与设计 Operating System Principles and Implementation》课程教学课件(英文讲稿)Chapter 3 Process Concepts & Operations(part2)from Kernel's Perspective.pdf
- 《操作系统原理与设计 Operating System Principles and Implementation》课程教学课件(英文讲稿)Chapter 3 Process Concepts & Operations(part1).pdf
- 《操作系统原理与设计 Operating System Principles and Implementation》课程教学课件(英文讲稿)Chapter 2 Operating System Structures.pdf
- 《操作系统原理与设计 Operating System Principles and Implementation》课程教学课件(英文讲稿)Chapter 1 Overview of an Operating System.pdf
- 《计算机网络》课程教学资源(PPT课件)第六章 应用层.pptx
- 《计算机网络》课程教学资源(PPT课件)第五章 传输层.pptx
- 《计算机网络》课程教学资源(PPT课件)第四章 网络层.pptx
- 《计算机网络》课程教学资源(PPT课件)第三章 数据链路层.pptx
- 《计算机网络》课程教学资源(PPT课件)第二章 物理层.pptx
- 《计算机网络》课程教学资源(PPT课件)第一章 概述.pptx
- 《智能算法设计与应用》课程教学大纲 Intelligent Algorithm Design and Application.docx
- 《数字导航技术》课程教学资源(书籍文献)计算机视觉-马颂德.pdf
- 《C语言程序设计》课程参考文献:Programming languages — C(PDF电子书,英文版).pdf
- 《操作系统》课程教学资源(PPT课件)课程简介 Operating System.pptx
- 《操作系统》课程教学资源(PPT课件)第1章 操作系统引论.pptx
- 《操作系统》课程教学资源(PPT课件)第2章 进程的描述和控制.pptx
- 《操作系统》课程教学资源(PPT课件)第3章 处理机调度与死锁.pptx
- 《操作系统》课程教学资源(PPT课件)第5章 虚拟存储器.pptx
- 《操作系统》课程教学资源(PPT课件)第6章 输入输出系统.pptx
- 《操作系统》课程教学资源(PPT课件)第7章 文件管理.pptx
- 《操作系统原理与设计 Operating System Principles and Implementation》课程教学课件(英文讲稿)Chapter 5 Process Communication & Synchronization(part1).pdf
- 《操作系统原理与设计 Operating System Principles and Implementation》课程教学课件(英文讲稿)Chapter 5 Process Communication & Synchronization -Part 2.pdf
- 《操作系统原理与设计 Operating System Principles and Implementation》课程教学课件(英文讲稿)Chapter 6 Process Scheduling.pdf
- 《操作系统原理与设计 Operating System Principles and Implementation》课程教学课件(英文讲稿)Chapter 7 Memory Management part1.pdf
- 《操作系统原理与设计 Operating System Principles and Implementation》课程教学课件(英文讲稿)Chapter 7 Memory Management part2.pdf
- 《操作系统原理与设计 Operating System Principles and Implementation》课程教学课件(英文讲稿)Chapter 8 Mass Storage.pdf
- 《操作系统原理与设计 Operating System Principles and Implementation》课程教学课件(英文讲稿)Chapter 9 File Systems part1.pdf
- 《操作系统原理与设计 Operating System Principles and Implementation》课程教学课件(英文讲稿)Chapter 9 File Systems part2.pdf
- 《操作系统原理与设计 Operating System Principles and Implementation》课程教学课件(英文讲稿)Chapter 10 Details of FAT32.pdf
- 《操作系统原理与设计 Operating System Principles and Implementation》课程教学课件(英文讲稿)Chapter 10 Details of Ext2/3 File System.pdf
- 北京工业大学:信息科学技术学院《C#程序设计基础》课程教学大纲 Fundamentals of Programming Principle and Practice in C#.pdf
- 北京工业大学:计算机学院本科课程教学大纲汇编(2024).pdf
- 揭阳职业技术学院:《计算机应用基础》课程授课教案(讲义,2025).pdf
- 《C语言程序设计》课程教学课件(PPT讲稿)第10章 对文件的输入输出.pptx
- 《C语言程序设计》课程教学课件(PPT讲稿)第01章 程序设计和C语言.pptx
- 《C语言程序设计》课程教学课件(PPT讲稿)第02章 算法——程序的灵魂.pptx
- 《C语言程序设计》课程教学课件(PPT讲稿)第03章 最简单的C程序设计——顺序程序设计.pptx
- 《C语言程序设计》课程教学课件(PPT讲稿)第04章 选择结构程序设计.pptx
- 《C语言程序设计》课程教学课件(PPT讲稿)第05章 循环结构程序设计.pptx
- 《C语言程序设计》课程教学课件(PPT讲稿)第06章 利用数组处理批量数据.pptx
