MAGAZINE - みる会図書館


検索対象: UNIX MAGAZINE 2004年12月号
131件見つかりました。

1. UNIX MAGAZINE 2004年12月号

0 ワークステーションのおとーー 写真 9 PCI スロットとマウント位置が遠い・・ かぎりません。また、ファンの下にあるケープルを通す孔 はそれほど大きくないので、 4 本の IDE ケープルが通るか どうかも分かりません ( 4 台のハードディスクをマスター で接続するために、 4 本のケープルが必要になります。ス レープに接続すると、マスターのハードディスクが壊れた ときにスレープ側も道連れになってしまい、なんのために RAID 構成にしたのかが分からなくなります ) 。 考えていても仕方がないので、接続できる一番短いケー プル ( けっきよく 80cm のものにしました ) を 4 本買って きて、孔に通せるのか、そしてドライプが正しく動くかを 確かめたところ、さいわい、どちらも大丈夫でした ( 写真 これで、ハードウェアは揃いました。ソフトウェアにつ いては、次号でお話しすることにしましよう。 ( さかした・しゅう Acutus Software) い癶、 写真 10 なんとか通った IDE ケーブル 10 ) 。 とができません ( 写真 9 ) 。そのため、標準的な 50cm く らいの IDE ケープルでは届かないのです。 50cm 以上の IDE ケーカレも売られていますが、規本トなので動くとは 読者アンケートのお知らせ 今後ともこ愛読のほど、よろしくお願い申し上げます。 UNIX MAGAZINE 編集部 いつも弊誌をこ愛読いただき、ありがとうこざいます。 今後の企画・編集の参考とするため、読者アンケートを 実施しています。下記の Web ページにアクセスのうえ、必 要事項をこ記入ください ( 締切は 2004 年 1 2 月 1 7 日です ) 。 皆様からお寄せいただいたこ意見は、責重な資料として 活用させていただきます。 こ回答をお寄せいただいた皆様のなかから、 5 名様に特 製 T シャッ ( フリーサイÄ) をさしあげます ( 応募者多数の 場合は抽選といたします。なお、当選者の発表は発送をも って代えさせていただきます ) 。 ( 提供 . Lightweight Language Weekend 実行委員会 ) ( 株 ) アスキー UNIX MAGAZINE 読者アンケート専用 U 日 L http://mkt.uz.ascii.co.jp/unixmag/ こ注意 . 雑誌公正競争規約の定めにより、この懸賞に当選された方は、本号のほかの懸賞に入選できない場合があります。 145 UN 工 X MAGAZ 工 NE 2004. 12

2. UNIX MAGAZINE 2004年12月号

一ソースの ) 茄護あれ , 好評発売中 ! デーモン君のソース探換 BSD のソースコードを探る冒険者たちのための手引き書 BSD magazine の人気連載が遂に単行本化 ! ! C 入門者から一歩先へ踏み出したし、人に 0 0 、、 テーモン \/ 、かソースの読み方のコツを教えます ー氷山素子著 A5 判 200 ページ旧 BN4-7561-4415-2 定価 2 , 310 円 ( 税込 ) 企業内研修・引用によるカスタムメイド・ OEM 供給に関してのお問い合わせ先 . 法人営業担当 ( 03 ) 5362-3327 ・本製品は書店および書籍を扱っているパソコンショップでお買い求めください。・品切れの際は書店にてこ注文いただくか、通信販売をこ利用ください。 ・通信販売のお問い合わせ先 : 株式会社アスキーストア電話 ( 03 ) 3499-9300 http://www.ascii-store.com/ 株式会社アスキー 〒 102-8584 東京都千代田区九段北 1 -13-5 日本地所第一ビル電話 03-6888-5500 http://www.ascii.co.jp/

3. UNIX MAGAZINE 2004年12月号

