好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

计算机操作系统入门.ppt

59页
  • 卖家[上传人]:ji****72
  • 文档编号:56771750
  • 上传时间:2018-10-15
  • 文档格式:PPT
  • 文档大小:407.50KB
  • / 59 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第3课 进程管理本次课学习如下知识: • 进程的概念• 程序的并发执行• 进程及其特征• 进程的状态• 进程控制块FCB• 进程调度• 进程控制• 进程协作• 进程间的通信 • 线程,第2章 进程管理处理机是计算机系统中最重要的资源之一,操作系统对处理机的管理是最重要的功能之一 操作系统负责如下活动和进程管理:创建、删除用户进程和系统进程,进程调度,进程同步,进程通信,以及进程死锁的处理 本章将讨论如下几个方面的知识: 1.进程的概念:进程的状态、进程的调度、进程操作与协作、进程的通讯、进程的特征 2.进程的同步:同步的概念、同步的实现 3.处理机调度:调度标准、调度算法、多处理机调度、实时调度、算法评估 4.死锁:死锁的定义、死锁的特点、死锁的处理、死锁的预防、死锁避免、死锁检测、死锁的恢复2.1 进程的概念2.1.1程序的并发执行1.程序的顺序执行的特点 • 顺序性: • 封闭性: • 可再现性: 2.程序的并行执行 • 并发程序比起顺序程序具有高得多的复杂性• 程序与计算不再一一对应 • 计算之间存在复杂的相互制约关系2.1.3 进程的状态进程包含以下几个状态: • 运行状态: • 就绪状态: • 阻塞状态: 进程的三种关系是可以转换的,它们之间的转换关系如下图所示,进程状态的转换,2.1.4 进程控制块PCB• 进程控制块是用于对当前系统中的进程进行控制和管理。

      • 进程控制块描述和记录了进程在整个生命周期内动态变化的数据结构特征 • PCB是进程存在的惟一标志 1.进程控制块中的信息 • 进程标识: • 进程状态: • 程序计数器: • CPU调度信息: • CPU寄存器: • 内存管理信息: • 输入/输出状态信息: 2.PCB的组织方式 • 链接方式: • 索引方式:,2.1.5 进程调度1. 调度队列 • 进程的作业队列: • 进程的就绪队列:由一个链表组成,链表的头包含着指向第一个进程PCB的指针和指向最后一个进程PCB的指针 • 进程的等待队列: 2. 进程调度程序 • 进程调度 • 作业调度程序 3. 进程切换系统要储存老进程的状态信息,同时还要装入新进程的状态信息2.1.6 进程控制操作系统的进程创建和撤消机制 1.进程创建 • 子进程,父进程 • 导致一个进程去创建另一个进程的典型事件: 用户登录、作业调度、提供服务 2.进程撤消 • 进程的删除 • 进程的终止 • 引起进程终止的事件:正常结束、异常结束、外界干预2.1.7 进程协作• 独立进程与是协作进程 • 允许进程协作的原因: ⑴信息共享: ⑵加快运算速度: ⑶模块化: ⑷方便:,2.1.8 进程间的通信• 协作进程通过共享内存实现它们之间的通信。

      • 操作系统提供的进程通信设施IPC实现进程之间的通信 • IPC的最佳方案是消息传递系统1. 消息传递系统 ⑴直接通信: 模式1:对称地址形式 在直接通信方式中每一个要通信的进程必须显示接收信息进程名和发送信息进程名其定义形式为:Send( P, Message)—给进程P发送信息Receive( Q, Message)—从进程Q接收信息 模式2:非对称地址形式 由发送进程指定通信进程名,而接收进程则不要求其格式为:Send( P, Message)—给进程P发送信息Receive( ID,Message)—从任何进程接收信息 其中:变量ID将会被进程名所代替⑵间接通信 对于间接通信,发送和接收的消息都是放在信箱中,每个信箱都有惟一的标识其Send和Receive可定义如下:Send( A, Message)—将信息发送至A信箱Receive( A, Message)—从A信箱接收信息 这种模式下,其通信链有如下特点: ①仅仅当一对进程具有共享信箱时,他们之间可建立连接 ②一个连接也可能与两个以上的进程有关 ③每一对通信进程之间,可能有许多不同的连接,而每一个连接对应一个信箱 • 如果信箱属于一个进程(也就是信箱是进程的地址空间的一部分),则当这个进程终止时,它的信箱也就随之消失。

      • 如果一个信箱属于操作系统,则它是独立的而不属于任何进程,因此操作系统提供了一种机制而允许进程作如下操作:创建新信箱、通过信箱发送和接收信息、删除信箱2.缓冲区 无论通信是直接还是间接,进程间的信息交换都驻留在缓冲区中的临时队列中这种队列有三种实现方法: • 零容量: • 有界容量: • 无界容量:,2.1.9 线程为了减少系统的开销,提高程序的并发执行效率,而产生了线程的概念 1. 线程简介 • 轻量级进程:是被系统独立调度和CPU的基本运行单位 • 多线程: 2.多线程的优点 多线程编程的优点可有以下四点: • 响应: • 资源共享: • 经济: • 多处理器结构的应用: 3.用户线程和内核线程 • 线程的实现方式:用户线程、内核线程 • 用户线程 • 内核线程,小结 进程的概念是操作系统最重要的概念处理机的管理主要是进程的管理 学习本章时,首先要理解进程的概念、处理机调度的概念、死锁的概念重点知识是:一是与进程管理有关的的知识,包括进程状态、进程调度、进程协作、进程通讯、进程同步;二是与处理机有关的知识,包括处理机调度的标准、算法,多处理机调度,算法评估。

      本讲应掌握的知识:• 进程及其特征• 进程的状态、进程控制块PCB• 进程调度、进程控制难点知识: • 进程的概念 • 进程协作• 进程间的通信 • 进程同步的实现和处理机调度算法的评估第4课 进程的同步 本次课学习如下知识:• 同步的概念• 临界资源• 临界区问题• 同步的实现,2.2 进程的同步进程的引入虽然改善了系统的资源利用率和提高了系统的吞吐量,但是进程的异步性,特别是它们在争用临界资源时,会给系统造成一定的混乱为了解决这个问题,提出了进程同步的概念2.2.1 同步的概念 系统中存在着许多进程,它们之间可以有两种关系: 1.资源共享 • 进程是独立运行的基本单位,各个进程彼此之间没有联系,但它们同处于一个系统中,共享系统资源 • 进程在访问这些资源时,可能会被系统中运行的其它进程所影响2.相互协作 • 协作进程可能直接共享逻辑地址空间(比如代码和数据)或通过文件共享数据 • 并发访问共享数据,可能会导致数据的不一致性 3.进程同步的任务 • 保证各进程能互斥地访问这些资源(有效地共享资源) • 保证协作进程或线程的顺序执行,使它们不会出现与时间有关的差错,对数据的一致性进行维护(有效地相互合作)。

      2.2.2 临界资源• 临界资源的概念:在一段时间内只允许一个进程访问的资源 • 对临界资源的访问必须采用互斥的方式进行,以实现对资源的共享生产者-消费者问题:一个经典同步问题来说明进程同步的必要性这个问题的主要描述如下: 有一个生产者进程在生产消息,并提供给消费者进程进行消费,所生产的消息存放在一个有几个缓冲区的缓冲池中生产者进程可将它所生产的消息放入一个缓冲区中,消费者进程则从一个缓冲区中取走一个消息它们之间必须保持同步,即不允许消费者进程到一个空缓冲区中去取消息,也不允许生产者进程向一个已装满消息而尚未取走的缓冲区中投放消息,其代码如下:,生产者代码: While (Count= =Buffer_SIZE) ++Count; //增加一项至缓冲区 Buffer[in]=item; in=(in++)%Buffer_SIZE);消费者代码: While(count= =0) --Count; //从缓冲区减去一项 item=Buffer[out]; out=(out+1)%Buffer_SIZE;,其中指针in来指示下一个可存放消息的缓冲区,每存放一个消息,in+1。

      指针out来指示下一个可获得消息的缓冲区,每当取走一个消息后,输出指针out+1由于缓冲池是循环缓冲,因此输入指针in=(in++)%Buffer_SRE,输出指针out=(out++)%Buffer_SRE 尽管两段代码是正确的,但当他们并行运行时,其结果也许不正确原因是两段进程共享变量Count, Count是缓冲区中项目的计数,++Count和--Count用机器语言实现为如下操作: r1=Count; r1=r1+1; Count=r1;r2=Count; r2=r2-1 Count=r2,假设Count 为5,如果两段进程是按顺序执行,则不会产生错误,即可得到结果:Count=5 然而如果我们按如下顺序执行,则我们会得到错误的结果即:Count=4 T0: 生产者进程执行:r1=Count; T1: 生产者进程执行:r1=r1+1; T2: 消费者进程执行:r2=Count; T3: 消费者进程执行:r2=r2-1; T4: 生产者进程执行:Count=r1; T5: 消费者进程执行:Count=r2;而如果我们交换T4和T5的顺序,我们又会得到count=6的错误结果。

      2.2.3 临界区问题 • 临界区的概念:将多个进程访问临界资源的那一段程序代码称为临界区 • 在临界区中,进程能改变变量的值,更新数据表或写文件等 • 系统只允许一个进程在临界区执行,而不允许其它进程进入临界区 • 解决临界区问题必须遵循的原则: 1. 当某一时刻没有进程处于临界区内时,相应的临界资源处于空闲状态因而可允许一个请求进入临界区进程立即进入临界区,以有效地利用临界资源 2. 如果此时已有进程进入临界区,则其它试图进入临界区的进程必须等待,以保证各进程互斥地访问临界资源 3. 当某个进程申请进入临界区时,它应在有限时间内获得系统的响应,而能够进入临界区,以免进程陷入无限等待状态 4. 当进程不能进入临界区时,应立即释放处理机,以免进程陷入忙等待状态2.2.4 同步的实现解决临界区问题可以用软件或硬件实现使用硬件实现进程的同步,可以使用户的编程任务更容易且系统的效率更高 1.关中断 • 使用关中断解决单处理器环境下临界区的问题 • 使用关中断不能解决多处理器环境下临界区的问题 • 关闭中断将延误处理器的处理时间,使系统性能下降2.锁变量的测试与设置 • 锁变量Lock: • 测试锁变量Lock: • 设置锁变量: • “测试与设置”指令:,3.信号量 • 信号量: • PV操作: ⑴P操作 P(S) { S--; if (S>=0) 继续执行; else 阻塞并进入等待队列; },⑵V操作V(S){ S=S+1; if (S> 0) 继续运行; else 唤醒等待队列中的一个进程,并继续运行; } • PV操作实现进程的互斥,小结本次课应掌握的知识:• 进程之间和资源共享和进程相互协作的概念。

      • 进程同步的必要性 • 临界资源的概念以及对临界资源访问的解决方案• 临界区的概念和解决临界区问题必须遵循的原则• 锁变量的设置与测试难点知识:• 如何实现进程的同步:关闭中断的概念及其优缺点• P操作和V操作的实现和如何使用PV操作实现进程的互斥,第5课 处理机调度 本次课学习如下知识:• 基本概念• 调度标准• 调度算法• 多处理器调度• 实时调度• 算法评估,2.3 处理机调度2.3.1基本概念调度是操作系统的基本功能,几乎所有的系统资源都是通过调度而被使用 1. 调度程序 • 操作系统做出选择进程的决定是由调度程序来实现的 • 调度程序面临的问题: 2. 调度类型 从作业进入系统到作业运行完毕,它要经历以下调度过程: • 高级调度 作业调度(长程调度)、接纳调度 每次执行作业调度时,都需要做出以下两个决定: ①接纳多少个作业: ②接纳哪些作业:,。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.