摘要: 用户态和内核态的划分 内存管理信息: task_struct 的 mm_struct 中 整个虚拟内存空间: 1)是用户态地址空间 2)是内核态地址空间 那这两部分的分界线在哪里呢?这就要 task_size 来定义 1 #ifdef CONFIG_X86_32 2 /* 3 * User spac 阅读全文
posted @ 2020-02-15 23:41 坚持,每天进步一点点 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 分段机制的原理 分段机制下的虚拟地址由两部分组成,段选择子和段内偏移 量 分段机制下的虚拟地址由两部分组成,段选择子和段内偏移量 段描述符 段寄存器的值是通过段描述符填充的。 GDT(全局描述符表) LDT(局部描述符表) 当我们执行类似MOV DS, AX指令时,CPU会查表,根据AX的值来决定查 阅读全文
posted @ 2020-02-15 23:31 坚持,每天进步一点点 阅读(438) 评论(0) 推荐(0) 编辑
摘要: 计算机进行计算 包括2方面: 1) 进程和线程对cpu的使用 2) 内存管理 独享内存空间的原理 每个进程都有自己独立的内存空间,如果直接使用物理空间,多个程序同时执行会有占用冲突。所以程序使用虚拟地址,系统负责把虚拟地址和物理地址映射起来 1、会议室和物理内存的关系 和会议室一样,内存都被分成一块 阅读全文
posted @ 2020-02-15 22:58 坚持,每天进步一点点 阅读(431) 评论(0) 推荐(0) 编辑
摘要: Linux 多线程编程之 线程池 的原理和一个简单的C实现,提高对多线程编 程的认知,同步处理等操作,以及如何在实际项目中高效的利用多线程开 发。 1. 线程池介绍 为什么需要线程池??? 目前的大多数网络服务器,包括Web服务器、Email服务器以及数据库服务器等都具有一个共同点,就是单位时间内必 阅读全文
posted @ 2020-02-15 19:09 坚持,每天进步一点点 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 内存屏障缘由 1. 单处理器下的乱序问题 2. 多处理器下的内存同步问题 举例: 在如图的这种系统模型中,假设存在如下的内存访问操作: 由于处理器出于效率而引入的乱序执行(out-of-order execution)和缓存的关系, 对于内存来说, 最后x和y的值可以有如下组合: 因此,对于在操作系 阅读全文
posted @ 2020-02-15 09:20 坚持,每天进步一点点 阅读(3619) 评论(0) 推荐(1) 编辑