在类UNIX 操作系统中, /dev/zero 是一个特殊的文件,当你读它的时候,它会提供无限的空字符(NULL, ASCII NUL, 0x00),即获取的是一串二进制0。其中的一个典型用法是用它提供的字符流来覆盖信息,另一个常见用法是产生一个特定大小的空白文件。具体驱动实现如下
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/uaccess.h>
#ifdef CONFIG_MODVERSIONS
#define MODVERSIONS
#include <linux/version.h>
#endif
#define DEVICE_NUM 0
static int dev_num = 0;
static int openNum = 0;
static int mydev_zero_open(struct inode *inode, struct file *filp);
static int mydev_zero_release(struct inode *inode, struct file* filp);
static ssize_t mydev_zero_read(struct file *file, char __user *buf, size_t count, loff_t *f_pos);
static