- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线程的管理和结构
章川
华中科技大学自动化学院飞行器导航制导系
摘要:结合操作系统分析与设计课程相关的内容,对操作系统中线程的概念、使用、优化进行初步介绍。阐述经典的线程模型,了解单线程、多线程、POSIX线程、内核线程、用户线程等等作简要介绍。结合Linux和Windows的线程实现方法进行对比,从而使读者对线程有更好的理解。
关键字:线程、操作系统、Linux、Windows
Management and Fabric of Threads
Zhang Chuan,chool of Automation,
Huazhong University of Science and Technology
Combined with the operating system analysis and design courses related content, the concept of operating system threads, use, optimization of initial presentation. Elaborate classic threading model to understand single-threaded, multi-threaded, POSIX threads, kernel threads, user threads, etc. briefly. Combined with Linux and Windows thread implementations were compared, so that readers have a better understanding of the thread.
Key words Threads;Operating System;Linux;Windows
在操作系统的世界里,进程与线程是绝对无法避免的问题,它是操作系统完成任务的子单元,是资源调度的控制中枢,进程线程的调度是衡量一个操作系统优劣的关键因素。进程与线程的问题,是计算机操作系统的经典问题,经过不断的探索,已经得到了近乎完美的解决,对这方面的研究也已经陷入高原区,偶尔的新研究点,也主要集中在对于多处理器的线程调度问题。本文主要是对线程的基本知识作简要的介绍,并结合Linux和Windows对线程管理作简要分析。
什么是线程?
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。
进程与线程之间存在着密不可分的关系,进程是资源管理的最小单位,线程是程序执行的最小单位。在操作系统设计上,从进程演化出线程,最主要的目的就是更好的支持SMP(Symmetric Multi-Processing,多处理结构
1)多进程情况下,每个进程有自己独立的地址空间,而在多线程的情况下,同一个进程内的线程共享进程的地址空间。创建一个新的线程耗费的资源要少很多。
2)系统调度方面,线程共享地址空间,因此线程间的切换速度要远远快于进程间的切换速度。
3)同一进程内的线程共享数据时,可以直接提供给其他线程使用,而不必经过操作系统,因此线程间通信更加方便和省时。
线程在进程内部共享地址空间、打开的文件描述符等资源。同时线程也有其私有的数据信息,包括:线程号、寄存器(程序计数器和堆栈指针)、堆栈、信号掩码、优先级、线程私有存储空间。
进程中至少包含一个线程,可能会包含多个线程,这是由一些应用本身的特性所决定的,如Andrew S. Tanenbaum举过的字处理软件的例子。
线程模型与状态分析
本节简要介绍线程模型与不同运行态。
2.1 线程模型
作为操作系统,一个集成的用于管理计算机各种资源的底层软件,必须能够满足客户多任务的要求,这种需求直接导致了多进程分时复用的模型,类似的,有些进程因为需要多任务并发运行,所以才有导致了线程,以致多线程的出现。
如下图2.1所示,摘自《现代操作系统》的经典线程模型图。类似于进程的多道程序设计,CPU在线程之间的快速切换,制造了线程并行运行的假象,好似它们在一个
您可能关注的文档
- 鲜生活线下实体店加盟白皮书讲述.pptx
- 应急预案案例分析国内案例摘要.pdf
- 第六章 三相异步电动机Y-△降压启动控制线路.pptx
- 用户手册(融易付客户端) 二期资料.pdf
- 随着互联网技术的出现与广泛应用.doc
- 怎样利用空闲时间来建立经济学模型-瓦里安详解.doc
- 第十一章 采用非递归深度优先遍历算法.doc
- 企业质量、环境、职业健康安全方针及目标.doc
- 参考文献的查找、引用与格式.doc
- 第八章 公文排版字体要求以及印制要求.doc
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)