中国科学技术大学计算机系 陈香兰 xlanchen@ustc.edu.cn Fall 2013 第三讲 线程 中国科学技术大学计算机系 陈香兰 xlanchen@ustc.edu.cn Fall 2013.

Slides:



Advertisements
Similar presentations
© 2001 孟静制作 版权所有 第二章 CPU 管理和进程、线程管理 2.1 CPU 管理概述 2.2 进程管理 2.3 进程模型实例分析 :UNIX 早期版本的 CPU 管理 子系统 ( 进程模型 ) 2.4 处理机管理实例分析 (2):linux CPU 管理(进程 模型) 2.5 线程模型.
Advertisements

第 3 章操作系统基础 3.1 操作系统概述 3.2 操作系统的功能模块 3.3 典型操作系统概述.
Chapter 3: Operating-System Structures操作系统结构
网络资源 (1)Oracle中国网址: (2)Oracle中国用户讨论组
星云集团.
Foundations of Computer Science
公會組織糾紛 指導老師:柯伶玫 組員 495B0065 劉致維 495B0072 廖怡塵 495B0097 范家皓.
耶穌說:「來跟從我,我要叫你們得人如得魚一樣。」
4.5 实时调度算法 实时调度是为了完成实时处理任务而分配计算机处理器的调度方法。实时处理任务要求计算机在用户允许的时限范围内给出计算机的响应信号。 实时处理任务可分为 硬实时任务(hard real-time task) 软实时任务(soft real-time task)。 其中,前者要求计算机系统必须在用户给定的时限内完成,后者允许计算机系统在用户给定的时限左右处理完毕。
Planes, ships and trains
2013 澎湖自助旅行講座 澎湖,其實就是一片海洋 主辦:沿著菊島旅行 協辦: 台北澎湖同鄉會、台中澎湖同鄉會、高雄澎湖同鄉會
師資培育中心外埠教育參觀.
第二章 进程、线程与作业 多道程序设计 Multi-programming 进程的引入 Process 线程与轻进程
操作系统结构.
運用網路資源趣味化 「每日飲食指南份量」教學
能量買賣訊號 ◎波段賣訊:下列四項出現三項以上(含三項) 1、空方能量升至整波上漲之最高水準,且空方能量>多方 能量30%以上。
Operating System Process Management - 4 Monday, August 11, 2008.
Operating System CPU Scheduing - 2 Monday, August 11, 2008.
YARN & MapReduce 2.0 Boyu Diao
作業系統的結構 日期 : 2018/9/17.
Microsoft Access 第十二組 黃彥維 陳重嘉.
教育人員退休新法說明會 106年12月14日 ★資料來源:參考銓敘部及高雄市教育局人事室簡報檔.
國文(一) 1.第一單元---青春印記 (學習篇、愛情篇) 2.第二單元---生活美學 3.第三單元---優遊家園.
雲端運算虛擬主機技術的發展.
Lotus Domino R7 Designer
我要耶穌 I Need Jesus.
Operating System Concepts 作業系統原理 Chapter 3 行程觀念 (Process Concept)
C H A P T E R 11 体系结构对操作系统的支持.
多线程编程基本概念 2008.
核探测与核电子学国家重点实验室 报告人:董磊 指导老师:宋克柱
操作系统课程的特点: 实践性强(从实践总结出原理)
Applied Operating System Concepts
第4章 作業系統的介紹及操作.
第8章作業系統.
作 業 系 統 第三組 楊育翰 顏瑞霖.
Operating System Concepts 作業系統原理 CHAPTER 2 系統結構 (System Structures)
Chapter 3 行程觀念 (Process Concept)
微程序控制器 刘鹏 Dept. ISEE Zhejiang University
创建型设计模式.
ICT RTOS Research Group 胡伟平,王剑
常见问题解答 II. App上重置并清空数据库之后,手机app找不到圣诞灯怎么办? I. 打开APP,发现并连接不了圣诞灯怎么办?
Chapter 4 多執行緒 (Multi Thread)
1-1-1作業系統的功能 提供使用者操作介面 提供程式執行環境 控制輸入\輸出程序 分配系統資源 管理與維護磁碟中的檔案
线程(Thread).
95學年度全國公私立大學校院圖書館館長聯席會 (Library*Library 2.0)*Librarian
作業系統 (Operating System)
Operating System Principles 作業系統原理
第3章 認識處理元.
資料庫 靜宜大學資管系 楊子青.
Operation System(OS).
贈與契約.
RTOS.
中国科学技术大学计算机系 陈香兰 2013Fall 第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 2013Fall.
虚 拟 仪 器 virtual instrument
靜宜大學專用 PowerPoint 檔案 數位教材
從 ER 到 Logical Schema ──兼談Schema Integration
3.5 线程 问题的提出 进程的引入使操作系统得以完成对并发执行的多道程序动态特征的描述和资源共享的管理,因而进程既是调度的基本单位又是资源分配的基本单位。进程所具有的这两个特点构成了程序并发执行的基础,但同时又导致进程切换过程中由于进程映像过大而带来的时空开销。因此,如果系统中创建的进程过多,或进程切换的频率过高,则会使系统效率下降,限制了并发度的进一步提高。
第7章 進階的同步 觀念與實務.
核心系统数据库组 了解应用服务器 核心系统数据库组
CHAPTER 6 Concurrency:deadlock And Starvation
资源分配与调度 第5章 资源分配与调度.
勞工保險年金制度 簡報人:吳宏翔.
作業系統概論 授課老師: 羅習五.
法律的解釋 楊智傑.
怎樣把同一評估 給與在不同班級的學生 How to administer the Same assessment to students from Different classes and groups.
Operating System Software School of SCU
Race Conditions and Semaphore
Chapter 4 Multi-Threads (多執行緒).
Experimental Analysis of Distributed Graph Systems
中正大學,資工系,作業系統實驗室 陽春副教授 羅習五
Presentation transcript:

