[理学]多核架构及编程技术.ppt

  1. 1、本文档共108页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]多核架构及编程技术

第 三 章 多 线 程 编 程 基 础 Hardware and Software Threading Why Thread Your Application? 多核与多线程编程 多核与多线程编程 从进程(Process)说起 1、进程的引入 多个程序在执行时,需要共享系统资源,从而导致各程序在执行过程中出现相互制约的关系,程序的执行表现出间断性的特征。 这些特征都是在程序的执行过程中发生的,是动态的过程,而传统的程序本身是一组指令的集合,是一个静态的概念,无法从程序的字面上看出它何时执行,何时停顿,也无法看出它与其它执行程序的关系。 因此,程序这个静态概念已不能如实反映程序并发执行过程的特征。为了深刻描述程序动态执行过程的性质,人们引入“进程(Process)”概念。 2、进程的概念 进程的概念是60年代初首先由麻省理工学院的MULTICS系统和IBM公司的CTSS/360系统引入的。 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。 进程是操作系统中最基本、重要的概念,是多任务程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有并行程序设计操作系统都建立在进程的基础上。 凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的操作系统本身; 用户进程就是所有由用户启动的进程。进程是操作系统进行资源分配的单位。 操作系统引入进程概念的原因: 从理论角度看,是对正在运行的程序过程的抽象; 从实现角度看,是一种数据结构,目的在于清晰地刻划动态系统的内在规律,有效管理和调度进入计算机系统主存储器运行的程序。 进程(Process)概念 进程(process) 离散的(执行)程序任务集合。 一个进程包括: 进程ID,进程组ID,用户ID,组ID; 环境 工作目录 程序指令 寄存器 堆栈(Stack) 堆(Heap) 文件描述符 信号操作 共享库 进程间通信工具 消息队列、管道、信号量、共享内存 3、进程的特征 动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的。 并发性:任何进程都可以同其他进程一起并发执行 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位; 异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进 结构特征:进程由程序、数据和进程控制块三部分组成。 进程(Process)与程序 进程为应用程序的运行实例,是应用程序的一次动态执行。我们可以简单地理解为:它是操作系统当前运行的执行程序。在系统当前运行的执行程序里包括:系统管理计算机个体和完成各种操作所必需的程序;用户开启、执行的额外程序,当然也包括用户不知道,而自动运行的非法程序(它们就有可能是病毒程序)。 进程就像一个大容器,在应用程序被运行后,就相当于将应用程序装进容器里了,你可以往容器里加其他东西(如:应用程序在运行时所需的变量数据、需要引用的DLL文件等),当应用程序被运行两次时,容器里的东西并不会被倒掉,系统会找一个新的进程容器来容纳它。 4、进程与程序的关系 程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念;而进程是程序在处理机上的一次执行过程,它是一个动态的概念。 (1)程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的。 (2)进程更能真实地描述并发,而程序不能;进程是由程序和数据两部分组成的。 (3)进程具有创建其他进程的功能,而程序没有。 (4)同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程。也就是说同一程序可以对应多个进程。 (5)在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单元都是进程。 5、进程与线程的关系 通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。 在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。 近年来推出的通用操作系统都引入了线程,以便进一步提高系统的并发性,并把它视为现代操作系统的一个重要指标。 进程与线程的关系(回顾) 程序在操作系统中作为进程方式存在、获取

文档评论(0)

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

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

1亿VIP精品文档

相关文档