- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
作业1,线程的管理和结构
线程的管理和结构
章川
华中科技大学自动化学院飞行器导航制导系
摘要:结合操作系统分析与设计课程相关的内容,对操作系统中线程的概念、使用、优化进行初步介绍。阐述经典的线程模型,了解单线程、多线程、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在线程之间的快速切换,制造了线程并行运行的假象,好似它们在一个
您可能关注的文档
- 人教版试题试卷传统发酵技术的应用单元测试题.doc
- 人教版试题试卷新人教版选修1专题1《传统发酵技术的应用》测试.doc
- 人教版试题试卷生物专题1《传统发酵技术的应用》测试(新人教版选修1).doc
- 人教版试题试卷湖北省宜昌市一中1112学年高一春季学期期中考试(生物).doc
- 人教版语文一年级下册分类复习拼音写汉字复习(大量).doc
- 人教版试题试卷高中生物现代生物进化理论阶段质量检测(五)新人教版必修2.doc
- 人教版语文七下期末测试题2(附答案).doc
- 人教版语文二年级下册复习资料.doc
- 人教版选修5第二章《烃和卤代烃》测试题.doc
- 人教版选修5课后作业第一章第三节第1课时有机化合物的命名.doc
最近下载
- 《铭记历史、珍爱和平》主题班会.pptx VIP
- 2023上半年博尔塔拉蒙古自治州事业单位考试《土木工程基础知识》试题及答案.docx VIP
- ASM焊线机维修培训.pptx VIP
- 2024-2025学年青岛黄海学院单招《数学》真题含完整答案详解(有一套).docx VIP
- 厨卫防水技术交底.doc VIP
- 水利水电工程专业工程地质期末考试试题及答案.docx VIP
- 当代文学史复习资料整理.doc VIP
- 黑龙江公众服务平台食品许可备案用户操作手册.pdf VIP
- 企业文化企业文化基本概念.ppt VIP
- 2023上半年阿克苏地区事业单位考试《土木工程基础知识》试题及答案.docx VIP
原创力文档


文档评论(0)