码迷,mamicode.com
首页 > 系统相关 > 详细

进程表项字段理解

时间:2021-03-06 14:51:15      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:中断   blog   detail   哪些   符号   系统   保存   image   相关   

1.进程表项PCB字段

技术图片

但是到底进程切换都有哪些操作呢?

转自:https://blog.csdn.net/shadow2512/article/details/73611805

概念:进程切换就是被中断进程与待运行进程之间的上下文切换(必须在内核模式下进行进程切换)。

具体过程

转换为内核模式,压入程序状态字和程序计数器,将被中断进程的栈指针保存到进程控制块,调整被中断进程的状态,把被中断的进程加入相关队列等待,选中下一个进程改变其状态,设备被选中的进程的地址空间,将被选中进程的栈指针存到处理寄存器中;切换到用户模式并且弹出程序状态字和程序计数器。

进程切换发生在时间片中断、IO中断;终止系统调用、发生异常。进程切换时伴随着进程状态的转换,比如从运行到阻塞、到等待。

上下文包括:通用目的寄存器,浮点寄存器,程序计数器,用户栈,状态寄存器,内核栈,各种内核数据结构。

内核可以处于进程上下文和终端上下文。

2.进程管理

2.1 程序状态字

https://www.sohu.com/a/109359363_119709

程序状态字(Program Status Word, PSW)又称状态寄存器,主要用于反映处理器的状态及某些计算结果以及控制指令的执行。

技术图片

 

 PSW是一个8位寄存器,用于存放程序运行中各种状态信息。

其中,F0\RS1\RS0可以由用户自己编程设定,其他位的状态是根据程序执行结果,由硬件自动设置的。

  • Cy:进位标志,是PSW中最常用的标志位。功能有二:一、存放算术运算的进位标志,在进行加减运算时,若操作结果的最高位有进位或借位,则自动置1,否则为0。二、在位操作中,作位累加器C使用。
  • Ac:辅助进位标志。在加减运算时,低4位向高4位进位或借位时,自动置1,否则为0。(似乎和上一个有重复?)
  • F0:用户标志位。用户可设置,常用作数据收发标志或准备好的标志。
  • RS1&RS0:寄存器组选择位。选择CPU当前使用的工作寄存器组,共有四组工作寄存器。
  • Ov:溢出标志位。在带符号的加减运算中,若运算超出了累加器A所能表示的符号数的有效范围(-128~127),则自动置1,表示产生了溢出,说明运算结果是错误的。否则为0。
  • P:奇偶标志位。表明累加器A中数据的奇偶性。若A中有奇数个“1”,则自动置1,否则为0。此标志位常用于串行通信中的奇偶校验。(不是说奇数偶数的意思?而是说当前数中1的个数是奇数还是偶数?)

3.上下文

3.1 通用目的寄存器

 

进程表项字段理解

标签:中断   blog   detail   哪些   符号   系统   保存   image   相关   

原文地址:https://www.cnblogs.com/BlueBlueSea/p/14489208.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!