2008-01-01ãã1å¹´éã®è¨äºä¸è¦§
3rd IW9Pã§ã¡ãã£ã¨è§¦ããGlendixã«é¢ããè¨äºãOSNewsã«æ²è¼ããã¦ãããLinuxã«ã¼ãã«ã使ããã©ãã¦ã¼ã¶ã©ã³ãã¯Plan 9ã¨ããOSãä½ããã¨ãã¦ããã Glendix: Bringing the Beauty of Plan 9 to Linux (OSNews 2008-10-26)
Plan9 (UNIX)ããã°ã©ãã³ã°ã«æ¬ ãããªãmanãã¼ã¸ã«ã¤ãã¦ãã¡ãã£ã¨ã¾ã¨ãã¦ã¿ãã ã»ã¯ã·ã§ã³ ã¾ããUNIXã¨Plan9ã§ã»ã¯ã·ã§ã³ãå¾®å¦ã«éããPlan9ã ã¨ã©ã¤ãã©ãªé¢æ°ã¨ã·ã¹ãã ã³ã¼ã«ãåãã»ã¯ã·ã§ã³ã«ãªãããã¡ã¤ã«ãµã¼ãã¹ã9Pã®ã»ã¯ã·ã§ã³ãç¬ç«ãã¦â¦
Plan9ã«ã¯tail(1)ã¯ãããã©ãhead(1)ããªããé é ãã¦å°»é ããï¼æ¯è¨ã¯ããã¦ããã¦ãæè¿å¤æ¬å±ã§è¦ã¤ããããã¼ã¢ã³åã®ã½ã¼ã¹ã³ã¼ãæ¢æ¤ãã«tailã®å®è£ ã«mmapã使ã£ã¦ããã¨ãã話ãæ¸ããã¦ããã確ãã«ãå°»ããfseek(fseeko)ã§ã¡ã¾ã¡ã¾ããã®ã¼ãããâ¦
ã¯ã¦ãªã°ã«ã¼ãã«ãã¬ã¼ã³ã¢ã¼ããããã®ãç¥ããå¢ãã§Ron Minnichããã®ãWhy Plan 9 is not dead yet and what we learn from itããåæ訳ãã¦ã¿ãã ããã¯Fast OSã®ãã¼ãã£ã³ã°ã§Plan9ã®ç´¹ä»ããããã®ã§ãHPCå¯ããªè¨è¿°ãå°ããããã©ãPlan9ã®ç´¹ä»â¦
ä»æ¥ã10æ10æ¥ãEd Woodã®èªçæ¥ãªãã ã£ã¦ããä¾ã«ãã£ã¦Wikipediaããå¼ç¨ã ã¨ãã»ã¦ããï¼Ed Woodãå ¨ç¶´ãã¯Edward Davis Wood, Juniorãã¨ãã¯ã¼ãã»Dã»ã¦ããã»Jr.ãç·æ§ 1924å¹´10æ10æ¥ - 1978å¹´12æ10æ¥ï¼ã¯ãã¢ã¡ãªã«ã®å²ä¸æä½ã¨ããããæ ç»ç£ç£â¦
UTF-8ã¯Wikipediaã«æ¸ããã¦ããéãã å½åã¯ãPlan 9ã§ç¨ããã¨ã³ã³ã¼ãã¨ãã¦ãã«ç 究æã§èæ¡ãããã ãã®ã ãã©ãæè¿å¤æ¬å±ã§è¦ã¤ãããã¤ã³ã¿ã¼ããããã¹ããªã¼ãã®æäºç´å çã®ãã¨ããã«æ°ã«ãªãè¨è¿°ããã£ãã ã¡ãã£ã¨é·ããªããã©å¼ç¨ããã â¦
acidã¯acmeãã使ã ãgdbè±ç¥èãã§ããgdbãemacsãã使ãã®ãæ£ãã姿ã説ãèªããã¦ãããPlan9ã®å ´åãç¹å¥ãªé£æºããªããã¦ãããããããªããã©ãããã§ã¯ãacidãacmeãã使ãã¨ä¾¿å©ãã¨ãã話ãæ¸ããã¨æããå ·ä½çã«ã¯ãã¹ã¿ãã¯ãã¬ã¼ã¹ããã¨ãâ¦
ããªã¼ãã³ã½ã¼ã¹éçºè 奥å°ç§åæ°ã®ãã¼ã½ãã«ãã¹ããªã¼ï¼åç·¨ï¼ã (@IT 2008-09-24)ãèªãã§ããããPlan9ã®ã¹ã¯ãªã¼ã³ã·ã§ãããæ²è¼ããã¦ãã¦é©ãããGRUBã®éçºã§æåãªå¥¥å°ãããGNU Hurdã®éçºã«åå ããã¦ãããã¨ã¯ç¥ã£ã¦ãããããã®åã«Plan9â¦
ä»å¹´ã®IW9P (International Workshop on Plan 9)ã¯ãã®ãªã·ã¢ã§ãæ¡é²è«æãçºè¡¨ããã¦ããã 9P For Embedded Devices, Bruce Ellis and Tiger Ellis Glendix: A Plan9/Linux Distribution, Anant Narayanan, Shantanu Choudhary, Vinay Pamarthi and Manojâ¦
æ´å²ã¯ãããããã®è¡çºã®å°ãæï¼ãã¨ã¹ããï¼ã§ããã ã ããã¨ãã«æå°è ã«ã¨ã£ã¦ã¯å¸«å ï¼ãã¨ã¹ããï¼ã§ããã -- ããã¢ã´ã§ããªãæå°è ãããããã°ã©ããã«èªã¿æ¿ãã¦ã¿ãããã³ã¼ããªã¼ãã£ã³ã°ã¯ç´ç²ã«æè¡ç娯楽ã®ãããæè¡ãçããããããã¦ãâ¦
ã¯ã©ã¦ãã³ã³ãã¥ã¼ãã£ã³ã°æ代ã®æ å ±çºé»æã¯ãé»æ°ãä½ãåºãã®ã§ã¯ãªããé»æ°ããã«é£ããããæ å ±ãçã¿åºãããã«ä½¿ãããé»åã¯ãã¹ã¦ç±ã«å¤ããã®ã§ããã®ç±ãã©ãå¦çããããåé¡ã«ãªããã¨ããããã§ããããã¤ã³ã¿ã¼ãããã®å è¤ããã«ããã話â¦
Ancient UNIXã®ã¢ã¼ã«ã¤ããçºãã¦ã¦æ°ä»ãããã ãã©ãV6ã®ããã¾ã§ã¯nroffã®å½ä»¤ã¯å°æåã§æ¸ããã¦ãããå½ä»¤ã¯case sensitiveãªã®ã§ãä»æã®nroff/manã§ã¯ãã¾ãå¦çãã¦ãããªããã¨ãããã¨ã§ãawkããã¾ãã¦ã¿ãã #/bin/sh awk '{for(i=1;i<=NF;i++)â¦
9fansã«æ澤å çãtest -olderãããã®ã«ã-newer or -youngerããªãã®ã¯ãªããï¼ã¨ãããããªæ稿ãããã¦ããã-olderã¯ã-otã-ntã®ããã«2ã¤ã®ãã¡ã¤ã«ã®mtimeãæ¯è¼ããã®ã§ã¯ãªããä»»æã®æéã¨ãã¡ã¤ã«ã®mtimeãæ¯è¼ããã ãã¡ãããå¦å®(!)ã使ãã°â¦
Thompson Shellã¨ãã£ã¦ãè³é¦´æã¿ãªã人ãå¤ããã¨æãããBourne Shellã«ãªãåã®ç±ç·æ£ããUNIXã·ã§ã«ã§ãããThompsonã¨ã¯ããã¡ããKen Thompsonã®ãã¨ãWikipediaã®ãBourne Shellã®ãã¼ã¸ã«ããã¨ã Bourne Shell(ãã¼ã³ã·ã§ã«)ã¯ãUnix Version 7ã®â¦
çªç¶ãPythonãã¿ã§ãããã·ã§ã«ããã¿ã®è©±é¡ãç¶ããã®ã§ããªãã¤ã¬ã¯ãã¨ãã¤ããä¸å¿ã«rcã®ã³ã¼ããªã¼ãã£ã³ã°ã§ãããããã¨æã£ãããä¼¼ããããªãã®ãä½ã£ã¦ã¿ãæ¹ãé¢ç½ããã ããããããã¾ããCãï¼ã¨ããã®ããã£ã¦ããåå¼·ãã¦ãPythonã§æ¸ãã¦ã¿â¦
ä»æ¥ã®å ãã¿ã¯ããã·ã§ã«(bash)ã¹ã¯ãªãããæ¸ãã¨ãã®Tips ãã `{command} ã³ãã³ãç½®æãã³ãã³ããå®è¡ãããã®æ¨æºåºåãå¼æ°ã¨ãã¦èªã¿è¾¼ãã«ã¯ã`{...}ã使ãããã¡ããå ¥ãåãOKãããPlan9ã«ã¯basename(1)ã¯ãããã©ãdirname(1)ã¯ãªãã®ãã {coâ¦
ã¹ã©ãã·ã¥ãããã«ãæ»èµãã¦ããã³ãã³ããã©ã®ãããããã¾ããï¼ããªãã¦è¨äºãè¼ã£ã¦ããPlan9ãªãã cpu% ls /bin | wc 339 339 3673ã§ã»ã¼æ£ç¢ºãªã³ãã³ãæ°ãããã*1ã339åãæè¿ã¯çµè¾¼ã¿ç¨ã®BusyBoxã§ãã200åè¿ãã®ã³ãã³ãããµãã¼ãããããã«â¦
libtaskãæä¾ããã³ã«ã¼ãã³ããã®æ´å²ã¯å¤ãããã«ãããã»ã¹ï¼ã¹ã¬ãããç»å ´ãã以åã®ä¸¦è¡ã·ã¹ãã ã®å®è£ ã«ããç¨ãããã¦ãããä¾ãã°ãSimulaã¨ããæåã ããã¹ã©ãã·ã¥ãããã«æ¬¡ã®ãããªæ¸ãè¾¼ã¿ãè¦ã¤ããã Simulaéçºè Kristen Nygaardæ°æ»å»Anâ¦
libtaskã¯ãã£ãã«ã«ã対å¿ãã¦ãããã¨ãããã¨ã§ãLimboã§æ¸ããã¨ã©ãã¹ããã¹ã®ãµãããC + libtaskã§æ¸ãç´ãã¦ã¿ããPlan9æ¥è¨ã§ã¯ä½åº¦ããã£ãã«ãåãä¸ãã¦ãããããã£ãã«ã¯ã¿ã¹ã¯éã§ã¡ãã»ã¼ã¸ãããåãããããã®éä¿¡æ段ãæä¾ãããchancreâ¦
ãªãã¨æè¿ã®awkã¯XMLã¾ã§ãã¼ã¸ã³ã°ã§ããããããããããããã¯ãã®ã¨ã³ããªã®è©±é¡ã¨ã¯é¢ä¿ãªãã¦ãæ¥æ¬ GNU AWK ã¦ã¼ã¶ã¼ä¼ã®ãawk ãã xgawk ã¸ãã¨ãããã¬ã¼ã³è³æã®æ´å²ã®è¨è¿°ã«æ³¨ç®ããããã¾ããæ´å²æ¤è¨¼ãã¿ã ã ãåç¥ã®ããã« awk 㯠1977 å¹´â¦
ãªããã*1ã ãããlibtaskã¨Pthreadã®æ¯è¼ãã§è»½ã触ãããMacOS Xã®forkãé ã件ã«ã¤ãã¦ããå°ã調ã¹ã¦ã¿ããåå使ã£ãããã°ã©ã ã¯ãããªæãã®ãã®ã #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/time.h> enum { ITER = 100 }; void do_fork(void) { pid_t pid; </sys/time.h></unistd.h></stdlib.h></stdio.h>â¦
ACM SIGOPS Operating Systems Reviewã®ææ°å·ã®ç¹éããResearch and developments in the Linux kernel ãã¨ãããã¨ã§ãLinuxã«ã¼ãã«é¢é£ã®è«æãéãããã¦ãã*1ããã®ä¸ã«ããPlan 9 authentication in Linuxã*2ã¨ããè«æãåé²ããã¦ãããã»ãã¥â¦
libtaskã®ä¾ã¨ãã¦ãhttpdãæ¸ãã¦ã¿ãã200è¡ãããã ãã©ãã³ã¢ã®é¨åã¯ãããªæããfdread/fdwriteã¯ãã³ããããã³ã°I/Oãªãã ãã©ãæ®éã®ã·ã³ã°ã«ã¹ã¬ããããã°ã©ã ã®ããã«selectã«ã¼ããæ¸ãå¿ è¦ããªããã©ããªã£ã¦ãããã¨ããã¨ãlibtaskå é¨ã§ã¹â¦
Russ Coxãããä½ã£ãã³ã«ã¼ãã³ã©ã¤ãã©ãªlibtaskã試ãã¦ã¿ããé°å²æ°ã¯Plan9ã®libthreadã«ããä¼¼ã¦ããã対å¿ãã¦ããç°å¢ã¯ãLinux (ARM and x86)ãFreeBSD (x86)ãOS X (PowerPC and x86)ãSunOS Solaris (Sparc)ã¨ã®ãã¨ã ãã³ã«ã¼ãã³ã¯ããã°ã©ããâ¦
diffã®æ¬¡ã¯patchãpatchãä½ã£ãã®ã¯Perlã®Larry Wallããã§ãããã¨ã¯æåã ãWikipediaããå¼ç¨ãã¦ã¿ãã 1985å¹´ã«ã¯ã©ãªã¼ã»ã¦ã©ã¼ã«ãããã®diffåºåãå ¥åã¨ãã¦åãåã£ã¦ãã¡ã¤ã«ãå¤æ´ããã¨ããã¢ã¤ãã¢ãä¸è¬åãæ¡å¼µãã¦ãå¥ã³ãã³ãã¨ãã¦patchâ¦
ãµã¨è¦ã¤ãããããªããä¸çªå¥½ããªã¢ã«ã´ãªãºã ãæãã¦ãã ãããã¾ãããã®çç±ãã©ããªç¹ã好ããªã®ããæãã¦ãã ããããèªãã§ãdiffã®ã¢ã«ã´ãªãºã ã調ã¹ã¦ã¿ãã2ã¤ã®ãã¡ã¤ã«ã®éããè¦ã¤ããã«ã¯ãå ±éããé¨åãæé·ã«ãªããã¢ãè¦ã¤ããã°ãããâ¦
æåã«èªããªãã¹ã±ã¸ã¥ã¼ã©å¨ãããªã¨ãã¾ãã¯ã¿ã¤ãã¼å²è¾¼ã¿ã®æ±ããã追ã£ããããã¨ã«ãããæ®éã®ãã«ãã¿ã¹ã¯OSã¯ããã»ã¹ããªã¨ã³ãã·ã§ã³ãæä¾ãã¦ãããã¤ã¾ãã10ããªç§å¨æã¨ãã§ã¿ã¤ãå²è¾¼ã¿ãçºçããã¦ãããã»ã¹ãåãæ¿ããï¼ããã«ã¹ã±ã¸â¦
æãè¦ã¤ãã¦9vxã®ã³ã¼ããèªãã§ãããã¨æããæåã«ããããã£ã¬ã¯ããªã®HACKINGãã¡ã¤ã«ã«ç®ãéãã¦ããã¨ããã vx32-0.12/src/9vx以ä¸ã9vxã®ã½ã¼ã¹ã³ã¼ãã§ãããããã£ã¬ã¯ããªã«åå¨ãããã¡ã¤ã«ã¯9vxã®ããã«æã§ä¿®æ£ or æ°è¦ä½æãããã³ã¼ããâ¦
ã¨ãããã§ãã°ããèãã¦ã¿ããvx32-gccãã©ããªãã¤ããªãåºåããã¨ãã¨ããã¨ã $ vx32-gcc hello.c $ file a.out a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, not strippedELFå½¢å¼ã ãå½ç¶ãå®è¡ã¯ã§ããªãâ¦
ç§ã¯èå³ãªããã©ããã¼ãã£ã³ã°ãã¦ãã人ãããã vx32 for Win32