码迷,mamicode.com
首页 >  
搜索关键字:mmap    ( 491个结果
malloc,free的简单实现
首先简单说一下标准库中malloc实现原理:     标准库内部通过一个双向链表,管理在堆中动态分配的内存。     malloc函数分配内存时会附加若干(通常是12个)字节,存放控制信息。     该信息一旦被意外损坏,可能在后续操作中引发异常。 mmap/munmap   底层不维护任何东西,只是返回一个首地址,所分配内存位于堆中。 brk/sbrk   底层维护一个...
分类:其他好文   时间:2014-10-12 15:23:58    阅读次数:224
《Linux Device Drivers》第十五章 内存映射和DMA——note
简介 许多类型的驱动程序编程都需要了解一些虚拟内存子系统如何工作的知识当遇到更为复杂、性能要求更为苛刻的子系统时,本章所讨论的内容迟早都要用到本章的内容分成三个部分 讲述mmap系统调用的实现过程讲述如何跨越边界直接访问用户空间的内存页讲述了直接内存访问(DMA)I/O操作,它使得外设具有直接访问系统内存的能力 Linux的内存管理 地址类型 Linux是一个虚拟内存...
分类:系统相关   时间:2014-10-09 17:12:38    阅读次数:279
[转]ioremap与mmap
几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种: (1)I/O映射方式(I/O-mapped) 典型地,如X86处理器为外设专门实现了一个单独的地址空...
分类:其他好文   时间:2014-10-06 18:13:40    阅读次数:179
mmap 函数
头文件:#include #include 定义函数:void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offsize);函数说明:mmap()用来将某个文件内容映射到内存中,对该内存区域的存取即是.....
分类:其他好文   时间:2014-09-28 14:18:42    阅读次数:263
C/C++ 使用mmap/munmap函数分配内存
在C/C++ 中常用的内存分配和管理的方式有很多,如智能指针, STL容器, new/delete, malloc/free, brk, sbrk等等,最近研究了一下Unix比较底层的一种内存管理方式mmap/munmap,需要完全自己来维护分配的虚拟内存,没有任何其他辅助的数据结构来帮助维护内存空间。 一、在终端里输入 man mmap 可以查看此函数的API文档,此函数的具体描述如下: v...
分类:编程语言   时间:2014-09-27 13:55:09    阅读次数:799
内存分配原理 -进程分配内存的两种方式,分别有系统调用完成brk() 和mmap()(不设计共享内存)
如何查看进程发生缺页中断的次数?          用ps -o majflt,minflt -C program命令查看。           majflt代表major fault,中文名叫大错误,minflt代表minor fault,中文名叫小错误。           这两个数值表示一个进程自启动以来所发生的缺页中断的次数。 发成缺页中断后,执行了那些操作?...
分类:其他好文   时间:2014-09-23 14:17:14    阅读次数:256
几个系统调用分析 glibc中的malloc调用和共享内存原理
本文主要分析内存以及I/O相关的系统调用和库函数的实现原理,根据原理给出在使用过程中需要注意的问题和优化的侧重点,本文涉及到的系统调用包括readahead,pread/pwrite,read/write,mmap,readv/writev,sendfile,fsync/fdatasync/msync,shmget,malloc。        本文先简单介绍应用程序对内存的使用以及I/O系统对...
分类:其他好文   时间:2014-09-23 12:55:44    阅读次数:380
一张图深度解析Linux共享内存的内核实现
本文首先介绍了众所周知的共享内存API,然后介绍了相关的内核主要数据结构,并逐一分析了shmget、shmat、数据访问、shmdt的内核实现及数据结构之间的动态关系,从数据的关联图即可一窥共享内存的实现机制。...
分类:系统相关   时间:2014-09-23 01:59:03    阅读次数:537
3Linux内存映射,mmap()函数
?? 1mmap()依赖的头文件 #include 2函数声明: void *mmap(void *addr, size_t length, intprot, int flags,      intfd, off_t offset); int munmap(void *addr, size_t length); 函数说明: mmap可以把磁盘文件...
分类:系统相关   时间:2014-09-21 02:54:19    阅读次数:317
C语言内存函数
http://see.xidian.edu.cn/cpp/u/hs3/函数说明calloc()分配内存空间free()释放内存空间getpagesize()取得内存分页大小malloc()分配一段内存空间mmap()建立内存映射munmap()解除内存映射memccpy()复制内存中的内容memc....
分类:编程语言   时间:2014-09-16 12:02:50    阅读次数:167
491条   上一页 1 ... 42 43 44 45 46 ... 50 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!