美文网首页
进程的切换和系统的一般执行过程

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

作者: athorn | 来源:发表于2017-04-16 21:21 被阅读143次

陈松 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

感觉像是绕了一圈,又回到了起点,终究还是逃不过对这一块的挖掘。

  • 进程的几种不同分类:第一种分类:类型一:I/O-bound:频繁的进行I/O,通常会花费很多的时间等待I/O操作的完成;类型二:CPU-bound:计算密集型 ,需要大量的CPU时间进行运算第二种分类:类型一:批处理进程 ;类型二:实时进程;类型三:交互式进程。

  • 调度策略:是一组规则,它们决定什么时候以怎样的方式选择一个新的进程运行,Linux的调度基于分时和优先级:随着版本的变化,分时技术在不断变化,Linux既支持普通的分时进程,也支持实时进程,Linux中的调度是多种调度策略和调度算法的混合。

进程调度的时机:

  1. 中断处理过程中,直接调用schedule()
  2. 内核线程可以直接调用schedule()进行进程切换

系统调用的过程,我们依然使用GDB来跟踪,如下:

  • 找到了进程调度的时机


  • 进行上下文切换的宏
  • 具体的细节实现
  • 采取相应的调度算法来找到下一个要执行的任务
  • 进行任务的状态指示的改变
  • 真正的任务上下文切换
  • 这不,从kernel返回了。

总结下来,一般过程如下:
我们可以有了一个条件来理解linux系统的一般运行状态,其中有一个用户态进程X需要切换到用户进程Y。从正在运行的用户态进程X切换到正在运行的用户态进程Y的过程
1.正在运行的用户态进程X
2.发生中断——save cs:eip/esp/eflags(current)to kernel stack,then load cs:eip(entry of a specific ISR)and ss:esp(point to kernel stack)
3.SAVE_ALL//保存现场
4.中断处理过程中或中断返回前调用了schedule(),其中的switch_to做了关键的进程上下文切换
5.标号1之后开始运行用户态进程Y(这里Y曾经通过以上步骤被切换出去过因此可以从标号1继续执行)
6.restore-all//恢复现场
7.iret -pop cs:eip/ss:eip/eflags from kernel stack
8.继续运行用户态进程Y

相关文章

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

    进程调度的时机 中断处理过程(包括时钟中断、I/O中断、系统调用和异常)中,直接调用schedule(),或者返回...

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

    陈松 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163...

  • python多线程

    进程 进程就是一段程序执行的过程。切换不同的进程实际上是进行上下文切换。 进程有三种状态:就绪、运行和阻塞。 就绪...

  • Python fork创建进程

    1、进程 进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行完毕的一个完整过程。进程是系统进行资源分配和...

  • java学习笔记#9-多线程

    多线程概念 进程:进程是程序(任务)执行的过程进程持有资源和线程 线程线程是系统中的最小执行单元一个进程有多个线程...

  • 7进程控制

    12.1进程切换 实际上为用户提供的系统调用服务,用户在执行它的应用的过程当中,有需求要创建一个新的进程,如何来创...

  • Linux内核——系统运行过程

    系统一般执行过程 正运行在用户态的X进程 X进程发生中断(可能产生了系统调用、异常等)保存CS:EIP、SS:ES...

  • Python52_线程、进程、协程的简单对比

    进程是资源分配的单位 线程是操作系统调度的单位 进程切换需要的资源很大,效率很低 线程切换需要的资源一般,效率一般...

  • Linux如何将进程绑定CPU核心以提高性能

    在Linux系统中,进程的调度切换是由内核自动完成的,在多核CPU上,进程有可能在不同的CPU核上来回切换执行,这...

  • 线程和进程的区别?

    进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位 进程之间的切换比线程之间切换的开销大。 ...

网友评论

      本文标题:进程的切换和系统的一般执行过程

      本文链接:https://www.haomeiwen.com/subject/ntczattx.html