[其它]计算机软件基础004.ppt

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

第三章 操作系统 3.1 操作系统导论 3.1.1 操作系统的形成 所谓操作系统就是能有效地管理计算机系统中的各种软、硬件资源,合理地组织计算机的工作流程,为用户创造良好工作环境的系统软件。 3.1.2 操作系统的分类 1、批处理操作系统 (Batch Processing) 2、分时系统(Time Sharing ) 3、实时系统(Real Time) 3.1.4 操作系统的特征 1、并发性: 在一段时间内,多个进程同时运行。 2、共享性:指资源的共享。 (1)互斥共享:如打印机,一个使用,其他等待。 (2)同时访问:磁盘、处理机,一段时间内同时访问。 3、虚拟性 把一个物理实体,通过适当的方法,变成若干个 逻辑上的设备。如处理机、输入输出设备。使用户在 使用时感觉好像有多个设备在为其服务。 1、进程的同步与互斥的实现方法 用P-V原语对进程中信号量进行操作的方法(简称P-V操作)。 原语:由若干条机器指令构成,完成某一特定功能的一段程序。 P原语操作过程: P操作记为 P(S),其中S为一信号量,其执行顺序完成以下两个动作: (1)?????? S:=S?1,表示申请使用一个资源; (2)??????若S?0,表示系统中有资源可用,现进程可继续执行。 (3)??????若S?0,表示系统中没有可用资源,则置该进程阻塞状 态,到S信号量 的队列中去等待,直到其他进程在S上执行V操作释放它为止。 信号量的概念和P、V原语是荷兰科学家提出的。把交通管理的信号灯方法搬到了操作系统中。 所谓信号量是一个与 队列有关的整型变量,表示系统中某类资源的数量。当其值大于0时,表示系统中尚有可用资源;当其值为负时,其绝对值表示等待该资源的进程的数目。信号量的值仅能由P操作和V操作来改变,操作系统利用它的状态对进程和资源进行管理。 V原语操作过程: V操作记为 V(S),其中S为一信号量,其执行顺序完成以下两个动作: (1)?????? S:=S+1,表示释放一个资源; (2)??????若S?0,表示系统中没有等待该资源的进程,现进程 可继续执行。 (3) 若S?0,表示系统中有等待该资源的进程,则唤醒S信 号量队列中的第一个进程,使其插入到就绪队列,继 续执行现进程。 3、P-V操作的应用 (1)实现进程同步 (2)实现进程互斥 (3)实现进程同步与互斥——生产者与消费者问题 信号量S:初值为1,表示没有进程进入临界区。 信号量S0:初值为0,表示产品数目。 信号量Sn:初值为n,表示缓冲区中空位置个数。 3.2.6 进程通信 (1)消息缓冲通信 (2)信箱通信 (3)基于共享数据结构或共享存储区通信 进程的同步和互斥,生产者和消费者问题都是进程的通信方式,因通信交换信息少效率低称为低级通信方式。消息缓冲和信箱通信是两种高级通信方式,进程间可以传送大批数据信息,称成为高级通信。 S=0 把 P-V 操 作 用 于 进 程 同 步 ? ? ? 进程A C: P(S) 同步点 同步条件 ? ? ? 进程B V(S) 假定进程A前进到C点时,必须等到进程B执行完同步条件才能继续前进。为了实现进程A与进程B在C点同步,设置信号量S初始值为0。在进程A的C点处设置P操作,在进程B设置V操作。假定A先于B到达C点,它要在S上执行P操作,使S=-10,进程A被迫在S的队列等待,一直等到进程B执行了V操作之后,才能将其唤醒变为就绪。反之,假定在进程A到达同步点之前先对S做了V操作,使S=1,因此当进程A到达C点做P操作时,由于S减1为0,就不会受到阻碍而顺利地通过同步点。 初 值 :S1=0, S2=0; 查询进程S 把查询结果写到缓冲区 V(S1) P(S2 ) ? ? ? ? ? ? 打印进程P P(S1) 把缓冲区内容打印输出 V(S2) ? ? ? ? ? ? 查询进程S、打印输出进程P共同使用同一缓冲区。当进程S尚未完成查询没有将结果送入缓冲区之前,P进程只有等待,当查询结果写到缓冲区后进行V操作,表示已有可供打印的查询结果。打印进程在执行打印之前,执行P操作,则打印进程执行打印操作, S1表示缓冲区是否已有供打印的查询结果 S2表示缓冲区中的查询结果是否已被打印进程取走。 S=1 进程A的临界区 P(S) 进程A V(S) 进程B的临界区 P(S) 进程B V(S) 任何要进入

文档评论(0)

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

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

1亿VIP精品文档

相关文档