linux RamDisk ʹÓüò½é
¶ÔÓÚ³ÌÐòÔËÐйý³ÌÖеÄÁÙʱÎļþ»òÁÙʱÊý¾Ý£¬²ÉÓÃRAMDISKÀ´´æ·Å£¬ÊÇÒ»¸öºÜºÃµÄÑ¡Ôñ
linux RamDisk ʹÓüò½é
1¡¢Ram Disk½éÉÜ
1.1 ʲôÊÇRam Disk
Ram Disk ¾ÍÊǽ«ÄÚ´æÖеÄÒ»¿éÇøÓò×÷ΪÎïÀí´ÅÅÌÀ´Ê¹ÓõÄÒ»ÖÖ¼¼Êõ¡£
¶ÔÓÚÓû§À´Ëµ£¬¿ÉÒÔ°ÑRAM diskÓëͨ³£µÄÓ²ÅÌ·ÖÇø£¨Èçdevhda1£©Í¬µÈ¶Ô´ýÀ´Ê¹Óá£
1.2 RamdiskÓëÓ²ÅÌ·ÖÇøµÄ²»Í¬
RAM disk²»ÊʺÏ×÷Ϊ³¤ÆÚ±£´æÎļþµÄ½éÖÊ£¬µôµçºóRamdiskµÄÄÚÈÝ»áËæÄÚ´æÄÚÈݵÄÏûʧ¶øÏûʧ¡£
RAM diskµÄÆäÖÐÒ»¸öÓÅÊÆÊÇËüµÄ¶ÁдËٶȸߣ¬ÄÚ´æÅ̵ĴæÈ¡ËÙ¶ÈÒªÔ¶¿ìÓÚĿǰµÄÎïÀíÓ²ÅÌ£¬¿ÉÒÔ±»ÓÃ×÷ÐèÒª¸ßËÙ¶ÁдµÄÎļþ¡£
×¢Ò⣺ÔÚ2.6°æ±¾ºó£¬RamdiskµÄÕâÒ»×÷ÓÿªÊ¼±»tmpfs(Virtual memory file system support)È¡´ú¡£
1.3 RamdiskµÄ×÷ÓÃ
ÄÚ´æÅ̶ÔÓÚ±£´æ¼ÓÃÜÊý¾ÝÀ´ËµÊÇÒ»¸ö¸£Òô£¬ÒòΪÎÒÃÇÈç¹û½«¼ÓÃܵÄÎļþ½âÃܵ½ÆÕͨ´ÅÅ̵ϰ£¬¼´Ê¹ÎÒÃÇËæºóɾ³ýÁ˽âÃÜÎļþ£¬Êý¾ÝÈÔÈ»»áÁôÔÚ´ÅÅÌÉÏ¡£ÕâÑùÊǷdz£²»°²È«µÄ¡£¶ø¶ÔÓÚ RamDisk À´Ëµ£¬Ã»ÓÐÕâÑùµÄÎÊÌâ¡£
¼ÙÉèÓм¸¸öÎļþҪƵ·±µÄʹÓã¬ÄãÈç¹û½«ËüÃǼӵ½ÄÚ´æµ±ÖУ¬³ÌÐòÔËÐÐËÙ¶È»á´ó¸±Ìá¸ß£¬ÒòΪÄÚ´æµÄ¶ÁдËÙ¶ÈÔ¶¸ßÓÚÓ²ÅÌ¡£
ÏóWEB·þÎñÆ÷ÕâÑùµÄ¼ÆËã»ú£¬ÐèÒª´óÁ¿µÄ¶ÁÈ¡ºÍ½»»»Ìض¨µÄÎļþ£¬Òò´Ë£¬ÔÚWEB·þÎñÆ÷ÉϽ¨Á¢RamDisk»á´ó´óÌá¸ßÍøÂç¶ÁÈ¡ËÙ¶È¡£
RAM disks can be a great place to store temporary data.
2¡¢Ç°ÌáÌõ¼þ
ΪÁËÄܹ»Ê¹ÓÃRAM disk ÄãµÄÄں˱ØÐëÒªÖ§³ÖRAM disk£¬¼´£ºÔÚ±àÒëÄÚºËʱ£¬ÒªÑ¡ÖÐRAM disk supportÕâһѡÏ»áÔÚÅäÖÃÎļþÖж¨ÒåCONFIG_BLK_DEV_RAM¡£
ΪÁËÈÃÄÚºËÓÐÄÜÁ¦ÔÚÄں˼ÓÔØ½×¶Î¾ÍÄÜ×°ÈëRAMDISK£¬²¢ÔËÐÐÆäÖеÄÄÚÈÝ£¬ÒªÑ¡ÖÐinitial RAM disk(initrd) support Ñ¡Ï»áÔÚÅäÖÃÎļþÖж¨ÒåCONFIG_BLK_DEV_INITRD¡£
3¡¢²Ù×÷²½Ö裺
3.1ϵͳÖÐÒÑÓеēÄÚ´æÅÌ”
3.1.1 ²é¿´ÏµÍ³ÖÐÓÐÄÇЩ“ÄÚ´æÅÌ”
Linux ÄÚºËĬÈÏ´´½¨ÁË 16 ¸ö ramdisks¡£ËüÃÇĿǰÊÇδÆôÓõ쬲»Õ¼ÓÃÈκÎÄÚ´æ¿Õ¼ä¡£Õâ 16 ¸öÉ豸·Ö±ðÊÇ devram0 -- devram15¡£ËäÈ»ÎÒÃÇ¿ÉÒÔ¿´µ½»¹ÓÐ devram16 -- 19£¬µ«ÊÇËüÃÇĬÈÏÊDz»¿ÉÓõġ£
ͨ¹ý¸ü¸Ärd.cµÄÅäÖ㬿ÉÒÔʹϵͳ
Ïà¹ØÎĵµ£º
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
/* Ëûͨ¹ýÖ»¸´ÖÆÄÚ´æÒ³ÃæÀ´¸´ÖÆÒ»¶¨·¶Î§ÄÚµÄÏßÐÔµØÖ·µÄÄÚÈÝ*/
00150int copy_page_tables(unsigned long from,unsigned long to,long size)
00151 {
00152 unsigned long * from_page_table;
00153 unsigned long * to_page_table;
00154 un ......
LinuxÊÇÒ»¸ö¶àÓû§µÄ²Ù×÷ϵͳ¡£Ã¿¸öÓû§µÇ¼ϵͳºó£¬¶¼»áÓÐÒ»¸öרÓõÄÔËÐл·¾³¡£Í¨³£Ã¿¸öÓû§Ä¬ÈϵĻ·¾³¶¼ÊÇÏàͬµÄ£¬Õâ¸öĬÈÏ»·¾³Êµ¼ÊÉϾÍÊÇÒ»×é»·¾³±äÁ¿µÄ¶¨Òå¡£Óû§¿ÉÒÔ¶Ô×Ô¼ºµÄÔËÐл·¾³½øÐж¨ÖÆ£¬Æä·½·¨¾ÍÊÇÐÞ¸ÄÏàÓ¦µÄϵͳ»·¾³±äÁ¿¡£
³£¼ûµÄ»·¾³±äÁ¿
¶ÔÓÚPATHºÍHOMEµÈ»·¾³±äÁ¿´ó¼Ò¶¼²»Ä°Éú¡£³ý´ËÖ®Í⣬»¹ÓÐÏÂÃæÒ»Ð©³ ......
ÍøÂçÒ£¿Ø¼¼ÊõÊÇÖ¸ÓÉÒ»²¿¼ÆËã»ú£¨Ö÷¿Ø¶Ë£©È¥¿ØÖÆÁíÒ»²¿¼ÆËã»ú£¨±»¿Ø¶Ë£©£¬¶øÇÒµ±Ö÷¿Ø¶ËÔÚ¿ØÖƶËʱ£¬¾ÍÈçͬÓû§Ç××Ô×øÔÚ±»¿Ø¶Ëǰ²Ù×÷Ò»Ñù£¬¿ÉÒÔÖ´Ðб»¿Ø¶ËµÄÓ¦ÓóÌÐò£¬¼°Ê¹Óñ»¿Ø¶ËµÄϵͳ×ÊÔ´¡£
VNC£¨Virtual Network Computing£©ÊÇÒ»Ì×ÓÉAT&TʵÑéÊÒËù¿ª·¢µÄ¿É²Ù¿ØÔ¶³ÌµÄ¼ÆËã»úµÄÈí¼þ£¬Æä²ÉÓÃÁËGPLÊÚȨÌõ¿î£¬ÈκÎÈ˶¼¿É ......
ELFÊÇlinuxÖÐʹÓÃ×î¹ã·ºµÄÒ»ÖÖÓ¦ÓóÌÐò¸ñʽ£¬ÎªÁËŪÇå³þLinuxÄÚºËÊÇÈçºÎ½²ELFÎļþ¾«È·Ó³Éäµ½Ö¸¶¨ÄÚ´æ¿Õ¼ä£¬ÉÏÖÜÄ©°ÑÄÚºËsys_execve²¿·ÖºÃºÃ¿´ÁËÒ»±é£¬Ð¡½áÈçÏ£º
1. ELF¸ñʽ
ELFÖ¸¶¨Á˽ø³ÌÖÐtext¶Î¡¢bss¶Î¡¢data¶ÎµÈÓ¦¸Ã·ÅÖõ½½ø³ÌÐéÄâÄÚ´æ¿Õ¼äµÄʲôλÖã¬ÒÔ¼°¼Ç¼Á˽ø³ÌÐèÒªÓõ½µÄ¸÷ÖÖ¶¯Ì¬Á´½Ó¿âµÄλÖá£
2. sys_exe ......