連載 /FreeBSD のプートプロセスをみる 図 10 pmap-pinit() で作られるべージティレクトリ 仮想アドレス空間 FFFFFFFF pm—pteobj memq / ヾーシ 767 テーブ丿レ ディレクトリ pm—pdir ↑ 物理アドレス空間 C0000000 0 アドレス変換 00000000 図 11 カーネル用ページディレクトリとページテーブル 仮想アドレス空間 00000000 C0800000 物理アドレス空間 C0400000 一面品を K PTphys[29] C0000000 797 769 768 4KB 00402000 00401000 00400000 29 KPTphys[1] 1023 1 0 4MB ldlePTD 0 00000000 00000000 KPTp hys [ 0 ] 期値としてコピーする処理をおこないます ( 図 9 ) 。 1354 : pa = ptdpg->phys—addr ; pmap->pm-pdir [ 767 ] = pal PG-VI PG-RWI 1355 : PG—AI PG—M ; bzero (&pmap->pm—stats , sizeof pmap->pm—stats) ; 1363 : 1364 : } 1 , 354 ~ 1 , 355 行目では、ページディレクトリの物理アド レスをマップするエントリをベージディレクトリの 767 番 目に登録します。このエントリを登録することによって、 pmap—>pm—active = 0 ; TAILQ—INIT(&pmap—>pm-pv1ist) ; 1361 : 1362 : 110 UN 工 X MAGAZINE 2004. 12

4. UNIX MAGAZINE 2004年12月号

