XCon 2020£º¾ÅÓÎÀÏ¸ç¿Æ¼¼´øÄú¾Û½¹¶ÑÖÎÀíÄں˳غÍÖÇÄÜÍþÐ²ÍÆ¼öÒýÇæ
2020-08-20
2020ÄêµÄÇå¾²½¹µãÐÅÏ¢Çå¾²ÊÖÒÕ·å»á£¨XCon 2020£©ÓÚ8ÔÂ19ÈÕÖÁ20ÈÕÔÚÔÆ¶Ë¾ÙÐС£×÷Ϊº£ÄÚΪÊýδ¼¸µÄ“Ó²ºË“Çå¾²ÊÖÒÕ½»Á÷ƽ̨£¬XCon´Ó2002Ä꿪°ìÖÁ½ñ£¬´ÓÖÉÄÛÂõÏò³ÉÊìµÄͬʱ£¬Ò²ÔÚÆð¾¢¼á³Ö×Ô¼ºµÄ³õÐÄ¡£
XCon 2020¹²ÓÐÊ®¸öÊÖÒÕÒéÌ⣬ÁýÕÖÔÆÇå¾²¡¢È˹¤ÖÇÄÜ¡¢Îó²îʹÓÃÓ뻺½â¡¢ÄæÏò¹¤³ÌµÈ¶à¸öÁìÓò¡£ÆäÖУ¬¾ÅÓÎÀÏ¸ç¿Æ¼¼Ìì»úʵÑéÊÒÈÏÕæÈËÕÅÔÆº£ÒÔ¼°¾ÅÓÎÀÏ¸ç¿Æ¼¼Á¢ÒìÖÐÐÄÌìÊàʵÑéÊҸ߼¶Çå¾²Ñо¿Ô±ÕÅÈó×̲©Ê¿£¬»®·ÖÒÔ¡¶Windows Heap Backed Pool Internals¡·ºÍ¡¶´òÔìΣº¦Çý¶¯µÄÖÇÄÜÍþÐ²ÍÆ¼öÒýÇæ¡·ÎªÌ⣬¹±Ï×ÁËÁ½³¡¸É»õÂúÂúµÄ·ÖÏí¡£
±¾ÎÄ£¬¾ÅÓÎÀϸç¾ýΪÄú´øÀ´ÕâÁ½³¡ÒéÌâµÄÓ¢»ªÄÚÈÝ¡£
Windows Heap Backed Pool Internals£¨»ùÓڶѵÄÄں˳أ©
¾ÅÓÎÀÏ¸ç¿Æ¼¼Ìì»úʵÑéÊÒרעÓÚÇå¾²Îó²îÍÚ¾òºÍʹÓÃÊÖÒÕµÄÑо¿¡£±¾´Î XCon ÒéÌ⣬ÕÅÔÆº£´Ó Windows ¶ÑÖÎÀíµÄÑݽøÇÐÈë£¬ÖØµãÏÈÈÝ Windows10»ùÓڶѵÄÄں˳ØÖÎÀíµÄʵÏÖ»úÖÆ£¬ÆÀ¹ÀÁËÕâһת±ä¶ÔÄÚºËÎó²îʹÓÃËù´øÀ´µÄÓ°Ï죬ÏÈÈÝÁ˸ûúÖÆ×ÔÉíµÄ¹¥»÷Ãæ£¬²¢¸ø³öÁËһЩʹÓÃʾÀý¡£

