在linux下设备文件读写实例

一般在linux下设备分为字符设备和块设备。
字符设备是指设备发送和接收数据以字符的形式进行;而块设备则以整个数据缓冲区的形式进行。
在linux下对任何的操作可以看成是对设备的操作。简单而言之,可以是看成对设备文件的读写操作。
那么,怎样对linux 的设备文件进行读写呢?我们通过一段小程序来模拟linux下对字符设备文件的读写操作。
程序如下(本程序基于linux2.6内核):

1.定义自己的设备文件驱动
// my_driver.c
MODULE_LICENSE("GPL");
// 定义自己的操作类型
struct file_operations my_driver_fops =
 {
     read:
         my_driver_read,
     write:
         my_driver_write,
 };

static int my_ver = 0;
static struct semaphore sem; 
static wait_queue_head_t outq;
static int flag = 0;

// 初始化文件设备
static int __init my_driver_init(void)
{
 int ret;
 ret = register_chrdev(MAJOR_NUM, "my_driver", &my_driver_fops);
 if (ret) {
  printk("my_driver register failure/n");
 } else {
  printk("my_driver register success/n");
  i

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值