上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页
摘要: 理解指针或引用的含义 含义: 将某个变量(对象)赋值给指针(引用),实际上就是就是将这个变量(对象)的地址赋值给指针(引用)。 示例: p—>next = q; 表示p节点的后继指针存储了q节点的内存地址。 p—>next = p—>next—>next; 表示p节点的后继指针存储了p节点的下下个节 阅读全文
posted @ 2020-02-17 18:42 坚持,每天进步一点点 阅读(335) 评论(0) 推荐(0) 编辑
摘要: https://leezhenghui.github.io/linux/2019/03/05/exploring-usdt-on-linux.html Table of Contents Table of Contents Motivation Tracing System Overview Ter 阅读全文
posted @ 2020-02-17 17:30 坚持,每天进步一点点 阅读(1029) 评论(0) 推荐(0) 编辑
摘要: 问题 1. C10K 就是单机同时处理 1 万个请求(并发连接 1 万)的问题 2. C1000K 也就是单机支持处理 100 万个请求(并发连接 100 万)的问题 C10K I/O 模型 两种 I/O 事件通知的方式: 水平触发和边缘触发 (1) 水平触发:只要文件描述符可以非阻塞地执行 I/O 阅读全文
posted @ 2020-02-16 21:51 坚持,每天进步一点点 阅读(2470) 评论(0) 推荐(0) 编辑
摘要: 问题: 1. 内核态内存映射函数 vmalloc、kmap_atomic 是如何工作的; 2. 内核态页表是放在哪里的,如何工作的? 3. swapper_pg_dir 是怎么回事; 4. 出现了内核态缺页异常应该怎么办? 内核页表 注意:和用户态页表不同,在系统初始化的时候,我们就要创建内核页表了 阅读全文
posted @ 2020-02-16 17:53 坚持,每天进步一点点 阅读(814) 评论(0) 推荐(0) 编辑
摘要: mmap 的原理 每一个进程都有一个列表 vm_area_struct 1 struct mm_struct { 2 struct vm_area_struct *mmap; /* list of VMAs */ 3 ...... 4 } 5 6 7 struct vm_area_struct { 阅读全文
posted @ 2020-02-16 13:09 坚持,每天进步一点点 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 前言: 重点讲解slub分配器原因: 内核里小内存分配一共有三种,SLAB/SLUB/SLOB,slub分配器是slab分配器的进化版,而slob是一种精简的小内存分配算法,主要用于嵌入式系统。慢慢的slab分配器或许会被slub取代,所以对slub的了解是十分有必要的。 slab分配器的弊端: s 阅读全文
posted @ 2020-02-16 11:43 坚持,每天进步一点点 阅读(710) 评论(0) 推荐(0) 编辑
摘要: 物理内存的组织方式 物理内存的布局平坦内存模型: 由于物理地址是连续的,页也是连续的,每个页大小也是一样的。因而对于任何一个地址,只要直接除一下每页的大小,很容易直接算出在哪一页。每个页有一个结构 struct page 表示,这个结构也是放在一个数组里面,这样根据页号,很容易通过下标找到相应的 s 阅读全文
posted @ 2020-02-16 10:36 坚持,每天进步一点点 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 1 #include <vector> 2 3 class CTask 4 { 5 protected: 6 string m_strTaskName; //任务的名称 7 void* m_ptrData; //要执行的任务的具体数据 8 public: 9 CTask(){} 10 CTask(s 阅读全文
posted @ 2020-02-16 09:53 坚持,每天进步一点点 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 用户态和内核态的划分 内存管理信息: task_struct 的 mm_struct 中 整个虚拟内存空间: 1)是用户态地址空间 2)是内核态地址空间 那这两部分的分界线在哪里呢?这就要 task_size 来定义 1 #ifdef CONFIG_X86_32 2 /* 3 * User spac 阅读全文
posted @ 2020-02-15 23:41 坚持,每天进步一点点 阅读(567) 评论(0) 推荐(0) 编辑
摘要: 分段机制的原理 分段机制下的虚拟地址由两部分组成,段选择子和段内偏移 量 分段机制下的虚拟地址由两部分组成,段选择子和段内偏移量 段描述符 段寄存器的值是通过段描述符填充的。 GDT(全局描述符表) LDT(局部描述符表) 当我们执行类似MOV DS, AX指令时,CPU会查表,根据AX的值来决定查 阅读全文
posted @ 2020-02-15 23:31 坚持,每天进步一点点 阅读(457) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页