¾ÅÓÎÀÏ¸ç¿Æ¼¼Ìì»úʵÑéÊÒÈÏÕæÈË ÕÅÔÆº£
¶ÑÊÇÓÃÀ´´æ·Å¶¯Ì¬Êý¾ÝµÄÄÚ´æÇøÓò£¬Í¨³£ÊÇλÓÚ±£´æµÄÐéÄâµØµã¿Õ¼äÖеÄÒ»¸öÇøÓò¡£¶ÑµÄÎïÀí´æ´¢Æ÷´ÓÄÚ´æÖзÖÅÉ£¬ÔÚÊÍ·ÅʱÓÐרÃŵĶÑÖÎÀíÆ÷ÈÏÕæ¶ÔÒÑÕ¼ÓõÄÎïÀí´æ´¢Æ÷¾ÙÐнÓÄÉ¡£Ó¦ÓóÌÐò¿ÉÒÔʹÓÃϵͳÌṩµÄһϵÁк¯ÊýÀ´½¨Éè×Ô¼ºµÄ¶Ñ²¢¶Ô¶ÑÖеÄÄÚ´æ¾ÙÐÐÖÎÀí¡£
¿ÉÒÔ˵£¬¶ÑÖÎÀíÊÇÒ»ÖÖÖ÷ÒªµÄ¶¯Ì¬ÄÚ´æÖÎÀí»úÖÆ¡£Ëæ×Å Windows °æ±¾Ò»Ö±¸üµü£¬Î¢Èí¶àÄêÀ´Ò»Ö±ÔÚÒ»Á¬Ë¢Ð¶ÑÄÚ´æµÄÖÎÀí¡£´Ó Windows XP ÖÐµÄ NT Heap£¬µ½ Windows Vista ÖÐµÄ Low Fragmentation Heap£¬ÔÙµ½ Windows 10µÄ Segment Heap¡£ÔÚÍêÉÆÓû§Ì¬¶ÑÄÚ´æÖÎÀíµÄͬʱ£¬Î¢ÈíÒ²ÔÚʵÑ齫¶ÑÖÎÀíµÄ»úÖÆÒýÈëÄÚºË̬£¬ÆôÓÃÁË»ùÓÚ¶ÑÖÎÀíµÄÄں˳أ¨Heap Backed Pool£©£¬²¢ÔÚWindows 10°æ±¾1903Öг¹µ×È¡´úÁËÔÀ´µÄÄں˳ØÖÎÀí»úÖÆ£¬ÒÔÆÚÄܸüÇå¾²¡¢¸ßЧµÄÖÎÀíÄÚºËÄÚ´æ¡£
ÐðÊöÍê¸ÃÖ÷ÌâµÄÅä¾°£¬ÕÅÔÆº£ÏêϸÏÈÈÝÁËÄÚºËÖжÑÖÎÀíÏà¹ØµÄÒªº¦Êý¾Ý½á¹¹ÒÔ¼°ÄÚ´æ·ÖÅÉÓëÊͷŵÄËã·¨µÈʵÏÖ»úÖÆ¡£


