åã«ã ã«ãŒãã«ãããã»ã¹ã®ä»®æ³ã¡ã¢ãªã管çããæ¹æ³ã«æ £ããŸãããããã¡ã€ã«ãšå ¥åºåã®åŠçã¯çç¥ããŸããã ãã®èšäºã§ã¯ãRAMæäœãšãã¡ã€ã«æäœã®é¢ä¿ãšããããã·ã¹ãã ããã©ãŒãã³ã¹ã«ã©ã®ããã«åœ±é¿ãããã«ã€ããŠãéèŠãã€ãã°ãã°èª€è§£ãæã質åãæ€èšããŸãã
ãã¡ã€ã«ã®æäœã«é¢ããŠã¯ãããã§ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã2ã€ã®éèŠãªåé¡ã解決ããå¿ èŠããããŸãã æåã®åé¡ã¯ãRAMã®é床ãšæ¯èŒããŠãããŒããã©ã€ãïŒ ç¹ã«æ€çŽ¢æäœ ïŒã®é©ãã»ã©é ãé床ã§ãã 2çªç®ã®åé¡ã¯ãç°ãªãããã°ã©ã ã«ãã£ãŠãã¡ã€ã«ãRAMã«ããŒãããããšå ±æãããå¯èœæ§ã§ãã Process Explorerã䜿çšããŠããã»ã¹ãèŠããšãåããã»ã¹ã§çŽ15 MBã®RAMãå ±æDLLã«è²»ããããŠããããšãããããŸãã çŸåšãç§ã®ã³ã³ãã¥ãŒã¿ãŒã§ã¯100åã®ããã»ã¹ãå®è¡ãããŠãããã¡ã¢ãªå ã®ãã¡ã€ã«ãå ±æããå¯èœæ§ããªããã°ãçŽ1.5 GBã®ã¡ã¢ãªãå ±æDLLã®ã¿ã«è²»ããããŸã ã ãã¡ãããããã¯åãå ¥ããããŸããã Linuxã§ã¯ãããã°ã©ã ã¯ld.soãlibcãªã©ã®å ±æã©ã€ãã©ãªã䜿çšããŸãã
幞ããªããšã«ãäž¡æ¹ã®åé¡ã¯ã ããŒãžãã£ãã·ã¥ã䜿çšããŠäžæã«è§£æ±ºã§ãããšèšãããŠããŸã ã ããŒãžãã£ãã·ã¥ã¯ããã¡ã€ã«ã®ãã©ã°ã¡ã³ããæ ŒçŽããããã«ã«ãŒãã«ã«ãã£ãŠäœ¿çšãããŸããåãã©ã°ã¡ã³ãã¯ãµã€ãºã1ããŒãžã§ãã ããŒãžãã£ãã·ã¥ã®æŠå¿µããããããã説æããããã«ã scene.datãã¡ã€ã«ãéãã512ãã€ãåäœã§èªã¿åããããŒãäžã®å²ãåœãŠãããã¹ããŒã¹ã«ã³ããŒããrenderãšããããã°ã©ã ãæãä»ããŸããã æåã®èªã¿åãæäœã¯ãäžã®å³ã«ç€ºãããã«å®è¡ãããŸãã
12 KBãèªã¿åããããšãäžé£ã®ã¬ã³ããªã³ã°ããã»ã¹ãšé¢é£ããç©çããŒãžã¯æ¬¡ã®ããã«ãªããŸãã
ãã¹ãŠãåçŽã«æããŸãããå®éã«ã¯ãã¹ãŠãå€ãã®ããšãèµ·ãã£ãŠããŸãã ãŸããããã°ã©ã ãéåžžã®readïŒïŒåŒã³åºãã䜿çšããŠããã«ãããããããå®è¡ã®çµæãšããŠãããŒãžãã£ãã·ã¥ã«ã¯scene.datãã¡ã€ã«ã®å 容ãå«ã3ã€ã®4 KBããŒãžãå«ãŸããŸãã å€ãã®äººãé©ããŠããŸããã ãã¹ãŠã®æšæºçãªãã¡ã€ã«I / Oæäœã¯ããŒãžãã£ãã·ã¥ãéããŠæ©èœããŸã ã x86ãã©ãããã©ãŒã äžã®Linuxã§ã¯ãã«ãŒãã«ã¯ãã¡ã€ã«ã4ãããã€ããã©ã°ã¡ã³ãã®ã·ãŒã±ã³ã¹ãšããŠæ瀺ããŸãã ãã¡ã€ã«ãã1ãã€ãã®ã¿ã®èªã¿åããèŠæ±ãããšããã®ãã€ããå«ã4ãããã€ãã®ãã©ã°ã¡ã³ãããã£ã¹ã¯ããå®å šã«èªã¿åãããããŒãžãã£ãã·ã¥ã«é 眮ããããšããäºå®ã«ã€ãªãããŸãã äžè¬çã«èšãã°ãããã¯çã«ããªã£ãŠããŸãã第1ã«ãæç¶çãªãã£ã¹ã¯ã¹ã«ãŒãããã®ããã©ãŒãã³ã¹ãéåžžã«é«ãã第2ã«ãããã°ã©ã ã¯éåžžãã¡ã€ã«ã®ç¹å®ã®é åããè€æ°ãã€ããèªã¿åãããã§ãã ããŒãžãã£ãã·ã¥ã¯ããã£ãã·ã¥ãããåãã©ã°ã¡ã³ãããã¡ã€ã«å ã§ã©ãã ãã®ã¹ããŒã¹ãå æããŠããããç¥ã£ãŠããŸãã ïŒ0ãïŒ1ãªã©ãšããŠæãããŠããŸã Windowsã¯256ãããã€ãã®ãã©ã°ã¡ã³ãïŒã ãã¥ãŒ ããšåŒã°ããïŒã䜿çšããŸããããã®ç®çã¯LinuxããŒãžãã£ãã·ã¥å ã®ããŒãžã«äŒŒãŠããŸãã
éåžžã®èªã¿åãæäœã䜿çšããå ŽåãããŒã¿ã¯æåã«ããŒãžãã£ãã·ã¥ã«éãããŸãã ããã°ã©ããŒã¯ããããã¡ãŒãä»ããŠéšåçã«ããŒã¿ã«ã¢ã¯ã»ã¹ããããããïŒãã®äŸã§ã¯ïŒããŒãäžã®é åã«ã³ããŒããŸãã ãã®ããžãã¹ãžã®ã¢ãããŒãã¯éåžžã«éå¹ççã§ããããã»ããµã®ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãç¡é§ã«ãªãã ããã»ããµãã£ãã·ã¥ã«æªåœ±é¿ãåãŒãã ãã§ãªããåãããŒã¿ã®ã³ããŒãä¿åããããã®RAMã®ç¡é§ããããŸã ã åã®å³ãèŠããšãscene.datãã¡ã€ã«ã®å 容ãäžåºŠã«2ã€ã®ã³ããŒã«ä¿åãããŠããããšãããããŸãã ãã®ãã¡ã€ã«ã䜿çšããæ°ããããã»ã¹ã¯ããã®ããŒã¿ãå床ã³ããŒããŸãã ãããã£ãŠããããç§ãã¡ãéæããããšã§ã-ãã£ã¹ã¯ããã®èªã¿åãæã®åŸ ã¡æéã®åé¡ããããã軜æžããŸãããããã以å€ã¯å®å šã«å€±æããŸããã ãã ããåé¡ã«å¯Ÿãã解決çããããŸã-ããã¯ãã¡ã¢ãªããããã¡ã€ã«ãã§ãã
ããã°ã©ããã¡ã¢ãªãžã®ãããã³ã°ãã¡ã€ã«ã䜿çšãããšãã«ãŒãã«ã¯ä»®æ³ããŒãžãããŒãžãã£ãã·ã¥å ã®ç©çããŒãžã«çŽæ¥ãããã³ã°ããŸãã ããã«ãããçç£æ§ãå€§å¹ ã«åäžãããããšãã§ããŸããWindowsã·ã¹ãã ããã°ã©ãã³ã°ã¯ãããã°ã©ã ã®å®è¡æéãæšæºã®ãã¡ã€ã«I / Oæäœãšæ¯èŒããŠ30ïŒ ä»¥äžé«éåããããšã«ã€ããŠæžããŠããŸãã Linuxããã³Solarisã®å Žåã«ã®ã¿ãåæ§ã®æ°åããUnixç°å¢ã§ã®é«åºŠãªããã°ã©ãã³ã°ã®æ¬ã«èšèŒãããŠããŸãã ãã®ã¡ã«ããºã ã䜿çšãããšãRAMã®äœ¿çšéãå€§å¹ ã«åæžããããã°ã©ã ãäœæã§ããŸãïŒãã ããããã§ã¯ããã°ã©ã èªäœã®æ©èœã«ããããŸããïŒã
ãã€ãã®ããã«ãããã©ãŒãã³ã¹ã«é¢ããäž»ãªããšã¯ã 枬å®ãšèŠèŠçãªçµæã§ãã ããããããããªããŠãããã¡ã€ã«ãã¡ã¢ãªã«ãããã³ã°ããããšã¯ãããèªäœã®ä»£äŸ¡ããããããŸãã ããã°ã©ãã³ã°ã€ã³ã¿ãŒãã§ã€ã¹ã¯éåžžã«å¿«é©ã§ãã¡ã¢ãªå ã®éåžžã®ãã€ãã®ãããªãã¡ã€ã«ãèªã¿åãããšãã§ããŸãã ãã®ã¡ã«ããºã ã®ãã¹ãŠã®å©ç¹ã®ããã«ãç¹å¥ãªãã®ãç ç²ã«ããå¿ èŠã¯ãããŸãããããšãã°ãã³ãŒãã®å¯èªæ§ã¯æ±ºããŠæãªãããŸããã ããšããã«ããããã«ããã©ã°ã¯ããªãã®æã«ãããŸã-ããªãã®ã¢ãã¬ã¹ç©ºéãè©ŠããŠãUnixã®ãããªã·ã¹ãã ã§mmapãåŒã³åºããWindowsã§CreateFileMappingãåŒã³åºããé«ã¬ãã«ã®ããã°ã©ãã³ã°èšèªã§å©çšå¯èœãªããŸããŸãªã©ããã³ã°é¢æ°ãæããªãã§ãã ããã
ãã¡ã€ã«ãã¡ã¢ãªã«ãããããããšããã®å 容ã¯ããã«ã§ã¯ãªããåŸã ã«èªã¿èŸŒãŸããŸã-ããã»ããµãããŸã ããŒããããŠããªããã¡ã€ã«ã®ãã©ã°ã¡ã³ããžã®ã¢ã¯ã»ã¹ã«èµ·å ããããŒãžãã©ãŒã«ãããã£ããããããã ãã®ãããªããŒãžãã©ãŒã«ãã®ãã³ãã©ãŒã¯ãããŒãžãã£ãã·ã¥ã§å¿ èŠãªããŒãžãã¬ãŒã ãèŠã€ã ãä»®æ³ããŒãžããã®ããŒãžãã¬ãŒã ã«ãããããŸã ã å¿ èŠãªããŒã¿ã以åã«ããŒãžãã£ãã·ã¥ã«ãã£ãã·ã¥ãããŠããªãã£ãå Žåããã£ã¹ã¯èªã¿åãæäœãéå§ãããŸãã
ãããŠä»ã質åã ã¬ã³ããŒããã°ã©ã ã®å®è¡ãå®äºããåããã»ã¹ãæ®ã£ãŠããªãããšãæ³åããŠãã ããã scene.datãã¡ã€ã«ã®ãã©ã°ã¡ã³ããå«ãããŒãžãã£ãã·ã¥å ã®ããŒãžã¯ããã«è§£æŸãããŸããïŒ å€ãã®äººãããæã-ããããããã¯å¹æããããŸããã äžè¬ã«ãç¶æ³ãåæããããšãããšããããæãæµ®ãã³ãŸããå€ãã®å Žåãããããã°ã©ã ã§ãã¡ã€ã«ãäœæããå®è¡ãå®äºããŠããããã®ãã¡ã€ã«ãå¥ã®ããã°ã©ã ã§äœ¿çšããŸãã ããŒãžãã£ãã·ã¥ã¯ããã®ãããªç¶æ³ã«å¯Ÿå¿ããå¿ èŠããããŸãã ãããŠãäžè¬çã« ãã«ãŒãã«ãããŒãžãã£ãã·ã¥ã®å 容ãååçã«åãé€ãå¿ èŠãããã®ã¯ãªãã§ããïŒ ããŒããã©ã€ãã®é床ã¯RAMããã5æ¡é ãããšãèŠããŠããŸãã ãŸããããŒã¿ãæ¢ã«ãã£ãã·ã¥ãããŠããå Žåã¯ãéåžžã«å¹žéã§ãã ããããå°ãªããšã空ãRAMãããéããããŒãžãã£ãã·ã¥ããäœãåé€ãããªãçç±ã§ãã ããŒãžãã£ãã·ã¥ã¯ç¹å®ã®ããã»ã¹ã«äŸåãã ãéã«ã·ã¹ãã å šäœãå ±æãããªãœãŒã¹ã§ãã 1é±éåŸãå床renderãå®è¡ããŸããscene.datãã¡ã€ã«ããŸã ããŒãžãã£ãã·ã¥ã«ããå Žåã¯ã幞éã§ãïŒ ããããããŒãžãã£ãã·ã¥ã®ãµã€ãºã次第ã«å€§ãããªãããã®æé·ãçªç¶åæ¢ããçç±ã§ãã ãããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããäœæ¥å¡å šäœãé£ãå°œããå®å šãªãŽãã ããã§ã¯ãããŸããã ãããããããã¹ãã ããã§ãã æªäœ¿çšã®RAMãäžçš®ã®ç¡é§ãªãªãœãŒã¹ã§ãã ããŒãžãã£ãã·ã¥ã«ã¯ããŸã£ãã䜿çšããªãããããã§ããã ãå€ãã®RAMã䜿çšããããšããå§ãããŸãã
ããã°ã©ã ãwriteïŒïŒåŒã³åºããè¡ããšãããŒã¿ã¯ããŒãžãã£ãã·ã¥å ã®å¯Ÿå¿ããããŒãžã«åã«ã³ããŒããããããŒãã£ããã©ã°ã§ããŒã¯ãããŸãã ããŒããã£ã¹ã¯èªäœãžã®çŽæ¥èšé²ã¯ããã«ã¯è¡ãããããã£ã¹ã¯ãµãã·ã¹ãã ãå©çšå¯èœã«ãªãã®ãåŸ ã£ãŠããéã«ããã°ã©ã ããããã¯ããŠãæå³ããããŸããã ãã®åäœã«ã¯æ¬ ç¹ããããŸã-ã³ã³ãã¥ãŒã¿ãŒãã¯ã©ãã·ã¥ããŠãã«ãŒã¹ã¯ãªãŒã³ã«ãªã£ãå ŽåãããŒã¿ããã£ã¹ã¯ã«å±ããªãå¯èœæ§ããããŸãã ãã®ãããããŒã¿ããŒã¹ãã©ã³ã¶ã¯ã·ã§ã³ãã°ãã¡ã€ã«ãªã©ã®éèŠãªãã¡ã€ã«ã¯ã fsyncïŒïŒã®ç¹å¥ãªåŒã³åºããšåæããå¿ èŠããããŸãïŒãã ããäžè¬ã«ãããŒããã£ã¹ã¯ã³ã³ãããŒã©ãŒãã£ãã·ã¥ããããããããã§ã¯æžã蟌ã¿æäœã®æåãå®å šã«ç¢ºèªããããšã¯ã§ããŸããïŒã éã«ãreadïŒïŒåŒã³åºãã¯ããã£ã¹ã¯ãã¢ã¯ã»ã¹å¯èœã«ãªãããŒã¿ãèªã¿åãããªããªããŸã§ããã°ã©ã ããããã¯ããŸãã ãã®åé¡ãããçšåºŠè»œæžããããã«ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¯ããããã䜿çšããŸãã ç©æ¥µçãªèªã¿èŸŒã¿æ¹æ³ãšããã®æ¹æ³ã®äŸã¯å èªã¿ã§ãã å èªã¿ãæå¹ã«ãªã£ãŠããå Žåãã«ãŒãã«ã¯äžå®æ°ã®ãã¡ã€ã«ãã©ã°ã¡ã³ããããŒãžãã£ãã·ã¥ã«ããã¢ã¯ãã£ãã«ããŒãããããã«ãã£ãŠåŸç¶ã®èªã¿åãèŠæ±ãäºæž¬ããŸãã ãã¡ã€ã«ã®èªã¿åãæ¹æ³ã«å¿ããŠãã©ã¡ãŒã¿ãŒãéžæããããšã§ãã«ãŒãã«ãå èªã¿ã«æé©ãªãã©ã¡ãŒã¿ãŒãéžæã§ããããã«æ¯æŽã§ããŸã-é£ç¶çãŸãã¯ã©ã³ãã ãªé åºïŒWindowsã§madviseïŒïŒ ã readaheadïŒïŒ ã ãã£ãã·ã¥ãã³ããžã®åŒã³åºãïŒã Linux 㯠ãã¡ã¢ãªã«åæ ããããã¡ã€ã«ã«å èªã¿ã䜿çšããŸãã Windowsã«ã€ããŠã¯ããããŸããã æåŸã«ãããŒãžãã£ãã·ã¥ããŸã£ãã䜿çšã§ããŸãããLinuxã®O_DIRECTãã©ã°ãšWindowsã®NO_BUFFERINGãåå ã§ãã ããŒã¿ããŒã¹ã¯ãããé »ç¹ã«è¡ããŸãã
ãã¡ã€ã«ã®ã¡ã¢ãªãžã®ãããã³ã°ã«ã¯ã ãã©ã€ããŒããšå ±æã® 2çš®é¡ããããŸãã ãããã®çšèªã¯ãã·ã¹ãã ãRAMå ã®ããŒã¿å€æŽã«ã©ã®ããã«å¿çãããã®ã¿ã瀺ããŸããå ±æãããã³ã°ã®å ŽåãããŒã¿ã®å€æŽã¯ãã£ã¹ã¯ã«ãã©ãã·ã¥ãããããä»ã®ããã»ã¹ã§è¡šç€ºãããŸãã ãã©ã€ããŒããããã³ã°ã®å Žåãããã¯èµ·ãããŸããã ãã©ã€ããŒããããã³ã°ãå®è£ ããããã«ãã«ãŒãã«ã¯ããŒãžããŒãã«å ã®ã¬ã³ãŒãã®ç¹å®ã®äœ¿çšã«åºã¥ãã³ããŒãªã³ã©ã€ãã¡ã«ããºã ã«äŸåããŠããŸã ã 次ã®äŸã§ã¯ãã¬ã³ããªã³ã°ããã°ã©ã ãšrender3dããã°ã©ã ïŒããã°ã©ã åãçºæããæèœããããŸãïŒïŒscene.datãã¡ã€ã«ã®ãã©ã€ããŒããããã³ã°ãäœæããŸãã 次ã«ããã¡ã€ã«ã«ããããããŠããä»®æ³ã¡ã¢ãªé åã«æžã蟌ã¿ãã¬ã³ããªã³ã°ããŸãã
ããŒãžããŒãã«å ã®ãšã³ããªãèªã¿åãå°çšã§ãããšããäºå®ïŒå³ãåç §ïŒã¯ãæ··ä¹±ãããããšã¯ãããŸããã ãã㯠ããããã³ã°ãèªã¿åãå°çšã«ãªããšããæå³ã§ã¯ãããŸãã ã ããã¯ãã«ãŒãã«ãããŸããŸãªããã»ã¹ã§ããŒãžãå ±æããæåŸã®ç¬éãŸã§ããŒãžã®ã³ããŒãäœæããå¿ èŠæ§ãé ãããããŸãã«ãã®ãããªææ³ã§ãã ãã®å³ãèŠããšãããã©ã€ããŒãããšããçšèªãããããæãæåããŠããããã§ã¯ãªãããšãç解ããŠããŸãã ãããŒã¿ãå€æŽããããšãã®åäœã®ã¿ã説æããŠããããšãèŠããŠããã°ããã¹ãŠåé¡ãããŸããã ãããã³ã°ã¡ã«ããºã ã«ã¯å¥ã®æ©èœããããŸãã ã芪ããã»ã¹-åããã»ã¹ããšããé¢ä¿ã§æ¥ç¶ãããŠããªã2ã€ã®ããã°ã©ã ããããšããŸãã ããã°ã©ã ã¯åããã¡ã€ã«ã§åäœããŸããããããã³ã°ã¯ç°ãªããŸã-1ã€ã®ããã°ã©ã ã§ã¯ãã©ã€ããŒããããã³ã°ããã1ã€ã®ããã°ã©ã ã§ã¯å ±æãããã³ã°ã§ãã ãããã£ãŠããã©ã€ããŒããããã³ã°ã®ããã°ã©ã ïŒãæåã®ããã°ã©ã ããšåŒã³ãŸãããïŒã¯ãæåã®ããã°ã©ã èªäœããã®ããŒãžã«äœããæžã蟌ãããšãããŸã§ã 2çªç®ã®ããã°ã©ã ã«ãã£ãŠç¹å®ã®ããŒãžã«å ãããããã¹ãŠã®å€æŽã確èªããŸã ïŒããã«ãããæåã®ããã°ã©ã ã®ããŒãžã®å¥ã®ã³ããŒïŒã ã€ãŸã ã³ããŒãªã³ã©ã€ãã¡ã«ããºã ãæ©èœãããšããã«ãä»ã®ããã°ã©ã ã«ãã£ãŠè¡ãããå€æŽã¯è¡šç€ºãããªããªããŸãã ã«ãŒãã«ã¯ãã®åäœãä¿èšŒããŸããããããã¯x86ããã»ããµãŒã®å Žåã§ãã ããã¯ãåãAPIã®èŠ³ç¹ããããããçšåºŠçã«ããªã£ãŠããŸãã
å ±æãããã³ã°ã«ã€ããŠã¯ã次ã®ãšããã§ãã èªã¿åã/æžã蟌ã¿èš±å¯ã¯ããŒãžã«èšå®ããããããã¯åã«ããŒãžãã£ãã·ã¥ã«ããããããŸãã ãããã£ãŠãããŒãžã«å€æŽãå ãã人ã¯èª°ã§ããããããã¹ãŠã®ããã»ã¹ã§èŠãããšãã§ããŸãã ããã«ãããŒã¿ã¯ããŒããã©ã€ãã«ãã©ãã·ã¥ãããŸãã æåŸã«ãåã®å³ã®ããŒãžãå®éã«èªã¿åãå°çšã§ããå ŽåãããŒãžãã©ãŒã«ãã«ã¢ã¯ã»ã¹ãããšãã£ããããããããã³ããŒãªã³ã©ã€ãããžãã¯ã§ã¯ãªããã»ã°ã¡ã³ããŒã·ã§ã³ãã©ãŒã«ããçºçããŸãã
å ±æã©ã€ãã©ãªããä»ã®ãã¡ã€ã«ãšåæ§ã«ã¡ã¢ãªã«ããããããŸãã ããã¯ç¹å¥ãªããšã§ã¯ãããŸãããAPIåŒã³åºããä»ããŠããã°ã©ããŒã䜿çšã§ããã®ãšåããã©ã€ããŒããããã³ã°ã§ãã 以äžã¯ããã¡ã€ã«ãã¡ã¢ãªã«ãããã³ã°ããã¡ã«ããºã ã䜿çšããŠãã¬ã³ããŒããã°ã©ã ã®2ã€ã®ã€ã³ã¹ã¿ã³ã¹ã®ã¢ãã¬ã¹ç©ºéã®äžéšã瀺ãäŸã§ãã ããã«ãç©çã¡ã¢ãªã®å¯Ÿå¿ããé åã衚瀺ãããŸãã ãããã£ãŠããã®èšäºã§åºäŒã£ãæŠå¿µããªã³ã¯ããããšãã§ããŸãã
ããã§ãèšæ¶ã®åºæ¬ã«é¢ãã3ã€ã®èšäºã·ãªãŒãºãçµäºããŸãã ãã®æ å ±ãã圹ã«ç«ãŠã°å¹žãã§ããããã®ãããã¯ã«é¢ããäžè¬çãªã¢ã€ãã¢ãäœæã§ããããšãé¡ã£ãŠããŸãã
ã·ãªãŒãºã®èšäºãžã®ãªã³ã¯ïŒ
- ããã»ã¹ã¡ã¢ãªç·šæ
habrahabr.ru/company/smart_soft/blog/185226
duartes.org/gustavo/blog/post/anatomy-of-a-program-in-memory - ã«ãŒãã«ãã¡ã¢ãªã管çããæ¹æ³
habrahabr.ru/company/smart_soft/blog/226315
duartes.org/gustavo/blog/post/how-the-kernel-manages-your-memory - ããŒãžãã£ãã·ã¥ããŸãã¯RAMãšãã¡ã€ã«ã®é¢ä¿
habrahabr.ru/company/smart_soft/blog/227905
duartes.org/gustavo/blog/post/page-cache-the-affair-between-memory-and-files
ãã®è³æã¯ãSmart-Softã®åŸæ¥å¡-smart-soft.ruã«ãã£ãŠäœæãããŸãã ã