Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

LinuxÇý¶¯³ÌÐò¿ª·¢ É豸¿ØÖƽӿÚ

ÐòÑÔ
É豸Çý¶¯³ÌÐòµÄÒ»¸ö»ù±¾¹¦ÄܾÍÊǹÜÀíºÍ¿ØÖÆÉ豸£¬Í¬Ê±ÎªÓû§Ó¦ÓóÌÐòÌṩ¹ÜÀíºÍ¿ØÖÆÉ豸µÄ½Ó¿Ú¡£ÎÒÃÇÇ°ÃæµÄ“Hello World”Çý¶¯³ÌÐòÒѾ­¿ÉÒÔÌṩ¶Áд¹¦ÄÜÁË£¬ÔÚÕâÀïÎÒÃǽ«À©Õ¹ÎÒÃǵÄÇý¶¯ÒÔÖ§³ÖÉ豸¿ØÖƽӿڣ¬ÔÚLinuxÖÐÕâ¸ö½Ó¿ÚÊÇͨ¹ýioctlº¯ÊýÀ´ÊµÏֵġ£
É豸¿ØÖƽӿڣ¨ioctl º¯Êý£©
»ØÏëÒ»ÏÂÎÒÃÇÔÚ×Ö·ûÉ豸Çý¶¯ÖнéÉܵÄstruct file_operations ½á¹¹£¬ÕâÀïÎÒÃǽ«½éÉÜÒ»¸öÐµķ½·¨£º
int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
ÕâÊÇÇý¶¯³ÌÐòÉ豸¿ØÖƽӿں¯Êý£¨ioctlº¯Êý£©µÄÄÚºËÔ­ÐͶ¨Ò壬struct inode * ºÍstruct file* ÃèÊöÁ˲Ù×÷µÄÎļþ£¬unsigned int ÃèÊöÁËioctlÃüÁîºÅ£¬ÕâÊÇÒ»¸öÖØÒªµÄ²ÎÊý£¬ÎÒÃÇÉÔºó»á¶ÔËü×öÏêϸ½éÉÜ¡£×îºóÒ»¸ö²ÎÊýÊÇunsigned longÊý¾ÝÀàÐÍ£¬ÃèÊöÁËioctlÃüÁî¿ÉÄÜ´øÓеIJÎÊý£¬Ëü¿ÉÄÜÊÇÒ»¸öÕûÊý»òÖ¸ÕëÊý¾Ý¡£
ioctlÃüÁîºÅ
ioctlÃüÁîºÅÊÇÕâ¸öº¯ÊýÖÐ×îÖØÒªµÄ²ÎÊý£¬ËüÃèÊöµÄioctlÒª´¦ÀíµÄÃüÁî¡£LinuxÖÐʹÓÃÒ»¸ö32λµÄÊý¾ÝÀ´±àÂëioctlÃüÁËü°üº¬Ëĸö²¿·Ö£ºdir£ºtype£ºnr£ºsize¡£
dir£º
´ú±íÊý¾Ý´«ÊäµÄ·½Ïò£¬Õ¼2룬¿ÉÒÔÊÇ_IOC_NONE£¨ÎÞÊý¾Ý´«Ê䣬0U£©£¬_IOC_WRITE£¨ÏòÉ豸дÊý¾Ý£¬1U£©»ò_IOC_READ£¨´ÓÉ豸¶ÁÊý¾Ý£¬2U£©»òËûÃǵÄÂß¼­»ò×éºÏ£¬µ±È»Ö»ÓÐ_IOC_WRITEºÍ_IOC_READµÄÂß¼­»ò²ÅÓÐÒâÒå¡£
type£º
ÃèÊöÁËioctlÃüÁîµÄÀàÐÍ£¬8λ¡£Ã¿ÖÖÉ豸»òϵͳ¶¼¿ÉÒÔÖ¸¶¨×Ô¼ºµÄÒ»¸öÀàÐͺţ¬ioctlÓÃÕâ¸öÀàÐÍÀ´±íʾioctlÃüÁîËùÊôµÄÉ豸»òÇý¶¯¡£Ò»°ãÓÃASCIIÂë×Ö·ûÀ´±íʾ£¬Èç 'a'¡£
nr£º
ioctlÃüÁîÐòºÅ£¬Ò»°ã8λ¡£¶ÔÓÚÒ»¸öÖ¸¶¨µÄÉ豸Çý¶¯£¬¿ÉÒÔ¶ÔËüµÄioctlÃüÁî×öÒ»¸ö˳Ðò±àÂ룬һ°ã´ÓÁ㿪ʼ£¬Õâ¸ö±àÂë¾ÍÊÇioctlÃüÁîµÄÐòºÅ¡£
size£º
ioctlÃüÁîµÄ²ÎÊý´óС£¬Ò»°ã14λ¡£ioctlÃüÁîºÅµÄÕâ¸öÊý¾Ý³ÉÔ±²»ÊÇÇ¿ÖÆÊ¹Óõģ¬Äã¿ÉÒÔ²»Ê¹ÓÃËü£¬µ«ÊÇÎÒÃǽ¨ÒéÄãÖ¸¶¨Õâ¸öÊý¾Ý³ÉÔ±£¬Í¨¹ýËüÎÒÃÇ¿ÉÒÔ¼ì²éÓû§¿Õ¼äÊý¾ÝµÄ´óСÒÔ±ÜÃâ´íÎóµÄÊý¾Ý²Ù×÷£¬Ò²¿ÉÒÔʵÏÖ¼æÈݾɰ汾µÄioctlÃüÁî¡£
ÎÒÃÇ¿ÉÒÔ×Ô¼ºÀ´Ö±½ÓÖ¸¶¨Ò»¸öioctlÃüÁîºÅ£¬Ëü¿ÉÄܽö½öÊÇÒ»¸öÕûÊý¼¯£¬µ«LinuxÖеÄioctlÃüÁîºÅ¶¼ÊÇÓÐÌØ¶¨º¬ÒåµÄ£¬Òò´Ëͨ³£ÎÒÃDz»ÍƼöÕâô×ö¡£ÆäʵLinuxÄÚºËÒѾ­ÌṩÁËÏàÓ¦µÄºêÀ´×Ô¶¯Éú³ÉioctlÃüÁîºÅ£º
_IO(type,nr)
_IOR(type,nr,size)
_IOW(type,nr,size)
_IOWR(type,nr,size)
ºê_IOÓÃÓÚÎÞÊý¾Ý´«Ê䣬ºê_IORÓÃÓÚ´ÓÉ豸¶ÁÊý¾Ý£¬ºê _IOWÓÃÓÚÏòÉ豸дÊý¾Ý£¬ºê_IOWRÓÃÓÚͬʱÓжÁдÊý¾ÝµÄIOCTLÃüÁî¡£Ïà¶ÔµÄ£¬LinuxÄÚºËÒ²Ìṩ


