摘要: 1. 当内存紧缺时总是优先换出page cache页面,而不是匿名页面。因为大多数情况page cache页面下不需要回写磁盘,除非页面内容被修改了,而匿名页面总是要被写入交换分区才能被换出。 2. 用户malloc的地址在写数据时,会更新PG_REFERENCE位吗? 3. 由于使用vmalloc 阅读全文
posted @ 2019-06-23 20:34 爱技术的笨小孩 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 1. Linux内核内存回收逻辑和算法(LRU) https://www.cnblogs.com/muahao/p/10109712.html 2. Linux内存回收之LRU链表和第二次机会法 https://blog.csdn.net/bin_linux96/article/details/84 阅读全文
posted @ 2019-06-23 19:41 爱技术的笨小孩 阅读(461) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/younger_china/article/details/77047262 阅读全文
posted @ 2019-06-23 18:52 爱技术的笨小孩 阅读(121) 评论(0) 推荐(0) 编辑
摘要: kernel 在2.6.25的时候加入了这样一个功能/proc/self/pagemap 也就是在每个进程的/proc里面都有一个pagemap通过读取里面的内容就可以算出当前虚拟地址对应的物理页,然后加入page_offset就可以知道当前虚拟地址对应的物理地址。 /proc/pagemap需要你 阅读全文
posted @ 2019-06-23 18:25 爱技术的笨小孩 阅读(3116) 评论(0) 推荐(0) 编辑
摘要: /dev/mem 用来访问物理IO设备,比如X用来访问显卡的物理内存,或嵌入式中访问GPIO。用法一般就是open,然后mmap,接着可以使用map之后的地址来访问物理内存。这其实就是实现用户空间驱动的一种方法。 /dev/kmem 一般可以用来查看kernel的变量,或者用作rootkit之类的。 阅读全文
posted @ 2019-06-23 18:12 爱技术的笨小孩 阅读(1447) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2019-06-23 15:42 爱技术的笨小孩 阅读(4) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2019-06-23 15:40 爱技术的笨小孩 阅读(1) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2019-06-23 15:09 爱技术的笨小孩 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 普通文件I/O 第一次复制:disk->page cache,从磁盘到页缓存(外存到主存) 第二次复制:page cache->process heap,从页缓存到进程堆空间(即内核态到用户态) 内存映射文件mmap disk->page cache,从磁盘到页缓存(外存到主存 阅读全文
posted @ 2019-06-23 14:34 爱技术的笨小孩 阅读(582) 评论(0) 推荐(0) 编辑
摘要: init_special_inode >字符设备节点i_fop = &def_chr_fops; >(重要的***) >块设备节点i_fop = &def_blk_fops >fifo节点i_fop = &def_fifo_fops; >sock节点i_fop = &bad_sock_fops 阅读全文
posted @ 2019-06-23 11:20 爱技术的笨小孩 阅读(303) 评论(0) 推荐(0) 编辑
摘要: o_direct: 任何读写操作都只在用户态地址空间和磁盘之间传送而不经过page cache O_SYNC: 只影响写操作,block当前写进程,先从用户态内存写入page cache, 再从page cache写入磁盘,然后才返回到用户进程 阅读全文
posted @ 2019-06-23 11:04 爱技术的笨小孩 阅读(2182) 评论(0) 推荐(1) 编辑
摘要: grep -A n xxx grep -B n xxx grep -C n xxx 分别搜索xxx并打印后面,前面,前后制定行数的内容 阅读全文
posted @ 2019-06-23 10:55 爱技术的笨小孩 阅读(231) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2019-06-23 10:51 爱技术的笨小孩 阅读(2) 评论(0) 推荐(0) 编辑
摘要: sync: 把page cache中的高速缓存的所有文件的脏页,super block, 以及inode本身刷新到磁盘。 fsync: 把制定文件的脏页写到磁盘,包括page cache和inode本身。 fdatasync: 只把制定文件的page cache写入磁盘,忽略inode本身。 ffl 阅读全文
posted @ 2019-06-23 10:26 爱技术的笨小孩 阅读(1479) 评论(0) 推荐(0) 编辑