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

¿éÉ豸Çý¶¯ÏòLINUXÒÆÖ²µÄ³£¹æ²½Öè¼°INITRDµÄʹÓÃ

 ÕâÀïÌáµ½µÄ¿éÉ豸·ºÖ¸¸÷ÖÖ¿ÉÒÔʵÏ̶ֹ¨´óСÊý¾ÝËæ»ú´«ÊäµÄÉ豸£¬ÈçFLASH¡¢SD Card¡¢RAMDISKµÈ£¬¿éÉ豸Çý¶¯ÒÆÖ²µÄ¹ý³Ìʵ¼ÊÉÏÊǽ«Ó²¼þ³§ÉÌÌṩµÄµ×²ãÇý¶¯´úÂëÓëLINUXϵͳ¼¯³ÉÆðÀ´µÄ¹ý³Ì¡£
ÔÚLINUXÖУ¬¿éÉ豸Äܹ»ÒÔÎļþϵͳµÄÐÎʽΪOSËù·ÃÎÊ£¬Æä´óÌå¼Ü¹¹ÈçÏ£º
LINUX Application
---------------------------------- system call
LINUX VFS
----------------------------------
File System (vfat/ext2/cramfs..)
----------------------------------
Block Device Driver
---------------------------------- <-- Our working scope
LLD from vendor
----------------------------------
Hardware
ÒÆÖ²µÄ³£¹æ¹ý³ÌΪ£º
1. ÀûÓÃmodule_initºê½«É豸µÄ³õʼ»¯º¯Êýmydev_init×¢²áµ½kernel¾µÏñµÄ.init¶Î¡£µ±È»£¬»¹ÒªÀûÓÃmodule_exitºê×¢²áÈ¥³õʼ»¯º¯Êýmydev_cleanup¡£(ref: linux/init.h)
2. Ìî³ä³õʼ»¯º¯Êýmydev_init£¬Íê³ÉÒÔÏÂÈýÏ×÷
2.1 ʹÓÃregister_blkdev×¢²á¿éÉ豸ºÅºÍÉ豸Ãû¡£¡¡(ref: drivers/block/genhd.c)
2.2 ÉèÖÃqueue£ºÖ÷ÒªÊÇ»ñÈ¡queue²¢ÉèÖÃrequestº¯Êý£¬ÉèÖÃsector´óСµÈ¡£¡¡(ref: drivers/block/ll_rw_blk.c)
2.3 Ìí¼Ódisk£ºadd_disk¡£ (ref: drivers/block/genhd.c)
Éæ¼°µ½µÄÊý¾Ý½á¹¹°üÀ¨£º
a) struct request_queue (ref: linux/blkdev.h)£¬ 2.2ÖеÄqueue½á¹¹
b) struct gendisk (ref: linux/genhd.h)£¬ 2.3ÖеÄdisk½á¹¹£¬¹Ø×¢³ÉÔ± ->
major/first_minor/minors <- É豸ºÅ;
fopsÖ¸Õë <- ¿éÉ豸²Ù×÷º¯ÊýÖ¸Õë×é
queueÖ¸Õë <- 2.2ÖеÄqueue
private_dataÖ¸Õë <- ´æ´¢Óë¾ßÌåÉ豸Ïà¹ØµÄÊý¾Ý½á¹¹
c) struct mydev_dev,¼´b)ÖеľßÌåÉ豸Ïà¹ØµÄÊý¾Ý½á¹¹£¬Í¨³£°üº¬³ÉÔ±
size <- É豸ÖÐsectorµÄÊýÄ¿
users <- ʹÓÃÉ豸µÄÓû§ÊýÄ¿
media_change <- media change񈬀
lock <- ×ÔÐýËø
queue Ö¸Õë <- É豸µÄstruct request_queueÖ¸Õë
disk Ö¸Õë <- É豸µÄstruct gendiskÖ¸Õë
3. LINUX¿éÉ豸Çý¶¯µÄ²Ù×÷º¯ÊýÖ¸Õë×é
open: É豸´ò¿ªÊ±±»µ÷Óã¬Ö÷Òª¹¦ÄÜΪ³õʼ»¯µ×²ãÉ豸£»»òÈ¡µ×²ãÉ豸ÐÅÏ¢
release: É豸¹Ø±Õʱ±»µ÷Óá£
ioctl: ʵÏÖioctlϵͳµ÷Óõĺ¯Êý£¬ÓÉÓÚ´óÁ¿µÄ±ê×¼ÇëÇóΪÉÏ²ã½ØÈ¡£¬Ò»°ã¿éÉ豸µÄioctl±È½Ï¶ÌС¡£
media_changed: Äں˵÷Óøú¯ÊýÒÔ¼ì²éÓû§ÊÇ·ñ¸ü»»ÁËÇý¶¯Æ÷ÄڵĽéÖÊ£¬Èç¹ûÓû§¸ü»»ÁË£¬ÄÇô·µ»ØÒ»¸ö·ÇÁãµÄÖµ¡£ÕâÊÇÕë¶Ô¿ÉÒÆ¶¯½éÖʵġ£
revalidate_dis


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