中国科学技术大学计算机系 陈香兰 xlanchen@ustc.edu.cn Fall 2013 第三讲 线程 中国科学技术大学计算机系 陈香兰 xlanchen@ustc.edu.cn Fall 2013

内容提要 为什么要引入线程? 什么是线程? Benefits User and Kernel Threads Multithreading Models Solaris 2 Threads Reading: 汤子瀛,二版,2.4 Operating Systems Concepts,7th,chapter4

为什么要引入线程? Review 进程 考虑一个Web服务器 Fork a new process to do I/O? A big process that can do everything itself? For every client, FORK a new process? 创建一个进程是有代价的 Fork a new process to do I/O? 进程间通信是有代价的 If Multi-processors, ? 思路: 引入“分工合作”的概念 在进程内部进一步引入“并发”

So, separate computation/IO and resources 可行性: A task = computation/IO units + resources Computation/IO units Are (almost) independent in sense of computation/IO Should share the process’ address space and other resources So, separate computation/IO and resources

Process, a heavyweight process 什么是线程? 线程:有时又称为轻量级进程 是CPU调度的基本单位 Thread ID + PC + Register Set + stack 是进程中的一个运行实体 同属一个进程的线程之间,共享该进程的 code section, data section, and other resources Process, a heavyweight process Traditionally, has only one thread & can do only one task at a time Now, may contains multiple threads 资源的拥有者还是进程!

Single- & multithreaded process

引入线程概念后的应用举例 网页浏览器 显示图片,文字,放音乐,接收数据,… 文档编辑器 显示、输入、拼写检查

线程与进程的比较 调度 并发性 拥有资源 系统开销

引入线程的好处 Responsiveness Resource sharing Economy, when Interactive app. Resource sharing 1:N Economy, when Create a new …, E.g., in Solaris, 30 times slower Context switch, 5 times slower Utilization of multiprocessor architectures Threads of the same process may be running in parallel

引入线程,概念上的一些转变 进程基本属性的变化 切换的变化 地址空间上的变化: 一进程中的线程在另一进程中是不可见的; 通信手段上的变化: 独立性、调度和资源分配的单位 切换的变化 在同一进程内,线程的切换不会引起进程的切换; 地址空间上的变化: 在同一进程内,各线程共享同一地址空间; 一进程中的线程在另一进程中是不可见的; 通信手段上的变化: 同一进程内的线程间的通信主要是基于全局变量进行的;而以同步手段为辅。

线程的实现方式 User threads VS. Kernel threads User Threads Kernel threads Level User Kernel (OS) Implementation Thread Lib. Speed of operations Fast Slower Effect of block OP. Block all No effect Parallelism no yes E.X. POSIX Pthreads, Mach c-threads, Solaris threads WinNT, Solaris, Digital UNIX

User threads + kernel threads Three types 多线程的实现模型 User threads + kernel threads Three types N:1(N>1) 1:1 N:M(N>=M)

N:1, 1:1 & N:M Many-to-One One-to-One Many-to-Many Manager User level User + kernel Speed of OP Fast Slowest slower Effect of Block OP Block all Block itself Concurrency Only in its process Whole Whole (limited) Parallel NO YES YES (limited) E.g. WinNT, OS/2 Solaris, IRIX, Digital UNIX

Solaris 2 Threads User thread + LWP + kernel thread SMP N(1):1(0):1 Bound VS. unbound user-level thread LWP pool for a App. SMP

回顾 Benefits User and Kernel Threads Multithreading Models

作业 阅读参考书,请给出线程的定义。讲明出处。 阅读参考书,说明线程概念有几种实现方式?什么是用户态线程,什么是内核态线程?它们之间的对应关系有几种?说明出处。 与进程相比,引入线程主要有哪些好处? 无上机作业