欢迎来到天天文库
浏览记录
ID:45493827
大小:35.50 KB
页数:8页
时间:2019-11-13
《Linux设备驱动程式学习资料》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、n更多企业学院:《中小企业管理全能版》183套讲座+89700份资料《总经理、高层管理》49套讲座+16388份资料《中层管理学院》46套讲座+6020份资料 《国学智慧、易经》46套讲座《人力资源学院》56套讲座+27123份资料《各阶段员工培训学院》77套讲座+324份资料《员工管理企业学院》67套讲座+8720份资料《工厂生产管理学院》52套讲座+13920份资料《财务管理学院》53套讲座+17945份资料 《销售经理学院》56套讲座+14350份资料《销售人员培训学院》72套讲座+4879份资料Linux设备驱动程式学习(6)-高级字符驱动程式操作[(3)设
2、备文件的访问控制Linux设备驱动程式学习(6) -高级字符驱动程式操作[(3)设备文件的访问控制] 提供访问控制对于一个设备节点来的可靠性来说有时是至关重要的。这部分的内容只是在open和release方法上做些修改,增加一些检查机制既可。 独享设备 最生硬的访问控制方式是只允许一个设备一次被一个进程打开(独享),这是个设备驱动最简单的访问控制。实现十分简单,具体的代码看实验源码吧! 模块程式链接: scullsingle.tar.gz 模块测试程式链接: scullsingle-test.tar.gz ARM9实验板的实验现象是: [Tekkaman2440@
3、SBC2440V4]#cd/lib/modules/ [Tekkaman2440@SBC2440V4]#insmodscullsingle.ko [Tekkaman2440@SBC2440V4]#cat/proc/devices Characterdevices: 1mem 2pty 3ttyp 4/dev/vc/0 4tty 4ttyS 5/dev/tty 5/dev/console 5/dev/ptmx 7vcs 10misc 13input 14sound 81video4linux 89i2c 90mtd 116als
4、a 128ptm 136pts 180usb 189usb_device 204s3c2410_serial 252scullsingle 253usb_endpoint 254rtc Blockdevices: 1ramdisk 256rfd 7loop 31mtdblock 93nftl 96inftl 179mmc [Tekkaman2440@SBC2440V4]#mknod-m666scullsinglec2520 [Tekkaman2440@SBC2440V4]#cd/tmp/ [Tekkaman2440@SBC2440V4]#./scullsin
5、gle-test& [Tekkaman2440@SBC2440V4]#openscullsingleisfile=3 [Tekkaman2440@SBC2440V4]#echo12345>/dev/scullsingle -sh:cannotcreate/dev/scullsingle:Deviceorresourcebusy [Tekkaman2440@SBC2440V4]#cat/dev/scullsingle cat:can’topen’/dev/scullsingle 单用户访问 open调用在第一次打开记住了设备拥有者,此用户可多次打开设备,并协调多个进程
6、对设备并发操作。同时,没有其他用户可打开他,避免了外部干扰。这个模块我是利用completion模块改的,这要既能实现功能,也方便测试。 模块程式链接: completion-singleUID.tar.gz 模块测试程式链接: completion-singleUID-test.tar.gz ARM9实验板的实验现象是: [Tekkaman2440@SBC2440V4]#insmod/lib/modules/singleUID.ko[Tekkaman2440@SBC2440V4]#cat/proc/devices Characterdevices: 1mem
7、 2pty 3ttyp 4/dev/vc/0 4tty 4ttyS 5/dev/tty 5/dev/console 5/dev/ptmx 7vcs 10misc 13input 14sound 81video4linux 89i2c 90mtd 116alsa 128ptm 136pts 180usb 189usb_device 204s3c2410_serial 252singleUID 253usb_endpoint 254rtc Blockdevices: 1ramdisk 256rfd 7loop 31mtdbl
此文档下载收益归作者所有