当前位置: 首页 > news >正文

云南省建设培训网站免费做游戏小程序的网站

云南省建设培训网站,免费做游戏小程序的网站,营销推广技巧,中国建筑设计网站文章目录第二章 进程管理进程调度的时机、方式、切换与过程(一)进程调度的时机(二)进程调度的方式(三)进程的切换与过程小结第二章 进程管理 进程调度的时机、方式、切换与过程 时机 什么时候需要进程调度…

文章目录

  • 第二章 进程管理
    • 进程调度的时机、方式、切换与过程
      • (一)进程调度的时机
      • (二)进程调度的方式
      • (三)进程的切换与过程
    • 小结

第二章 进程管理

进程调度的时机、方式、切换与过程

  • 时机
    • 什么时候需要进程调度?
    • 什么时候不能进行进程调度?
  • 切换与过程
    • “狭义的调度”与“切换”的区别
    • 进程切换的过程需要做什么?
  • 方式
    • 非剥夺调度方式(非抢占式)
    • 剥夺调度方式(抢占式)

(一)进程调度的时机

  进程调度(低级调度),就是按照某种算法从就绪队列中选择一个进程为其分配处理机。

  什么时候需要进行进程调度与切换?

  (1)当前运行的进程主动放弃处理机

    ①进程正常终止;

    ②运行过程中发生异常而终止;

    ③进程主动请求阻塞(如 等待I/O)。

  (2)当前运行的进程被动放弃处理机

    ①分给进程的时间片用完;

    ②有更紧急的事需要处理(如 I/O中断);

    ③有更高优先级的进程进入就绪队列。


  而进程调度并不是什么时候都能进行的,有些时候不能进行进程调度与切换。

  (1)在处理中断的过程中。由于中断处理过程很复杂,与硬件密切相关,因此很难做到在进行中断处理过程、处理到一半的时候,去进行进程切换的。

  (2)进程在操作系统内核程序临界区中。(下文会具体讲)

  (3)在原子操作过程中(原语)。原子操作不可中断,要一气呵成(如之前讲过的修改PCB中进程状态标志,并把PCB放到相应队列。而如果在执行到一半去进行进程调度与切换了,就有可能导致数据不匹配、安全隐患)


  进程在操作系统内核程序临界区不能进行调度与切换。(正确表述)

  (2012年联考真题)进程处于临界区不能进行处理机调度。(错误!)

  临界资源:一个时间段内只允许一个进程使用的资源。各个进程需要互斥地访问临界资源。(你访问临界资源的时候我不能访问,我访问临界资源的时候你不能访问,这就是互斥的意思)

  临界区:访问临界资源的那段代码。(因此,各个进程肯定也要互斥地进入临界区。因为“进入临界区” = 运行访问临界资源的代码 = 访问临界资源)

  内核程序临界区一般是用来访问某种内核数据结构的,比如进程的就绪队列(由各就绪进程的PCB组成)。

  当一个进程正处于内核程序临界区,而这个临界区是访问就绪队列的话。那么,在访问之前,它会把这个就绪队列上锁。

image-20230309144329030

  而如果说这个进程当前还没有退出内核程序临界区的话,也就意味着,这个临界资源并没有被解锁。那么,在没有解锁的情况下,如果我们要发生进程调度的话,那么进程调度是肯定要访问就绪队列这一临界资源的。而由于就绪队列这一临界资源此时还处于上锁的状态,所以,如果在这种情况下去进行进程调度的话,那么此时肯定是没办法顺利进行进程调度的。

  所以,可以看到,对于内核程序临界区访问的这些临界资源,也就是这些内核数据结构而言。如果这些内核数据结构、这些临界资源被上锁了,并且没有被尽快释放的话,那么就有可能影响到操作系统内核其他的管理工作。

  所以,我们在访问内核程序临界区的期间内,我们不能进行进程的调度和切换。我们必须让进程尽快执行完那些内核程序临界区的代码,之后尽快地把对临界资源上的锁给解除,只有这样其他的操作系统内核才能有序进行管理工作。

  而另外一种情况。

  假如这个进程访问的是一种普通的临界资源,比如是一个打印机。那么,它在访问打印机的时候,会先对打印机上锁。

