摘要:原文链接 request_mem_region,ioremap 和phys_to_virt() Linux在头文件include/linux/ioport.h中定义了三个对I/O内存资源进行操作的宏:(1)request_mem_region()宏,请求分配指定的I/O内存资源。(2)check_m
阅读全文
摘要:原文链接 1ftok函数 系统建立IPC通讯 (消息队列、信号量和共享内存) 时必须指定一个ID值。通常情况下,该id值通过ftok函数得到。 linux系统调用之ftok() ftok原型如下: key_t ftok( char fname, int id ) fname就时你指定的文件(存在,可
阅读全文
摘要:原文链接 ftok函数用途 由于共享内存,消息队列,信号量都是通过中间介质进行通信的,这种介质非常多,想要通过唯一一个介质进行通信,就需要像身份证号来区分人一样去区分这些介质呢?使其具有唯一性。正好文件的设备编号和节点是唯一的,可对其稍加改造以产生一个唯一的编号,ftok()函数就是去做这件事的。f
阅读全文
摘要:原文链接 在共享内存(上)中,主要围绕着系统调用mmap()进行讨论的,本部分将讨论系统V共享内存,并通过实验结果对比来阐述两者的异同。系统V共享内存指的是把所有共享数据放在共享内存区域(IPC shared memory region),任何想要访问该数据的进程都必须在本进程的地址空间新增一块内存
阅读全文
摘要:原文链接 Linux系统调用 getrusage函数详解 功能描述: 获得进程的相关资源信息。如:用户开销时间,系统开销时间,接收的信号量等等; 用法: include <sys/types.h include <sys/time.h include <sys/resource.h define R
阅读全文
摘要:点击查看原文 我们知道,在linux中有一个很重要的概念,虚拟内存,当物理内存不够时,可以将内存中一些数据存储到硬盘上,而让出物理内存。我们一般在PC上安装linux时,会创建一个swap分区,其大小一般设置为内存的2倍。而我们在嵌入式设备中,却看不到该分区,为什么呢?我们知道在嵌入式设备中,一般使
阅读全文
摘要:原文链接:点击跳转到原文作者liu yonggang的文章。 [Linux内核系列—C语言中内嵌汇编 asm volatile ]https://cn.aliyun.com/jiaocheng/68768.html [ linux源码阅读笔记 asm函数]https://www.cnblogs.co
阅读全文
摘要:调试过程中经过会遇到各种各样的内存问题,内存泄漏、重复释放、内存溢出等,当然技术手段也有很多总,比如mtrace、Valgrind等,但是GUN链接器实际提供了一个好用的方法 wrap=symbol 函数名定义为__wrap_symbol ,symbol也是一个函数,那么编译的时候如果添加了链接参数
阅读全文
摘要:gcc内嵌汇编简介 在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器,以及如何将计算结果写回C 变量,你只要告诉程序中C语言表达式与汇编指令操作数之间的对应关系即可, GCC会自动插入代码完成必要的操作。 1、简单的内嵌汇编 例: __asm_
阅读全文
摘要:本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 之前说了管理区页框分配器,这里我们简称为页框分配器,在页框分配器中主要是管理物理内存,将物理内存的页框分配给申请者,而且我们知道也可页框大小为4K(也可设置为4M),这时候就会有个问题,如果我只需要1KB大小的内
阅读全文
摘要:原文链接:http://blog.chinaunix.net/uid 20786208 id 4979967.html 对于内核的内存管理,像kmalloc,vmalloc,kmap,ioremap等比较熟悉。而对用户层的管理机制不是很熟悉,下面就从malloc的实现入手.( 这里不探讨linux系
阅读全文
摘要:原文链接:https://www.cnblogs.com/justinyo/archive/2013/03/12/2956438.html 为了查看linux下malloc的实现函数,下载了Glibc的源码文件,可是找不到实现的函数在哪里。 看文件名 应该是在malloc/malloc.c里面。 发
阅读全文
摘要:原文链接:https://www.cnblogs.com/frisk/p/11602973.html SIGHUP 1 / Hangup (POSIX). / 终止进程 终端线路挂断 SIGINT 2 / Interrupt (ANSI). / 终止进程 中断进程 Ctrl+C SIGQUIT 3
阅读全文
摘要:手工释放linux内存——/proc/sys/vm/drop_cache linux的内存查看: [root@localhost 0.1.0] free m total used free shared buffers cached Mem: 4032 694 3337 0 0 25 123 需要说
阅读全文
摘要:top命令几乎是每个程序员都会用到的Linux命令。这个命令用来查看Linux系统的综合性能,比如CPU使用情况,内存使用情况。这个命令能帮助我快速定位程序的性能问题。 虽然这个命令很重要,但是之前对于这个命令的使用几乎仅限于查看下哪个进程使用的CPU最高,哪个进程占用的内存最高。对于输出的各个参数
阅读全文
摘要:跟我一起写Makefile陈皓(博客地址:http://blog.csdn.net/haoel/article/details/2886)整理的PDF文件:http://download.csdn.net/download/xiaoshuai537/102620891. makefile很重要什么是
阅读全文
摘要:本文转自:http://blog.csdn.net/gulansheng/article/details/42683809 一、简介 作为Linux下的程序开发人员,一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要
阅读全文