Ã÷È·Çå¾²»úÖÆÊÇѰÕÒ¹¥»÷ÃæµÄÌõ¼þ¡£ÕÅÔÆº£ÒÔΪ£¬ÄÚºË̬µÄ¶ÑÖÎÀíÔÚÇå¾²»úÖÆ·½ÃæÖ÷ÒªÓÐËĸö½ÏΪͻ³öµÄµã£¬¶ÔÁ´±íÓëºìºÚÊ÷½ÚµãµÄ±£»¤¡¢·ÖÅÉÒ»¸öÌØÁíÍâ Guard Page Ò³ÃæÀ´±ÜÃ⻺³åÇøÒç³öºóÔ½¹ý½çÏ߸ÄдºóÐøÄÚ´æ¡¢¶ÔÒªº¦Êý¾Ý¾ÙÐбàÂë±£»¤¡¢LFH ·ÖÅÉÄÚ´æµÄËæ»ú»¯¡£ÕâЩÇå¾²»úÖÆÖÐÒÀÈ»ÒÅÁôÁËһЩDZÔڵĹ¥»÷Ãæ£¬ºÃ±È²¿·ÖÒªº¦µÄÊý¾Ý²¢Ã»ÓоÙÐбàÂë±£»¤£¬Í¨¹ý SegContext ·ÖÅɵÄÄÚ´æÔòûÓÐ Guard Page ±£»¤¡£
ÕÅÔÆº£ÌåÏÖÄں˶¯Ì¬ÄÚ´æÖÎÀí»úÖÆµÄÇл»£¬Ò²»áÓ°Ïìµ½ÄÚºËÎó²îµÄʹÓã¬Ö÷Òª¼¯ÖÐÔÚÈý·½Ã棺Õë¶ÔÄں˳ØÔªÊý¾ÝµÄ¹¥»÷ÐèÒªÖØÐÂÉè¼Æ¡¢¶ÔÄÚ´æ½á¹¹µÄ¿ØÖÆÒÔ¼°¶ÔÒÑÊÍ·ÅÄÚ´æµÄռλ¶¼»á±äµÃÔ½·¢ÄÑÌâ¡£
ÒéÌâ×îºó£¬ÕÅÔÆº£¼òÆÓ¸ø³öÁËÈý¸öÕë¶Ô Heap Backed Pool µÄʹÓÃ˼Ð÷¡£
´òÔìΣº¦Çý¶¯µÄÖÇÄÜÍþÐ²ÍÆ¼öÒýÇæ
ƽ̨µÄ×Ô¶¯»¯¡¢ÖÇÄÜ»¯Ë®Æ½£¬ÕýÖð½¥³ÉÎªÍøÂç¿Õ¼ä¹¥·ÀË«·½µÄ½ÇÁ¦½¹µã¡£ÎÒÃÇÏ£Íû»ñµÃµÄ£¬ÊÇÒ»¸öÄÜÍÌͺ£Á¿Òì¹¹¶àÔ´Êý¾Ý£¬¿ìËÙ¼ì²â¡¢ÍÆÀí¡¢ÏìÓ¦¡¢×·×ÙÍþвÊÂÎñ£¬¸ß¶È×Ô¶¯»¯µÄͳһƽ̨¼°¹¤¾ß¼¯£¬¸¨ÖúÇå¾²Ö°Ô±¾ÙÐÐÇå¾²ÔËÓª¡¢Ñо¿ºÍ¶Ô¿¹¡£È»¶ø£¬´óÊý¾ÝÊÖÒÕ¶ÔÇå¾²Ö°Ô±¶øÑÔ£¬²»µ«´øÀ´ÁË»úÔµ£¬ÉÐÓÐÊý¾Ý±¬Õ¨ºÍ¸æ¾¯Æ£ÀÍ¡£Ç徲ƽ̨»ã¾ÛµÄ¶àÔ´Êý¾Ý¹æÄ£Õý¿ìËÙÅòÕÍ£¬¶øÎÒÃǵÄÍþв¾Û½¹ÄÜÁ¦È´ÔÚÖð½¥ÍË»¯¡£
ÕÅÈó×̲©Ê¿ÒÔΪ£¬Î£º¦Çý¶¯µÄÖÇÄÜÍþÐ²ÍÆ¼öÒýÇæ£¬ÊÇÄÜÓÐÓûº½âÇå¾²ÔËӪƽ̨ËùÃæÁٵēÐÅÏ¢¹ýÔØ”ÎÊÌâµÄ¿ÉÑ¡Ãյס£Í¨¹ý¹¹½¨¿ÉÚ¹Ê͵ÄÍþÐ²ÍÆ¼öϵͳ£¬×Ô˳ӦÌáÈ¡¶àά¶ÈÌØÕ÷£¬¶¯Ì¬Ñ§Ï°×¨¼ÒµÄΣº¦Æ«ºÃ£¬¹¹½¨ÈË»úÖÇÄÜÐͬµÄ±Õ»·£¬¿ÉÒÔÔÚÒ»¶¨Ë®Æ½ÌáÉý¶ÔÒªº¦ÍþвµÄ¾Û½¹£¬ÌØÊâÊÇÇå¾²ÔËÓªÖи澯×Ô¶¯·Ö¼¶¡¢Íþвá÷ÁÔ¸¨ÖúµÈÒªº¦Ê¹ÃüµÄ´¦Öóͷ£Ð§ÂÊ¡£

