èªã¿ãã£ããä¸å¨ç®ã®ææãæ¸ãã
Linuxããã°ã©ãã³ã°ã¤ã³ã¿ãã§ã¼ã¹
- ä½è : Michael Kerrisk,åä½æ²»é
- åºç社/ã¡ã¼ã«ã¼: ãªã©ã¤ãªã¼ã¸ã£ãã³
- çºå£²æ¥: 2012/12/01
- ã¡ãã£ã¢: 大åæ¬
- ã¯ãªãã¯: 14å
- ãã®ååãå«ãããã° (7件) ãè¦ã
ã¢ããã¼ã·ã§ã³
ã¼ãã¯ãå°ããä¼ç¤¾ã§Webãµã¼ãã¹ã®éçºããã¤ã¤Linuxã®ãµã管ãå°ããã¤ã¤ãã¨ãã人éã ã£ãã®ã§ãLinuxã«éç¼ãã¦çé«ãä¼å¾ããããã¨ãã欲æ±ãé·ãããã£ããä¾ãã°éæ¨ããã®æ¬ã§ãã£ããããªãã»ã©Unixã§ãã£ããã
- ä½è : éæ¨å³°é
- åºç社/ã¡ã¼ã«ã¼: ã½ãããã³ã¯ã¯ãªã¨ã¤ãã£ã
- çºå£²æ¥: 2005/07/27
- ã¡ãã£ã¢: åè¡æ¬
- è³¼å ¥: 35人 ã¯ãªãã¯: 450å
- ãã®ååãå«ãããã° (150件) ãè¦ã
ãã®å¾ãããã«å ¥ããååã¨ãã¦ãããLinuxã«è©³ããå¤ãªäººãã¡*1ã¨é¢ãããã¾ãä»ã®ã¦ã§ããµã¼ãã¹ã¨æ¯ã¹ã¦ããµã¼ãéç¨ãç¹æ®ãªãã¹ãã£ã³ã°ç³»ãµã¼ãã¹ã«é¢ããããã®ä¸ã§ãã®æ¬ãç¥ãã
èªãã æ触ã
æ¬æ¸ã¯Linuxã®æ§æè¦ç´ ã¨æ©è½ã«ã¤ãã¦ä¸éãã®å 容ã¨ãéè¦ãã¤åºæ¬çãªï¼ããã§ãã¦å¤§éã®ï¼ã·ã¹ãã ã³ã¼ã«ã®èª¬æã¨è±å¯ãªãµã³ãã«ã³ã¼ãã»èª²é¡ãæ²è¼ãããããã¯æ£ç¢ºãã¤ç¶²ç¾ çãªè¡¨ç¾ã§æ·¡ã ã¨èª¬æãããé²ãã§ããã
èªãã§ããæè¦ã¯ã©ãã¨ãªãæãããããã£ããããã¯ãåä¾ã®æã«èå³ã®ã¾ã¾ã«ç¾ç§äºå ¸ã®é ç®ãèªã¿é²ãã¦ãããããªããã®æãã§ããã
ãã®æ¬ãèªãæã®æåã®ã³ãã¨ãã¦ãåä¾ã®é ã®ãã®æè¦ãæãåºãã¦ããã¨è¯ããããããªãã
ã¾ããèªã¿é²ãã¦ãããã¡ã«ãã¾ãéã£ãæè¦ã«æ°ã¥ããUNIXã®æ´å²ããå§ã¾ããIOããã¡ã¤ã«ã·ã¹ãã ãã·ã°ãã«ãããã»ã¹ã¨ã¹ã¬ãããããã¦å¾åããå§ã¾ã壮大ãªIPCã·ãªã¼ãºï¼ãã¤ããSysV/POSIX IPCãã½ã±ãããããã«ã¯ç«¯æ«ã¾ã§ï¼ãæå¾ã«é«é£åº¦ã®ã·ã¹ãã ã³ã¼ã« select(2)
, poll(2)
, epoll(7)
ãã¡ããªã®è§£èª¬ãæ§ãããç¾
åçã«è¦ãã¦ãèãæãããå±éããã¹ãã¼ãªã¼ãã®åå¨ãè¦ãã¦ããããã®ãã¨ã«æ°ã¥ããæãç¾ç§äºå
¸ã ã£ãTLPIããããããæ§æ³ã®ç·´ããã¾ããé·ç·¨æ´å²å°èª¬ã®ããã«è¦ãã¦ãã¦ãèªã¿é²ããæãæ¢ã¾ããªããªã£ãã
ãã®æ¬ã¯ããªãã¡ã¬ã³ã¹çã«ä½¿ãããã®ã§ãã¨ããããå¿ è¦ãªã¨ããã ãèªããã¨ããèªã¿æ¹ãããããããããªããã ãããããçç±ãããããã¦ãé ããèªãã§ã¿ãã®ãã¾ãé¢ç½ãã®ã§ã¯ãªãã ãããã
ä¸æºç¹ãªã©
å ¨ä½ã¨ãã¦ãå¾ãã¨ããã®é常ã«å¤§ããæ¬ã§ãããèªãã§ã®æºè¶³æã¯æ¸¬ãç¥ããªããã¨ã¯ããæãã¨ããã¯ããã®ã§ããã«æ®ãã¦ããã
ã¾ããã©ããã¦ãè¥å¹²ã¯å¤ãæ¬ã«ãªã£ã¦ãã¾ãã®ã§ãä¸é¨æ°ããæ©è½ã«é¢ãã解説ãä¸ååã¾ãã¯åå¨ããªãããã®è¨äºãæ¸ãã¦ããæç¹ã§ã®æ¥æ¬èªçã§ã¯Linux 3.5ãããã¾ã§ã®å¤æ´ã¯ãã£ããã¢ããããã¦ããããããã§ãç¹ã«ãLinux namespaceã¨cgroupã«é¢ããè¨åã¯ä¸åãªã*2ãªã©ãã³ã³ããé¢é£ã®ç¥èã®è£å®ãæå¾ ãã¦ããèªåã¨ãã¦ã¯ç©è¶³ããªãããã*3ã
ãªããç¹°ãè¿ãããåºæ¬çã«ä»ã®Linuxã§ãåäºåã«æ´»ç¨ã§ããç¥èãè©°ãè¾¼ã¾ãã¦ããã®ã§ãæ¬å½ã«ç¹æ®ãªè¦æãæã£ã*4èªåã®ææ³ã¨ãããã¨ã§æ¸ãæ®ãã¦ããã
æ¸ç±ã«é¢ä¿ããåè¡æç¹ããã®ã«ã¼ãã«ã®å¤æ´ã¯ãå ¬å¼ãã¼ã¸ã«ã¦è£è¶³ããã¦ã¯ããããã ã
ãèªãã¿ã¤ãã³ã°ããå³ç¶ã¨åå¨ããæ¬
ãµã¤ãã®Linuxããã°ã©ãã³ã°/ãªãã»ã©Unixããã»ã¹ããã§ã«èªãã§ãããããLinuxããã°ã©ãã³ã°ã¤ã³ã¿ã¼ãã§ã¼ã¹ãã¯ãã®ããã«å¤§ããã¼ãã®ã¨ã³ã¸ãã¢ãªã³ã°è¦³ãå¤ããæ¬ã§ãã£ããæ¸ç±ã®éåããããã ããããéè¦ãªãã¨ã¨ãã¦ãã¼ãã«ã¨ã£ã¦ã¯ã¾ãã«ãã®æ¬ãèªãã¿ã¤ãã³ã°ãæ¥ã¦ããã¨ãããã¨ã¯è¨ãããã«æãã
ãªããã¯ã¹ããã°ã©ãã³ã°ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®ããè°éã£ã
— Uchio KONDO (@udzura) 2016å¹´6æ11æ¥
ãã®çºè¨ãããåå¾ã§ã Haconiwa ã¨ããLinuxã®æ·±æ·µã«è§¦ããã³ã³ããã©ã³ã¿ã¤ã ã®éçºãå§ããããããçµéãããã¨9ã¶æå¼±*5ãããããæå¾ã®ç似端æ«ã®ç« ãééããä»é²ãèªã¿åããã¨ãã§ããã
Haconiwaã¨Linuxã·ã¹ãã ã³ã¼ã«ã©ããã¨ãã¦ã®mrubyã触ãã¦ããã®åéã¸ã®å¼·ãèå³ã¨ãã£ã¦ãããæã£ã¦ããªããã°ãã®ããã«ç´°ãé·ãèªã¿åããã¨ã¯é£ããã£ãããã«æãã
æ¬æ¸ã¯ãåºæ¬çã«ã¯Linuxããã«ã¦ã§ã¢ã æ¸ãå´ ã®è¦³ç¹ã§ã·ã¹ãã ã³ã¼ã«ã説æãã¦ããã軽éè¨èªã¨Webãã¬ã¼ã ã¯ã¼ã¯ãç¨ãã¦éçºãã¦ããåã«ã¯ããªã¢ã«ã¿ã¤ã ã·ã°ãã«*6ã§ãã£ããPOSIX IPCãæ´»ç¨ããæ©ä¼ã¯å°ãªããèªåã§ã½ã±ããã¢ãã¬ã¹æ§é ä½ãç´æ¥è§¦ãããã¨ããªãã ããããããéçºãéç¨ã®çµé¨ãç©ã¿éããLinuxã®ãã£ã¨æ·±ãæ©è½ã使ãããæã«ããã®æ¬ã¯ãã£ã¨å ¥å£ã¨ãªã£ã¦ãããã
ç¡è«ã éç¨ããå´ ã¨ãã¦å¾ããããã®ãé常ã«å¤§ããã ãããããããã観ç¹ã®è¨è¿°ãå¤ã åå¨ãããã¨ã¯ããåºæ¬çã«ã¯æ¸ãå´ãAPIã使ãå´ãããã«ä¸ã®æ®µéã«è¡ãããã®æ¬ã ã¨æãããªã®ã§ããã®æ¬ãèªãã§ç¡è¬ã«ãLinuxããã«ãä½ããããªã£ãåã¯å¿ ããã責ãããããã®ã§ã¯ãªãã ãã…ãã£ã¨ã
èªãã ããæ¸ããªãã¨ãã£ãããªããããããèªå¾æãæã£ãã
éã«ããã£ã¨Linuxã®ä¸èº«ãç¥ã£ã¦éç¨ãããå´ã®æ¬ã¨ãã¦ãè¿åã®ã詳解ã·ã¹ãã ããã©ã¼ãã³ã¹ãã¸ã®æå¾ ã大ããã
詳解 ã·ã¹ãã ã»ããã©ã¼ãã³ã¹
- ä½è : Brendan Gregg,西èéç´,é·å°¾é«å¼
- åºç社/ã¡ã¼ã«ã¼: ãªã©ã¤ãªã¼ã¸ã£ãã³
- çºå£²æ¥: 2017/02/22
- ã¡ãã£ã¢: åè¡æ¬ï¼ã½ããã«ãã¼ï¼
- ãã®ååãå«ãããã° (1件) ãè¦ã
ã©ã¡ããèªãã°ãèªåã§æ¸ãã¦èªåã§ãã¥ã¼ãã³ã°ã§ãããããããªãã
å¼·ãã¦ãã¥ã¼ã²ã¼ã
é·ã ã¨åããã«æ¸ãããããã¡ããããã®æ¬ãååã«ç解ããã¨ã¯æã£ã¦ããªãããªã®ã§ãã£ã¨ãäºå¨ç®ãä¸å¨ç®ã®å¿ è¦ãããã®ã ãã……ã
æããã«ãååã®ç« ãèªãã§ããæãããå¾åã®æ¹ããç¾ç§äºå ¸ã®å¸åè½åããé«ã¾ã£ã¦ããã®ãæãããç解ã®æ·±ããç¸å¯¾çã«ã¯éã£ã¦ãã*7ãããããæå³ã§ããäºå¨ç®ã®ææ¦ã«ã¯æå³ãããããã
ã¾ã¨ã
åèã¨ãããã®ã¯èªã¾ããã¿ã¤ãã³ã°ãå¾ ã£ã¦ããã®ãããããªããä»ã®èªåã®åé¡æèã®ã¿ã¤ãã³ã°ã§ãå¾ ã£ã¦ãããã®æ¬ã®åå¨ã«æ°ã¥ããã®ã¯è¯ãã£ãã
ããããããèªã¿ãããªã人ãæ«æãã人ããããããããªãæ¬((ãããã1604ãã¼ã¸ããããããã¦ãã®æè¡æ¸ã³ã¼ãã¼ã§ä¸çªååãæ¬ã®ä¸ã¤)ã ãããã¡ãã®æ¹åã«é²ãã§ãã人ã«ã¨ã£ã¦ã¯ãã¤ãã¾ãåºä¼ãããããã¦èªã¿åã£ã¦ä½ããå¾ããã¨ãã§ããæ¬ãªã®ãããããªãã¨æãã
*1:Iè¤ãããMæ¬ãã…
*2:2017/04/12追è¨: cloneã·ã¹ãã ã³ã¼ã«ã«ããã CLONE_NEWNS ãã©ã°ã®è§£èª¬ã¨ããã³ã³ãã対å¿ã®ãã©ã°ãã¨ãã¦ã®ç« ç«ã¦ã¯åå¨ããããé常ã«çãçºå±çãªç¥èã®æ¬²ããèªè ã«ã¯ä¸ååã¨æããã
*3:åºæ¬ã§ããLinuxã®ããã»ã¹ã¢ãã«ãfork/exec/wait/exit/killãã¾ãã«ã¼ãã«ã±ã¤ãããªãã£ã®ååãªèª¬æã¯åå¨ãã
*4:The Linux Programming Interface 4th edition ã¸ã®æå¾ ããã…
*5:ä¸å¹´ããããªãã¦ããã£ã
*6:ã»ã¨ãã©ã®è»½éè¨èªã§ã©ããããªã
*7:Hacoinwaããã£ã¨æ¸ããªããèªãã§ããã®ã§ãããããæ¸ãã¦ãã¦ã®æé·ããããã