首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

零拷贝(zero copy)技术你真的懂吗?什么时候需要用到内存映射?

Linux系统是虚拟内存系统,虚拟内存并不是真正的物理内存,而是虚拟的连续内存地址空间。虚拟内存又分为内核空间和用户空间,内核空间是内核程序运行的地方,用户空间是用户进程代码运行的地方,只有内核才能直接访问物理内存并为用户空间映射物理内存(MMU)。内核会为每个进程分配独立的连续的虚拟内存空间,并且在需要的时候映射物理内存,为了完成内存映射,内核为每个进程都维护了一张页表,记录虚拟地址与物理地址的映射关系,这个页表就是存在于MMU中;用户进程访问内存的时候,通过页表把虚拟内存地址转换为物理内存地址进而访问数据;其实对于用户进程而言,虚拟内存就是内存一般的存在(当作内存看待就好)。这样的设计可以把用户程序和系统程序分开,互不影响;内核可以对所有的用户程序进行管理,比如限制内存滥用等

01

msvc2013编译qt5.6源码

说起到qt的编译,真是领人痛心啊,不仅编译选项繁多,而且编译时间比较久,总是能使想编译qt源码的人望而却步,呵呵。。。我就是其中一个,不知道从什么时候开始就想着把qt的源码编译一下,也尝试过几次,但都以失败而告终,编译的时候总是不得要领,网上的相关文章也是一大片,但总是五花八门,因为不同人的机器是不一样的,编译的源码时可能会出现不一样的错误信息。最近偶然间看到qtcn博客中有人用vs2013编译qt5.6,他也给出了编译的博客地址Qt 5.6.0 动态编译(VS2013 x86 target xp openssl icu webkit) ,我顿时又来了兴趣,兴致勃勃的去到这个地址阅读了作者的编译步骤,开始了新的编译里程。

02

Windows Longhorn_Windows优化

一、系统优化设置。 1、删除Windows强加的附件: 1) 用记事本NOTEPAD修改/winnt/inf/sysoc.inf,用查找/替换功能,在查找框中输入,hide(一个英文逗号紧跟hide),将“替换为”框设为空。并选全部替换,这样,就把所有的,hide都去掉了, 2) 存盘退出, 3)再运行“添加-删除程序”,就会看见“添加/删除 Windows 组件”中多出了好几个选项;这样你可以删除好些没有用的附件 2、关掉调试器Dr. Watson; Dr.Watson是自带的系统维护工具,它会在程序加载失败或崩溃时显示。运行drwtsn32,把除了“转储全部线程上下文”之外的全都去掉。否则一旦有程序出错,硬盘会响很久,而且会占用很多空间。如果你以前遇到过这种情况,请查找user.dmp文件并删掉,可能会省掉几十M的空间。这是出错程序的现场,对我们没用。然后打开注册表,找到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/AeDebug子键分支,双击在它下面的Auto键值名称,将其“数值数据”改为0,最后按F5刷新使设置生效,这样就彻底来取消它的运行了。 另外蓝屏时出现的memory.dmp也可删掉。可在我的电脑/属性中关掉BSOD时的DUMP 3、关闭“系统还原”:鼠标右健单击桌面上的“我的电脑”,选择“属性”,找到“系统还原”,如果你不是老噼里啪啦安装一些软件(难道你比我还厉害??),你也可以去掉,这样可以节省好多空间。

02
领券