一个进程的上下文包括:用户级上下文,寄存器上下文和系统级上下文。

用户级上下文:正文,数据,用户栈区和共享存储区;

寄存器上下文:程序寄存器(IP),即CPU将要执行的下一条指令地址;处理机状态寄存器(EFLAGS);栈指针;通用寄存器。

系统级上下文:进程表项(proc结构)和U区,在Linux系统中,这两部分被合成task_struct,区表及页表,核心栈等。

全部的上下文信息构成了一个进程的运行环境,当发生进程调度时,必须对全部的上下文信息进行切换,新调度的进程才能够运行。我们可以将进程看成一个上下文集合的抽象概念。,



u区

u区包括与进程相关的内容。它可以是进程表自身的一部分,但要单独维护,因为这部分可以在上下文切换的时候和进程镜像进行交换。内存仍保留该进程在进程表中的条目,因为对于进程调度和控制以及决定交换进程的时间而言,该信息必不可少。u区包括以下字段:

(1) 指针:指向该进程对应进程表中的条目。为避免混乱,图中并没有给出该指针。

(2) 真实有效的用户ID:指明进程的权限,如文件访问权限。

(3) 控制终端:该字段确定与进程相关的"逻辑终端"。

(4) 计时器:该字段分别指明进程在用户模式和内核模式下的运行时间。

(5) 队列:指明进程想要响应不同信号的方式。当该进程对应的信号到达时,查询队列并采取适当的动作。

(6) 当前目录和当前根目录:描述进程所处的文件系统环境。当用户想要从一个目录转换到另一个目录时,从本质上讲,这个字段被改动。同样还要使用该字段由相对路径名连接后构造绝对路径名。

(7) 用户文件描述符:该表维护进程用不同模式打开的文件,前面已经介绍过。

(8) 权限:该字段帮助进程在创建文件时设置权限掩码位。它表示u区中的这些权限位可被用作以"Creat"系统调用作为参数提供的这些权限位的掩码。最终将这些结果权限位设置为该文件索引节点中的权限。因此,该进程创建或打开的所有文件根据掩码可以拒绝某种权限。

(9) 最大值:该字段限制进程的大小以及进程可以写的文件的大小。

(10) I/O参数:该参数指明源地址/目标地址,要传送的数据量等。通常,它们保存内存地址和作为文件偏移量的相对字节数(RBN)。这个参数的含义在讨论系统调用的时候已经讨论过,这里不再介绍。

(11) 返回值:该字段存储系统调用产生的结果。

(12) 错误:该字段记录该进程提交的系统调用在执行期间遇到的错误。准确含义在前面讨论系统调用的时候就已经讨论过,这里不再介绍。

(10)、(11)、(12)实际上是在u区中预留给系统调用执行的工作区。有一个分隔的区域包括存储系统调用需要使用的参数(10),这个参数可 在u区和堆栈之间传递参数。有一个区域包括存储系统调用产生的结果(11),和一个存储错误代码(12)的区域,错误代码(12)是在系统调用执行期间出 现错误。然后,内核解释出现的错误代码,并采取相应的动作。