Ïà¹ØÎĵµ£º

linux Æô¶¯Ê±¡°smartd¡±×ÜÊÇʧ°Ü£¿

smartdÊÇÒ»¸öÊØ»¤½ø³Ì£¨Ò»¸ö°ïÖú³ÌÐò£©£¬ËüÄܼàÊÓÓµÓÐ×ÔÎÒ¼àÊÓ£¬·ÖÎöºÍ»ã±¨¼¼Êõ(Self-Monitoring,
Analysis, and Reporting Technology - SMART)µÄÓ²ÅÌ¡£
SMARTϵͳʹµÃÓ²ÅÌÄܼàÊÓ²¢»ã±¨×Ô¼ºµÄÔËÐÐ×´¿ö¡£ËüµÄÒ»¸öÖØÒªÌØÐÔÊÇÄܹ»Ô¤²âʧ°Ü£¬Ê¹µÃϵͳ¹ÜÀíÔ±
ÄܱÜÃâÊý¾Ý¶ªÊ§¡£
smartdÓÉkernel-utils°üȱʡ°²×°¡£ÓÃÃüÁî r ......

linux»·¾³±äÁ¿

LinuxÊÇÒ»¸ö¶àÓû§µÄ²Ù×÷ϵͳ¡£Ã¿¸öÓû§µÇ¼ϵͳºó£¬¶¼»áÓÐÒ»¸öרÓõÄÔËÐл·¾³¡£Í¨³£Ã¿¸öÓû§Ä¬ÈϵĻ·¾³¶¼ÊÇÏàͬµÄ£¬Õâ¸öĬÈÏ»·¾³Êµ¼ÊÉϾÍÊÇÒ»×é»·¾³±äÁ¿µÄ¶¨Òå¡£Óû§¿ÉÒÔ¶Ô×Ô¼ºµÄÔËÐл·¾³½øÐж¨ÖÆ£¬Æä·½·¨¾ÍÊÇÐÞ¸ÄÏàÓ¦µÄϵͳ»·¾³±äÁ¿¡£
³£¼ûµÄ»·¾³±äÁ¿
¶ÔÓÚPATHºÍHOMEµÈ»·¾³±äÁ¿´ó¼Ò¶¼²»Ä°Éú¡£³ý´ËÖ®Í⣬»¹ÓÐÏÂÃæÒ»Ð©³ ......

