2022年操作系统知识 .pdf
《2022年操作系统知识 .pdf》由会员分享,可在线阅读,更多相关《2022年操作系统知识 .pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 3 章 操作系统知识1、进程3-111 进程的三态图(熟练)就绪状态:进程已得到运行所需资源,只等待CPU的调度便可运行。运行状态:进程已得到运行所需资源,并且得到了CPU的调度等待状态:不具备运行条件、等待时机状态。另:等待状态也称阻塞状态。进程的五态图(了解)挂起(资源由内存到外存)恢复或激活(资源由外存到内存)Eg:下列 8 个叙述中,正确的是: ()1) 唤醒:挂起 -就绪2) 封锁:就绪 -挂起/ 激活或恢复3) 调度:就绪 -运行4) 超时:运行 -挂起/ 5) 超时:运行 -就绪/ 时间片到(超时) ,或被更高优先级进程剥夺6) 用户进程可激发调度进程/ 由操作系统系统进程控
2、制7) 用户进程可激发唤醒进程/ 8) 用户进程可激发超时进程/ 由操作系统系统进程控制进程死锁:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - 进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一个不可能发生的事, 则进程就死锁了。 而如果一个或多个进程产生死锁,就会造成系统死锁。Eg: 系统中有 3 个进程: A、 B、C。这三个进程都需要5 个系统资源。如果系统有 13 个资源,则不可能发生
3、死锁。如果系统有12 个资源,就有可能发生死锁。死锁发生的必要条件:1) 互斥条件:即一个资源每次只能被一个进程使用,在操作系统中这是真实存在的情况。2) 保持和等待条件:有一个进程已获得了一些资源,但因请求其他资源被阻塞时,对已获得的资源保持不变。3) 不剥夺条件: 有些系统资源是不可剥夺的,当某个进程已获得这种资源后,系统不能强行收回,只能有进程使用完时自己释放。4) 环路等待条件:若干个进程形成环形链,每个都占用对方要申请的下一个资源。解决死锁的策略:1) 死锁预防:例如:要求用户申请资源时一起申请所需的全部资源,这就破坏了保持和等待条件;将资源分层,得到上一层资源后,才能申请下一层资源
4、,它破坏了环路等待条件。预防通常会降低系统的效率。2) 死锁避免:避免是指进程在每次申请资源时判断这些操作是否安全,典型算法是“银行家算法” 。但这种算法会增加系统的开销。3) 死锁检测 * :前两者是事前措施,而死锁的检测则是判断系统是否处于死锁状态,如果是,则执行死锁解除策略。4) 死锁解除 * :这是与死锁检测结合使用的,它使用的方式就是剥夺。即将资源强行分配给别的进程。Eg:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - -
5、- 选 B 首先求剩下的资源数:R1=9-(1+2+2+1+1)=2 R2=8-(2+1+1+2+1)=1 R3=5-(1+1+3)=0 前趋图:前趋图是一个 有向无环图 , 记为为 DAG,用于描述进程之间执行的前后关系。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - 图中的每个节点都用于描述一个程序段或进程,乃至一条语句; 节点间的有向边则用于表示两个节点之间存在的偏序或前趋关系“ -” 。如果 Pi 必须在 Pj 之前完
6、成,可写成PiPj,称 Pi 是 Pj 的直接前驱,而称Pi是 Pj 的直接后继。在前驱图中,把没有前驱的节点称为初始节点 ,把没有后继的节点称为 终止节点 。Eg:若有运算式: S=A + B*3/X + X*9 ,要求画出此运算过程的前驱图。S1:Z1= B*3 S2:Z2=X*9 S3:Z3=Z1/X S4:Z4=A+Z3 S5:S=Z4+Z2 Eg: 若每执行一条指令都要分:取值,分析,执行三部分。如下图所示,则如何用前驱图来表示此流水线的执行?流水线的前驱图:进程-PV操作 (同步、互斥) (必考)生产者与消费者(producer-consumer)问题是一个著名的进程同步问题。它描
7、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - 述的是:有一群生产者进程在生产产品,并将这些产品提供给消费者进程去消费。为使生产者进程与消费者进程能并发执行,在两者之间设置了一个具有N个缓冲区的缓冲池,生产者进程将它所生产的产品放入一个缓冲区中;消 费 者进程可从一个缓冲区中取走产品去消费。尽管所有的生产者进程必须保持同步, 即不允许消费者进程到一个空缓冲区去取产品; 也不允许生产者进程向一个已装满产品且尚未被取走的缓冲区中投
8、放产品。临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等。临界区:每个进程中访问临界资源的那段代码称为临界区。在操作系统中, 进程之间经常存在互斥(都需要共享独占资源时)和同步(完成异步的两个进程的协作)两种关系。信号量: S是一种特殊的变量。表示资源的有无P操作:也称down()、wait() 操作,使 S=S-1 ,若 S0 ,进程暂停执行,放入信号量等待队列。V 操作:也称up()、signal()操作,是 S=S+1 ,若 S=0 ,唤醒等待队列中的一个进程。单缓冲区生产者、消费者问题PV原语描述:S1初值为 1(缓冲池有空间,即有资源),S2初值为 0(缓冲池无货
9、物,即无资源)生产者:消费者:生产一个产品;P(S2) ; / (S2-1)=0 P(S1) ; /(S1-1)=0从缓冲区取走产品;送产品到缓冲区;V(S1) / (S1+1)=1 V(S2) ; / (S2+1)=1 消费产品;多缓冲区生产者、消费者问题PV原语描述:S1初值为 1(缓冲池有空间,即有资源),S2初值为 0(缓冲池无货物,即无资源)Mute 初值为 1(缓冲资源是否被占用)生产者:消费者:生产一个产品;P(S2) ; / (S2-1)=0 P(S1) ; /(S1-1)=0P(mute )P(mute)/ (mute-1)=0 从缓冲区取走产品;送产品到缓冲区;V(mute
10、 ); V(mute )/(mute+1)=1 V(S1) / (S1+1)=1 V(S2) ; / (S2+1)=1 消费产品;Eg: 设公交车上司机的活动是启动车辆,正常行车, 到站停车; 售票员的活动是关车门,售票,开车门,用信号量和P-V操作来实现它们的同步。S1=0 (是否允许司机启动汽车)S2=0 (表示是否允许售票员开车门)(先执行 )司机:售票员 : P(S1) / S1-1=0 关车门启动车辆V(S1) / S1+1=1 允许开车正常行驶售票到站停车P(S2) / S2-1=0 允许开门名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
11、- - - - - - 名师精心整理 - - - - - - - 第 5 页,共 19 页 - - - - - - - - - V(S2)开车门上下客读者写者问题:有两组并发进程:读者和写者,共享一组数据区。要求:允许多个读者同时执行读操作;不允许读者、写者同时操作;不允许多个写者同时操作;如果读者来:1) 无读者、写者,新读者可以读2) 有写者等, 但有其他读者正在读,则新读者也可以读 (可能产生问题)3) 有写者写,新读者等如果写者来:1) 无读者,新写者可以写2) 有读者,新写者等待3) 有其他写者,新写者等待PV原语描述:读者:写者:while(true) while(true) P(
12、mute); readcount+; If(readcount=1) P(w); P(w); 写;V(mute); V(w); / 读; P(mute); readcount-; If(readcount=0) V(w); /可写V(mute); 管程:管程是指关于共享资源的数据及在其上操作的一组过程或共享数据结构及其规定的所有操作。采用 P-V同步机制摆编写并发程序,对于共享变量及信号量变量的操作将被分散与各个进程中。缺点:1) 易读性差,2) 不利于修改和维护;3) 正确性难以保证;2、存储程序的装入(重定位)1) 静态重定位: 静态重定位是在虚空间程序执行之前有装配程序完成地址映射工作。
13、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - 2) 动态重定位:动态重定位是指程序执行过程中,在CPU 访问内存之前,将要访问的程序或数据地址转换为内存地址。存储实存管理存储管理的任务是存储空间的分配与回收。在现代的操作系统中通常有单一连续分配、固定分区分配、可变分区分配三种分配方法:分配方法单一连续分配固定分区分配可变分区分配分配类型静态分配法静态分配法动态分配法分配特点不分区,所有用户空间给某个进程或作业分 成 大 小
14、不 等 的 区域,区域分完后固定不变分 成 大 小 不 等 的 区域,根据用户要求动态分配在可变分区分配方式中,当有新作业申请分配内存时所采用的存储分配算法有名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 19 页 - - - - - - - - - 以下四种:1) 最佳适应法 :选择等于或最接近作业需求的内存自由区进行分配。这种方法可以减少碎片,但同时也可能带来更多小得无法再用的碎片。2) 首次适应法 :从主存地址开始,寻找第一个可用(即大于等于作业需求的内存)的自由区
15、。这种方法可实现快速分配,缩短查找时间。3) 最差适应法 :选择整个主存中最大的内存自由区。4) 循环首次适应算法:是首次是英法的一个变种,也就是不在是每次都从头开始匹配,而是连续向下匹配。Eg:某计算机系统的内存大小是128K,采用可变分区分配方式进行内存分配,当前系统的内存分块情况如右图所示,现有作业4 申请内存9k,几种不同的存储分配算法在分配中,会产生怎样的结果?首次适应法:最佳适应法:最差适应法:循 环 首次适应算法:Eg:假设某计算机系统的内存大小为256KB,在某一时刻内存的使用情况如表(a)所示。此时,若进程顺序请求20KB,10KB,5KB 的存储空间,系统采用算法为进程一次
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年操作系统知识 2022 操作系统 知识
限制150内