华工软件基础操作系统进程及进程管理讲解.ppt

华工软件基础操作系统进程及进程管理讲解.ppt

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

并发 vs. 并行 并发:concurrent 多个任务宏观上同时,微观上“交替执行”(交替占有CPU),不要求有多个处理器(CPU)。 多道程序设计技术 并行:parallel 多个任务微观上同时执行(同时占有不同CPU),要求有多个处理器。 “并行计算机”、“并行算法” 关于进程类型 系统进程 运行操作系统程序,完成系统管理(服务)功能。例如: Windows系统: system, svchost UNIX系统: #0 -- sched, #1 -- init 用户进程 运行用户(应用)程序,为用户服务。例如: Windows系统: word, foxmail UNIX系统: vi, shell 关于进程的特点 并发性:可以与其它进程一道向前推进; 动态性:动态产生、消亡,进程在生存期内的状态动态变化; 独立性:进程是可调度的基本单位; 交互性:同时运行的进程可能发生相互作用; 异步性:进程以各自独立、不可预知的速度向前推进; 结构性:每个进程有一个PCB结构来描述。 (1)线程概念的引入 20世纪80年代中期,为进一步提高系统资源利用率,在进程的基础上又提出了线程的概念。现代操作系统中,大多数都引入了线程,如Windows。 (2)线程的定义 线程(Thread)可以定义为“进程内的一个执行单位”或“进程内的一个可调度实体”,它也可以描述为进程的一条执行路径(执行流)。 一个进程可以有多条执行路径,即线程。 单个程序中同时并发运行多个线程完成不同的任务称为多线程。 关于进程和线程 关于多进程与多线程 为什么要在进程中建立线程? 进程既是系统调度的基本单位,又是拥有资源的基本单位,在进程创建、撤销和状态切换过程中,系统要付出较大的时间和空间开销,限制了系统中的进程数目,影响了并发度的进一步提高。 引入线程后,进程只是拥有资源的基本单位,而线程才是处理机调度的基本单位。这样,提高并发度和减少系统开销的目标都能达到。引入多线程不是为了提高运行效率,而主要是为了在完成多任务的同时提高资源使用效率。 为什么要在进程中建立线程(续)? 采用了多线程技术的应用程序可以更好地利用系统资源。其主要优势在于: 充分利用了CPU的空闲时间片,可以用尽可能少的时间来对用户的要求做出响应,使得进程的整体运行效率得到较大提高,同时增强了应用程序的灵活性。 更为重要的是,由于同一进程的所有线程是共享同一内存,所以不需要特殊的数据传送机制,不需要建立共享存储区或共享文件,从而使得不同任务之间的协调操作与运行、数据的交互、资源的分配等问题更加易于解决。 (3)线程的优点 占用资源少:线程自身基本上不拥有系统资源,只拥有少量在运行中必不可少的资源(如程序计数器、寄存器和栈等) ,因而线程也因其系统开销小而被称为轻型进程或轻量级进程。 切换速度快:线程可与同属一个父进程的其它线程共享父进程所拥有的全部资源;由于共享地址和数据空间,线程具有切换速度快、通信简单的优点。 可并发执行:一个线程可以创建或撤销另一个线程;同一进程中的多个线程都在该进程的地址空间活动,相互之间也可以并发执行。 (4)线程的缺点 多线程的运行需要系统进行协调和统一管理,CPU需要额外跟踪线程。 线程太多会导致控制的复杂度增加,会引发不必要的错误。 线程之间对共享资源的访问会相互影响,系统需要解决共享资源的竞争问题。 存在移植性限制。32位操作系统和64位操作系统中的线程、不同版本的操作系统中的线程有所差异,执行顺序也有差异。另外,并非所有OS支持多线程。 7. Dead Lock(死锁) An example : System has 2 tape drives. P1 and P2 each hold one tape drive and each needs another one. A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set. 死锁:在两个或多个并发进程中,如果每个进程持有某种资源而又都等待着别的进程释放它或它们占有的资源,就会陷入僵局,都不能向前推进。 死锁是两个或多个进程无止境地等待着永远不会成立的条件的一种系统状态。 Mutual exclusion: a resource can only be occupied by one process at a time. (互斥条件) Hold and wait: a process holding at least one resource is waiting to acquire additiona

文档评论(0)

宝贝计划 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档