LINUXÍøÂç±à³ÌµÄ¶ÁÊé±Ê¼Ç
LINUXÍøÂç±à³ÌµÄ¶ÁÊé±Ê¼Ç
µÚÒ»ÕÂÎļþϵͳºÍ½ø³Ìϵͳ
1£®1ÎļþϵͳµÄ×ÜÌå½á¹¹
´ÓÎļþϵͳµÄʵÏֽǶÈÀ´¿´£¬°´²ã´Î¿ÉÒÔ·Ö³ÉÓ¦ÓóÌÐò¡¢ÏµÍ³µ÷Óá¢Îļþ×Óϵͳ¡¢¸ßËÙ»º³å¡¢É豸Çý¶¯ºÍ¾ßÌåµÄ´æ´¢É豸µÈ¼¸¸ö²ã´Î£¬ÈçÏÂͼ£º
Ó¦ÓóÌÐò
ϵͳµ÷ÓýӿÚ
Îļþ×Óϵͳ
Ó²¼þ´æ´¢É豸
É豸Çý¶¯³ÌÐò
¸ßËÙ»º´æ
×Ö·ûÉ豸
¿é
É豸
ÔÚUNIXϵͳÖУ¬³ÌÐò²»¹ÜºËÐÄ°´ÕÕʲôÑùµÄ¸ñʽÀ´×éÖ¯Îļþ£¬Ö»ÊÇ°ÑÎļþ¿´×÷Ò»¸öÎÞ¸ñʽµÄ×Ö½ÚÁ÷À´¿´´ý¡£¶ÔÎļþµÄ´æÈ¡Óï·¨ÊÇÓÉϵͳ¶¨Òå
µÄ£¬Êý¾ÝµÄÓïÒåÊÇÓɳÌÐò¼ÓÉÏÈ¥µÄ¡£
Ó¦Óýø³Ìͨ¹ýϵͳµ÷ÓÃÀ´·ÃÎÊÎļþϵͳ£¬·ÖÅä¸øÓ¦ÓóÌÐòÒ»¸ö±ê×¼µÄͨÓýӿÚ,
±ãÓÚÆÁ±Î²»Í¬ÎļþϵͳµÄ²îÒì¡£Îļþϵͳ²»ÄÜÖ±½Ó·ÃÎÊÓ²¼þÉ豸£¬Í¨¹ýµ÷ÓÃÉ豸Çý¶¯½ø³ÌÀ´²Ù×÷¾ßÌåÉ豸¡£¶Ô¸ßËÙÉ豸µÄ·ÃÎÊ£¬Í¨³£Í¨¹ý¸ßËÙ»º³å»úÖÆÀ´Ìá¸ßÉ豸ºÍ
ÄÚ´æµÄÊý¾Ý½»»»¡£É豸Çý¶¯½ø³ÌÓÃÀ´ÆÁ±Î²»Í¬ÎïÀíÉ豸µÄ²Ù×÷²îÒì¡£
ÎļþϵͳµÄ×ÜÌå½á¹¹ÊÇ£ºÒýµ¼¿é¡¢³¬¼¶¿é¡¢Ë÷Òý½Úµã±í£¬Êý¾ÝÇø¡£
·
Òýµ¼¿éÔÚÎļþϵͳµÄ×îÇ°Ã棬ËüºÍ²Ù×÷ϵͳÒýµ¼Óйء£ÓÐÇÒÖ»ÓÐÒ»¸öÒýµ¼¿éÓÐЧ¡£
·³¬¼¶¿éÒ²½Ð¹ÜÀí¿é£¬´æ·ÅÎļþϵͳµÄ¹ÜÀíÐÅÏ¢£¬ÈçÎļþϵͳ´óС¡¢¿ÕÏÐ
¿é´óС¡¢¿ÕÏпéÁ´±í½ÚµãÍ·µÈÐÅÏ¢¡£
·Ë÷Òý½Úµã±í£¬Ã¿¸öÎļþ¶¼¶ÔÓ¦×ÅÒ»¸öË÷Òý½Úµã£¬ÀïÃæ·´ÕýÓû§µÄ´æȡȨÏÞ¡¢ÐÅÏ¢µÈ¡£Í¨¹ý·¾¶·ÃÎÊÎļþ£¬Äں˰ÑÎļþ
·¾¶¾¹ýת»»Ó³Éäµ½Ë÷Òý½Úµã±íÖжÔÓ¦½ÚµãÈ¥¡£
·Êý¾ÝÇø¡£Îļþϵͳʵ¼Ê´æ·ÅÊý¾ÝµÄ´ÅÅ̿ռ䡣
·¿ÕÏÐÊý¾Ý¿é±í¡£³¬¼¶¿éÖпռäºÜС£¬ËùÒÔ°Ñ¿ÕÏÐ
Êý¾Ý¿éµÄÐÅϢдÔÚÊý¾ÝÇøÖС£
VFS(Virtual Filesystem Switch)
LINUXͨ¹ýÐéÄâÎļþϵͳת»»À´
ʵÏÖ¶àÎļþϵͳµÄÖ§³Ö¡£LINUX°Ñ¶ÔÎļþ²Ù×÷µÄϵͳµ÷ÓÃתΪ¶Ô²»Í¨¹ýÎļþϵͳ²Ù×÷µÄ×Ó³ÌÐòµ÷Óã¬ÕâЩ×Ó³ÌÐò¶¼Õë¶Ô¾ßÌåÎļþϵͳ¶ø±àд¡£ÐéÄâÎļþϵͳ²»ÊÇ
ÕæÕýµÄÎļþϵͳ£¬¶øÊÇÒ»ÖÖÓ³Éä»úÖÆÀ´ÆÁ±ÎϲãµÄ²îÒìΪÉϲãÌṩ·½±ã¡£
1£®2 Îļþ½á¹¹ºÍĿ¼½á¹¹
LINUXÖеÄÿ¸ö
Îļþ¶¼¶ÔÓ¦ÐéÄâÎļþϵͳµÄÒ»¸öË÷Òý½Úµã£¬ÀïÃæ´æ·ÅÓÐÖ±½Ó»ò¶à¼¶Ö¸ÕëÄܹ»¼Ç¼ÎļþµÄÊý¾Ý£¬ÕâÑùÉè¼ÆÊÇΪÁË´æÈ¡´óÎļþ¡£
Ŀ¼ҲÄܳéÏó³ÉÎÄ
¼þ£¬Ò²Í¨¹ýË÷Òý½Úµã±íÀ´ÃèÊö£¬²¢ÇÒ°ÑĿ¼±íÖеÄĿ¼Ïî´æ·ÅÔÚÊý¾ÝÇøÖС£Ä¿Â¼±íµÄ»ù±¾¹¹³Éµ¥Î»ÊÇĿ¼ÏÓГÎļþÃû£Ë÷Òý½ÚµãºÅ”¹¹³É¡£Îļþ½ÚµãË÷Òý±íÖв¢
²»°üº¬Îļ
Ïà¹ØÎĵµ£º
Ô´´ÎÄÕ£¬×ªÔØÇë×¢Ã÷³ö´¦£¬Ð»Ð»£¡
×÷ÕߣºÇåÁÖ£¬²©¿ÍÃû£º·É¿Õ¾²¶É
ÔÚwindowsÏÂ×ö¹ý·´»ã±àµÄÈË£¬¹À¼Æ¶¼ÈÏʶollydbgÕâÑùÈí¼þ¡£Ã»´í£¬ollydbgÊÇwindowÏÂ×öÆƽâÈí¼þºÍ·´»ã±àÈí¼þÈËÊ¿µÄÀûÆ÷¡£ÏÖÔÚ½éÉÜÒ»¸öºÍollydbgÒ»ÑùµÄÈí¼þ£¬µ«ËüÊÇÔÚlinuxÏÂÔËÐÐµÄ --- EDG¡£
Õâ¸öÈí¼þµÄ×÷Õß±¾À´ÊǸöÈí¼þ·´»ã±àÈËÊ¿£¬ÔÚwindowsϾ³£·´»ã±à ......
select()µÄ»úÖÆÖÐÌṩһfd_setµÄÊý¾Ý½á¹¹£¬Êµ¼ÊÉÏÊÇÒ»longÀàÐ͵ÄÊý×飬 ÿһ¸öÊý×éÔªËض¼ÄÜÓëÒ»´ò¿ªµÄÎļþ¾ä±ú£¨²»¹ÜÊÇSocket¾ä±ú,»¹ÊÇÆäËû Îļþ»òÃüÃû¹ÜµÀ»òÉ豸¾ä±ú£©½¨Á¢ÁªÏµ£¬½¨Á¢ÁªÏµµÄ¹¤×÷ÓɳÌÐòÔ±Íê³É£¬ µ±µ÷ÓÃselect()ʱ£¬ÓÉÄں˸ù¾ÝIO״̬ÐÞ¸Äfd_setµÄÄÚÈÝ£¬ÓÉ´ËÀ´Í¨ÖªÖ´ ÐÐÁËselect()µÄ½ø³ÌÄ ......
½ÓÏÂÀ´£¬ÎÒÃǽøÈësysfs²¿·Ö¡£¿´¿´
kobject_add()->create_dir()->sysfs_create_dir()
bus create file->sysfs create file()
. . .
ÕâЩsysfsº¯ÊýµÄÄÚÄ»¡£
˵°×ÁË£¬sysfs¾ÍÊÇÀûÓÃVFSµÄ½Ó¿ÚÈ¥¶ÁдkobjectµÄ²ã´Î½á¹¹£¬½¨Á¢ÆðÀ´µÄÎļþϵͳ¡£¹ØÓÚsysfsµÄÄÚÈݾÍÔÚfs/sysfs/Ï¡£&nbs ......
Ç°Ãæ˵¹ý£¬Ö»ÒªÖªµÀÎļþµÄË÷Òý½ÚµãºÅ£¬¾Í¿ÉÒԵõ½ÄǸöÎļþ¡£µ«ÊÇÎÒÃÇÔÚ²Ù×÷Îļþʱ£¬´ÓûÌý˵˻áÄÃ×ÅË÷Òý½ÚµãºÅÀ´²Ù×÷Îļþ£¬ÎÒÃÇÖ»ÖªµÀÎļþÃû¶øÒÑ¡£ ËüÃÇÊÇÈçºÎ"ºÍг"ÆðÀ´µÄÄØ£¿linux°ÑĿ¼Ҳ¿´³ÉÒ»ÖÖÎļþ£¬ÀïÃæ¼Ç¼×ÅÎļþÃûÓëË÷Òý½ÚµãºÅµÄ¶ÔÓ¦¹Øϵ£¨Ä¿Â¼´æÔÚµÄÔÒò£©¡£±ÈÈçÔÚext3ÎļþϵͳÖУ¬Èç¹ûÎļþÊÇÒ»¸öÄ¿  ......