LinuxϱàÒë°²×°mysql

£¨ºÇ£©½üÒ»¶Îʱ¼äÓÉÓÚ¹¤×÷ÐèÒª£¬ÖÕÓÚ¿ªÊ¼ÍæLinuxÁË£¬½ñÌì¸ãÁËÒ»ÌìµÄMySQL±àÒë°²×°£¬¼Ç¼ÏÂÀ´£¬±¸Íü°É£¡£¡
£¨¿¨£©°²×°»·¾³£ºVmWare5(ÇŽÓģʽ) + RedHat E AS 4 + ÒѰ²×°ÁË¿ª·¢¹¤¾ßÒÔ¼°Ïà¹Ø¿ª·¢°ü(°²×°Linuxϵͳʱ×Ô¼ºÒª¶¨ÖƵÄ)£¬²¢²âÊԳɹ¦
£¨£¡£©Ïȸø³öMySQL For Linux Ô´ÂëÏÂÔØµØÖ·£¬ÊÇxx.tar.zg¸ñʽµÄ
http://www.fil ......

¹Ø±ÕÔÚLINUXÖÕ¶Ëϵݴ¼ü¾¯±¨Éù

 Ö´ÐÐÏÂÁдúÂ룬²»ÐèҪȫִÐУ¬ÈÎÒâÒ»ÐоͿÉÒÔÁË¡£
setterm -bleng 0
setterm -blength 0
xset b off
===========
ÏÂÃæÁíÒ»ÖÖ·½·¨
ÁÙʱµÄ·½°¸
sudo rmmod pcspkr
¶ÔÓÚDebian/UbuntuµÄÓû§À´Ëµ£¬Ö»Òª´ò¿ªÄãµÄÖÕ¶ËÅÜÒ»ÏÂÉÏÊöµÄÃüÁî¾Í¿ÉÒÔÁË¡£¶ÔÓÚCentOS/Redhat/RHEL/FedoraµÄLinuxÓû§£¬ÔòÐèÒªÒÔrootÉí·ÝµÇ¼Ȼº ......

linux svn²Ö¿â·ÖÀë ÌáʾȨÏÞ²»ÕýÈ·(403 fobidden)

ÕâÁ½ÌìÒòΪ¹¤×÷ÉϵÄÐèÒª£¬½«Ò»¸ö±È½Ï´óµÄ²Ö¿â·ÖÀ룬±¾ÒÔΪ±È½Ï¼òµ¥µÄÊ£¬ÅªÁËN¾Ã£¬ÌرðÊÇ×îºóȨÏÞ²»ÕýÈ·£¬²éÁ˹ØÌ죬¾¹È»ÊÇÒòΪ±àÂëÎÊÌâ£¬ÕæÊÇÍÛѪ°¡¡£×ܽáÒ»ÏÂÓöµ½µÄÎÊÌ⣬ÒÔÃâÏ´η¸Í¬ÑùµÄ´íÎó¡£
1.wpsdoc²Ö¿âµÄ·ÖÀë
·ÖÀë¹ý³ÌÖУ¬ÓÉÓÚÒÔǰµÄÈë¿âµÄ¸ñʽµÈ²»ÕýÈ·£¬Ö±½Ó·ÖÀëʧ°Ü£¬×îºóÊǽ«ËùÓÐÎļþµ¼³öÈ»ºóÔÙµ¼ÈëµÄ¡£Âé·³ ......

linuxÖÕ¶Ë´óÈ«

ttyÊÇTeletypeµÄËõд
ÖÕ¶ËÊÇÒ»ÖÖ×Ö·ûÐÍÉ豸£¬ËüÓжàÖÖÀàÐÍ£¬Í¨³£Ê¹ÓÃttyÀ´¼ò³Æ¸÷ÖÖÀàÐ͵ÄÖÕ¶ËÉ豸¡£ttyÊÇTeletypeµÄËõд¡£TeletypeÊÇ×îÔç³öÏÖµÄÒ»ÖÖÖÕ¶ËÉ豸£¬ºÜÏóµç´«´ò×Ö»ú£¬ÊÇÓÉTeletype¹«Ë¾Éú²úµÄ¡£É豸Ãû·ÅÔÚÌØÊâÎļþĿ¼/dev/Ï£¬ÖÕ¶ËÌØÊâÉ豸ÎļþÒ»°ãÓÐÒÔϼ¸ÖÖ£º
1.´®Ðж˿ÚÖÕ¶Ë£¨/dev/ttySn£© 
´®Ðж˿ÚÖÕ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