µ±Ç°Î»ÖãºLinux½Ì³Ì - Linux×ÊѶ - »ùÓÚÃæÏò¶ÔÏó²Ù×÷ϵͳ¿ª·¢Æ½Ì¨(OSKit)µÄ·ÖÎöÓë³ÌÐòÉè¼Æ(1)

»ùÓÚÃæÏò¶ÔÏó²Ù×÷ϵͳ¿ª·¢Æ½Ì¨(OSKit)µÄ·ÖÎöÓë³ÌÐòÉè¼Æ(1)

¡¡×÷ÕߣºÌÀº£¾© ¡¡¡¡¡¡¡¡Ç°ÑÔ¼°Ð÷ÂÛ ¡¡¡¡¡¡¡¡¡¶»ùÓÚÃæÏò¶ÔÏó²Ù×÷ϵͳ¿ª·¢Æ½Ì¨(OSKit)µÄ·ÖÎöÓë³ÌÐòÉè¼Æ¡·ÊÇÎÒÃÇ·îÏ׸ø¶ÁÕßµÄÒ»¸öÐÂרÀ¸¡£±¾×¨À¸µÄ×÷ÕßÌÀº£¾©½«Ïò´ó¼ÒϵͳµØ½éÉÜOSKitµÄÏ̻߳úÖÆ£¬Ö÷ÒªÂÛÊöÁËÈý´ó²¿·ÖÄÚÈÝ£¬ËüÃÇÊÇ£ºÏß³ÌͨѶ£¬Ï̳߳õʼ»¯ºÍÏ̵߳÷¶È¡£Ï£Íû¶ÁÕßÄÜÔÚ×î¶ÌµÄʱ¼äÄÚÁ˽âOSKit¡£±¾ÎÄÊǵÚһƪ¡¶Ç°ÑÔ¼°Ð÷ÂÛ¡·¡£¡¡¡¡Ç°ÑÔ¡¡¡¡Èç¹û˵×ÔÓÉÈí¼þµÄ³öÏÖÊÇÒ»¸öżȻµÄ»°£¬ÄÇô£¬Ï¯¾íÈ«ÇòµÄLinuxÈȳ±ÔòÊÇÒ»¸öÆæ¼££¬ËüÕýÒÔÊƲ»¿Éµ²µÄÇ÷ÊÆѸÃÍ·¢Õ¹£¬Æäǰ;²»¿ÉÏÞÁ¿¡£¡¡¡¡¡¡¡¡LinuxÄÚºËÔ´´úÂëµÄ¿ª·Å¸øÏ£ÍûÉîÈë²Ù×÷ϵͳÄÚ²¿ÊÀ½çµÄÈËÃÇÌṩÁË¿ÉÄÜ£¬µ«ËæÖ®¶øÀ´µÄÎÊÌâÊÇ£¬µ±ÎÒÃÇÒª¿ª·¢×Ô¼ºµÄ²Ù×÷ϵͳʱ£¬ÓÉË­À´¶ÁϵͳµÄkernel²¿·ÖÄØ¡£¶ÔÕⲿ·ÖµÄ´¦Àí´ÓÂß¼­ÉÏ·ÖÎö²»ÍâºõÈýÖÖ·½Ê½£ºÈ«²¿±£Áô¡¢¶ÔÆä½øÐвüõ¡¢È«²¿ÍƵ¹ÖØÀ´¡£ºÜÏÔÈ»£¬×îºóÒ»ÖÖ·½·¨ÊDz»¿ÉÄܵģ¬¶øÈç¹ûÎÒÃDzÉÓõÄÊǵÚÒ»ÖÖ·½·¨£¬Æä½á¹ûµ±È»Ò»¶¨¿ÉÒÔÂú×ãÎÒÃǵÄÒªÇ󣬵«ÊÇ£¬×îºó±àÒë³öÀ´µÄºËÐĽ«Ê®·ÖµÄÅÓ´ó£¬ÓÈÆäÊǶÔǶÈëʽ²Ù×÷ϵͳµÄ¿ª·¢ÕßÀ´Ëµ£¬ÊDz»ÄÜÈÌÊܵģ¬ËùÒÔ£¬´ó¶àÊý¿ª·¢Õß²ÉÓõĵڶþÌõ·¡£¡¡¡¡¡¡¡¡µ«ÊÇ£¬µÚ¶þÌõ·Ҳ·Çƽ̹µÄ´óµÀ£¬µÀÀíºÜ¼òµ¥£¬ÄãÒªÏë¶Ôkernel½øÐвüõ£¬Ê×ÏÈÄãÓ¦¸Ã½«È«²¿µÄÔ´´úÂëÔĶÁÒ»±é£¬²¢ÇÒ½«ÆäÖеÄÏà¹ØÐÔÀí˳£¬È»ºó²ÅÄÜ̸µ½²Ã¼õ£¬ËùÒÔ¹¤×÷Á¿Ò²Ê®·ÖµÄÅӴ󡣡¡¡¡¡¡¡¡È»¶ø£¬OSKitµÄ³öÏָıäÁËÕâÒ»ÇУ¬ËüʹµÃÎÒÃDz»ÐèÒª½«¾«Á¦¼¯ÖÐÔÚkernelÔ´´úÂëµÄÔĶÁÉÏ£¬ÒòΪkernel²¿·ÖµÄÔ´³ÌÐòÒѾ­ÓÉOSKitµÄ¿ª·¢ÈËÔ±ÌæÄã·ÖÎö¹ýÁË£¬ËûÃǽ«Ô´ÂëÈ«²¿Ä£¿é»¯£¬²¢½«ËùÓÐÄ£¿éÖ®¼äµÄÏà¹ØÐÔдÔÚÁËÎĵµÖ®ÖУ¬³ÊÏÖÔÚÄãµÄÃæÇ°£¬ÕâÓëÄã×Ô¼º·ÖÎöÔ´´úÂëµÄ½á¹ûÊÇÒ»ÑùµÄ¡£¡¡¡¡¡¡¡¡OSKit×î±¾ÖʵĶ«Î÷ºÍLinuxÒ»Ñù£¬ÌåÏÖÔÚ"×ÔÓÉ"ºÍ"¿ª·Å"µÄ˼Ï룬"×ÔÓÉ"Òâζ×ÅÊÀ½ç·¶Î§ÄÚµÄ֪ʶ¹²Ïí£¬ÓÉÓÚOSKit³öÏÖÔÚLinuxÖ®ºó£¬ÆäÉè¼Æ˼Ïë¼Ì³ÐÁËLinuxµÄ¾«Ë裬ËùÒÔ˵ËüµÄ³öÏÖ²¢²»ÍêÈ«ÊÇÃÀ¹úÓÌËü´óѧ¼ÆËã»ú¿ÆѧϵFLUXÑо¿×éµÄ¹¦ÀÍ£¬¶øÓ¦¸ÃÊÇ"×ÔÓÉ"µÄ½á¹û¡£"¿ª·Å"ÔòÒâζ×ÅOSKit¶ÔËùÓеÄÈ˶¼³¨¿ª´óÃÅ£¬ÔÚÕâÖÖ¿ª·Å¶ø×ÔÓɵÄÌìµØÀÄã¿ÉÒÔÖзַ¢»Ó×Ô¼ºµÄ´´Ôì²ÅÄÜ¡£¡¡¡¡¡¡¡¡Ð÷ ÂÛ¡¡¡¡1.1 ¼ò½é¡¡¡¡OSKitÊÇÓÉÃÀ¹úÓÌËü´óѧ¼ÆËã»ú¿ÆѧϵFLUXÑо¿×é±àдµÄÒ»Ì×Ä£¿é»¯²¿¼þºÍ¿âº¯Êý£¬ÓÃÓڼܹ¹²Ù×÷ϵͳÄںˡ¢·þÎñÆ÷ÒÔ¼°ÆäËûµÄOS¼¶Èí¼þ¡£ÎÒÃÇÉèÏëһϣ¬ÔÚÒ»¸ö²Ù×÷ϵͳµÄÑз¢ÏîÄ¿ÖУ¬µ×²ãÄ£¿éµÄ¿ª·¢¹¤×÷»áռȥ´ó²¿·Öʱ¼ä£¬²¢ºÄ·Ñµô¿ª·¢ÈËÔ±µÄ´ó²¿·Ö¾«Á¦¡£¶øOSKitµÄ³öÏÖÇ¡Ç¡ÃÖ²¹ÁËÕâ¸öȱÏÝ£¬ÆäÉè¼ÆÒâͼÊÇÌṩһÌ׿ÉÖØÓõÄÄ£¿é£¬ÈÃʹÓÃÕ߱ܿª¸´Ôӵĵײ㣬°Ñ¾«Á¦¼¯ÖÐÔÚËûÃǸÐÐËȤµÄÎÊÌâÉÏ£¬Ò²¾ÍÊÇ˵£¬µ±¿ª·¢ÈËÔ±Äõ½OSKitÖ®ºó£¬±ãÁ¢¿ÌÓµÓÐÁËÒ»¸öÍêÕû¶øÇÒ°²È«µÄºËÐÄ£¬Ê¹ËûÃÇ¿ÉÒÔ¼¯Öо«Á¦Ñз¢²Ù×÷ϵͳµÄ¸ß²ã´ÎÎÊÌ⣬Èç×÷Òµ¿ØÖÆ¡¢Ðé´æ¡¢IPC¡¢Îļþϵͳ¡¢ÏµÍ³°²È«ÒÔ¼°¸ß¼¶ÓïÑÔ£¨ÈçJava¡¢Lisp»òML£©µÈ¡£ÕâÑù¿ÉÒÔ´ó´ó·á¸»²Ù×÷ϵͳµÄÓ¦Óò㣬ΪÓû§Ìṩ¸ü¶à¸üºÃµÄ·þÎñ£¬Ìá¸ß²Ù×÷ϵͳµÄÔËÐÐЧÂÊ£¬ÔöÇ¿²Ù×÷ϵͳµÄ°²È«ÐÔºÍÎȶ¨ÐÔ£¬´Ó¶øʹÄãµÄ²Ù×÷ϵͳ¸ü¼Ó¾ßÓÐ÷ÈÁ¦¡£¡¡¡¡¡¡¡¡¶ÔÓÚÕ¾ÔÚ²Ù×÷ϵͳ¼¼Êõ×îÇ°ÑصĶàÏ̱߳à³ÌºÍ³ÉÊìµÄ×÷Òµ¿ØÖÆϵͳ£¬ÒÔ¼°Ê±ÏÂ×îÁ÷ÐеÄǶÈëʽ²Ù×÷ϵͳ£¬OSKit¶¼ÌṩÁËÖ§³Ö¡£Í¨¹ý¶ÔÃÀ¹úÓÌËü´óѧ¼ÆËã»ú¿ÆѧϵFLUXÑо¿×éÍøÕ¾µÄ×·×Ù£¬ÎÒÃÇ×¢Òâµ½OSKitµÄ°æ±¾´óԼÿÈý¸öÔ¾͸üÐÂÒ»´Î£¬¶øÇÒÔÚÿ´Î·¢²¼µÄ°æ±¾ÀﶼÓÐÐí¶àеÄËã·¨¹«²¼£¬»¹ÓÐÐí¶àÀÏ°æ±¾ÖеÄBUG±»Ð޸ģ»Õâ˵Ã÷OSKit²»µ«Ò»Ö±´¦ÓÚ²Ù×÷ϵͳ¿ª·¢Æ½Ì¨µÄ×îÇ°ÑØ£¬¶øÇÒÆä×ÔÉíÒ²ÔÚ²»¶ÏµÄÍêÉÆ¡£¡¡¡¡¡¡¡¡Í¨¹ý¶ÔOSKitÉîÈëϸÖµķÖÎöÓëÑо¿£¬ÎÒÃÇ·¢ÏÖÓÌËû´óѧµÄ¿ª·¢ÈËÔ±ÃÇ´ÓÒ»¿ªÊ¼¾ÍÈ·¶¨ÁË×Ô¼ºµÄÄ¿±ê£¬ÄǾÍÊǶÔOSKit½øÐÐÄ£¿é»¯£¬·Â·ðWindowsÖеĶ¯Ì¬Á¬½Ó¿âÒ»Ñù£¬ÈúóÀ´Õß¼´Ê¹²»Ê¹ÓÃOSKitÖеÄijһ²¿·Ö£¬ÈÔÈ»¿ÉÒÔʹÓÃÆäÓಿ·ÖÀ´Íê³ÉËûÃǵÄÄ¿±ê¡£ÕâÑùµÄÉè¼Æ˼·ʮ·ÖÁé»î£¬Îª¿ª·¢ÕߺÍʹÓÃÕ߶¼ÌṩÁ˱ãÀû¡£¡¡¡¡¡¡¡¡1.2 °²×°ÓëÅäÖÃOSKit¡¡¡¡µ±ÎÒÃÇ´ÓÓÌËû´óѧµÃµ½OSkitµÄ2000ÄêÎåÔ°æʱ£¬ËüÊǸöѹËõ°ü£¬Ê¹ÓÃtarÔÚlinuxϽ⿪ºó£¬¾ÍµÃµ½ÁËÔ´Â룬ÕâÐèÒªÎÒÃÇÔÚlinuxÏÂÖØбàÒë¡£¡¡¡¡¡¡¡¡Ä¿Ç°£¬±àÒëOSKitÐèÒªÒÔÏµĹ¤¾ß£ºGNU make¡¢GNU CC (gcc) 2.95.2°æ¡£¡¡¡¡¡¡¡¡×¢Ò⣺Redhat Linux 6.2ÖеÄGCC²¢²»ÊÇ2.95.2£¬Èç¹ûÒª³É¹¦±àÒëOSKit£¬ÐèÒªÏȽ«ÎÒÃǵÄGCCÉý¼¶¡£µ±È»£¬Èç¹ûÄãʹÓõÄÊÇTurbo linux 6.0µÄ»°£¬ËüÌṩµÄ¾ÍÊÇGCC 2.95.2¡£¡¡¡¡¡¡¡¡ÔÚ¿ªÊ¼±àÒëOSKit֮ǰ£¬ÎÒÃDZØÐë×¢ÒâÒ»µã£¬ÄǾÍÊÇÒª¶ÔÔ´Âë½øÐÐÒ»µã¸Ä¶¯£¬ÈÃËüÖ§³Öʵʱ²Ù×÷£¬¼´½« /oskit20000505/threads/MakeFlage Öеģº # OSKIT_CFLAGS + = -DPTHREAD_SCHED_EDF -DPTHREAD_REALTIME ÖеÄ×¢ÊÍ·ûºÅ # È¥µô¡£¡¡¡¡¡¡¡¡ÓÉÓÚÎÒÃǵĻ·¾³ÊÇLinux£¬ËùÒÔÂÛÎÄÖеĸùĿ¼ÓÃ"/"±íʾ£¬¶ø²»ÊÇWindowsÖеÄ"\"¡£ÓÉÓÚÎÒÃÇÊÇÔÚintel 586ÉϱàÒë,¶øÎÒÃǵÄÄ¿±ê»úÒªÖ§³Öµ½intel 386£¬ËùÒÔÎÒÃÇÓ¦¸ÃÔÚOSKitµÄĿ¼Ï¼üÈ룺¡¡¡¡./configure ¨D¨Dhost=i586 ¨D¨Dtarget=i386¡¡¡¡´Ëºó¼üÈëmake£¬±àÒëOSKit¡£µ±OSKit±àÒëºÃÒÔºó£¬Äã¿ÉÒÔÓÃ"make install"ÃüÁîÀ´°²×°Ëü¡£ÔÚȱʡµÄÇé¿öÏ£¬ÕâЩ¿â»á±»°²×°µ½/usr/local/libÖУ¬¶øÍ·Îļþ»á±»°²×°µ½/usr/local/includeÖУ¬³ý·ÇÄãÔÚÅäÖÃʱʹÓÃÁË--prefixÑ¡ÏîÀ´Ö¸¶¨Ëü¡£ËùÓеÄOSKitÍ·Îļþ¶¼°²×°ÔÚoskit/×ÓĿ¼ÖУ¨ÀýÈç/usr/local/include/oskit£©£¬²»»áºÍÒѾ­´æÔÚµÄÈκÎÍ·Îļþ³åÍ»¡£¼´Ê¹ÊÇ¿â±»°²×°ÔÚÖ÷¿âµÄĿ¼ÖУ¨Èç/usr/local/lib£©£¬ËùÓеĿâÎļþ¶¼ÓÐǰ׺oskit_£¬Õâ¿ÉÒÔ±ÜÃâºÍÆäËü²»Ïà¹ØµÄ¿â»ìÏýÔÚÒ»Æ𡣡¡¡¡¡¡¡¡1.3 ʹÓÃOSKit¡¡¡¡Ò»¿ªÊ¼£¬ÎªÁËÄÜÈôó¼Ò¾¡¿ìÊìϤOSKit£¬ÓÌËû´óѧµÄÑз¢ÈËÔ±ÃǸø³öÁËÐí¶àºÜ¾ß´ú±íÐÔµÄÀý×Ó¹©Ê¹ÓÃÕß½øÐÐÊÔÑ飬ÎÒÃÇÒ²±àдÁËÒ»¸öСÐ͵IJÙ×÷ϵͳ£¬¹©Ñ§Ï°Ñо¿Ö®Óᣡ¡¡¡¡¡¡¡OSKitÖпâµÄÉè¼ÆÊǺܾ­µäµÄ£¬¿ª·¢ÕßÃÇ»¨·ÑÁË´óÁ¿Ê±¼äÇå³þµØ±ê³öÁËÿ¸ö¿âÓëÆäËü¿âµÄÒÀÀµ¹Øϵ£¬ÕâʹµÃOSKit²»µ«±£ÁôÁ˲Ù×÷ϵͳµÄԭ֭ԭ棬¶øÇÒ»¹°Ñ¿âÖ®¼äµÄÏà¹ØÐÔ½µµÍµ½ÁË×îµÍÏ޶ȣ¬Ê¹µÃʹÓÃÕß¿ÉÒÔËæÒâÔö¼õÆäÖеĿ⺯Êý¡£Êµ¼ÊÉÏ£¬ÔںܶàÇé¿öÏ£¬ÌرðÊÇÔÚijЩº¯Êý¿âÖУ¬ÎªÁËÓÐЧµÄʹÓÃOSKit£¬±ØÐëÌæ»»µôÆäÖеÄһЩº¯Êý»ò·ûºÅ£¬ÒÔÊÊÓ¦ÎÒÃǵÄÖ´Ðл·¾³¡£ÒªÖØÔØij¸ö¿âÖеĺ¯Êý»òÕß·ûºÅ£¬Ö»ÒªÔÚÄãµÄºËÐÄ»òÓ¦ÓóÌÐòÖÐÔÙ¶¨ÒåÒ»±é¾Í¿ÉÒÔÁË£¬LINK³ÌÐò»áÈ·±£È¥Ê¹ÓÃÄãËù¶¨ÒåµÄº¯ÊýºÍ·ûºÅ¡£ÓÉÓÚÔÚLinuxϵıàÒëÆ÷ÊÇ¿¿¶ÁÈ¡MakefileÎļþÀ´È·¶¨±àÒëÁ¬½ÓµÄ¶ÔÏóÒÔ¼°¹æÔò£¬ËùÒÔÎÒÃÇÈÏΪֱ½ÓÐÞ¸ÄMakefileÎļþÒª±ÈÐÞ¸ÄOSKitÔ´Âë¸ü¼Ó·½±ã¶øÇÒ°²È«£¬ÕâÓëWindowsÏµĹ¤³ÌÎļþÊ®·ÖÏàËÆ¡£¡¡¡¡¡¡¡¡Èç¹ûʹÓÃOSKitËùÌṩµÄÄ£¿é»¯²¿¼þºÍ¿âº¯Êý±àд³öÁË×Ô¼ºµÄ²Ù×÷ϵͳºËÐÄ´úÂ룬²¢ÇÒ¶ÔÔÚLINUXÏÂÓÃGCC±àÒëÔ´ÂëÓÐËùÁ˽âµÄ»°£¬¾Í¿ÉÒÔ½èÖúOSKitΪʹÓÃÕßÌṩµÄÒ»ÕûÌ׺ËÐÄÖÆ×÷ÃüÁîºÍLINUXÌṩµÄGCCÀ´Éú³É×Ô¼ºµÄºËÐÄÎļþzImage£¬È»ºóʹÓÃLINUXÃüÁîDD½«ºËÐÄдÈëÒ»ÕÅ1.44MBµÄÈíÅÌ£¬ÖØÐÂÆô¶¯¼ÆËã»ú£¬´ÓÈíÅÌÒýµ¼¾Í¿É½øÈëÎÒÃÇ×Ô¼º±àдµÄ²Ù×÷ϵͳÁË¡£¡¡¡¡¡¡¡¡ÁíÍ⣬¿¼Âǵ½Óû§»·¾³¸´ÔÓ¶àÑùµÄʵ¼ÊÇé¿ö£¬OSKit»¹ÌṩÁ˶ÔÐí¶àÖÖ²Ù×÷ϵͳµÄÖ§³Ö£¬°üÀ¨Linux¡¢Mach ¡¢BSD»òÕßMS-DOS£¬µ±ÎÒÃÇÓÃGCC½«Ô´Âë±àÒë³É"filename.o"µÄ¸ñʽ֮ºó£¬Ê¹ÓÃOSKitÌṩµÄ²»Í¬µÄºËÐÄÖÆ×÷ÃüÁîÀ´Éú³É²»Í¬²Ù×÷ϵͳϵĺËÐÄ£¬Æä¾ßÌåʵÏÖÊÇÓÉmkbsdimage¡¢mklinuximageºÍmkdosimageÀ´Íê³ÉµÄ¡£ÕâЩ½Å±¾ÔÚOSKitµÄ°²×°ºÍÅäÖý׶λá¸ù¾ÝÄãÖ¸¶¨µÄ»·¾³×Ô¶¯°²×°Íê±Ï¡£ÔÚÿһ¸ö½Å±¾ÔËÐеÄʱºò¶¼Óи÷×Ô²»Í¬µÄ²ÎÊý¡£¡¡¡¡¡¡¡¡1.4 OSKit µ¼º½Í¼¡¡¡¡OSKitËùÌṩµÄ¹¦Äܱ»·Ö³ÉÈýÀࣺ½Ó¿Ú¡¢º¯Êý¿âºÍ²¿¼þ¿â¡¡¡¡¡¡¡¡1.4.1 ½Ó¿Ú¡¡¡¡OSKitµÄ½Ó¿Ú·Ç³£ÇåÎú£¬²¢ÇÒÊÇÃæÏò¶ÔÏóµÄ¡£ÕâЩ½Ó¿ÚÈ«²¿±»¶¨ÒåÔÚCÓïÑÔµÄÍ·ÎļþÖУ¬ÎÒÃÇ·Ö±ð¶ÔÆä¼ÓÁ˱ØÒªµÄ×¢ÊÍ£¬ÒÔ·½±ãʹÓÃÕß¿ìËÙÕÆÎÕOSKit¡£ÕâЩ½Ó¿Ú±»OSKitµÄ¸÷¸ö²¿¼þ¹²Ïí£¬´Ó¶øÌåÏÖÁ˸÷²¿¼þÖ®¼äµÄÒ»ÖÂÐÔ¡£²Ù×÷ϵͳµÄ¿ª·¢ÈËÔ±¼È¿ÉÒÔÖ±½ÓʹÓÃËü£¬Ò²¿ÉÒÔÔÚÆäÉ϶¨ÒåÄ¿±ê²Ù×÷ϵͳµÄ½Ó¿Ú½á¹¹¡£¡¡¡¡¡¡¡¡1.4.2 º¯Êý¿â¡¡¡¡OSKitµÄº¯Êý¿âÒÔCÓïÑÔÖÐÃæÏòº¯ÊýµÄ·½Ê½Ìṩ»ù±¾µÄ·þÎñ¡£Ò»¸ö¿âÖеĺ¯Êý¶ÔÁíÒ»¸ö¿âÖк¯ÊýµÄÒÀÀµ¹ØϵÒѾ­±»½µÖÁ×îµÍµÄ³Ì¶È£¬Èç¹ûÕâÖÖÒÀÀµÊDz»¿É±ÜÃâµÄ»°£¬ÄÇËûÃÇÒѾ­±»ºÜÇå³þµØ±ê×¢³öÀ´£¬Õ¹ÏÖ¸øÁ˲Ù×÷ϵͳµÄ¿ª·¢ÈËÔ±¡£º¯Êý¿âºÜÉÙʹÓÃOSKitµÄÃæÏò¶ÔÏóµÄCOM½Ó¿Ú£¬È¡¶ø´úÖ®µÄÊÇÔÚCµÄÍ·ÎļþÖж¨Òå×Ô¼ºµÄÃæÏòº¯ÊýµÄ½Ó¿Ú¡£ÕâÖÖÉè¼Æ²ßÂÔΪ²Ù×÷ϵͳ¿ª·¢ÈËÔ±ÌṩÁËÁé»îÐԺͼ«´óµÄ¼¼ÊõÖ§³Ö£»ÒªÊÊÓ¦ÈκÎÌØÊâµÄ²Ù×÷ϵͳ»·¾³£¬µ×²ãµÄOSKit¹¤¾ß±ØÐë¾ßÓпÉÀ©Õ¹ÐÔ¡£¡¡¡¡¡¡¡¡1.4.3 ²¿¼þ¿â¡¡¡¡OSKitµÄ²¿¼þ¿âʹʹÓÃÕßÄÜÕ¾ÔÚ¸ü¸ßµÄ²ã´ÎÀ´±à³Ì£¬¼´ÃæÏò¶ÔÏóµÄ"ºÚºÐ"·½Ê½¡£¾¡¹ÜOSKitµÄ"²¿¼þ"ÔÚȱʡÇé¿öÏÂÒ²ÊDZ»´ò°ü³ÉΪÆÕͨµÄÁ´½Ó¿â£¬µ«ËüÃǵĽṹÔòÊDZ»Éè¼Æ³ÌÃæÏò¶ÔÏóµÄ£¬¶ø²»ÊÇ´«Í³µÄÃæÏòº¯ÊýµÄ·½Ê½¡£ÓëOSKitµÄº¯Êý¿âÏà±È£¬²¿¼þ¿âͨ³£Ö»¶ÔÍ⿪·ÅһЩÏà¹ØµÄ¹«Óõ÷Óýӿڣ¬¶ø²»ÊÇ´óÁ¿µÄ¹¦ÄÜ¡£ÀýÈ磬ÔÚLinuxºÍBSDµÄÇý¶¯³ÌÐò²¿¼þ¿âÀÿһ¸öÍêÕûµÄÇý¶¯³ÌÐò½ö³ÊÏÖΪһ¸öµ¥¶ÀµÄº¯Êýµ÷Óã¬Õâ¸öµ÷ÓÃÓÃÀ´³õʼ»¯²¢×¢²áÇý¶¯³ÌÐò¡£¡¡¡¡¡¡¡¡1.4.4 Ö´Ðл·¾³¡¡¡¡OSKitÖеÄÐí¶à²¿¼þÔÚºËÐĺÍÓû§·½Ê½Ï¶¼¿ÉÒÔʹÓã¬Õâ¾ÍÐèÒª¶Ô²¿¼þµÄÖ´Ðл·¾³×÷³ö¶¨Ò壬ÀýÈ粿¼þʲôʱºò¿ÉÒÔǶÌ×½øÈëµÈ¡£´ËÍ⣬OSKITʹÓÃÁËÐí¶àÆäËü²Ù×÷ϵͳµÄ´úÂ룬ÀýÈçÉ豸Çý¶¯³ÌÐòºÍÍøÂçЭÒéÕ»£¬¶¼ÊÇÔ­·â²»¶¯µÄ´ÓÔ­ÓеĺËÐÄÈçBSDºÍLinuxÖнèÓÃÀ´µÄ£¬OSKitͨ¹ý¸½¼Ó´úÂëÄ£ÄâԭʼִÐл·¾³Ê¹µÄÕâЩִÐÐÄ£¿é±ÈËüÃÇԭʼִÐл·¾³¸ü¼òµ¥£¬Óû§Ò²²»ÐèÒªÏêϸÁ˽âÔ­Ö´Ðл·¾³µÄϸ½Ú¡£ÏÂÃæ¶ÔOSKITµÄÿÖÖÖ´ÐÐÄ£¿é½øÐмòµ¥µÄ½éÉÜ¡£¡¡¡¡¡¡¡¡´¿Ö´ÐÐÄ£¿é£ºÕâÊÇOSKitÖ´Ðл·¾³ÖÐ×î¼òµ¥µÄÒ»¸öÄ£¿é£¬ÕâЩ²¿¼þ»òº¯ÊýÖÐûÓÐÈ«¾Ö±äÁ¿»ò¾²Ì¬±äÁ¿£¬Ö»Ê¹Óúʹ¦ÀíÓÉÄ¿±ê»·¾³´«µÝÀ´µÄÊý¾Ý¡£ÀýÈ纯Êýstrlen,Ëüֻͨ¹ýÄ¿±ê»·¾³´«µÝ¸øËüµÄ×Ö·û´®Ö¸ÕëÇó³ö×Ö·û´®µÄ³¤¶È£¬²¢½«Æä·µ»Ø£¬ËüÖ»½Ó´¥²ÎÊýÊý¾ÝÓò£¬¶ø²»Ó°ÏìÄ¿±ê»·¾³¡£µ±ÕâЩº¯ÊýʹÓõÄÊý¾Ý¼¯ÊÇ·ÖÀëµÄ£¬ËüÃÇ¿ÉÒÔ°²È«µØͬʱ±»µ÷Ó㬶ø²»ÐèҪͬ²½£¬·´Ö®Ôò²»ÐС£ÀýÈç¶ÔÖصþµÄÄ¿±ê»º³åÇø²¢·¢Ê¹ÓÃmemcpyµ÷ÓÃʱ²»°²È«µÄ¡£¡¡¡¡¡¡¡¡¡¡¡¡·Ç´¿Ö´ÐÐÄ£¿é£ºÕâЩģ¿éÖÐʹÓÃÁËÈ«¾Ö±äÁ¿»òÓпÉÄܸıäÈ«¾Ö¹²Ïí״̬£¬ÀýÈçliboskit_kern£¨ºËÐÄÖ§³Ö¿â£©ÖеÄÐí¶àº¯Êý½¨Á¢ºÍ·ÃÎÊÈ«¾Ö´¦ÀíÆ÷¼Ä´æÆ÷ºÍÊý¾Ý½á¹¹£¬Òò´ËËüÃÇÊÇ·Ç´¿Ö´ÐÐÄ£¿é¡£·Ç´¿Ö´ÐÐÄ£¿éÓÐÒÔÏÂÌص㣺·Ç´¿º¯ÊýºÍ²¿¼þ¿ÉÄÜÒÀÀµÓÚÈ«¾Ö״̬£¬ÈçÈ«¾Ö±äÁ¿£¬¾²Ì¬±äÁ¿£¬´¦ÀíÆ÷ÖеÄÌØÊâ¼Ä´æÆ÷µÈ¡£³ý·ÇÓÐÃ÷È·µÄÉùÃ÷£¬·Ç´¿º¯ÊýºÍ²¿¼þÊDz»¿ÉÖØÈëµÄ£¬²¢ÇÒÔËÓÃÔÚ¶àÏß³ÌϵͳÖÐÒ²ÊDz»°²È«µÄ¡£ÎªÁËÔÚÒ»¸ö¶àÏß³Ì/¶à´¦ÀíÆ÷»·¾³ÖÐʹÓÃÕâЩº¯ÊýºÍ²¿¼þ£¬Ä¿±ê²Ù×÷ϵͳ±ØÐëÌṩÊʵ±µÄͬ²½´úÂë¡£¡¡¡¡¡¡¡¡×èÈûÄ£¿é£ºËüÀ©Õ¹ÁË·Ç´¿Ä£¿éÀ´Ö§³Ö·ÇÇÀÏȵĶàỊ̈߳¬ÕâЩģ¿éÖÐÓÐÒ»Àà¿ÉÖØÈëµÄº¯Êý³ÆΪ×èÈûº¯Êý£¬ÔÚÕâÄ£¿éÖУ¬³ý·ÇÃ÷È·ÉùÃ÷Ϊ·Ç×èÈûº¯Êý£¬·ñÔòº¯ÊýÊÇ×èÈûµÄ¡£ÎªÁËÔÚÒ»¸öÍêÈ«ÇÀÏȵġ¢¿ÉÖжϵĻòÕ߶ദÀíÆ÷µÄ»·¾³ÖÐʹÓÃ×èÈûÄ£¿é£¬±ØÐëÔÚ½øÈëÄ£¿éÇ°¼ÓËø£¬ÔÚÍ˳öÄ£¿éʱ½«ËøÊÍ·Å¡£¡¡¡¡¡¡¡¡¿ÉÖжÏ×èÈûÄ£¿é£ºÔÚËüÖ®ÖÐÿ¸ö²¿¼þ¶¼ÊÇÒ»¸öµ¥Ï̵߳ÄÖ´ÐÐÓò£¬ÔÚÒ»¸ö¸ø¶¨µÄʱ¿Ì£¬Ö»ÓÐÒ»¸ö£¨ÐéÄâµÄ»òÕßÎïÀíµÄ£©CPU¿ÉÒÔÖ´Ðв¿¼þÖеĴúÂë¡£ÀýÈ磺ÔÚÒ»¸ö¶à´¦ÀíÆ÷ϵͳÖУ¬ÔÚ½ø³Ì¼¶±ðÏ£¬ÈÎÒâʱ¿ÌÔÚÒ»¸ö²¿¼þ¼¯ÄÚÖ»ÓÐÒ»¸öCPU±»ÔÊÐíÖ´ÐУ»ÕâÄܹ»Í¨¹ýÔÚ²¿¼þÇ°ºó·ÅÖÃÈ«¾ÖËøÀ´ÊµÏÖ¡£¡¡¡¡¡¡¡¡ÔÚÒ»¶Îʱ¼äÄÚ£¬²¿¼þÖпÉÒÔ´æÔÚ¶à¸ö»î¶¯½ø³Ì£¬µ«ÔÚijʱ¿ÌÖ»ÓÐÒ»¸ö½ø³Ì±»Ö´ÐС£Ä¿±ê²Ù×÷ϵͳ¸øÿ¸ö»î¶¯½ø³ÌÌṩһ¸ö¶ÀÁ¢¶ÑÕ»£¬Õâ¸ö¶ÑÕ»ÔÚ×èÈûº¯ÊýÔËÐÐʱ±»±£Áô¡£Ö»ÓÐÔÚ²Ù×÷Íê³Éºó£¬¶Ô²¿¼þµÄµ÷Ó÷µ»Øʱ²Å·ÅÆú¸Ã¶ÑÕ»¡£²¿¼þÖеĴúÂë×ÜÊÇÔËÐÐÔÚÁ½¸ö¼¶±ðÖÐÖ®Ò»£¬½ø³Ì¼¶»òÖжϼ¶¡£ÓÐÒâ˼µÄÊÇһЩ²¿¼þµÄº¯ÊýºÍ·½·¨Ö»ÄÜÔÚ½ø³Ì¼¶±ð±»µ÷Ó㬶øÁíһЩֻÄÜÔÚÖжϼ¶±ð±»µ÷Ó㬻¹ÓеÄÄÜÔÚÈκμ¶±ð±»µ÷Óᣵ÷ÓõÄϸ½ÚÊôÓÚ½Ó¿ÚÃèÊöµÄÒ»²¿·Ö¡£¡¡¡¡¡¡¡¡²¿¼þÖÐÎÞÂÛ½ø³Ì¼¶±ð»òÖжϼ¶±ðµÄ²Ù×÷¶¼Äܱ»²¿¼þÖеÄÖжϴ¦Àí³ÌÐòÖжϣ¬³ý·Ç´úÂëµ÷ÓÃosenv_intr_disableÆÁ±ÎÁËÖжϡ£µ±²¿¼þÔÚ½ø³Ì¼¶ÔËÐÐʱ£¬OSKIT¼Ù¶¨ÖжϿª·Å£¬²¿¼þÔÚ´¦Àí¹ý³ÌÖпÉÄÜÁÙʱÆÁ±ÎµôÖжϣ¬µ«±ØÐëÔÚ·µ»Øµ½Ä¿±ê²Ù×÷ϵͳǰÖØм¤»î¡£Í¬Ñù£¬µ±²¿¼þÔÚÖжϼ¶ÔËÐÐʱ£¬OSKIT¼Ù¶¨Öжϱ»ÆÁ±Î£¬µ«ÊDz¿¼þ¿ÉÒÔÔÚÄ¿±ê²Ù×÷ϵͳÔÊÐíÆäËüÖжϼ¶±ðµÄ»î¶¯Öжϸò¿¼þʱÖØ줻îÖжϡ£¡¡¡¡¡¡¡¡µ±Ä¿±ê²Ù×÷ϵͳÔÚÒ»¸ö²¿¼þÄÚÖжÏÒ»¸ö½ø³Ì¼¶±ðµÄ»î¶¯Ê±£¬ÔÚ¼ÌÐøÕâ¸ö»î¶¯Ç°£¬²Ù×÷ϵͳ±ØÐëÖ´ÐÐÍêÕâ¸öÖжϼ¶±ðµÄ»î¶¯¡£Í¬Àí£¬ÈôÒ»¸öÖжϼ¶µÄ»î¶¯±»Öжϣ¬ÄÇô×î½üµÄÖжϼ¶±ðµÄ»î¶¯±ØÐëÔÚ¼ÌÐøÇ°Ò»¸öÖжϼ¶±ðµÄ»î¶¯Ö®Ç°Íê³É¡£²¿¼þÖÐÔËÐÐÔÚÖжϼ¶±ðµÄ´úÂë²»Äܵ÷ÓÃÄ¿±ê²Ù×÷ϵͳÌṩµÄ×èÈû»Øµ÷º¯Êý£»Ö»ÓзÇ×èÈûµÄ»Øµ÷º¯ÊýÄܹ»ÔÚÖжϼ¶±ð±»µ÷Óá£


[1] [2] ÏÂÒ»Ò³ 

 

£¨³ö´¦£ºhttp://www.sheup.com£©


ÉÏÒ»Ò³ [1] [2]