低优先级任务在执行过程中高优先级任务在干什么

在操作系统中,低优先级任务想要得到CPU的使用权,是建立在高优先级任务遇到阻塞语句的前提下,比如等待事件标志、等待消息、等待信号量、遇见延迟函数等

而在低优先级任务执行过程中,高优先级任务在干什么,或者说CPU在干什么

在抢占式操作系统中,高优先级任务是不会等待低优先级任务彻底执行完毕后,通过调度器切换任务而获得CPU使用权,而是高优先级任务的就绪条件一满足就会立刻夺过CPU的使用权,暂时中断正在执行的低优先级任务,但CPU在执行低优先级任务时,是如何实时知道高优先级任务就绪了呢,由结果倒推原因,那就是CPU不是一直特别专一的只执行低优先级任务,而是有一个大扫描,会实时检测高优先级任务的运行条件是否已满足,一旦满足就会发生抢占事件,否则继续执行低优先级任务

其实仔细研究过操作系统后便知,这是操作系统的任务切换机制,操作系统跟人一样必须有一个心跳,整个系统按照这个心跳有序正确的工作,这个心跳就是系统时钟,系统时钟一般是由定时器产生,每隔一定时间便产生一次中断,系统便在这个中断里做一些事情,这当中就包括调度器的任务切换,即一次中断到来后便检测高优先级任务的就绪条件是否满足,条件满足则切换任务,不满足则继续执行当前任务,这就在现象上表现出,操作系统能实时知道高优先级任务何时就绪了,以便切换到高优先级任务而执行

时间: 2024-11-03 17:58:59

低优先级任务在执行过程中高优先级任务在干什么的相关文章

《Linux内核分析》第七周笔记 进程的切换和系统的一般执行过程

20135132陈雨鑫 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ” 一.进程调度与进程调度的时机分析 1.进程调度 不同类型的进程有不同的调度需求 第一种分类:       I/O-bound            频繁的进行I/O           通常会花费很多时间等待I/O操作的完成     CPU-bound            计算密集型          

JavaWeb之 Servlet执行过程 与 生命周期

Servlet的概念 什么是Servlet呢? Java中有一个叫Servlet的接口,如果一个普通的类实现了这个接口,这个类就是一个Servlet.Servlet下有一个实现类叫HttpServlet,一个普通的java如果继承了HttpServlet类,覆盖了它的doGet和doPost方法,那么这个普通类也可以叫做Servlet.最后,servlet程序交给服务器运行! 那么,当我们写好了一个Servlet,交给了服务器,它是如何执行的呢!? Servlet的执行过程 我们写了一个Serv

进程的切换和系统的一般执行过程——20135304刘世鹏

作者:刘世鹏20135304 原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 课本内容 什么是进程调度 进程调度:在可运行态进程之间分配有限处理器时间资源的内核子系统. 一.调度策略 4.1进程类型 I/O消耗型进程:大部分时间用来提交I/O请求或是等待I/O请求,经常处于可运行状态,但运行时间短,等待请求过程时处于阻塞状态.如交互式程序. 处理器消耗型进程:时间大都用在执行代码上,除非被

第八节 进程的切换和系统的一般执行过程

第八周 进程的切换和系统的一般执行过程 By 135217孙小博 本周的主要内容: Linux中进程调度的基本概念与相关知识 schedule函数如何实现进程调度 Linux进程的执行过程(一般情况与特殊情况) 宏观描述Linux系统执行 进程切换的主要代码switch_to 进程的调度时机与进程的切换 不同类型进程的不同调度需求 第一种分类: I/O-bound:频繁进行I/O,并且需要花费很多时间等待I/O完成 CPU-bound:计算密集,需要大量的CPU时间进行运算 第二种分类: 批处理

进程的切换和系统的一般执行过程

1 进程切换的关键代码switch_to分析 1.1 进程调度与进程调度的时机分析 1.1.1 进程的分类 第一种分类: I/O-bound:频繁的进行I/O,通常会花费很多时间等待I/O操作的完成. CPU-bound:计算密集型,需要大量的CPU时间进行计算. 第二种分类: 批处理进程(batch process):不必和用户交互,通常在后台进行:不必很快的响应:典型例子:编译程序.科学计算 实时进程(real-time process):有实时要求.不应被优先级低的进程阻塞:响应时间短.要

Linux内核及分析 第八周 进程的切换和系统的一般执行过程

学习笔记: 一.进程调度与进程调度的时机分析 1.不同类型的进程有不同需求的调度需求: 第一种分类: —I/O-bound:频繁的进行I/O,通常会花费很多时间等待I/O操作的完成 —CPU-bound:计算密集型,需要大量的CPU时间进行运算 第二种分类: —批处理进程:不必与用户交互,通常在后台运行:不必响应很快: —实时进程:有实时需求,不被低优先级的进程阻塞:响应时间短,稳定: —交互式进程:需要经常与用户交互:响应时间要快 2.调度策略:一组规则,决定什么时候以怎样的方式选择一个新的进

20135239 益西拉姆 linux内核分析 进程的切换和系统的一般执行过程

week 8 进程的切换和系统的一般执行过程 [ 20135239 原文请转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] 一.进程调度与进程调度的时机分析 操作系统原理中介绍了大量进程调度算法,这些算法从实现的角度看仅仅是从运行队列中选择一个新进程,选择的过程中运用了不同的策略而已.对于理解操作系统的工作机制,反而是进程的调度时机与进程的切换机制更为关键. 不同类型的进程有不同的调度需求 第一

高程(4):执行环境、作用域、上下文执行过程、垃圾收集、try...catch...

高程三 4.2.4.3 一.执行环境 1.全局执行环境是最外层的执行环境. 2.每个函数都有自己的执行环境,执行函数时,函数环境就会被推入一个当前环境栈中,执行完毕,栈将其环境弹出,把控制器返回给之前的执行环境. 二.作用域 1.每个执行环境,都对应一个自己的作用域. 2.每个执行环境,都能访问上一级的父级.父父级....作用域,称为 "作用域链" 3.执行代码时,会按照标识符沿着作用域链一级一级向上查找.如果找不到,则会报错 *标志符:执行时,使用到的变量或函数 三.上下文执行过程

第八周:进程的切换和系统的一般执行过程

吕松鸿 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.进程切换的关键代码switch_to分析 1.进程调度与进程调度的时机分析 不同类型的进程有不同的调度需求 第一种分类: I/O-bound:频繁进行I/O,花费很长时间等待I/O CPU-bound:计算密集型,需要大量CPU时间进行计算 第二种分类: 批处理进程:不必交互.很快响应 实时进程:要求响应时间短 交互式进