Linux设备驱动程式学习(6)-高级字符驱动程式操作[(3)设备文件的访问.doc

Linux设备驱动程式学习(6)-高级字符驱动程式操作[(3)设备文件的访问.doc

ID:50682088

大小:29.00 KB

页数:8页

时间:2020-03-13

Linux设备驱动程式学习(6)-高级字符驱动程式操作[(3)设备文件的访问.doc_第1页
Linux设备驱动程式学习(6)-高级字符驱动程式操作[(3)设备文件的访问.doc_第2页
Linux设备驱动程式学习(6)-高级字符驱动程式操作[(3)设备文件的访问.doc_第3页
Linux设备驱动程式学习(6)-高级字符驱动程式操作[(3)设备文件的访问.doc_第4页
Linux设备驱动程式学习(6)-高级字符驱动程式操作[(3)设备文件的访问.doc_第5页
资源描述:

《Linux设备驱动程式学习(6)-高级字符驱动程式操作[(3)设备文件的访问.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Linux设备驱动程式学习(6)-高级字符驱动程式操作[(3)设备文件的访问控制Linux设备驱动程式学习(6)-高级字符驱动程式操作[(3)设备文件的访问控制]提供访问控制对于一个设备节点来的可靠性来说有时是至关重要的。这部分的内容只是在open和release方法上做些修改,增加一些检查机制既可。独享设备最生硬的访问控制方式是只允许一个设备一次被一个进程打开(独享),这是个设备驱动最简单的访问控制。实现十分简单,具体的代码看实验源码吧!模块程式链接:scullsingle.tar.gz模块测试程式链接:

2、scullsingle-test.tar.gzARM9实验板的实验现象是:[Tekkaman2440@SBC2440V4]#cd/lib/modules/[Tekkaman2440@SBC2440V4]#insmodscullsingle.ko[Tekkaman2440@SBC2440V4]#cat/proc/devicesCharacterdevices:  1mem  2pty  3ttyp  4/dev/vc/0  4tty  4ttyS  5/dev/tty  5/dev/console  5/de

3、v/ptmx  7vcs10misc13input14sound81video4linux89i2c90mtd116alsa128ptm136pts180usb189usb_device204s3c2410_serial252scullsingle253usb_endpoint254rtcBlockdevices:  1ramdisk256rfd  7loop31mtdblock93nftl96inftl179mmc[Tekkaman2440@SBC2440V4]#mknod-m666scullsingle

4、c2520[Tekkaman2440@SBC2440V4]#cd/tmp/[Tekkaman2440@SBC2440V4]#./scullsingle-test&[Tekkaman2440@SBC2440V4]#openscullsingleisfile=3[Tekkaman2440@SBC2440V4]#echo12345>/dev/scullsingle-sh:cannotcreate/dev/scullsingle:Deviceorresourcebusy[Tekkaman2440@SBC2440V4

5、]#cat/dev/scullsinglecat:can’topen’/dev/scullsingle单用户访问open调用在第一次打开记住了设备拥有者,此用户可多次打开设备,并协调多个进程对设备并发操作。同时,没有其他用户可打开他,避免了外部干扰。这个模块我是利用completion模块改的,这要既能实现功能,也方便测试。模块程式链接:completion-singleUID.tar.gz模块测试程式链接:completion-singleUID-test.tar.gzARM9实验板的实验现象是:[Tek

6、kaman2440@SBC2440V4]#insmod/lib/modules/singleUID.ko[Tekkaman2440@SBC2440V4]#cat/proc/devicesCharacterdevices:  1mem  2pty  3ttyp  4/dev/vc/0  4tty  4ttyS  5/dev/tty  5/dev/console  5/dev/ptmx  7vcs10misc13input14sound81video4linux89i2c90mtd116alsa128ptm13

7、6pts180usb189usb_device204s3c2410_serial252singleUID253usb_endpoint254rtcBlockdevices:  1ramdisk256rfd  7loop31mtdblock93nftl96inftl179mmc[Tekkaman2440@SBC2440V4]#mknod-m666/dev/singleUIDc2520[Tekkaman2440@SBC2440V4]#/tmp/singleUID_testr&[Tekkaman2440@SBC2

8、440V4]#logintekkamanPassword:Setsearchlibrarypathint/etc/profileSetuserpathin/etc/profileruning/etc/profileok[Tekkaman2440@SBC2440V4]#/tmp/singleUID_testwopensingleUIDcode=-1[Tekkaman2440@SBC2440V4]#/tmp/sing

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。