標準教科書シリーズ お問い合わせ窓口
「Java BlockingQueueで遊ぶ:パイプラインごっこ」でパイプラインの話をしたので、本来の、つまりUnixのパイプやリダイレクトを少し調べてみました。 たまに話題となる some-command >file 2>&1 と some-command 2>&1 >fileの挙動の違いについて、「シェルはコマンドラインリダイレクトの指定を右から左に解釈実行する」なんて説明が見つかりました。んなバカな! パージングは左から右にするものですよ。パーズツリーを逆順にたどることはできるけど、そんなことする必然性はなんにもないよ。 次の記事を読むと、「右から左」なんて事情じゃないことが分かるでしょう。 UNIXの部屋 検索: リダイレクト シェルのリダイレクトにまつわる失敗 さてここでは、複雑なリダイレクト処理も完全に理解できる処方箋を示しましょう。例えば、次のコマンドラインが何をするか分かる
Apacheを用いたASP.NET Mono Projectでは、Apacheの中でASP.NET Webアプリケーションの実行を実現するプラグイン・モジュール「mod_mono」も提供している。これはまだ開発中のもので、完成度は高くない。ソース・コードで入手して、自分でmakeを行う必要があるというだけでなく、動作させるハードルがとても高いといわれている。 実は筆者は、これを動作させる再現可能な手順を確立するまでに、(それだけに専念していたわけではないが)約3週間半の時間を費やしてしまった。もちろん試行錯誤の中でいつ正解に突き当たるかは確率の問題なので、もっと短い時間で動作させられたかもしれない。実際、動作させるだけなら取り組んだ初日に実現できていたのだが、動作する条件を確定するために残りの時間を費やしたことになる。ちょっとした思い込みによって、関係ない個所で試行錯誤を繰り返したことが理
Cooperative Linux(通称: coLinux)は、 Windows 2000/XP上で動作するLinuxカーネルです。 もちろん、オープンソース・フリーソフトです。 従来、1台のPCでWidnowsとLinuxを同時に使用するには、 VMWare Workstationや Virtual PC, Bochs, QEMU, VirtualBox等を使って、 Windows上で仮想マシンを立ち上げてLinuxをインストールする必要がありました (こちらのページで BochsにDebian GNU/Linuxをインストールしています)。 仮想マシンを使わない方法としてはCygwinがあります。 これはWindowsでLinux(UNIX)環境をエミュレーションするものですが、 エミュレーションのオーバヘッドが少なからずあるのと、 互換レベルがソースコードレベルである点が問題です。
内部勉強会向けに寝る間をつぎ込んで作った資料ですが、想像以上に興味を持ってもらえなかったのでカッとなって大公開。 coLinuxを使うような層にしては細かすぎる感はありますが、入り口に立ってもらうためのものなのでよしとします。 p.s. 2006-03-16 起動時にブルースクリーンになってしまう問題について追記しました。 ref. coLinux起動でブルースクリーン。 – http://saikyoline.jp/weblog/2006/03/colinux_2.html p.s. 2006-04-28 スワップを有効にする手順が抜けていたため「15.スワップの設定」として追加しました。 あちこちからリンクを張っていただいているようなので、URLはそのままにしておきます。
CoLinuxとは CoLinuxとはWindows上で動作するLinux(正確にはLinuxカーネル)です。WindowsパソコンにLinuxをインストールする場合は、新規のハードディスクを追加したり空きパーテーションを作るなどの作業が必要ですが、CoLinuxを使えばWindowsを再インストールしたりパーテーションを変更したりせずにLinux環境を手軽に構築することが出来ます。 このような目的のソフトウェアにはCygwinがありますが、CygwinはCライブラリの段階でUNIXを模擬している(=ソースコードレベル互換性)のに対して、CoLinuxは本物のLinuxカーネルを動かすためにLinuxとアプリケーションのバイナリー互換性があります。つまり debianやFedoraがそのまま動きます。 ちなみにVMWareやVirtual PCはPC(パソコン)のハードウェアを模擬するエミ
VvZX(qvZX)Afork()VXeR[gpBVXeR[oAovZXmAvZXRs[B ovZXevZXARs[VvZXqvZXBevZXAqvZXfork()lpB evZXAfork()qvZXvZXIDpAqvZX0pBplAevZXqvZXッBlBAqvZXPvOヲB int main(void){ pid_t child // fork()li[ if( !(child=fork()) ){ // child=0qvZX printf("inchildprocess\n"); exit(0); } // evZXqvZXID\ヲ prinft("inparentprocess:childprocessID=%d\n,child); return 0; }
David A Rusling david.rusling@arm.comv0.8-3 January 25, 1999 JF Projectv0.8-3 December 2000 *フレーム表示* 本書は、Linux カーネルの仕組みを知りたい Linux 愛好家のためのものです。これは 内部構造のマニュアルではありません。むしろ Linux で使用されている原理や メカニズムを解説したものであり、Linux の動作原理とはどういうもので、なぜそれ が採用されているのかを説明するものです。 Linux という対象は常に変化しています。本書がベースにしているのは現在の安定 版である 2.0.33 のカーネルソースですが、これは個人や法人の大部分で使用されて いるのがこのバージョンだからです。 また、本書は自由に配布してもらってかまわないので、一定の条件のもとにではあり ますが、複製や再配
LinuxとGNUシステム リチャード・ストールマン著 多くのコンピュータ利用者は、毎日GNUシステムの変更版を使っていますが、気がついていません。ひょんなことから今日広く使われているGNUの版は、“Linux”としばしば呼ばれ、多くの利用者は、それが基本的にはGNUプロジェクトで開発されたGNUシステムであることを知りません。 たしかに、Linuxというものは存在し、人びとはそれを使っています。ただし、それは単に使っているシステムの一部です。Linuxはカーネルです: システムの中のプログラムで、ほかのプログラムの実行のためにマシンのリソースを割り当てます。カーネルは、オペレーティング・システムの重要な部分ですが、それだけでは役に立ちません。カーネルは完全なオペレーティング・システム全体のコンテクストで初めて機能します。Linuxは通常GNUオペレーティング・システムと組み合わせて使われ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く