进程上下文及U区的问题相关推荐

  1. 进程上下文与中断上下文

    最近学习驱动程序中总是发现在某些资料或书籍中提到进程上下文和中断上下文,但是又都没有讲解什么是上下文:因此笔者查阅资料补充了一下所谓的Linux上下文知识.(注:以下知识度娘而来) 上下文(conte ...

  2. 进程上下文、中断上下文及原子上下文

    谈论进程上下文 .中断上下文 . 原子上下文之前,有必要讨论下两个概念: a -- 上下文 上下文是从英文context翻译过来,指的是一种环境.相对于进程而言,就是进程执行时的环境: 具体来说就是各 ...

  3. 用户空间与内核空间,进程上下文与中断上下文[总结]【转】

    转自:http://blog.csdn.net/lizuobin2/article/details/51791863 本文转载自:http://www.cnblogs.com/Anker/p/3269 ...

  4. 程序和进程和线程的区别是什么?

    程序和进程和线程的区别是什么? 进程是操作系统资源分配的基本单位,线程是任务调度执行基本单位(CPU的基本调度单位),程序是静态的指令集合,而进程是运行中的指令集合. 进程:程序的一次执行, 答法1: ...

  5. 嵌入式之linux用户空间与内核空间,进程上下文与中断上下文

    文章目录 前言 用户空间与内核空间 内核态与用户态 进程上下文和中断上下文 上下文 原子 进程上下文 中断上下文 进程上下文VS中断上下文 原子上下文 前言 之前在学习嵌入式linux系统的时候,一直 ...

  6. linux 中线程是什么意思,Linux中进程与线程的区别是什么

    Linux中进程和线程的区别是什么?我相信很多没有经验的人对此无能为力.因此,本文总结了问题产生的原因及解决方法.希望你能通过这篇文章解决这个问题. Linux中进程和线程的对比与区别 1.概念 进程 ...

  7. 【中断】中断上下文、进程上下文

    Linux中断知识汇总: [深入理解Linux内核][中断]内容汇总帖 目录 中断上下文和进程上下文 什么是中断上下文? 什么是进程上下文? 为什么要进行不同之间状态的切换? 什么情况下进行用户态到内 ...

  8. 请问进程上下文是什么意思?

    请问进程上下文是什么意思? 回答者的答案集合: 1. 进程上下文一般在进程切换中提到,也就是当进程要切换时关于当前进程的寄存器内容以及内存页表的详细信息等等内容,一句话概括也就是关于描述进程的信息. ...

  9. 进程控制块、进程上下文

    一. 进程控制块 为了描述和控制进程的运行,系统为每个进程定义了一个数据结构--进程控制块(PCB). 它是进程重要的组成部分,它记录了操作系统所需的.用于描述进程的当前状态和控制进程的全部信息. 操 ...

最新文章

  1. /usr/lib/ocf/resource.d/pacemaker/ping: line 296
  2. C++多小球非对心弹性碰撞(HGE引擎)
  3. 白话Elasticsearch29-IK中文分词之IK分词器配置文件+自定义词库
  4. P3899 [湖南集训]谈笑风生
  5. java 按位置格式化字符串_Java字符串格式化,{}占位符根据名字替换实例
  6. TPAMI 2021 华为诺亚悉尼大学陶大程团队提出多功能卷积,助力轻量级网络
  7. Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel 1
  8. scrollview 中用listview的方法
  9. 【转】关于微信开发者平台移动应用获取签名解决问题
  10. 单刹车信号不合理故障_航班盘旋数十圈返航 天津航空:刹车温度传感器等故障...
  11. 传智播客Java 二维数组
  12. 项目验收文档模板(二)
  13. web前端入门到实战:CSS box-sizing属性的正确用法
  14. 微信公众平台接口测试帐号申请
  15. 7月18日云栖精选夜读丨蚂蚁金服的“野心”:要做新一代世界级金融科技供应商...
  16. wps-doc文件输出为pdf文件时目录报错“错误!未定义书签”解决方法
  17. github提交隐藏私密信息
  18. 医学图像处理常用的看图软件介绍及使用(RadiAnt DICOM Viewer、ITK-Snap和3D Slicer)
  19. 华为交换机RRPP单环配置
  20. Centos7 合理分配 swap空间

热门文章

  1. Verilog 关于负数
  2. keep2share 购买的激活码但激活不了
  3. Linux添加硬盘失败由热插拔,linux-硬盘热插拔实验
  4. PDFBox定位坐标并提取相应文本
  5. QT:QTableWidget设置行高可能导致表格显示不全
  6. Mobaxterm使用笔记
  7. wince 静态文本框字体和颜色、背景色的动态更改
  8. 态路小课堂丨100G解决方案 - 4×25G NRZ光模块
  9. 代码越写越乱?那是因为你没用责任链!
  10. 分享:使用 TypeScript 编写的游戏代码