博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OK6410A 开发板 (八) 30 linux-5.11 OK6410A 进程相关的寄存器
阅读量:4285 次
发布时间:2019-05-27

本文共 1756 字,大约阅读时间需要 5 分钟。

我们知道,linux运行的时候,其实是 各个进程的运行虽然,会有下面几种状态	1. 不同进程的切换	2. 进程不同状态的切换但整体上来讲,系统运行起来的时候 ,其实 是不同进程 运行的集合
进程分为以下三类	用户进程/用户线程		用户态		内核态	内核线程我们讨论寄存器的时候,不关心 他是用户进程还是用户线程,所以归结为用户进程所以依据寄存器来看,讨论分为以下三类	1.用户态的用户进程	2.内核态的用户进程	3.内核线程
  • 内核线程
内核线程位于 svc mode , 有 17个寄存器r0 - r15 , cpsr , spsr以 idle 进程为例r0-r12 	:	与 idle代码相关r13		:	sp,是idle的栈,值 为  init_task对应的thread_info + 8KB 下方的位置 的地址lr 		: 	TODOpc		: 	idle 代码运行的下条指令的地址cpsr	: 	svc modespsr 	: 	TODO
  • 用户态的用户进程init
用户态的用户进程 位于 usr mode , 有 16 个 寄存器r0 - r15 , cpsr以 init 用户进程 为例r0-r12	: 	与 用户代码相关r13 	: 	这个是 创建 用户 init 进程 的时候设置的,存在 pt_regsr14		: 	这个是 创建 用户 init 进程 的时候设置的,存在 pt_regsr15 	: 	init 用户代码运行的下条指令的地址cpsr 	: 	usr mode
  • 内核态的用户进程init
内核态的用户进程 位于 svc mode , 有 17个 寄存器以 init 用户进程 为例r0-r12 	:	与 内核系统调用路径 代码相关r13		:	sp,是init的内核栈,值 为  a.out 的 task_struct对应的thread_info + 8KB 下方的位置 的地址lr 		: 	用户代码内 address of next instruction after the SWI instructionpc		: 	系统调用 代码运行的下条指令的地址cpsr	: 	svc modespsr 	: 	用户态的 cpsr
  • 用户态的用户进程a.out
用户态的用户进程 位于 usr mode , 有 16 个 寄存器r0 - r15 , cpsr以 a.out 用户进程 为例r0-r12	: 	与 用户代码相关r13 	: 	这个是 创建 用户 a.out 进程 的时候设置的,存在 pt_regs , 复制的 init的 pt_regs , 有没有修改 ?r14		: 	这个是 创建 用户 a.out 进程 的时候设置的,存在 pt_regs , 复制的 init的 pt_regs , 有没有修改 ?// 创建过程 与 init 不同r15 	: 	a.out 用户代码运行的下条指令的地址cpsr 	: 	usr mode
  • 内核态的用户进程a.out
内核态的用户进程 位于 svc mode , 有 17个 寄存器以 a.out 用户进程 为例r0-r12 	:	与 内核系统调用路径 代码相关r13		:	sp,是a.out的内核栈,值 为  a.out 的 task_struct对应的thread_info + 8KB 下方的位置 的地址lr 		: 	swi异常发生后,硬件设置的,用户代码内 address of next instruction after the SWI instructionpc		: 	系统调用 代码运行的下条指令的地址cpsr	: 	swi异常发生后,硬件设置的,svc modespsr 	: 	用户态的 cpsr

其他

  • pc 和 sp
任意的用户进程用户态 状态	pc = 0001 0000 左右	sp = bece 0000 左右任意的内核进程及任意的用户进程内核态状态	pc = c000 8000 以上 (例如 c0111314处为sys_fork)	sp = malloc 区域(c000 0000 -cfff ffff) // task_struct对应的thread_info + 8KB 下方的位置

转载地址:http://mcigi.baihongyu.com/

你可能感兴趣的文章
javascript操作html元素CSS属性
查看>>
献给那些前端学习迷茫的人 -----前端开发必备的11项技能!!!
查看>>
《Javascript权威指南》学习笔记之十四:JavaScript内建类
查看>>
JavaScript实现简单日历
查看>>
论”犯贱“ --生活小记
查看>>
JavaScript实现简单图片滚动 --9张图告诉你,C罗欲哭无泪
查看>>
国外优秀JavaScript资源推荐
查看>>
JS中单引号/双引号以及外部js引入的一些问题
查看>>
加班防猝死的十个小建议
查看>>
《JavaScript权威指南》学习笔记之二十---XMLHttpRequest和AJAX解决方案
查看>>
Ubuntu安装二:在VM中安装Ubuntu
查看>>
PHP获取表单方法总结
查看>>
Git学习笔记总结和注意事项
查看>>
谈“穷”-----穷只是一种结果,真正穷的是思维和行动
查看>>
六位创业者分享内心最恐惧的事情
查看>>
JavaScript数值转换总结
查看>>
JavaScript中的重载解读
查看>>
浅谈JavaScript中的原型模式
查看>>
HTML的奇葩嵌套规则
查看>>
我是如何自学编程的——“3遍读书法”
查看>>