内存管理
文章平均质量分 75
Neilo_chen
这个作者很懒,什么都没留下…
展开
-
宋宝华: Linux为什么一定要copy_from_user ?
网上很多人提问为什么一定要copy_from_user,也有人解答。比如百度一下:但是这里面很多的解答没有回答到点子上,不能真正回答这个问题。我决定写篇文章正式回答一下这个问题,消除读者的各种疑虑。这个问题,我认为需要从2个层面回答第一个层次是为什么要拷贝,可不可以不拷贝?第二个层次是为什么要用copy_from_user而不是直接memcpy拷贝这个事情是必须的,这个事情甚至都跟Linux都没有什么关系。转载 2022-10-02 17:47:24 · 1706 阅读 · 1 评论 -
Linux内存空间知识复习
内核态和用户态:当进程线程运行在内核空间时就处于内核态,而进程线程运行在用户空间时则处于用户态;区分内核空间和用户空间的原因:应用程序随便访问内存太危险,比如把系统搞崩溃,清除操作系统的数据;linux操作系统采用虚拟地址空间,以32位系统为例,寻址空间是4G(2的32次方)。用户态到内核态的切换:当一个进程执行系统调用而陷入内核代码中执行时,称进程处于内核运行态;每个进程可以通过系统调用进入内核,内核空间由所有进程共享。内核空间是操作系统内核访问的区域,是受保护的内存空间。一、用户空间和内核空间。原创 2022-10-01 22:38:55 · 2083 阅读 · 0 评论 -
宋宝华:Linux的任督二脉——进程调度和内存管理
宋宝华,他有10几年的Linux开发经验。他长期在大型企业担任一线工程师和系统架构师,编写大量的Linux代码,并负责在gerrit上review其他同事的代码。Barry Song是Linux的活跃开发者,是某些内核版本的最活跃开发者之一(如https://lwn.net/Articles/395961/ 、转载 2022-08-19 22:58:38 · 2716 阅读 · 0 评论 -
宋宝华:世上最好的共享内存(Linux共享内存最透彻的一篇)
不能这么简单地理解,fd本身是一个进程级别的概念,每个进程有自己的fd的列表,比如进程B收到进程A的fd的时候,进程B自身fd空间里面自己的前面200个fd都已经被占用了,那么进程B接受到的fd就可能是201。这说明你还是没搞明白fd是一个进程内部的东西,是不能跨进程的概念。坦白讲,mmap、munmap这样的API让我找到了回家的感觉,刚入行做Linux的时候,写好framebuffer驱动后,就是把/dev/fb0 mmap到用户空间来操作,所以mmap这样的 API,真的是特别亲切,像亲人一样。转载 2022-08-19 19:08:47 · 992 阅读 · 0 评论 -
内存映射函数remap_pfn_range,用户进程虚拟地址空间学习
linux内存管理 内存映射原创 2022-07-10 15:42:27 · 486 阅读 · 0 评论 -
内存泄漏
参看资料:https://www.cnblogs.com/mfrbuaa/p/3851742.html1. 什么是内存泄漏(memory leak)? 指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不是指内存在物理上的消失,而是应用...转载 2020-03-29 15:22:21 · 215 阅读 · 0 评论 -
踩内存:总的来说,是访问了不应该访问的内存地址。尤其在C指针中。可以访问不合法的内存。
现象:挂死,程序跑的异常,数据被串改大致原因:数组越界,字符串操作越界,栈指针操作越界,操作了释放掉了的指针,多线程时序对资源保护控制不当,内存管理异常,使用了其他地方的内存定位方法:1. 类...转载 2020-03-29 15:14:28 · 633 阅读 · 0 评论 -
内存管理:mmap内存映射
Linux驱动mmap内存映射 </h1> <div class="clear"></div> <div class="postBody"> mmap在linux哪里?什么是mmap?上图说了,m...转载 2020-03-22 12:52:07 · 609 阅读 · 0 评论 -
笔记:内存管理
进程使用对应内存区域的5个数据区:代码段:代码指令,不可写数据段:存放初始化的全局变量和静态变量(static)BSS:存放未初始化的全局变量和静态变量(static)堆:存放运行中动态分配的内存栈:存放临时局部变量、函数参数、返回值2.从用户到内核,内存地址从“逻辑地址”——“线性地址”——“物理地址”逻辑地址经过段机制转化为线性地址,线性地址经过页机制转化...原创 2020-03-15 16:12:30 · 191 阅读 · 0 评论 -
Linux内存管理(最透彻的一篇)
摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与...转载 2020-03-07 16:14:20 · 424 阅读 · 0 评论