Çå¾²ÔËÓªµÄ´óÊý¾ÝÌôÕ½£¬ÊÇÇå¾²ÔËÓª½ûÖ¹ºöÊÓµÄÄѹء£ÐÅÏ¢¹ýÔØ´øÀ´µÄÒÅ©£¬ÈÃÕæÊµ¡¢ÌØÊâÊÇδ֪Íþв¸üÄÑÒÔ±»ÊµÊ±ÏìÓ¦¡£Õâ¾ÍÐèÒª»ùÓÚÍþвÊӽǡ¢Î£º¦Çý¶¯µÄÍÆ¼öϵͳ£¬Æ¾Ö¤ÆóÒµµÄÕæÊµÎ£º¦Æ«ºÃ£¬×ÊÖúÆóÒµ¾Û½¹ÄÇЩӦ¸ÃÓÅÏÈ´¦Öóͷ£µÄÇå¾²ÊÂÏ¸üºÏÀíµÄ·ÖÅÉÓÐÏÞµÄÈËÁ¦¡£
¾ÝÕÅÈó×̲©Ê¿ÏÈÈÝ£¬ÍþÐ²ÍÆ¼öºÍÎÒÃdz£¼ûµÄÉÌÆ·»òÄÚÈÝÍÆ¼öÒýÇæÒ»ÑùÊÇ»ùÓÚ¶ÔÆ«ºÃµÄѧϰ£¬ÒÔ¼°ÐèÒªÒÐÀµ´ó¹æÄ£¡¢ÐÅÔë±ÈµÍµÄÊý¾Ý¼¯£»µ«ÍþÐ²ÍÆ¼öµÄºòÑ¡ÜöÝÍÊÇµÍÆµµ«¸ßΣº¦µÄ¹¥»÷ÊÂÎñ£¬²¢ÇÒÓнÏÇ¿µÄʱ¼äÔ¼Êø£¬ÊÔ´í±¾Ç®ÖØ´ó¡£
ÍþÐ²ÍÆ¼öϵͳµÄ½¹µãÊÇÕÙ»ØÒýÇæ¡¢ÍƼöÅÅÐòÒýÇæÒÔ¼°Òªº¦ÌØÕ÷Ú¹ÊÍÒýÇæ¡£

