日期:2014-05-16 浏览次数:20732 次
实验测试结果
[Tekkaman2440@SBC2440V4]#cd /lib/modules/ [Tekkaman2440@SBC2440V4]#insmod pipe.ko [Tekkaman2440@SBC2440V4]#cat /proc/devices Character devices: 1 mem 2 pty 3 ttyp 4 /dev/vc/0 4 tty 4 ttyS 5 /dev/tty 5 /dev/console 5 /dev/ptmx 7 vcs 10 misc 13 input 14 sound 81 video4linux 89 i2c 90 mtd 116 alsa 128 ptm 136 pts 180 usb 189 usb_device 204 s3c2410_serial 252 pipe 253 usb_endpoint 254 rtc Block devices: 1 ramdisk 256 rfd 7 loop 31 mtdblock 93 nftl 96 inftl 179 mmc [Tekkaman2440@SBC2440V4]#cd /dev/ [Tekkaman2440@SBC2440V4]# [Tekkaman2440@SBC2440V4]#cd /tmp/ [Tekkaman2440@SBC2440V4]#./pipe_test & [Tekkaman2440@SBC2440V4]#open scullpipe0 ! open scullpipe1 ! SCULL_P_IOCTSIZE : scull_p_buffer0=21 ! SCULL_P_IOCTSIZE : scull_p_buffer1=21 ! close pipetest0 ! close pipetest1 ! reopen scullpipe0 ! reopen scullpipe1 ! [Tekkaman2440@SBC2440V4]#echo 12345678901234567890 > /dev/scullpipe0 [Tekkaman2440@SBC2440V4]#read from pipetest0 code=20 [0]=1 [1]=2 [2]=3 [3]=4 [4]=5 [5]=6 [6]=7 [7]=8 [8]=9 [9]=0 [10]=1 [11]=2 [12]=3 [13]=4 [14]=5 [15]=6 [16]=7 [17]=8 [18]=9 [19]=0 read from pipetest0 code=1 [0]= [1]=2 [2]=3 [3]=4 [4]=5 [5]=6 [6]=7 [7]=8 [8]=9 [9]=0 [10]=1 [11]=2 [12]=3 [13]=4 [14]=5 [15]=6 [16]=7 [17]=8 [18]=9 [19]=0 [Tekkaman2440@SBC2440V4]#echo 12345678901234 > /dev/scullpipe1 [Tekkaman2440@SBC2440V4]#read from pipetest1 code=15 [0]=1 [1]=2 [2]=3 [3]=4 [4]=5 [5]=6 [6]=7 [7]=8 [8]=9 [9]=0 [10]=1 [11]=2 [12]=3 [13]=4 [14]= [15]=6 [16]=7 [17]=8 [18]=9 [19]=0 [Tekkaman2440@SBC2440V4]#ps PID Uid VSZ Stat Command 1 root 1744 S init 2 root SW< [kthreadd] 3 root SWN [ksoftirqd/0] 4 root SW< [watchdog/0] 5 root SW< [events/0] 6 root SW< [khelper] 59 root SW< [kblockd/0] 60 root SW< [ksuspend_usbd] 63 root SW< [khubd] 65 root SW< [kseriod] 77 root SW [pdflush] 78 root SW [pdflush] 79 root SW< [kswapd0] 80 root SW< [aio/0] 707 root SW< [mtdblockd] 708 root SW< [nftld] 709 root SW< [inftld] 710 root SW< [rfdd] 742 root SW< [kpsmoused] 751 root SW< [kmmcd] 769 root SW< [rpciod/0] 778 root 1752 S -sh 779 root 1744 S init 781 root 1744 S init 783 root 1744 S init 785 root 1744 S init 796 root 1344 S ./pipe_test 797 root 1744 R ps [Tekkaman2440@SBC2440V4]#./asynctest & [Tekkaman2440@SBC2440V4]#echo 12345678901234 > /dev/scullpipe0 [Tekkaman2440@SBC2440V4]#12345678901234 close pipetest0 ! exit ! [2] + Done ./asynctest [Tekkaman2440@SBC2440V4]#cat /proc/scullpipe Default buffersize is 21 Device 0: c3e18494 Queues: c04f1c34 c04f1c34 Buffer: c3dc6c08 to c3dc6c1d (21 bytes) rp c3dc6c17 wp c3dc6c17 readers 1 writers 0 Device 1: c3e18528 Queues: c04f1c6c c04f1c6c Buffer: c3dc6b38 to c3dc6b4d (21 bytes) rp c3dc6b47 wp c3dc6b47 readers 1 writers 0 Device 2: c3e185bc Queues: c3e185bc c3e185bc Buffer: 00000000 to 00000000 (0 bytes) rp 00000000 wp 00000000 readers 0 writers 0 Device 3: c3e18650 Queues: c3e18650 c3e18650 Buffer: 00000000 to 00000000 (0 bytes) rp 00000000 wp 00000000 readers 0 writers 0