
Linux内核
PerseverancePrevails
这个作者很懒,什么都没留下…
展开
-
malloc和new出来的虚拟地址如何访问实际物理地址
malloc和new出来的地址都是虚拟地址 你就说内存管理单元怎么可能让你直接操作硬件内存地址!malloc的实现与物理内存自然是无关的,内核为每个进程维护一张页表,页表存储进程空间内每页的虚拟地址,页表项中有的虚拟内存页对应着某个物理内存页面,也有的虚拟内存页没有实际的物理页面对应。无论malloc通过sbrk还是mmap实现,分配到的内存只是虚拟内存,而且只是虚拟内存的页号,代表这块空间进程可以用,实际上还没有分配到实际的物理页面。等你的进程访问到这个新分配的内存空间的时候,如果其还没有对应的物理页转载 2020-10-04 13:28:51 · 1079 阅读 · 0 评论 -
Linux4G空间的内存管理
https://blog.youkuaiyun.com/jiangyuping_fyl/article/details/7268287https://blog.youkuaiyun.com/u011436427/article/details/104761726内核内存使用Slab 所谓尺有所长,寸有所短。以页为最小单位分配内存对于内核管理系统中的物理内存来说的确比较方便,但内核自身最常使用的内存却往往是很小(远远小于一页)的内存块——比如存放文件描述符、进程描述符、虚拟内存区域描述符等行为所需的内存都不足一...转载 2020-10-04 13:08:16 · 378 阅读 · 0 评论 -
设备树之字符设备驱动_LED
在总线设备驱动模型中驱动程序被分成了两部分;dev部分和drv部分;在dev部分,分配设置注册了一个platform_device设备,具体硬件资源就是在该设备中被描述;在drv部分,同样分配设置注册了一个platform_driver设备,硬件相关的驱动就在这里实现。使用设备树时,写驱动程序时,驱动程序也被分成了两部分;一部分是drv,跟总线设备驱动模型里的platform...原创 2020-02-16 12:57:23 · 752 阅读 · 0 评论 -
Linux环境下多文件工程的2种方法(makefile 的几种写法)
对于多文件工程,可以有两种方法编译:1 手动编译每个工程文件,然后生成最后的可执行文件。 2 编写Makefile文件(几种方法)工程例子:创建一个目录为GCC,该目录下创建一个main.c文件和两个文件夹分别是add和sub。add目录下创建add.c和add....原创 2019-10-29 10:23:32 · 1085 阅读 · 0 评论 -
浅谈内核的Makefile、Kconfig和.config文件
刚开始学习Linux内核,在学习的过程中固然有非常非常多的不顺与羁绊,昨天在百问科技的公众号上看了一篇文章,对于我们这些初学者来说,有很大的帮助,因此转载过来供大家一块学习。转自:https://mp.weixin.qq.com/s/D9wBnr9i8FmuF0tm6HwbLwLinux内核源码文件繁多,搞不清Makefile、Kconfig、.config间的关系,不了解内核编译体系,编...转载 2018-11-25 11:21:43 · 150 阅读 · 0 评论 -
Linux内核启动分析
嵌入式Linux系统分为三部分:引导程序BootLoader、根文件系统和Linux内核,针对不同的开发板需要不同Boot Loader来引导内核,本文开篇着重对U-Boot如何引导内核启动做详细分析,然后步步深入对内核的详解。该系统的硬件环境是基于S3C2440芯片的ARM9开发板,uboot的版本是u-boot-1.1.6,Linux源码版本是linux-3.4.2,交叉编译链为arm-lin...原创 2019-07-19 16:36:10 · 338 阅读 · 0 评论 -
Linux系统调用列表
转自https://www.ibm.com/developerworks/cn/linux/kernel/syscall/part1/appendix.html#6一、进程控制:二、文件系统控制三、系统控制四、内存管理五、网络管理六、socket控制七、用户管理八、进程间通信以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数。...转载 2019-07-20 22:41:18 · 132 阅读 · 0 评论