linuxÄں˺¯Êý±Ê¼Ç(Ò»)

½ø³Ì¹ÜÀíº¯Êý
pid_t getpid();·µ»Øµ±Ç°½ø³ÌµÄ±êʶºÅPID
pid_t fork();´´½¨Ò»¸ö½ø³Ì¡£
pid_t vfork();Óëfork()ÏàËÆ£¬vfork±£Ö¤×Ó½ø³ÌÏÈÔËÐУ¬ÔÚËüµ÷ÓÃexec»òexitÖ®ºó¸¸½ø³Ì²Å¿ÉÄܱ»µ÷Óá£
execº¯Êý×壺ÓÃÓÚ°ÑÒ»¸öгÌÐòÔØÈëµ÷Óýø³ÌµÄÄÚ´æ¿Õ¼ä£¬À´¸Ä±ä½ø³ÌµÄÖ´ÐдúÂ룬´Ó¶øÐγÉнø³Ì¡£execve²ÅÊÇÕæÕýÒâÒåÉϵÄϵͳµ÷
ÓÃ ......

ÓÃvncʵÏÖwindowsÔ¶³ÌÁ¬½Ólinux×ÀÃæ

ÍøÂçÒ£¿Ø¼¼ÊõÊÇÖ¸ÓÉÒ»²¿¼ÆËã»ú£¨Ö÷¿Ø¶Ë£©È¥¿ØÖÆÁíÒ»²¿¼ÆËã»ú£¨±»¿Ø¶Ë£©£¬¶øÇÒµ±Ö÷¿Ø¶ËÔÚ¿ØÖƶËʱ£¬¾ÍÈçͬÓû§Ç××Ô×øÔÚ±»¿Ø¶Ëǰ²Ù×÷Ò»Ñù£¬¿ÉÒÔÖ´Ðб»¿Ø¶ËµÄÓ¦ÓóÌÐò£¬¼°Ê¹Óñ»¿Ø¶ËµÄϵͳ×ÊÔ´¡£
VNC£¨Virtual Network Computing£©ÊÇÒ»Ì×ÓÉAT&TʵÑéÊÒËù¿ª·¢µÄ¿É²Ù¿ØÔ¶³ÌµÄ¼ÆËã»úµÄÈí¼þ£¬Æä²ÉÓÃÁËGPLÊÚȨÌõ¿î£¬ÈκÎÈ˶¼¿É ......

linux RamDisk ʹÓüò½é

¶ÔÓÚ³ÌÐòÔËÐйý³ÌÖеÄÁÙʱÎļþ»òÁÙʱÊý¾Ý£¬²ÉÓÃRAMDISKÀ´´æ·Å£¬ÊÇÒ»¸öºÜºÃµÄÑ¡Ôñ
linux RamDisk ʹÓüò½é
1¡¢Ram Disk½éÉÜ
1.1   ʲôÊÇRam Disk
 
Ram Disk ¾ÍÊǽ«ÄÚ´æÖеÄÒ»¿éÇøÓò×÷ΪÎïÀí´ÅÅÌÀ´Ê¹ÓõÄÒ»ÖÖ¼¼Êõ¡£
 
¶ÔÓÚÓû§À´Ëµ£¬¿ÉÒÔ°ÑRAM diskÓëͨ³£µÄÓ²ÅÌ·ÖÇø£¨Èçdevhda1£©Í¬µÈ¶Ô´ýÀ´Ê¹Óà ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