ÊÖÒÕʵÏÖÉÏ£¬°üÀ¨Í¨¹ý¶àÌõÀí¡¢¶àά¶ÈµÄÍþвÆÀ¹ÀϵÁÐÄ£×Ó¼°Ëã·¨£¬¹¹½¨Î£º¦Çý¶¯µÄÍÆ¼öºòÑ¡ÌØÕ÷ÜöÝÍ¡£Í¨¹ý Wide & Deep¾µäÅÅÐòÄ£×Ó£¬Ñ§Ï°×¨¼ÒÓû§µÄÔËӪΣº¦Æ«ºÃ£¬ÒÔÌáÉýÒ»Ñùƽ³£ÔËÓª¸æ¾¯·ÖÀà·Ö¼¶¡¢ºìÀ¶¶Ô¿¹Íþвá÷ÁÔµÈÒªº¦Çå¾²ÔËӪʹÃüµÄ´¦Öóͷ£Ð§ÂÊ¡£½øÒ»²½£¬Õë¶ÔºÚºÐ»úеѧϰģ×Óȱ·¦Í¸Ã÷ÐÔµÄÎÊÌ⣬¼¯³ÉSHAPµÈ¿ÉÚ¹ÊÍÄ£×Ӳ㣬Ìṩ¹ØÓÚÍÆ¼öЧ¹ûµÄÒªº¦ÌØÕ÷±ê×¢£¬Ö§³ÖÈË-»ú½»»¥µÄ±Õ»·Á÷³ÌµÄ¹¹½¨¡£
ÕÅÈó×̲©Ê¿ÌåÏÖ£¬Ïֽ׶Σ¬ÔÚÕÙ»ØÒýÇæ·½Ã棬¸ü¶àµÄÊÇÌáÉýÁýÕÖÂÊ£¬ÇãÏòÓڸ߿ÉÚ¹ÊÍÄ£×Ó£»ÔÚÍÆ¼öÅÅÐòÒýÇæ·½Ã棬ÔòÊÇͬʱÐèҪdz²ãµÄÓ°ÏóÓëÉî²ãµÄ·º»¯£»ÔÚÚ¹ÊÍÒýÇæ·½Ã棬ҪÇóÔÊ¼ÌØÕ÷ºÍÍÆ¼öËã·¨¾ù¿ÉÚ¹ÊÍ¡£
±ðµÄ£¬¹ØÓÚÍÆ¼öϵͳµÄЧ¹ûÆÀ¹À£¬ÕÅÈó×̲©Ê¿½¨Ò飬Ӧ´ÓÉÏÖÁÏÂϯ¾íÆóÒµÔ¸¾°¡¢Çå¾²ÔËӪĿµÄ¡¢Êý¾ÝºÍÆÊÎöÖ¸±ê£¬¹¹½¨ÒÔ¿ÉÔËӪΪµ¼Ïò¡¢Õë¶ÔÇå¾²ÔËÓªÌõÀí»¯Ä¿µÄµÄÖ¸±êϵͳ£¬²¢ÏÈÈÝÁËÍŽáÆóÒµÒ»Ñùƽ³£ÔËÓªºÍºìÀ¶¶Ô¿¹ÊÂÇéµÄÏà¹ØÊµ¼ùЧ¹û¡£
ÒéÌâ×îºó£¬ÕÅÈó×̲©Ê¿´ÓÉî¶È½»»¥¡¢ÊµÊ±ÐÔ¡¢ÁýÕÖÂÊ¡¢×Ô¶¯»¯ÆÀ¹ÀÓëÓÅ»¯¡¢¶àÌõÀíÍÆ¼öµÈ½Ç¶È£¬ÏÈÈÝÁËÍþÐ²ÍÆ¼öÁìÓòδÀ´µÄÊÂÇ鯫Ïò¡£Í¬Ê±£¬´Ó AISecOps Ö§³ÖÇå¾²ÔËÓª×Ô¶¯»¯ÄÜÁ¦ÌáÉýµÄ½Ç¶È£¬½øÒ»²½Õ¹ÍûÁË´òÔì¿ÉÐÅÍÐÇå¾²ÖÇÄÜ£¬Êý¾Ý¡¢ÖÇÄÜÇý¶¯Çå¾²ÔËÓªÕâÒ»ÊÖÒÕÆ«Ïò¡£
½áÓï
ÎÞÂÛÊÇÌì»úʵÑéÊÒÉîÈëWindows 10Äں˳صÄÎó²îÑо¿£¬ÕÕ¾ÉÌìÊàʵÑéÊÒ»ùÓÚ AISecOps ÀíÄîµÄÊÖÒÕʵ¼ù£¬ÕâÁ½ÕßÎÞÒ»²»ÌåÏÖÁ˾ÅÓÎÀÏ¸ç¿Æ¼¼¶ÔÇå¾²Ñо¿µÄÉîÈëÓëÁ¢Òì¡£
XCon ÊÇÒ»¸ö´¿´âµÄÇå¾²ÊÖÒÕ½»Á÷ºÍ·ÖÏíÆ½Ì¨¡£µ«Çå¾²Ñо¿µÄ¼ÛÖµÒªÏëÓâÔ½Ñо¿×Ô¼º£¬»¹ÐèºÏÀí¡¢Ç°Õ°ÐԵĽṹ£¬¸üÒªÄܹ»¿ìËÙ¡¢×¼È·µÄÏòÇå¾²²úÆ·¡¢Çå¾²·þÎñ¾ÙÐÐÄÜÁ¦×ª»¯¡£ÕâÊÇÒ»¼ÒÓлýµí¡¢³ÉÊìµÄÇå¾²ÄÜÁ¦ÌṩÉ̲ŻáÓеÄÓÅÊÆ¡£ÕâÒ²ÊǾÅÓÎÀÏ¸ç¿ÆÊÖÒÕ¹»ÉîÊܿͻ§ÐÅÍУ¬³ÉΪ¾ÞÈ˱³ºóר¼ÒµÄÉîÌõÀíÔµ¹ÊÔÓÉ¡£

¾ÅÓÎÀϸçÔÆ







