网站大量收购独家精品文档,联系QQ:2885784924

作业1,线程的管理及结构.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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在线程之间的快速切换,制造了线程并行运行的假象,好似它们在一个

文档评论(0)

0520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档