随笔分类 - 【5】Learn Linux Kernel
摘要:红黑树:一种 自平衡-二叉-搜索树 二叉树,按中序遍历后为一递增数组,自平衡意味着树的高度有一个上限,对于红黑树,其为2log(n+1),所以时间复杂度为最差为Olog(n)。 赋予二叉搜索树自平衡特性的方法有多种,红黑树通过一下4条约束实现自平衡: Every node is either red
阅读全文
摘要:我们很容易从一些Linux内核的书籍中知道X86架构使用2级( 10-10-12 )页表,X86-64架构使用4级( 9-9-9-9-12 )页表甚至是5级(在pgd_t与pud_t中间加了一层p4d_t),但是一些隐藏的问题却往往被忽略,如每一个进程的页表存储在内核空间吗?为什么内核中页表所在页框
阅读全文
摘要:今天阅读相关书籍的时候看到 "进程中堆的最大申请数量" 这一问题,我们知道使用malloc分配内存是在堆Heap里面分配的,如果一台机器一共有8GB物理内存,空闲5GB,那么我们使用malloc( )就一定能够申请到这5GB内存吗?理论上来说确实如此,因为这些内存未被其它进程使用。但实际测试出来结果
阅读全文
摘要:表1. ELF文件类型分类 ELF文件类型 说明 实例 Relocatable File 可重定位文件 未链接之前的ELF文件,可用于链接可执行文件或静态链接库 Linux下的".o"文件,Windows下".obj"文件 Executable File 可执行文件 最终的可执行程序 如Linux下
阅读全文
摘要:$ Linux学习路线 0. Git工具的使用 超直观的图形化Git学习在线网站 https://learngitbranching.js.org/?locale=zh_CN 1. C, C++, Linux命令行与Shell脚本编程 《C/C++ primer plus》[vimg] 《Linux
阅读全文
摘要:1. 生成配置文件 使用make defconfig来使用缺省的配置生成.config文件,然后使用make menuconfig进行特定的配置 使用make oldconfig来更新和验证配置 2. 编译 make -j32 > /dev/null 多核编译,同时过滤掉不必要的信息 3. Ubun
阅读全文