image-20230309191852777

  打印机在打印完成之前,这个进程一直是在临界区内的,一直保持着对打印机的访问,由于这个进程没有退出临界区,所以打印机一直是上锁的状态。但是,又由于打印机是一种慢速的设备,如果这个情况下,不允许进程调度、切换的话,那么就需要这个进程一直空等着这个打印机的打印结束。同时在这个进程空等的时候,它还霸占着CPU,所以CPU一直是在空闲的状态,什么有用的也没有做。

  所以,如果进程在访问普通的临界资源,在普通的临界区当中的话,这个情况下其实是应该进行进程调度的。因为普通的临界区访问的这些普通的临界资源,并不会直接地影响到操作系统内核的管理工作。所以,为了增加操作系统的并发度、增加CPU的利用率,那么在访问这些普通的临界区的时候,是可以进行进程调度和切换的。

  至此,对于开头的两个表达,为什么一个对一个错,已经可以理解了。


  接下来看下一个问题。

  在有的操作系统里,它只允许进程主动地放弃处理机,而不允许这个进程在运行过程中被迫地被剥夺处理机资源。

  但是还有的操作系统,是允许当有更紧急的任务需要处理时,能强行地剥夺当前运行进程的处理机资源的。

  所以由“当前进程是否可以被强行剥夺处理机资源”这个问题,我们引出了下一个知识点——进程调度的方式。

(二)进程调度的方式

  分为非剥夺调度方式(非抢占式)和剥夺调度方式(抢占式)。

  非剥夺调度方式,又称非抢占方式。即,只允许进程主动放弃处理机。在运行过程中即使有更紧迫的任务到达,当前进程依然会继续使用处理机,直到该进程终止或主动要求进入阻塞态。

  实现简单,系统开销小但是无法及时处理紧急任务,适合于早期的批处理系统。

  剥夺调度方式,又称抢占方式。当一个进程正在处理机上执行时,如果有一个更重要或更紧迫的进程需要使用处理机,则立即暂停正在执行的过程,将处理机分配给更重要紧迫的那个进程。

  可以优先处理更紧急的进程,也可实现让各进程按时间片轮流执行的功能(通过时钟中断)。适合于分时操作系统、实时操作系统。

(三)进程的切换与过程

  “狭义的进程调度”与“进程切换”的区别:

  狭义的进程调度指的是从就绪队列中选中一个要运行的进程。(这个进程可以是刚刚被暂停执行的进程,也可能是另一个进程,后一种情况就需要进程切换

  进程切换是指一个进程让出处理机,由另一个进程占用处理机的过程。

  广义的进程调度包含了选择一个进程和进程切换两个步骤。

  进程切换的过程主要完成了:

  1、对原来运行进程各种数据的保存

  2、对新的进程各种数据的恢复

(如:程序计数器、程序状态字、各种数据寄存器等处理机现场信息,这些信息一般保存在进程控制块)

  因此,我们可知,进程的切换是有代价的,是需要付出一定的时间代价的。所以不能简单的认为,进程切换越频繁、进程的并发度就越高。如果过于频繁地进行进程调度、切换,必然会使整个系统的效率降低,使系统大部分时间花在了进程切换上,而真正用于执行进程的时间减少。

小结

image-20230309194525297

http://www.15wanjia.com/news/195628.html

相关文章:

  • 网站 公众号信息化建设工作网站为什么被降权
  • 建站市场分析正能量免费下载
  • 网站建设开发维护怎么自己做网站免费的
  • 太仓做网站甜品网站策划与建设
  • 怎么网站改版app一键生成平台免费软件
  • 如何申请建设网站wordpress页眉在哪改
  • jsp网站开发技术的开发中国建设银行网站首页joy
  • 个人网站建设的目的wordpress 报错
  • 浦口区网站建设售后保障全国最大的网站建设公司
  • 网站如何做整合营销新能源电动汽车哪个牌子的质量好
  • 为客户做网站的方案朔州网站建设价格
  • 国内网站设计欣赏游戏开发物语破解版
  • 湖州网站建设湖州网站建设网页设计高端
  • 专业的培训行业网站模板淘宝店铺买卖网
  • 东莞网站建设aj公司品牌网站设计
  • 长春网站建设同信河南安阳区号是多少
  • 做 暧视频在线观看网站wordpress禁用插件
  • 在上阿里云做网站为什么php导入数据库会乱码
  • 做网站的能赚多少钱济南网络优化推广公司哪家好
  • 湖南城乡建设部网站地产公司做网站维护写代码么
  • wordpress 笑话无锡做网站优化
  • 网站备案核实贵池区城乡与住房建设网站
  • 网站举报电话是多少成都百度推广开户公司
  • html 图片展示网站安徽专业做网站的大公司
  • 做破解网站合法微网站和网站同步像素
  • 整站优化和单词做招工的网站排名
  • 怎样建个小公司的网站如何快速创建一个网站
  • 怎么在本地搭建网站视频app制作
  • 手机网站建设liedns网络运营专员
  • asp医院网站源码破解版湖南在线