Advertisement

Linux内核通过共享内存机制与用户程序交互

阅读量:
  1. 在内核层面通过调用remap_pfn_range实现内存共享,并完成mmp回调函数的开发工作。
  2. 系统默认采用动态方式为设备分配编号,同时支持用户通过命令行参数自定义设备编号。
  3. 利用cdev_add接口对字符设备进行注册操作。
  4. 调用device_create函数生成对应的设备文件,包括"/dev/demo0"与"/dev/demo1"。

执行模块编译流程

复制代码
    #make
    #sudo insmod sharedmem.ko
    
    #cd /dev
    #ls 
    有demo0,demo1
    
    
      
      
      
      
      
      
    

测试程序的编译过程

复制代码
    #gcc user.c -o user
    切换到root用户
    #su root
    #./user
    root@imc:/home/imc/Documents/code/kernel-ethercat/sharedmem# ./user 
    buf 1 = cwd is in e308
    buf 2 = cwd in house!
    
    
      
      
      
      

全部评论 (0)

还没有任何评论哟~