原文:/dev/mem同步写不能使用msync的MS_SYNC选项探究

问题 做了个测试板子的程序,里面有一项写铁电的功能,要求写入之后立即断电,重启后校验数据准确性 铁电设计是通过内存地址直接映射的,于是,使用mmap直接映射了 dev mem文件,自然地写入之后使用msync进行同步,最后使用munmap解映射 然而,当我运行这段程序的时候,发现msync的MS SYNC选项进行同步的时候会返回错误,错误码是EINVAL 这就奇怪了 查原因 . 查看MAN手册,如 ...

2019-10-30 19:36 0 313 推荐指数:

查看详情

linux 同步IO: sync msync、fsync、fdatasync与 fflush

最近阅读leveldb源码,作为一个保证可靠性的kv数据库其数据与磁盘的交互可谓是极其关键,其中涉及到了不少内存和磁盘同步的操作和策略。为了加深理解,从网上整理了linux池畔同步IO相关的函数,这里做一个罗列和对比。大部分为copy,仅为记录,请各位看官勿喷。 传统的UNIX实现在内核中设有 ...

Fri Jul 04 04:22:00 CST 2014 0 3211
用户态和内核共享内存----使用 /dev/mem & mmap

想法的来源是看到chinaunix上有人转载了wheelz的博客,但是wheelz的代码在我的实验平台上是不能正常工作的,可能是wheelz的代码太过久远,我试验的内核版本是:3.4.13。wheel ...

Fri Nov 23 23:36:00 CST 2012 0 3682
/dev/mem和/dev/kmem的区别

/dev/mem 用来访问物理IO设备,比如X用来访问显卡的物理内存,或嵌入式中访问GPIO。用法一般就是open,然后mmap,接着可以使用map之后的地址来访问物理内存。这其实就是实现用户空间驱动的一种方法。 /dev/kmem 一般可以用来查看kernel的变量,或者用作rootkit ...

Mon Jun 24 02:12:00 CST 2019 0 449
/dev/mem可没那么简单

这几天研究了下/dev/mem。发现功能非常奇妙,通过mmap能够将物理地址映射到用户空间的虚拟地址上。在用户空间完毕对设备寄存器的操作,于是上网搜了一些/dev/mem的资料。网上的说法也非常统一,/dev/mem是物理内存的全映像,能够用来訪问物理内存,一般使用方法是open("/dev ...

Tue Jul 25 03:54:00 CST 2017 0 7681
内核开启devmem(/dev/mem)

DEVMEM=y ARCH_HAS_DEVMEM_IS_ALLOWED=y DEVMEM_BOOTPARAM=n IO_STRICT_DEVMEM=n STRICT_DEVMEM=n ...

Wed Nov 18 02:52:00 CST 2020 1 551
使用Microsoft Sync Framework做文件同步

闲来无事整理电脑时候发现电脑程序菜单里面有个Microsoft Sync Framework,看到名字也知道是异步框架。但使用场景就不太清楚了。后面查阅了相关资料,知道比较典型的使用就是做文件同步了。 结果第二天就在公司遇到比较坑爹的客户需求,需要将一个网站的数据共享,而且数据量比较大,其中产 ...

Mon Sep 03 19:13:00 CST 2012 1 2666
使用Settings sync同步VS Code配置

使用Settings sync同步VS Code配置 因为要在多台电脑上使用VSCode,想要简单地管理VSCode地配置,不用每次手动去一一配置,保持多个开发环境的同步,于是使用Settings sync插件来实现这个需求。 第一步:在VS Code中安装Settings sync插件 ...

Mon Aug 26 06:09:00 CST 2019 0 917
VsCode使用setting sync 同步自己的插件和设置等

直接再 Vscode中安装就可以,然后: 1. 可以点看setting sync插件在vscode 这个时候可以按照提示进行设置(也可以参考下:https://www.cnblogs.com/kenz520/p/7416836.html) 2. 在vc code中执行同步 ...

Sat Oct 05 18:25:00 CST 2019 0 474
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM