【发布时间】:2012-04-18 15:40:26
【问题描述】:
我在我的操作系统课程中有一个任务是制作一个简单的伪堆栈 Linux 设备驱动程序。例如,如果我要向设备驱动程序写入“Hello”,当我读取它时它会返回“olleH”。我们必须在 C 中构建一个测试程序来调用设备驱动程序的读/写函数来证明它以 FILO 方式运行。我已经完成了所有这些,我认为我的测试程序证明了任务的目的;但是,出于好奇,我在 BASH 中执行了以下命令:
echo "Test" > /dev/driver
cat /dev/driver
/dev/driver 是我使用“mknod”创建的特殊文件。但是,当我这样做时,我会得到一个充满错误的黑屏。在我使用 CNTRL+ALT+F7 切换回 GUI 视图后,我看到 BASH 已返回“Killed”。
有谁知道导致这种情况发生的原因是什么?我很困惑,因为我的测试程序调用了 open()、read() 和 write(),一切都正常运行。
如果我需要显示一些代码,请问。
【问题讨论】:
标签: linux device-driver