操作系统课件(1).ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.6 预防死锁的方法 3.6 预防死锁的方法 一.预防死锁 3.6 预防死锁的方法 3.7 死锁的检测和解除 进程管理小结 传统的OS中,处理机的分配和运行都是以进程为单位的,因而操作系统五大功能中的处理机管理可归结为对进程的管理。 提高资源利用率最有效的途径是多道程序设计技术。 为了使程序能正确地并发执行,引入了进程的概念。 为了使相互制约的进程能正确地并发执行,引入了同步。 为了减小并发执行的开销,提高并发的程度,又引入了线程的概念。 进程管理的功能: (1)进程的控制:进程的创建和终止,控制进程状态的转换; (2)进程同步:保证有制约关系的进程之间能够正确地并发执行; (3)进程通信:完成进程之间信息的交换; (4)进程(线程)调度:在多个就绪进程(线程)中分配处理机。 死锁考题举例: 4. 某系统中仅有m个同类资源,由n个进程互斥使用,如果每个进程对该类资源的最大需求量为w,那么当m、n、w分别取表中的值时,哪种情况可能发生死锁: 答案:A/B/D不会发生死锁;C/E可能发生死锁。 3 2 2 1 2 w 3 3 2 2 1 n 4 4 2 2 2 m E D C B A 3.8 线程的基本概念 1.并发应用需求的实例 例:数据库服务器需要同时处理来自多个客户端的数据查询请求,这些请求都是针对同一数据库的数据的。 解决方法: (1)设置一个进程顺序处理所有请求; 等待时间长,响应时间慢 (2)设置多个进程分别处理多个请求; 进程创建、调度、终止开销大 同步复杂 进程的两个属性 (1)进程是系统拥有资源的独立单位; (2)进程是独立调度和分派的基本单位。 一. 线程的概念 2. 线程的引入 将拥有资源的实体和执行的实体分开,使执行的实体具有较少的资源,从而减少并发执行的开销,从而提高系统的并发程度。 拥有资源的基本单位——进程; 执行的基本单位(即CPU调度和分派的单位)——线程。 线程是进程内一个相对独立的运行单位,一个进程可以有一个或多个线程(至少有一个),这些线程共享这个进程的代码、数据及大部分管理信息,但每个线程有自己的程序计数器、堆栈和线程控制块。 线程的概念 单线程的进程模型 PCB 地址空间 (代码 和 数据) 堆栈 多线程的进程模型 PCB 地址空间 (代码 和 数据) 堆栈1 TCB1 堆栈n TCBn … 传统OS(如MS-DOS,传统的UNIX等)只有进程的概念,没有线程的概念,可以将它看成是单线程的进程模型。而引入线程概念后的OS(如Solaris, Windows)中,一个进程中可以包含多个线程。 线程的概念 线程1 线程n n≥1 一. 线程的概念 3. 线程的基本属性 (1)轻型实体: TCB+堆栈+一组寄存器 (2)独立调度和分派的基本单位; (3)可并发执行; (4)共享进程资源; 共享进程的地址空间,线程间无法进行数据保护 (5)线程有生命周期,在生命周期中有状态变化。 LWP(轻量进程) 一. 线程的概念 4.线程与进程的比较 线程轻装上阵,创建、终止以及调度时只需做极少量得资源管理工作,开销较小;线程共享进程的地址空间,通信更容易 创建、终止以及进程调度要做大量资源管理方面的工作,开销较大 系统开销 拥有资源的基本单位仍是进程,线程可以共享进程的资源,线程自身只拥有程序计数器、堆栈、TCB等极少量资源 拥有资源的单位是进程 拥有资源 多个进程可以并发执行,一个进程中的多个线程也可以并发执行,并发程度更高 多个进程可以并发执行 并发性 调度的基本单位是线程,进程不再是调度的基本单位 调度的基本单位是进程 调度 引入线程OS中的线程和进程 传统OS中的进程 5. 线程状态 (1)就绪态: (2)执行态; (3)阻塞态; (4)终止态; Windows2000/xp的线程状态: (1)初始化状态; (2)就绪状态; (3)备用状态; (4)运行状态; (5)等待状态; (6)转换状态 (7)终止状态; 二. 线程管理(自学) TCB的管理; 主要的线程控制原语: (1)线程创建原语; (2)线程撤销原语; (3)线程阻塞原语;

文档评论(0)

喵咪147 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档