- 博客(3)
- 资源 (8)
- 收藏
- 关注
原创 TLB中ASID和nG bit的关系
贴一篇当年关于TLB的笔记。 TLB是硬件上的一个cache,用于提升访问页表(这里应该是二级页表)的速度。MMU在将虚拟地址转换成物理地址时首先去TLB中找合适entry,如果能找到,则立即返回物理地址;如果TLB中找不到,则需访问Memory中的页表,且会加载相关entry到TLB中,以备下次MMU转换使用。 这个过程中存在一个问题,因为process的页表具有私密性,且kernel pr...
2018-07-18 00:12:01 2304 2
原创 Linux内核缺页二三事
前言 我们知道虚拟空间和物理内存是通过页表建立起映射关系的,当访问某段虚拟内存时,这种映射关系很有可能是尚未建立的,也有可能是在fork了之后页表被设置了WR模式。如果此时进程想往这部分区域写数据时,就会导致处理器产生异常。内核需要捕获并“修复”这种异常,这一过程就是缺页异常处理。 硬件支持 不论是空pte还是pte被设置为wr模,如果向里写数据肯定会触发处理器异常,而且应该是MMU发生的异...
2018-07-18 00:09:05 3382
原创 Linux用户进程创建过程浅析
前言 网上分析内核进程创建初始化的文章很多,例如:https://www.cnblogs.com/LittleHann/p/3853854.html,这位仁兄分析的非常详细和深入,非常值得初次看这段代码的人参考。而这篇文章属于进阶版,跳过基本概念的解释,着重从代码的角度来理解一些平常不容易理解的概念。比如一般都说进程有自己独立的空间,线程则共享;线程有自己的独立内核栈等等,像这些概念在代码上是怎...
2018-07-09 23:03:03 753
Indicator-Sysmonitor
2013-08-17
μCOS-II V2.83 从ADS1.2工程移植到MDK4.2源码工程 适用TQ2440开发板
2012-01-04
μCOS-II V2.83 从ADS1.2工程移植到MDK4.2源码工程 使用TQ2440开发板
2012-01-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人