if ( str ! = Ⅱ u11 ) { if ( str. Length > = cchMax ) { str = str. Substring(), cchMax str 十 " \ 0 " ・ str charArray = str. ToCharArray ( ) ; Marsha1. Copy (charArray , 0 , commandString , private VOid ExecuteCommand (string command) StartupInfo si = new StartupInfo ( ) ; charArray. Length) ; ProcessInformation pi = new ProcessInformation() ; si . cb = 68 ; //sizeof(si); try { if ( ! CreateProcess ( Ⅱ u11 , command. Rep1ace("%L" , f01derPath) , false, 0 , 0 , f01derPath. Substring(), 2 ) , MessageBox. Show("UnabIe t0 execute " 十 command 十 ” : E て ro て in F01derBackgroundRunCmd" ) ; catch ( Exception e ) { MessageBox. Show(e . ToString() ) ; void IContextMenu. InvokeCommand(IntPtr pici) try { 0 , 0 , si, pi) Type typINVOKECOMMANDINFO = Type. GetType ( "She11Ext . INVOKECOMMAND 工 NFO" ) ; INVOKECOMMANDINFO ici (INVOKECOMMANDINFO)Marsha1. PtrToStructure (pici , typINVOKECOMMANDINFO) ; if ( ici . verb く = m—items. Length ) ExecuteCommand(m—items [ici. verb ー 1 ] . Command) ; catch(Exception e) { MessageBox. Show(). TOString()) ; [System. Runtime. InteropServices. ComRegisterFunctionAttribute()] static void RegisterServer(String strl) try { RegistryKey root ; RegistryKey rk ; root = Registry. CurrentUser; 96 UNIX MAGAZINE 2004. 12

5. UNIX MAGAZINE 2004年12月号

名とアドレスの両方が判明した場合に一致したとみなされ ます。 } else if (STR-EQ(tok, "KNOWN")) { eval—hostname (host) ; char return (STR—NE(eva1_hostaddr (host) , 疇 - unknown) & & HOSTNAME—KNOWN (name) ) ; そのため、まず eval-hostname 関数でホスト名を取り 出し、あとで HOSTNAME-KNOWN マクロを使って これが UNKNOWN や PARANOID でないことを確認 します。アドレスについては、 eval-hostaddr 関数を使っ てアドレスを取り出し、それが UNKNOWN ではないこ とを確認します。どちらの条件も満たしたときに、関数は 真を返すことになります。 設疋ファイルに言古生されたホスト名が LOCAL の場合、 ローカル・ネットワークに接続されたホストかどうかを検 査します。 } else if (STR-EQ(tok, "LOCAL")) { eval—hostname (host) ; char *name まない名前カ陬得できたものが、ローカル・ネットワークに 実際には、ホスト名を取得したときに HOSTNAME_KNOWN (name) ) ; return (strchr (name , " ( ドット ) を含 トワーク・アドレスとマスクの組であると解釈します。 指定のなかに、、 / " ( スラッシュ ) が含まれる場合は、ネッ KNOWN などになっていないことを確認しています。 接続されたホストであると判定します。この場合も、 UN- ためにたいへん複雑なものとなっていますが、 IPv4 アド masked-match 関数は、 IPv6 アドレスにも対応する どうかを調べます。 マスクの組に要求のなかのホストのアドレスが含まれるか このとき、 masked-match 関数を使って、 eval—hostaddr (host) ) ) ; return (masked—match(tok , mask , , } else if ((mask = split-at(tok, ) / , ) ) アドレスと UNIX MAGAZINE 2004. 12 列がホストのアドレスと一致する、またはアドレス形式で こまでに説明した以外のケースでは、指定された文字 たネットワークと等しいことを確認するだけです。 スとマスクのビットごとの論理積をとったものが指定され ク、マスクを unsigned long 形式の値になおし、アドレ レスだけであれば処理は簡単です。アドレスやネットワー SC 翡 好評発売中 ! プログラミング テクニック プログラミング テクニック リ N Ⅸコマンドのソースコードにみる inetd 、多見を和 ( 物し 践プログラミング手法 9 。 : 牆ぃ 第れて・たソフトア にな工第といった ー 0 ー ne ーあります . そこには . プ 0 ツム第をに・第な強物がど っさりと・り・物ていま第 YXC vipw ASCII ・多治見寿和著 ・ B5 判、 240 ページ ・ ISBN 4-7561-4389- X ・ 1 , 890 円 ( 税込み ) 生きたプログラムから学ぶ 実践的手法の数々 フリーの UNIX やアプリケーションのソース コードを見ながら、プログラミングにおけ る " 名匠の技 " を学ばうというのが本書の 目的です。長い年月をかけ、多くの人の手 ですこしすっ改良されてきたソフトウェア は洗練の度合いを増し、名匠の手になる工 芸品といった趣があります。そこには、プ ログラム開発に必要な技術がどっさりと盛 り込まれています。 目次から ( 本書より ) ソースコードから学ぶ◆テータ構造◆ 2 重リンクリ スト◆木構造◆ AVL 木◆ハッシュ◆端末の操作◆端 末の制御◆ cat コマンド◆コマンド◆ファイ丿レの ロック◆パスワード・ファイル◆ワンタイム・パスワ ード◆公開鍵暗号◆ Secu 「 e She Ⅱ◆構文の解析◆ yacc ◆ lex ◆ ping ◆ telnet ◆ ftp ◆ inetd ◆ xst 「◆ 電話 (03) 6888 ー 5500 ( 営業局 ) 東京都千代田区九段北ト 1 3-5 日本地所第一ビル 〒 1 02 ー 8584 株式会社アスキー (UNIX MAGAZINE 1 997 年 1 1 月号 ~ 2000 年 3 月号より ) cmp と cksum ◆ man ◆フィ丿レタコマンド 101

6. UNIX MAGAZINE 2004年12月号

連載 / シェルの魔術ー① 図 12 ティレクトリの親子関係 親ティレクトリへ hom naoto mya mya bin tmp n aoto work . zshenv 身 " を表すものです。この種類のリンクも、ディレクトリ ごとに 1 つです。 また、すべてのディレクトリ・ファイルは、かならずどこ ました。自分の名前が親ディレクトリに登録されているこ 以上のディレクトリ・ファイル名の関係を図 12 にまとめ ります。 の種類のリンクはサプディレクトリの数だけあることにな 分自身が登録されていることになります。したがって、 という名前で自 自分のサプディレクトリのすべてに 表す名前です。逆にいえば、あるディレクトリからみると、 す。最後の、、 .. " は、自分を登録している親ディレクトリを す自分を登録している親ディレクトリがいるということで かのディレクトリに登録されています。すなわち、かなら と、親ディレクトリか、 . " として登録されていること、自 174 1. 親ディレクトリに登録されているものが 1 つ とめると、以下のようになります。 い。また、ディレクトリのハードリンクの個数についてま 分自身が、、 . " として登録されていることに注意してくださ set-la set-ter glOba globa ト setq setq ⅵ 普通のファイルの実体 2. 自分自身に登録されている、、 . " が 1 つ 3. サプディレクトリに登録されている、、 .. " が、サプディレ クトリの個数ぶん たとえば、サプディレクトリが 4 つあるディレクトリの 場合、本名の数は 1 十 1 十 4 = 6 個となります。図 13 を みると、 . のハードリンクの数がたしかに 6 個になって いること力分かります。それでは問題です。このディレク トリの親ディレクトリは、サプディレクトリを全部でいく つもっているでしようか ? 答は・・・・・・ 2 つですね。どうし てそうなるのカ考えてみてください。 木構造と根っこ さて、すこしばかり特別な、、 . " と、、 .. " を無視して考える と、ディレクトリ・ファイルの名前を登録するためには、 すでにあるディレクトリにサプディレクトリを作る必要が あります。ディレクトリのハードリンクを作ることは禁止 されていることも考慮すると、ファイルシステム内のファ イルは図 14 のような木構造になります。木構造では、あ UNIX MAGAZINE 2004. 12

7. UNIX MAGAZINE 2004年12月号

連載 ネットワーク・ミニ実験室 ・・・荒井美千子 DHCP に関するトラブルの原因を調べる EcIipse を味わう・・・・・・遠藤美代子 EcIipse 3.0 十 Visu Editor 1 .0 シェルの魔術・・・・・・森島直人 復習編 - ー - ーファイルとディレクトリ Red Hat Linux のツールたち・・・・・・横垣駿雄 い TEX 環境の整備、「 x 破 インターフェイスの街角・・・・・・増井俊之 傾きインターフェイス 126 156 169 177 188 新連載 NeWS News 17 Notice Mac OS X とオープンソース lnterview with Ron Okamoto ワークステーションのおと・・・・・・坂下秀 NetNews 便り・・・・・・みるく NetBSD News ・・・・・・宮地利幸 NEWS from jus 法林浩之 読者アンケートのお知らせ 26 CoIumn 146 152 155 145 UNIX MAGAZINE VOL19 # 12 2004 年 12 月号 ( 通巻 218 号 ) 2004 年 12 月 1 日発行 発行所・株式会社アスキー〒 102-8584 東京都千代田区九段北 1 -13-5 日本地所第一ビル営業局電話 03-6888-5500 ・発行人 / 福岡俊弘・編集人 / 土屋信明・編集長 / 大久保讓治・ Edit0 「・ s Network Address: unixmag@ascii.co.jP ・編集 / 川崎通紀岸竜次久保田考 ・出版営業担当 / 佐々木直・出版広告担当仙本直吉郎桜山ちずる田中早苗・生産管理担当 / 山下喜美恵 禁転載◎ 2004 ASCII Corporation 1070412 印刷 / 東京書籍印刷株式会社 Printed in Japan ューザーサポート専用電話 TeI 03-6888-5969 受付時間 : 13 : 00 ~ 18 : 00 ( 土日・祝日を除く ) 本誌の内容に直接関係のないご質問にはお答えできません。

8. UNIX MAGAZINE 2004年12月号

連載 / シェルの魔術ー① 図 13 ティレクトリのハードリンクの数を表示してみる $ ls —la total 12 drwxr— 6 512 Oct 9 18 : 50 naoto naoto x 4 512 Oct 9 18 : 49 naoto 取 aoto x 2 512 Oct 9 18 . ・ 50 subdirectory— 1 naoto naoto drwxr 9 18 . ・ 50 subdirectory— 2 512 Oct 2 naoto naoto drwxr 9 18 : 50 x 2 512 Oct subdirectory—3 naoto naoto x 2 512 Oct 9 18 . ・ 50 subdirectory— 4 naoto naoto 図 14 ディレクトリの木構造 ードリンクの数が 6 個になっている ( ルート ) home pkg bin etc naoto rm bin na010 mya work : 親ディレクトリ サブディレクトリ 0 ロ一 ティレクトリ・ファイル 普通のファイル 登録ファイル 図 15 ルート・ティレクトリ るファイルからほかのファイル名をたどる道筋が 1 つしか ないことか特徴です。 ところで、この図の一番上のディレクトリ・ファイルに は親ディレクトリがありません。これは、、ルート・ディレ クトリ " という特別なディレクトリで、ファイルシステムの 木構造の根っこにあたります。また、親ディレクトリは自 分自身になっています ( 図 15 ) 。自分自身の名前を登録し てくれる親ディレクトリがないので、ルート・ディレクト リに対応するファイル名もありません。 ls コマンドの仕事 勘のいい皆さんなら、そろそろ ls コマンドの本当の仕事 に気づいたのではないでしようか。 示するコマンドだったのです 5 。冒頭でも説明したように ファイル名がディレクトリ・ファイルに登録されている . " から始まるファイル名は表示されませんが、 -a を付け ことを説明してきましたが、 ()l なしの ) ls コマンドの出 カ結果は、登録されているファイル名と一致しています。 5 ディレクトリ・ファイルの中身を一覧で表示する、という末で、 LiSt の じつは、 ls コマンドはディレクトリ・ファイルの中身を表 略です。 ( ルート ) bin usr 175 UNIX MAGAZINE 2004. 12

9. UNIX MAGAZINE 2004年12月号

ー住 写真 2 乗革賺炉万で公開している画象 大雪渓方向 乗鞍山系剣岳山頂小屋付近 乗鞍岳 ( 山頂へは尾根を登っていきます ) 畳平の観光地 ( 冬季閉鎖で人や車は見えません ) 畳平と穂高連峰 畳平への通行ゲート ( 冬季閉鎖中 ) 大雨によって信号の利得 ( ゲイン ) が - ドがって回線が切れ たり、雷のため電源を落としたり、台風による強風に見舞 われたりにのときは使えました ) と、山岳地域ならではの 障害がいろいろとありました。何回も台風が通過したにも かかわらず、プロックで簡易設置しただけのアンテナがび くともせす、意外に頑丈だったことに驚いています。山岳 地域での DVB-RCS の為効性については、今後も折をみ て報告していくつもりです。 今年度の乗鞍コロナ観測所は、 11 月初旬に冬季閉所の予 定です。今回紹介したライプカメラ・サービスも、皆さん がこの記事を読むころには終了しているはずです。 来年の 5 月には衛星回線カ開され、ライプカメラも復 活するはずです。そのときまでのお楽しみということで、 期待 ( 失望 ) しつつお待ちください。 ( おおえ・まさふみ国立天文台 ) 写真 3 コロナグラフからの画像 Oct 08 1 5 : 43 04 Norikura ために降り注ぐ紫外線の量も多いですし、寒暖差などの気 象環境はたいへん厳しいものです。 それにもかかわらず、師虫 50m/s を超える台風の襲来 や、外気温が零下という環境でも映像をバシバシ送ってき てくれています。 そんな KX-HCM180 のハウジング方法や裏話について は、次回に紹介します。 冬季閉所 2004 年度は、 DVB-RCS 方式による衛星インターネッ ト接続を 5 月から 11 月まで運用しました。この期間中、 64 UNIX MAGAZINE 2004. 12

10. UNIX MAGAZINE 2004年12月号

図 2 DHCP で IP アドレスを取得 DHCP クライアント プロードキャスト プロードキャスト DHCP DHCP サーバー 2 DHCP サーノヾー n DHCPDISCOVER 「ほい、どーぞ」 DHCPACK アドレスをください」 「 DHCP サーバー1 さん DHCPREQUEST 「このアドスではどな 0 、や ? 」 DHCPOFFER 「誰か旧アドレスをください」 各サーバーカそれぞれ DHCPOFFER メッセージを返し ます。 DHCPOFFER メッセージは、、提供の申し出 " にすぎ ないので、この時点ではまだ IP アドレスは決定しません。 DHCPOFFER メッセージを受け取った DHCP クライ アントは、申し出のあったネットワーク情報から好みのも のを選び、、、これを使わせてほしい " ということを知らせる DHCPREQUEST メッセージを返します。 DHCPREQUEST メッセージはプロードキャストで 配信しますが、バケット内にはどの DHCP サーバーへの 応答かを示す識別子 (DHCP サーバーのアドレス。彳も ) カ鯉め込まれています。これにより、複数の DHCP サー バーが DHCPOFFER メッセージを送った場合でも、ど のサーバーに対する応答なのかが区別できます。さらに、 DHCPREQUEST メッセージがプロードキャストで配 信されることで、他の DHCP サーバーもリソースを解放 するタイミングを知ることができます。 DHCPREQUEST を受け取った DHCP サーバーは、 DHCP クライアントに対して、、アドレスを使ってもよい " ということを最糸寉認する DHCPACK メッセージを送 ります ( アドレスの使用を拒否する場合は、 DHCPNAK 128 メッセージを送ります ) 。 これで、 IP アドレスの取得が完了します。 2 台の DHCP サーバー 図 3-a は、ホスト B が IP アドレスを取得する際にや りとりされた DHCP のバケットを表示したものです。パ ケットの流れを図示すると、図 3-b のようになります。分 かりやすくするため、 DHCP のバケットだけを取り出して 表示しています。 図 3 をみると、ホスト B がプロードキャストした DH ー CPDISCOVER に対して、 ・ルータ ( 192.168.0.1 ) ・インターネット家電 ( 192.168.0.201 ) の 2 つが DHCPOFFER を送って応答していることが分 かります。しかし、図 1 のネットワークでは、 DHCP サ ーバーはルータだけのはずです。それなのに、インターネ ット家電が DHCP サーバーとして返事をしているところ ・ DHCPREQUEST ・ DHCPOFFER さらに、 に問題がありそうです。 が流れたタイミングから、ホスト B はインターネット家電 UN 工 X MAGAZINE 2004. 12