2022年10月11日

【CPU】缓存一致性、CPU基础

摘要: PU的位宽、寻址总线、数据总线 CPU的位宽和寄存器一次能够存储的大小相关,比如一个大于4字节的数据,我们用32位的CPU显然是无法存储它的,自然就无法一次性处理它 而总线位宽和处理器的寻址能力有关,总线宽度越大,能够寻的地址就越大 CPU执行程序的一般步骤 第一步,CPU 读取「程序计数器」的值, 阅读全文

posted @ 2022-10-11 16:13 甲鱼写代码 阅读(434) 评论(0) 推荐(0) 编辑

【系统编程】IPC底层实现合集

摘要: 共享内存 1、shm和mmap的区别 mmap是建立虚拟内存空间与磁盘文件的映射,这种映射分为普通映射和匿名映射 对于父子进程,采用匿名映射,匿名映射即建立虚拟内存空间与匿名页的映射,如果找到了这个匿名页,那么建立映射;如果没有,那么check这个匿名页是否在swap分区中,在的话就把匿名页读取到内 阅读全文

posted @ 2022-10-11 16:08 甲鱼写代码 阅读(47) 评论(0) 推荐(0) 编辑

【kernel】动态内存分配如何实现?

摘要: 1 阅读全文

posted @ 2022-10-11 16:01 甲鱼写代码 阅读(6) 评论(0) 推荐(0) 编辑

2022年10月10日

【C\C++】函数指针与指针函数

摘要: 函数指针的优点 1.灵活调用性设计之初,程序员可能不知道一些方法最后会怎么去具体的实现,就可以使用函数指针预留,后期直接挂接进来。 2.更好的封装编写模块时,可以将一些方法以函数指针的形式从外部传入,不需要具体的函数实现,更好的封装和模块化。模块运行时只需要关心指针的有效,不需要关心函数的具体实现 阅读全文

posted @ 2022-10-10 11:46 甲鱼写代码 阅读(11) 评论(0) 推荐(0) 编辑

2022年9月29日

【kernel】panic

摘要: 内核崩溃了,会打印崩溃时候的堆栈环境 阅读全文

posted @ 2022-09-29 13:48 甲鱼写代码 阅读(35) 评论(0) 推荐(0) 编辑

2022年9月28日

【C/C++】char *

摘要: char * a= "1234"; 此时不能通过解引用来修改a指向内存的值,因为它指向常量区;当然,可以更改a的指向 阅读全文

posted @ 2022-09-28 19:55 甲鱼写代码 阅读(83) 评论(0) 推荐(0) 编辑

【C/C++】strlen和sizeof

摘要: 1 char a[] = { 'c','+','+' }; 2 char c[] = "c++"; 3 cout << strlen(a) << endl; 4 cout << strlen(c) << endl; 5 cout << sizeof(a) << endl; 6 cout << siz 阅读全文

posted @ 2022-09-28 19:55 甲鱼写代码 阅读(13) 评论(0) 推荐(0) 编辑

【debug】gdb

摘要: 首先要编译出带调试信息的程序,加个-g参数 gdb 程序名 进入gdb模式 ulimit -c unlimied 设置core文件大小为没有限制 break 文件名 : 行号 设置断点 (甚至可以设置条件断点)info breakpoints可以查看断点信息 list first,last 列出代码 阅读全文

posted @ 2022-09-28 16:04 甲鱼写代码 阅读(30) 评论(0) 推荐(0) 编辑

2022年9月23日

【kernel】内核线程与软中断

摘要: 软中断到底是啥? 阅读全文

posted @ 2022-09-23 15:03 甲鱼写代码 阅读(7) 评论(0) 推荐(0) 编辑

【内存泄漏】重写malloc和free函数

摘要: 重写打印申请到的地址,通过addr2line来定位 gcc的内建函数__builtin_return_address来返回函数调用者的地址 阅读全文

posted @ 2022-09-23 12:23 甲鱼写代码 阅读(60) 评论(0) 推荐(0) 编辑

导航