Ëæ×ŶàºË´¦ÀíÆ÷ºÍ¸´ÔÓϵͳµÄÆÕ¼°£¬´«Í³µÄÄÚ´æ±£»¤»úÖÆÒÑÄÑÒÔÂú×ãÏÖ´úÓ¦ÓóÌÐò¶Ô°²È«ÐԺͿɿ¿ÐÔµÄÒªÇó
ÕýÊÇÔÚÕâÑùµÄ±³¾°Ï£¬Memory ProtectionExtensions (MPX)£¬×÷ΪһÖÖ´´ÐµÄÄÚ´æ·ÃÎÊ¿ØÖƼ¼Êõ£¬Öð½¥Õ¸Â¶Í·½Ç
ÌØ±ðÊÇÔÚLinux²Ù×÷ϵͳÕâÒ»¹ã·ºÓ¦ÓÃµÄÆ½Ì¨ÉÏ£¬MPX²âÊÔµÄÖØÒªÐÔÓú·¢Í¹ÏÔ
±¾ÎĽ«ÉîÈë̽ÌÖMPX¼¼ÊõµÄºËÐÄÔÀí¡¢ÔÚLinux»·¾³ÏµÄʵʩ²ßÂÔÒÔ¼°Æä¶ÔÌáÉýÈí¼þÎȶ¨ÐԺͰ²È«ÐԵľ޴óDZÁ¦
Ò»¡¢MPX¼¼Êõ¸ÅÀÀ£º³¬Ô½´«Í³ÄÚ´æ±£»¤µÄ±ß½ç MPX£¬È«³ÆMemory Protection Extensions£¬ÊÇIntelÔÚx86¼Ü¹¹ÉÏÒýÈëµÄÒ»Ïî¸ß¼¶ÄÚ´æ¹ÜÀí¼¼Êõ
ËüÖ¼ÔÚͨ¹ýΪָÕë°ó¶¨ÔªÊý¾Ý£¨³ÆÎª±ß½ç±êÇ©£©£¬ÊµÏÖ¶ÔÄÚ´æ·ÃÎʵľ«Ï¸¿ØÖÆ£¬´Ó¶øÓÐЧ·ÀÖ¹»º³åÇøÒç³ö¡¢Ô½½ç·ÃÎʵȳ£¼ûµÄ°²È«Â©¶´
Ó봫ͳµÄ»ùÓڶλòÒ³µÄÄÚ´æ±£»¤Ïà±È£¬MPXÌṩÁ˸üϸÁ£¶ÈµÄ¿ØÖÆ£¬Äܹ»¾«È·µ½µ¥¸öÖ¸ÕëµÄ·ÃÎÊ·¶Î§£¬Õâ¶ÔÓÚÌá¸ß³ÌÐòµÄ°²È«ÐÔºÍÎȶ¨ÐÔÖÁ¹ØÖØÒª
MPXµÄºËÐÄÔÚÓÚÒýÈëÁËËĸöеÄCPU¼Ä´æÆ÷£¨BNDCFGu, BNDCFGl, BNDSTU, BNDCSTL£©ºÍһϵÁÐеÄÖ¸ÁÓÃÓÚÉèÖᢲéѯºÍÐ޸ı߽ç±êÇ©
ÕâЩ±ß½ç±êÇ©Óë³ÌÐòÖеÄÖ¸ÕëÏà¹ØÁª£¬Ã¿µ±Ö¸Õë±»ÓÃÓÚÄÚ´æ·ÃÎÊʱ£¬CPU»á¼ì²é¸Ã·ÃÎÊÊÇ·ñ³¬³öÁËÔ¤ÉèµÄ±ß½ç·¶Î§£¬Èô³¬³öÔò´¥·¢Òì³££¬´Ó¶ø×èֹDZÔڵĶñÒâ²Ù×÷
¶þ¡¢Linux»·¾³ÏµÄMPX²âÊÔ£ºÌôÕ½Óë»úÓö²¢´æ ½«MPX¼¼ÊõÓ¦ÓÃÓÚLinuxϵͳ£¬¼ÈÊǶԴ«Í³°²È«»úÖÆµÄ²¹³ä£¬Ò²ÊǶÔÏÖÓÐÈí¼þ¿ª·¢Á÷³ÌµÄ¸ïÐÂ
È»¶ø£¬ÕâÒ»¹ý³Ì²¢·ÇÒ»·«·ç˳£¬ËüÃæÁÙ×Å¶à·½ÃæµÄÌôÕ½£º 1.¼æÈÝÐÔÓëÐÔÄÜ¿¼Á¿£ºMPX¼¼ÊõµÄÒýÈëÐèÒª¶Ô±àÒëÆ÷¡¢Á´½ÓÆ÷ÒÔ¼°ÔËÐÐʱ»·¾³½øÐÐÈ«Ãæ¸ÄÔ죬ÒÔÈ·±£Ð¾ɴúÂëµÄ¼æÈÝ
ͬʱ£¬¶îÍâµÄ±ß½ç¼ì²é¿ÉÄÜ´øÀ´ÐÔÄÜÉϵĿªÏú£¬ÓÈÆäÊÇÔÚ¸ßÆµ·ÃÎʵij¡¾°ÏÂ
Òò´Ë£¬ÈçºÎÔÚ±£Ö¤°²È«ÐÔµÄͬʱ£¬×îС»¯ÐÔÄÜÓ°Ï죬ÊÇMPXÔÚLinuxÉÏÓ¦ÓõÄÊ×ÒªÌôÕ½
2.¹¤¾ßÁ´Ö§³Ö£ºÎªÁËÓÐЧÀûÓÃMPX£¬ÐèÒª±àÒëÆ÷£¨ÈçGCC¡¢Clang£©Ö§³ÖMPXÖ¸ÁµÄÉú³ÉºÍÓÅ»¯£¬ÒÔ¼°µ÷ÊÔÆ÷¡¢ÐÔÄÜ·ÖÎö¹¤¾ßµÈÄܹ»Õýȷʶ±ðºÍ´¦ÀíMPXÏà¹ØµÄÔªÊý¾Ý
¹¹½¨Ò»Ì×ÍêÕûµÄÖ§³ÖMPXµÄ¹¤¾ßÁ´£¬ÊÇÍÆ¶¯ÆäÔÚLinux»·¾³Ï¹㷺ӦÓõĻù´¡
3.¿ª·¢Õß½ÌÓý£ºMPXµÄÒýÈëÒªÇ󿪷¢Õ߾߱¸Ðµıà³Ì·¶Ê½ºÍ°²È«Òâʶ£¬ÕâÐèÒª¶ÔÏÖÓпª·¢ÍŶӽøÐÐÅàѵºÍ֪ʶ¸üÐÂ
ÈçºÎ¿ìËÙÌáÉý¿ª·¢ÕßµÄMPX±à³ÌÄÜÁ¦£¬È·±£Ð¼¼ÊõµÄÓ¦Óò»»á³ÉΪÏîÄ¿½ø¶ÈµÄ×è°£¬ÊÇÁíÒ»¸öÖØÒªÌôÕ½
¾¡¹ÜÈç´Ë£¬MPXÔÚLinux»·¾³ÏµIJâÊÔÓëÓ¦ÓÃÒ²