腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
在同一个内存块C中加载数千个文件
盒子:
Linux
,gcc通过递归扫描此文件夹,找出包含数千个项目的主文件夹的文件签名。使用
mmap
()系统
调用
加载每个文件的前1k字节,并检查文件幻数。这种方法的缺点是,对于遇到的每个文件,我必须进行
两次
系统
调用
(例如,
mmap
()和munmap())。如果可能,最好的解决方案: 我想分配一个单独的内存块,在这个唯一的缓冲区中加载每个文件(在一行中),当处理完成时释放它,这意味着对于每个扫描的文件夹,我只会使用两个系统
调用
。我不知道
浏览 0
提问于2013-01-17
得票数 0
1
回答
调用
mmap
回调时是否保留了
mmap
_sem?
、
当我们到达
Linux
内核模块中struct file_operations的
mmap
的回调时,我们可以假设在
调用
回调之前vma->vm_mm->mm_sem已经被挂起了吗?或者我们必须在执行remap_pfn_range之前显式
调用
down_write(&vma->vm_mm->
mmap
_sem)
浏览 62
提问于2020-08-22
得票数 0
回答已采纳
1
回答
tmpfs和
mmap
在xen上玩得很好吗?
、
、
、
、
linux
卷中的
mmap
将导致活动页
两次
存储在RAM中吗?我的理解是,内核使用一个特殊的shmem_
mmap
操作来映射ramdisk,因此每个页面只消耗一次资源。
浏览 1
提问于2014-03-06
得票数 1
回答已采纳
3
回答
linux
系统
调用
mmap
(2)和posix
mmap
(3)函数有什么区别?
、
、
、
、
linux
系统
调用
mmap
(2)和posix
mmap
(3)函数有什么区别?如何区分在浏览源代码时使用的是哪一个,因为它们有相同的头file.For细节,见下文。至少,我认为一些posix函数是由
linux
实现的。#log for "man 2
mmap
"
MMAP
(2)
Linux
Programmer's ManualThe
Linux
implementation of this interfac
浏览 2
提问于2020-04-24
得票数 1
2
回答
linux
中没有超过6个参数的系统
调用
,这是真的吗?
、
在unistd.h中有_syscall0~_syscall6那么我的结论是对还是错?
浏览 1
提问于2011-03-22
得票数 3
回答已采纳
1
回答
Linux
内存映射文件保留了大量物理内存。
、
、
我遇到了一个在多个线程中描述的问题,涉及到内存映射和
Linux
下内存消耗的增长。当我在
Linux
或MacOS X下打开一个1GB文件并使用按照顺序读取映射内存,我的程序使用越来越多的物理内存,尽管我使用了posix_madvise (甚至在读取过程中多次
调用
它): posix_madvise(me.data_begin, capacity)在
调用
<
浏览 1
提问于2010-09-24
得票数 6
1
回答
什么时候
调用
exit_
mmap
?
、
我认为赛车手可能有比赛条件.在exit_
mmap
(在
linux
/mm/
mmap
.c中实现)中
调用
了一些我期望最终由munmap系统
调用
的清理代码。在munmap
调用
之后,立即进行ioctl
调用
。如果尚未执行exit_
mmap
,则ioctl
调用
将返回一个错误。 所以..。在什么情况下
调用
exit_
mmap
?
浏览 2
提问于2011-07-06
得票数 4
回答已采纳
2
回答
malloc什么时候不
调用
mmap
?
、
、
、
我在大学学习操作系统,我的任务之一是找出malloc()不会导致
mmap
()系统
调用
的情况。我使用了strace
linux
实用程序来跟踪系统
调用
,但在我的情况下,每次使用malloc()时都会看到
mmap
()系统
调用
。谢谢
浏览 5
提问于2020-11-20
得票数 3
1
回答
防止fork()复制进程的内存映射(
mmap
‘’ed)
、
、
、
、
我有一个实现
mmap
操作集(vm_operations)的
Linux
设备驱动程序,以及一个使用
mmap
调用
映射设备驱动程序内存空间的进程。我希望避免这些重复,并实际上使所有的内存映射私有到父程序。 这在
Linux
上是可能的吗?
浏览 5
提问于2015-03-29
得票数 0
1
回答
‘`open()’、``
mmap
()‘是更基本的函数吗?
、
、
在
Linux
内核中,open()、
mmap
()或两者都不是更基本的文件访问方式吗?所谓“基本”,我指的是“最终是
调用
对方的另一个函数还是简单的助手函数?”。这个问题的希望是预先了解
Linux
内核内部的情况。open()是
调用
mmap
()还是一些本质上实现
mmap
()的助手函数?或者,
mmap
()是
调用
open()还是
调用
本质上实现open()的助手函数? 问题的核心是这两个系统
调用
是根本不同,还是一
浏览 0
提问于2017-08-11
得票数 1
回答已采纳
4
回答
如何在
linux
上映射同一物理内存上的两个虚拟地址?
、
、
、
我正面临着一个相当棘手的问题。我正在尝试获取两个指向相同物理内存的虚拟内存区。重点是在不同的内存区域上具有不同的页面保护参数。当我面临同样的问题时,我想在这里试一试,看看是否有人有更好的想法。不要害怕提及引擎盖背后的肮脏细节,这就是这个问题的意义所在。
浏览 0
提问于2011-09-07
得票数 8
回答已采纳
3
回答
如何告知gcc停止使用内置函数?
、
、
、
、
但是,对于许多函数,例如
mmap
,编译器仍然使用一些内置代码。现在,我如何才能要求编译器只使用glibc中的代码,而不是使用它的内置函数呢?在我的x86-64函数上,如果我对编译的glibc执行objdump,则生成的
mmap
函数如下所示。我在glibc源代码中找不到等效的代码。0000000000000000 <__
mmap
>: 3: b8 09 00 00 0048 3d 01 f0 ff ff cmp
浏览 0
提问于2012-05-21
得票数 8
1
回答
使用
mmap
映射共享内存大小超过ftruncate设置的大小
、
、
、
O_RDWR, S_IRUSR | S_IWUSR); int *p1 =
mmap
if (p1== MAP_FAILED) { } *p1 =
mmap
(NULL, 8*sizeof(我的意思是,是只创建了一个共享mem,还是像我做了
两次
mmap
那样创建了两个
浏览 0
提问于2019-03-01
得票数 1
1
回答
mmap
(2) vs
mmap
(3)
、
、
有人知道
mmap
(2)和
mmap
(3)之间的区别吗?Man第3节被描述为“本章描述了除第2章中描述的实现系统
调用
的库函数之外的所有库函数”。
mmap
(3)不执行系统
调用
吗?阅读这两个手册页,我发现
mmap
(2)似乎接受比
mmap
(3)更广泛的标志,并声称能够映射设备I/O空间。
mmap
(3)声称能够将“共享内存对象”和“类型化内存对象”映射到文件中,但没有提到设备I/O。 由于这两个函数具有相同的名称,我甚至不确定如何才能选择一个而
浏览 3
提问于2009-08-30
得票数 7
回答已采纳
1
回答
在
调用
malloc之后brk指针是如何增长的
、
、
我是
Linux
和C的新手,我只想问一下,在
调用
malloc之后,brk指针是如何增长的。我们知道内核维护一个指向堆顶部的brk指针。假设当我们
调用
malloc来分配请求的内存时,没有可用的空闲块,而且我们知道malloc在内部
调用
mmap
。以下是我的问题://not 100% correct onlyfor demo pur
浏览 0
提问于2020-09-23
得票数 1
回答已采纳
1
回答
如何跟踪
Linux
上任何应用程序的
mmap
调用
?
、
、
有没有什么方法可以跟踪运行在
Linux
上的应用程序(例如: Java应用程序)进行的
mmap
调用
? 我特别想弄清楚一个应用程序(在本例中是java应用程序)通过
mmap
调用
分配了多少内存。
浏览 2
提问于2017-02-07
得票数 0
9
回答
Linux
/perl
mmap
性能
、
、
、
执行此操作时,代码在从
mmap
调用
返回之前会花费一分钟以上的时间,尽管此测试不执行任何操作-甚至不读取
mmap
文件。我猜测,也许
linux
在第一次执行
mmap
时要求读取整个文件,所以在第一个进程(在休眠状态下)映射完文件后,我在另一个进程中
调用
了一个简单的测试,该进程试图读取文件的前几兆字节。令人惊讶的是,似乎第二个进程在从
mmap
调用
返回之前也花费了大量时间,大约与第一次
mmap
对文件执行
mmap
的时间相同。我原以
浏览 3
提问于2009-06-27
得票数 10
回答已采纳
6
回答
为什么malloc()可以互换地
调用
mmap
()和brk()?
、
、
、
、
我跟踪了
Linux
调用
,发现如果我使用malloc请求少量堆内存,那么malloc就会在内部
调用
brk。 但是,如果我使用malloc请求大量堆内存,那么malloc就会在内部
调用
mmap
。因此,brk和
mmap
之间肯定有很大的区别,但理论上,无论请求的大小如何,我们都应该能够使用brk来分配堆内存。那么,为什么malloc在分配大量内存时
调用
mmap
呢?
浏览 7
提问于2020-09-23
得票数 17
回答已采纳
2
回答
linux
如何保护内存?
、
、
、
、
我感兴趣的是,从汇编的角度来看,
linux
是如何在保护模式下运行的。当涉及到将i386:0x86_64机器的cpu置于保护模式时,使用哪些寄存器和中断?我知道内存管理是如何工作的,当我看着c语言的函数源码时,比如
mmap
和me,然而是什么阻止了我接管汇编呢?我在哪里可以获得更多关于这方面的信息?
浏览 4
提问于2012-04-17
得票数 2
回答已采纳
1
回答
在
linux
驱动中,当数据指针被传递到函数中时,为什么kfree不起作用?
、
、
、
#include <
linux
/init.h>#include <
linux
/proc_fs.h>#include<
linux
/mm.h> #define FILE_NAME "te
浏览 4
提问于2016-03-22
得票数 1
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux内存映射mmap原理分析
当对象释放时,避免析构函数调用两次
linux零拷贝原理,RocketMQ&Kafka使用对比
Linux系统调用实例和功能速查
介绍Linux下的系统调用过程
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券