 |
 |
 |
 |
 |
 |
Linux の 101 試験対策: ファイルとディレクトリーの管理 皆さんもご存知だと思いますが、Linux では何もかもがファイルです。そこで、ファイルとディレクトリーの検索や表示、移動、コピー、アーカイブなど、管理の基礎をしっかり身に付けることが正しい道に踏み出すための一歩となります。この記事の内容は、Linux のシステム管理者として認定するための LPI 101 試験に備えるためにも、自ら活用するために学ぶ上でも役に立ちます。 |
|
|
|
2009/10/06 |
|
| |
Linux 仮想ファイルシステム・スイッチの徹底調査 Linux が持つ柔軟性と拡張性は、まさに柔軟性と拡張性の定義そのものです。仮想ファイルシステム・スイッチ (VFS) を例に取っても、従来のディスクから USB フラッシュ・ドライブ、そしてメモリーやその他のストレージ・デバイスに至るまで、多種多様なデバイスでファイルシステムを作成することができます。さらに、ファイルシステムを別のファイルシステムのコンテキストに組み込むことさえ可能です。この記事を読んで、何が VFS をそれほど強力にしているのかを知り、その主要なインターフェースとプロセスについて学びましょう。 |
|
|
|
2009/08/31 |
|
| |
Linux の 101 試験対策: Linux コマンドライン GUI も確かに優れてはいるものの、Linux の真の実力を発揮させるのにコマンドラインに代わるものはありません。この記事では、Ian Shields が LPI 認定のための重要な機能を中心に、bash シェルの主要な機能の一部を紹介します。記事を読み終わる頃には、echo や exit などの基本的な Linux コマンドを使いこなせるだけでなく、環境変数の設定やシステム情報の収集も難なく行えるようになっているはずです。[リスト 8 に続く「注:」の最初の 2 つに記載されている ID (PID) を正しい ID に更新しました (編集者より)] |
|
|
|
2009/08/31 |
|
| |
Linux の 101 試験対策: テキスト・ストリームとフィルター テキストの操作には、カット・アンド・ペースト以外にもたくさんありますが、特に GUI を使用していないとなれば、テキスト操作の数の多さは尚更のことです。テキスト操作について、Linux Professional Institute Certification (LPIC) 101 試験に備えるため、または自ら活用するために学んでください。この記事では、Ian Shields が GNU テキスト・ユーティリティー・パッケージに含まれるフィルターを使用して Linux でテキストを操作する方法を手ほどきします。この記事を読み終わる頃には、エキスパートのごとくテキストを操作できるようになっているはずです。 |
|
|
|
2009/08/26 |
|
| |
分散型の Web 開発の様相を変える Git アプリケーション、Web サイト、オペレーティング・システムのどれを作成する場合であれ、バージョン管理システムは大部分の開発プロジェクトのコア・コンポーネントです。ほとんどのプロジェクトには複数の開発者が関係し、また多くの場合、そうした人達は物理的に遠く離れた場所で作業を行います。分散型のバージョン管理システムは決して新しいものではありませんが、Git バージョン管理システムは開発者同士のやり取りや共同作業をサポートする独特の機能を持っています。 |
|
|
|
2009/08/25 |
|
| |
Beagle Board で Linux をブートする Beagle Board はオープン・ハードウェアによるシングルボード・コンピューターであり、安価であると同時に、満足できる程度の速さで Linux を実行することができます。この記事では、Beagle Board について学ぶと同時に、Linux 開発環境を安価で手に入れる方法も学びましょう。 |
|
|
|
2009/08/18 |
|
| |
Subversion ユーザーのための Git: 第 1 回 Git 入門 DVCS (分散バージョン管理システム) には、集中型の VCS に勝るメリットがいくつもあります。そして DVCS モデルを検討しようとしている Subversion ユーザーにとっては、Git が出発点として最適です。2 回からなる連載の第 1 回である今回は、Subversion を基準に、Git のインストール方法、リモート・リポジトリーのセットアップ方法、そして Git の基本的なコマンドの使い方について説明します。 |
|
|
|
2009/08/04 |
|
| |
Linux のヒント: コマンドラインからピクセル定規を作成する Linux のコマンドラインと基本的な Bash スクリプトの手法、そして ImageMagick を使って画像上に線を引いたり、テキストを追加したりする方法を学びましょう。またそれを学ぶ中で、ピクセル定規を作成しましょう。 |
|
|
|
2009/07/23 |
|
| |
Linux KVM をベースとした ooRexx ビルド環境を構築する パフォーマンス改善のために Linux KVM (Kernel Virtual Machine) を利用するようになった ooRexx を使用して、オンデマンド・ソフトウェア・ビルド・サービスを作成してください。KVM は、ユーザーのターゲット・ソフトウェアをビルドするゲスト・オペレーティング・システムに対し、ホストとして機能します。このビルドを管理し、その結果をユーザーが後で取得できるように保存するのは、Apache Web サーバーです。この記事を読んで、ビルド・サーバーをセットアップしてゲストを作成する方法、ビルド・リクエストをカスタマイズする方法、そしてビルド結果を編成し、それにアクセスする方法を学んでください。 |
|
|
|
2009/07/14 |
|
| |
Vim エディターのスクリプトの作成: 第 2 回 ユーザー定義関数 実際のプログラミング・タスクの複雑さを管理するために、アプリケーションを保守可能なコンポーネントへと適切に分解するには、ユーザー定義関数は欠かせないツールです。連載第 2 回目となるこの記事では、Vim スクリプト言語で新しい関数を作成してデプロイする方法を、なぜその関数が必要になるかを説明する実際的な例と併せて説明します。 |
|
|
|
2009/07/07 |
|
| |
XML での文書生成と情報の再利用: 第 1 回 XML を使用した文書のパブリッシング XML は、あらゆる構造化データ・セットに含まれるデータ項目とサブコンポーネントを識別する手段となりますが、XML の根本は文書を作成してその出力を生成するところにあります。XML 文書マークアップのための明確なオープン・スタンダード、そして XML 文書の構文解析およびフォーマット変換に使用できる無料のツールの数々のおかげで、文書の作成とフォーマット設定用の完全な環境を UNIX や Linux システムに簡単にインストールして構成することができます。 |
|
|
|
2009/07/07 |
|
| |
洗練されたPerl: Perl と Amazon クラウド、第 5 回 この 5 回からなる連載では、Amazon の S3 (Simple Storage Service) と SimpleDB を利用した単純な写真共有 Web サイトを、Perl と Apache を使用して構築します。この第 5 回目では、mod_perl を利用したサイト全体のテンプレートを検証します。検証する対象は、索引用のテンプレート、アップロード用の 3 つのテンプレート (汎用、S3 フォーム用、URL 追加用)、画像とコメントの閲覧用のテンプレート、そしてある画像へのコメントを再帰的に閲覧する (つまりスレッドを順に追っていく) ためのテンプレートです。 |
|
|
|
2009/06/23 |
|
| |
洗練されたPerl: Perl と Amazon クラウド、第 4 回 この 5 回からなる連載では、Amazon の S3 (Simple Storage Service) と SimpleDB を利用した単純な写真共有 Web サイトを、Perl と Apache を使用して構築します。この第 4 回目では、mod_perl を利用したサイト全体のコード・ベースを検証し、最上位レベルの構成方法、それぞれのハンドラーで行っている内容、外部依存関係の設定方法などについて説明します。 |
|
|
|
2009/06/14 |
|
| |
洗練されたPerl: Perl と Amazon クラウド、第 3 回 この 5 回からなる連載では、Amazon の S3 (Simple Storage Service) と SimpleDB を利用した単純な写真共有 Web サイトを、Perl と Apache を使用して構築します。この第 3 回目では、この写真共有 Web サイトと SimpleDB とのやり取りを説明し、アップロードされるファイルの SimpleDB レコードを URL を使って作成する方法を学びます。また、ある写真に特定のユーザーが書き込んだコメントを SimpleDB レコードとして作成、編集、削除する方法も学びます。 |
|
|
|
2009/06/14 |
|
| |
KDE 4 Plasmoid 入門 KDE 4 では数多くの画期的な新技術を導入しています。そのうちの 1 つが、KDE 4 のデスクトップ・シェルを形作る機能 Plasma です。この記事では、デスクトップ・エクスペリエンスを大幅に改善する単純な Plasma アプレット (Plasmoid) を作成する方法、そして Plasmoid を単純なメモリー・モニターに変身させる方法を紹介します。 |
|
|
|
2009/06/14 |
|
| |
Blue Gene/L によるタンパク質モデリング Blue Gene/L スーパーコンピューターは、最先端を行く計算処理能力と複雑なデータの可視化ツールを科学者たちに提供します。科学者たちは、それぞれの専門分野の第一線で活躍するためにこの技術を必要としています。この記事では、分子生物学者がタンパク質の複雑な分子構造についてよりよく理解する手段として、コンピューターでタンパク質のフォールディングおよびミスフォールディングのシミュレーションを行う上で、どのようにこの技術を利用しているかを学びます。 |
|
|
|
2009/06/09 |
|
| |
Linux ハイパーバイザーの徹底調査 最近 Linux に対して行われた革新のなかで最も重要なものの 1 つとして挙げられるのは、Linux がハイパーバイザー (他のオペレーティング・システムのためのオペレーティング・システム) へ変身したことです。この革新により、Linux をコアに使用した多くのハイパーバイザー・ソリューションが登場しています。この記事では、ハイパーバイザーの背後にある概念と、Linux をプラットフォームとして使用する具体的なハイパーバイザーとして KVM と Lguest の 2 つを探ります。 |
|
|
|
2009/05/31 |
|
| |
Linux に GNU ARM ツールチェーンをインストールする ARM コアのさまざまなバージョンをプログラミングするためのツールは数多くありますが、特によく使われるツール・セットが GNU ARM ツールチェーンです。ARM コアを使った組み込みシステムの開発について、また GNU ツールのインストール方法と使い方について学びましょう。 |
|
|
|
2009/05/20 |
|
| |
Vim エディターのスクリプトの作成: 第 1 回 変数、値、式 Vim スクリプトは、Vim エディターを新たに作り直して拡張するためのメカニズムです。スクリプトを組むことによって、新しいツールを作成したり、共通のタスクを単純化したり、さらにはエディターの既存の機能を再設計して置き換えることさえできます。連載 1 回目のこの記事では、Vim スクリプト・プログラミング言語の基本構成要素である値、変数、式、文、関数、コマンドについて紹介します。これらの機能を単純な一連の例で実際に使用しながら説明します。 |
|
|
|
2009/05/06 |
|
| |
Linux シン・クライアントによるクラウド・コンピューティング Linux の観点からクラウド・コンピューティングについて調べ、最も革新的で一般的な Linux ベースのソリューションのいくつかについて、特に環境面でのメリットという視点で見ていきます。 |
|
|
|
2009/04/28 |
|
| |
Clonezilla を使って仮想 Linux 環境に移行する この記事では、オープンソースのクローニング・ソフトウェア Clonezilla Live を使って物理サーバーを仮想サーバーに変換する方法を学びます。具体的には、イメージ・ベースの手法を使って物理システムから仮想システムへ移行する方法を学びます。 |
|
|
|
2009/04/21 |
|
| |
アジャイル・プランニングの実際 皆さんはアジャイル・プランニングの時流に乗ろうとしているチームの一員ですか?反復型開発を行っているというのに、まだ変更を重ねざるを得ない状況ですか?この記事では、IBM 製品チームを支援および教育してきた著者がその経験を生かし、「アジャイル・プランニングによるリリース開発を始めるにはどうすればよいか」という質問の答となるロードマップを紹介します。アジャイル・プランニングの基本を概説し、何が有効で何が有効でないかについての著者の見解を説明します。編集者からの注記: 著者の要望により、図 1 と図 4 を更新した他、いくつかの修正を追加しています。 |
|
|
|
2009/04/15 |
|
| |
洗練されたPerl: Perl と Amazon クラウド、第 2 回 この 5 回からなる連載では、Amazon の S3 (Simple Storage Service) と SimpleDB を利用した単純な写真共有 Web サイトを、Perl と Apache を使用して構築します。この第 2 回目では、HTML フォームを使って Web ページから S3 へファイルをアップロードする方法を説明します。これにより、サーバーの負荷を最小限にとどめることができ、また強固なセキュリティー・ポリシーを維持することができます。 |
|
|
|
2009/04/08 |
|
| |
洗練されたPerl: Perl と Amazon クラウド、第 1 回 この 5 回からなる連載では、Amazon の S3 (Simple Storage Service) と SimpleDB を利用した単純な写真共有 Web サイトを、Perl と Apache を使用して構築します。この第 1 回目では、S3 と SimpleDB のアーキテクチャーについて調べ、写真共有サイトの設計を行うことで、S3 と SimpleDB の長所と短所を説明します。 |
|
|
|
2009/03/31 |
|
| |
魅力的な Python: RPyC による分散コンピューティング RPyC (Remote Python Call) は多くのマシンやプロセスに Python のプロセスを統合するためのシームレスなライブラリーです。この記事では、RPyC を XML-RPC や Pyro といった他の Python の分散フレームワークと比較した場合の利点と欠点について調べます。また RPyC ライブラリーとはどのようなものか感覚をつかめるように、RPyC を使用した簡単な例もいくつか紹介します。 |
|
|
|
2009/03/31 |
|
| |
Ganglia と Nagios: 第 2 回 Nagios でエンタープライズ・クラスターを監視する 2 回の記事からなるこの連載では、オープンソースのツール、Ganglia と Nagios を使ってデータ・センターを監視する実践的な方法を取り上げます。第 2 回のこの記事で説明するのは、Nagios をインストールして構成する方法です。Nagios は、よく使われているオープンソースのコンピューター・システムおよびネットワーク監視アプリケーション・ソフトウェアで、ホストとサービスを監視し、問題が発生するとユーザーにアラートを出します。この記事ではまた、第 1 回で説明した Ganglia に Nagios を統合し、標準クラスター、グリッド、そしてクラウドに対応するための 2 つの機能を Nagios に追加して、ネットワーク・スイッチとリソース・マネージャーの監視を支援する方法についても説明します。 |
|
|
|
2009/03/25 |
|
| |
進歩する Linux カーネル 人生において、死が訪れたり、税金の支払いをしたりするのが確実であるように、GNU/Linux オペレーティング・システムも確実に進歩しています。そして最近の 2 つのカーネル・リリースも、期待を裏切るものではありません。2.6.28 リリースと 2.6.29 リリースには驚くほど大量の新機能が含まれています (例えば、最先端のエンタープライズ・ストレージ・プロトコル、2 つの新しいファイルシステム、WiMAX ブロードバンド・ネットワークのサポート、ストレージ完全性のチェックなど)。なぜ今アップグレードする必要があるのかを学びましょう。 |
|
|
|
2009/03/24 |
|
| |
UNIX について語る: Squirrel という移植可能なシェル・スクリプト言語 特定のプラットフォームで特定のシェルを実行するという特異性に縛られたくなかったら、Squirrel Shell を試してください。Squirrel Shell は、UNIX、Linux、Mac OS X、そして Windows のどのシステムでも同じように有効に機能する高度なオブジェクt ト指向のスクリプト言語を提供します。つまり、一度スクリプトを作成すれば、そのスクリプトをどのシステムでも実行できるということです。 |
|
|
|
2009/03/17 |
|
| |
Linux のヒント: ブート時に rootfs を見つける 皆さんは Linux 管理者として、外部ストレージのボリュームを追加した後や、新しい Linux オペレーティング・システムをインストールした後でさえ、サーバーをリブートしようとすると「cannot mount rootfs」や「kernel panic」などの rootfs に関するエラーが起きた経験があるのではないでしょうか。この記事では、x86 プラットフォームでの Linux のブート・プロセスの概要と、この問題が起こる原因、そしてこの問題を回避あるいは修復するための 4 つのヒントを説明します。 |
|
|
|
2009/03/11 |
|
| |
PAM を理解し、構成する PAM (Pluggable Authentication Module) API は、アプリケーションのプログラミングに使用するセキュリティー関連の一連の関数 (ユーザー認証、データの暗号化、LDAP など) を公開しています。この記事では Linux での PAM モデルの基本と PAM の構成方法を紹介し、また PAM を使ったサンプル・ログイン・アプリケーションを簡単な 10 段階のステップで設計する方法を学びます。 |
|
|
|
2009/03/10 |
|
| |
Informix Dynamic Server MACH 11 のための Linux 共有ディスクを構成する IBM Informix Dynamic Server (IDS) Version 11.50 用の真の共有ディスクを構成する方法を学びましょう。この記事では IDS の SD (Shared Disk) セカンダリー・サーバーを Ubuntu Linux 上にセットアップして稼働させる方法を説明します。ここで説明する方法は他の Linux ディストリビューションにも容易に応用することができます。 |
|
|
|
2009/03/05 |
|
| |
仮想マシンのデプロイメントを自動化する いくつもの仮想マシン (VM: Virtual Machine) の構成を同時に行わなければならない場合がありますが、大量の複製作業や構成作業を手動で行うことは楽ではありません。この記事では VM のデプロイメントを自動的に行うソリューションを作成する方法を説明します。このソリューションを利用すると、自己構成を行える大量の VM を迅速に起動してアクティブにすることができます。さらに、システムの起動後、デプロイされた VM それぞれに、カスタマイズされたアプリケーションを個別に実行する方法も学びます。 |
|
|
|
2009/03/04 |
|
| |
Ganglia と Nagios: 第 1 回 Ganglia でエンタープライズ・クラスターを監視する 2 回の記事からなるこの連載では、オープンソースのツール、Ganglia と Nagios を使ってデータ・センターを監視する実践的な方法を取り上げます。第 1 回のこの記事で説明するのは、階層型設計に基づくハイパフォーマンス・クラスターを対象としたスケーラブルな分散監視システム、Ganglia をインストールして構成する方法です。また、Ganglia プラグインを作成したり、外部ソースのスプーフィングを有効にしたりすることで、監視機能をさらに追加する方法も学んでください。 |
|
|
|
2009/03/04 |
|
| |
Linux の汎用 SCSI ドライバー コンピューターでは、SCSI デバイスを制御するために SCSI コマンドを使用し、また SCSI コマンドを使用して SCSI デバイスにデータを転送します。この記事では、SCSI コマンドをいくつか紹介するとともに、Linux で SCSI API を使用して SCSI コマンドを実行する方法について説明します。最初に SCSI のクライアント/サーバー・モデルとストレージ用の SCSI コマンドに関する背景を説明します。次に Linux の汎用 SCSI ドライバーの API について説明し、汎用のドライバーを使って inquiry コマンドのみを実行するシステムの例を説明します。 |
|
|
|
2009/02/25 |
|
| |
ext4 の徹底調査 第 4 世代拡張ファイルシステム、ext4 は、その前世代のファイルシステム ext3 との後方互換性を有する次世代のジャーナリング・ファイルシステムです。現時点ではまだ標準になっていませんが、ほとんどの Linux ディストリビューションでは、ext4 が次のデフォルト・ファイルシステムとなる予定です。この記事で ext4 について学び、なぜこれがユーザーお気に入りの新たなファイルシステムになるのかを理解してください。 |
|
|
|
2009/02/17 |
|
| |
汎用の NFS を使って統一的なマウントを行う 複数の NFS バージョンのエクスポートが同時に存在する場合、統一的なマウントを効率的に行うためには汎用の NFS マウント・ユーティリティーが必要です。汎用の NFS マウント・ユーティリティーを利用することで、複数の NFS バージョンを扱う際の煩雑さを軽減し、またそれらのバージョンの管理を単純化する方法を学びましょう。この記事では、汎用 NFS マウントの概念、このシステムの利点と応用に関する概要、そして全体的な設計の詳細について説明します。 |
|
|
|
2009/02/11 |
|
| |
Linux クラウドの自動インストール クラウド・コンピューティングとストレージは、物理リソース (プロセッサー、ストレージなど) をインターネットで拡張可能かつ共有可能なリソース (「サービス」としてのコンピューティングとストレージ) に変身させます。この物理リソースのサービスへの変換は、仮想化によって一段とスケーラブルかつ効率的になります。ここで言っている仮想化は新しい概念というわけではなく、サーバーを仮想化して物理システムを共有できるようにするということです。クラウド・コンピューティングでは、ユーザーは実際のリソースがどこにあるのか、そしてリソースがどのように構成されているのかを知らなくても、大量のコンピューティング・リソースやストレージ・リソースにアクセスすることができます。ここで大きな役割を果たすのは、ご想像のとおり Linux です。この記事を読んで、クラウド・コンピューティングについて、そして雲の向こうにどうしてペンギンがいるのか (インターネットの向こうになぜ Linux が必要なのか) を理解してください。 |
|
|
|
2009/02/11 |
|
| |
Linux によるクラウド・コンピューティング クラウド・コンピューティングとストレージは、物理リソース (プロセッサー、ストレージなど) をインターネットで拡張可能かつ共有可能なリソース (「サービス」としてのコンピューティングとストレージ) に変身させます。この物理リソースのサービスへの変換は、仮想化によって一段とスケーラブルかつ効率的になります。ここで言っている仮想化は新しい概念というわけではなく、サーバーを仮想化して物理システムを共有できるようにするということです。クラウド・コンピューティングでは、ユーザーは実際のリソースがどこにあるのか、そしてリソースがどのように構成されているのかを知らなくても、大量のコンピューティング・リソースやストレージ・リソースにアクセスすることができます。ここで大きな役割を果たすのは、ご想像のとおり Linux です。この記事を読んで、クラウド・コンピューティングについて、そして雲の向こうにどうしてペンギンがいるのか (インターネットの向こうになぜ Linux が必要なのか) を理解してくだい。 |
|
|
|
2009/02/11 |
|
| |
LXC: Linux コンテナー・ツール コンテナーを利用すると、完全仮想化の命令解釈メカニズムやその他の複雑なメカニズムを用意しなくても軽量な仮想化を実現することができ、プロセスやリソースを分離することができます。LXC (Linux Containers) と呼ばれるコンテナー・ツールを紹介するこの記事では、このツールの設定方法と実行方法を、順を追って説明します。 |
|
|
|
2009/02/03 |
|
| |
セキュアな Linux コンテナーのためのマニュアル またの名を VPS (Virtual Private Server)、Jail としても知られる軽量コンテナーは、信頼できないアプリケーションやユーザーを制限するために設計されたセキュリティー・ツールであると思われがちですが、現状のように構成されていたのでは十分なセキュリティーの保証になりません。これらの軽量コンテナーを SELinux または Smack ポリシーを使って強化することによって、遙かにセキュアなコンテナーを Linux に実装することができます。この記事では、Linux Security Module で保護された一層セキュアなコンテナーを作成する方法を紹介します。SELinux ポリシーと Smack ポリシーはどちらも現在進行中の作業であり、それぞれのコミュニティーの支援による改善が見込まれています。 |
|
|
|
2009/02/03 |
|
| |
Python 3: 第 2 回: 高度な話題 Python 3 は Guido van Rossum による強力な汎用プログラミング言語の最新バージョンです。Python 3 は 2.x シリーズとの後方互換性をなくし、その代わり構文に関するいくつかの問題を解決しています。この記事は前回の記事の続きです。今回はこの 2 回シリーズの記事の第 2 回目として、Python の新しい機能に関する説明を続けるとともに、抽象基底クラス、メタクラス、修飾子における変更点などの、より高度なトピックの詳細について説明します。 |
|
|
|
2009/01/30 |
|
| |
スクリプト化可能なアプリケーションに Lua を組み込む Lua プログラミング言語は他のプログラムに組み込むために専用に設計された簡単なスクリプト言語です。Lua の C 言語用 API を利用すると、C から Lua を呼び出すためのコードも Lua から C を呼び出すためのコードも、非常にすっきりした単純なコードになります。これにより、開発者は便利なランタイム・スクリプト言語が必要な場合に、その言語に必要な基本 API 要素を容易に実装し、アプリケーションから Lua コードを呼び出すことができます。この記事では、一般的な開発作業を単純化する手段として使用できる Lua 言語を紹介し、また、そもそもなぜスクリプト言語を埋め込むのかについて説明します。 |
|
|
|
2009/01/27 |
|
| |
Guile によるスクリプティング Scheme はプログラミング言語ですが、Scheme のインタープリターおよびライブラリーである Guile は Scheme を組み込みスクリプト言語に変身させます。そんな Guile は、静的アプリケーションに動的な新しい機能をもたらすには理想的な手段です。Guile の概要を紹介するこの記事で、拡張可能なアプリケーションを構築する Guile の強力な機能を学んでください。 |
|
|
|
2009/01/20 |
|
| |
Linux プロセス管理の徹底調査 Linux でのユーザー空間プロセスの作成と管理には、UNIX と共通する原則が数多くありますが、それと同時に、Linux ならではの独特な最適化もいくつかあります。この記事では、Linux プロセスのライフサイクルに焦点を当て、ユーザー・プロセスの作成、メモリー管理、スケジューリング、そしてユーザー・プロセスの消滅といったカーネル内部での動作について詳しく説明します。 |
|
|
|
2008/12/20 |
|
| |
Python 3: 第 1 回 何が新しいのか Python 3 は Guido van Rossumによる強力な汎用プログラミング言語の最新バージョンです。Python 3 は 2.x シリーズとの後方互換性をなくし、その代わり構文に関するいくつかの問題を解決しています。この記事ではシリーズの第 1 回の記事として、Python 言語と後方互換性に影響する変更点について説明し、また新しい機能の例を紹介します。 |
|
|
|
2008/12/19 |
|
| |
Linux と Hadoop による分散コンピューティング 人々は毎日、検索エンジンを使ってインターネット上にあるテラバイトをはるかに超えるデータの中から特定のコンテンツを見つけていますが、皆さんはこの検索が実際にどのように実行されているのかを考えたことがあるでしょうか。その検索を実行する 1 つの方法として、Apache の Hadoop を使用する方法があります。Hadoop は膨大な量のデータを分散操作することができるソフトウェア・フレームワークで、その 1 つの応用として、インターネットの Web ページの索引付けを並列処理するための使い方があります。Hadoop は Apache のプロジェクトであり、Yahoo!、Google、IBM などによってサポートされています。この記事では Hadoop フレームワークを紹介し、Hadoop が Linux ベースの最も重要な分散コンピューティング・フレームワークの 1 つである理由を説明します。 |
|
|
|
2008/12/09 |
|
| |
Parallel NFS を使ってファイルシステムのスケーリングを行う NFS (Network File System) は最近のほとんどの LAN (Local Area Network) で使われているコンポーネントです。しかし NFS は、ハイパフォーマンス・コンピューティング全般に見られる、入出力操作が頻繁に要求されるようなアプリケーションには向いていません。少なくとも、最近まではそうでした。NFS 標準の最新バージョンには pNFS (Parallel NFS) が含まれています。pNFS はファイル共有を並列に実装したものであり、転送レートを何桁も向上させることができます。この入門記事では pNFS を紹介します。[注: この記事は、pNFS の起源および開発に関わったベンダーに関する記述を更新しました (編集者より)] |
|
|
|
2008/11/26 |
|
| |
IBM System p での SLES (SUSE) と RHEL (Red Hat) の比較 大半のシステム管理者は、IBM System p に Linux をインストールしようと計画すると重要な問題に突き当たります。それは、どの Linux ディストリビューションをインストールするべきかという問題です。そこで、この記事では Red Hat と Novell による 2 つのディストリビューションを比較し、それぞれの利点と欠点を検討します。さらに、LoP (Linux on POWER) について取り上げ、2 つのディストリビューションの歴史とその IBM との関わり、そして決定プロセスのなかで考慮しなければならない要素について説明します。そして最後に、論理ボリュームを作成する際に欠かせない SLES (SuSE Linux Enterprise Server) と RHEL (Red Hat Enterprise Linux) の比較検討を行います。 |
|
|
|
2008/11/18 |
|
| |
Linux カーネルのなかに入り込む GCC Linux カーネルは GCC (GNU Compiler Collection) スイートの特殊な機能を使用します。これらの機能は、ショートカットを提供したり単純化を実現したりするものから、コンパイラーに最適化のヒントを提供するものまでさまざまです。この記事では特殊な GCC 機能のいくつかを取り上げ、Linux カーネルでその機能をどのように活用するかを説明します。 |
|
|
|
2008/11/18 |
|
| |
Linux プロジェクトの公開資料: セキュリティー このページに示す資料は、IBM Linux Technology Center のメンバーが Linux のセキュリティーの話題に関して開発コミュニティーに提供したものです。 |
|
|
|
2008/11/08 |
|
| |
Linux のコマンドラインから Twitter と FriendFeed の更新を行う GNU Wget と cURL を使ってステータスの更新情報を Twitter と FriendFeed に送信する方法を学びましょう。ここでは Twitter のデスクトップ・アプリケーションを使わずに Linux のコマンドラインから直接 Twitter と FriendFeed の両方のフィードを追跡する方法を学びます。この記事は「GNU Wget と cURL を使って tweet を追加する」セクションの wget コマンドにコーディングの誤りがあったものを修正して 2008年10月31日に更新されました (編集者より)。 |
|
|
|
2008/10/31 |
|
| |
GCC 4 について学ぶ この 2、3 年の間に、GCC (GNU Compiler Collection) は GCC バージョン 3 からバージョン 4 へと大きな変化を遂げました。GCC 4 には新しい最適化フレームワーク (そして新たな中間コード表現)、新しいターゲットおよび言語サポート、そして新しいさまざまな属性とオプションが備わっています。この記事を読んで、GCC 4 の新たな機能とそれぞれの利点について学んでください。 |
|
|
|
2008/10/28 |
|
| |
怠惰な Linux: 怠け者のクラスター管理者のための 11 の秘訣 「クラスター」の意味は人それぞれに違います。この記事のコンテキストで言うと、クラスターに最適な定義はスケールアウトです。通常、スケールアウト構成のクラスターには Web ファーム、レンダー・ファーム、ハイパフォーマンス・コンピューティング (HPC) システムなど、同じタイプのコンポーネントがいくつもあります。管理者たちは、スケールアウト・クラスターで変更を行うとなると、それがどんなに小さな変更であれ何十万回と変更を繰り返さなければならないと言うでしょう。その一方、極めて怠惰な管理者たちはスケールアウトの管理技術をマスターしているため、ノードがいくつあろうと作業量は変わりません。この記事の著者たちが、そんな極めつけの怠け者である Linux 管理者の頭の中を覗き込み、彼らが作業を減らす秘訣を解き明かします。 |
|
|
|
2008/10/22 |
|
| |
プログラムの容易性: 第 1 回 Cell/B.E. プラットフォームでのプログラミング手法を探る Cell Broadband Engine で柔軟にプログラミングを行えることがマルチコアのコミュニティーでホットな話題となっています。この記事では、皆さんの既存のスキルを Cell/B.E. でのプログラムに活用する方法と Cell/B.E. システムのための 3 つのプログラミング手法、そしてこのプラットフォームで利用可能なさまざまなツールやソフトウェア、ハードウェアについて説明します。 |
|
|
|
2008/10/14 |
|
| |
TASK_KILLABLE: Linux での新しいプロセスの状態 Linux のカーネル 2.6.25 では、プロセスをスリープさせるための TASK_KILLABLE という新しいプロセスの状態が導入されています。TASK_KILLABLE は、効率的ではあっても kill できなくなる恐れのある TASK_UNINTERRUPTIBLE や、頻繁に起こされる代わりに安全な TASK_INTERRUPTIBLE に代わるものです。TASK_KILLABLE は、2002年に提起された問題、つまり OpenAFS ファイルシステム・ドライバーがすべてのシグナルをブロックした後、割り込み可能な状態でイベントを待ち続けるという問題に対応するために作られたものです。この新しいスリープ状態は TASK_UNINTERRUPTIBLE に重大なシグナルに応答できる機能を追加したものです。この記事ではこの領域に焦点を当て、2.6.26 や以前の2.6.18 の例を使いながら、TASK_KILLABLE に関連した Linux カーネルの変更と、こうした変更の結果による新しい API について説明します。 |
|
|
|
2008/09/30 |
|
| |
inotify を使ってファイルシステムのアクティビティーを監視する inotify は Linux の機能であり、読み取りや書き込み、作成など、ファイルシステムによる操作を監視します。inotify は受動型であり、驚くほど使い方が簡単であり、例えば cron ジョブで頻繁にポーリングするよりもはるかに効率的です。独自のアプリケーションの中に inotify を統合する方法と、システム管理を自動化するための一連のコマンドライン・ツールについて学びましょう。 |
|
|
|
2008/09/16 |
|
| |
Linux 動的ライブラリーの徹底調査 動的にリンクされる共有ライブラリーは、GNU/Linux の重要な側面です。なぜなら、実行可能プログラムが実行時にこれらのライブラリーを使って動的に外部機能にアクセスすることによって、メモリーの全体的なフットプリントを縮小できるからです (つまり、必要に応じて機能を取り込むという手段です)。この記事では、動的ライブラリーの作成および使用プロセスを調査し、動的ライブラリーを利用する各種ツールの詳細を説明するとともに、これらのライブラリーが内部ではどのように機能しているのかを探ります。 |
|
|
|
2008/08/20 |
|
| |
Java ランタイムの監視: 第 3 回 アプリケーションのエコシステムのパフォーマンスと可用性を監視する Java アプリケーションのランタイムの監視に関する 3 回連載の最終回では、アプリケーションがサポートしているサービスやアプリケーションの従属サービスのパフォーマンスと可用性を監視するためのストラテジーと手法に目を向けます。この場合の監視対象に含まれるのは、アプリケーション実行のベースとなるホスト・オペレーティング・システム、運用データベース、メッセージング・インフラストラクチャーです。最後に、パフォーマンス・データを管理する上での問題、そしてデータのレポートおよび視覚化について説明して記事を締めくくります。 |
|
|
|
2008/08/12 |
|
| |
管理対象オブジェクトとしての Linux オペレーティング・システム 今日の組織は 2 つの大きな課題に直面しています。それは、より一層リッチになりつつあるさまざまなサービスを配備するという課題と、それに関連する大規模なコンピューティング・プラットフォーム・ベースを管理するという課題です。この記事では、組織のコンピューティング・アーキテクチャーの重要コンポーネントを扱うための (やや) 新しい手段として、オペレーティング・システム自体を個々の管理対象オブジェクトとして扱う方法を紹介します。 |
|
|
|
2008/07/29 |
|
| |
怠惰な Linux: 管理者に必須の 10 の秘訣 この記事で紹介する 10 の秘訣を学ぶと、宇宙で最も強力な Linux 管理者になることができます・・・。いや、それほど大げさではないかもしれませんが、大規模な環境で作業する場合には、こうした秘訣が必要なのです。SSH トンネルや VNC、パスワードの回復、コンソール出力を盗み見る方法などについて学びましょう。それぞれの秘訣には例を挙げてあるため、皆さんが自分のシステムでそうした秘訣を試してみることができます。 |
|
|
|
2008/07/20 |
|
| |
Xen ハイパーバイザー上の Linux で Informix Dynamic Server を実行する IBM Informix Dynamic Server (IDS) は Xen ハイパーバイザー VM (virtual machine) の Linux 上で実行できるのでしょうか。IDS が持つ OS 専用の機能はすべて Xen VM で利用できるのでしょうか。この記事は、Xen が管理する仮想マシン上の Linux で IDS を実行するという初めての経験の詳細をまとめたものです。この記事ではまず、Xen ハイパーバイザーの利点について学び、Xen ハイパーバイザーがどのような動作をするか調べます。そして順を追った説明に従って、Xen 仮想化レイヤーを含めて実際のテスト・システムをセットアップします。最後に、著者らが自分たちの IDS 環境で実行したテストの結果について説明します。 |
|
|
|
2008/07/17 |
|
| |
Linux ローダブル・カーネル・モジュールの徹底調査 バージョン 1.2 のカーネルで導入された Linux ローダブル・カーネル・モジュールは、Linux カーネルで最も重要な革新技術の 1 つで、カーネルはローダブル・カーネル・モジュールによって拡張可能かつ動的になります。この記事を読んで、このローダブル・カーネル・モジュールの背後にある概念を知り、この独立したオブジェクトを動的に Linux カーネルに組み込む方法を学んでください。 |
|
|
|
2008/07/16 |
|
| |
Firefox 拡張機能を利用して Google カレンダーに暗号化機能を組み込む 最近の Web アプリケーションは、オンライン・ストレージ、オンライン・アクセス、オンライン・コラボレーションにさまざまなメリットをもたらしています。しかし、一部のアプリケーションは別としても、ユーザー・データを暗号化するアプリケーションはほとんどありません。この記事では、よく使われるオンライン・カレンダー・アプリケーションのユーザー・データに基本的な暗号化サポートを追加するために必要なツールとコードを紹介します。Firefox 拡張機能の非常に優れた柔軟性と Gnu Privacy Guard を利用して、Google のカレンダー・アプリケーションに暗号化された予定に関する記述のみを保存し、適切な復号化キーを持つユーザーには、この記述をプレーン・テキストで表示する方法を説明します。 |
|
|
|
2008/07/15 |
|
| |
XLC で行こう!: 第 1 回 Cell/B.E.用 XLC は2種類あるよ XLC/C++ コンパイラは Power 系プロセッサに最適化されたコードを生成してくれる IBM 製の C/C++ 言語コンパイラです。Cell/B.E. アーキテクチャ用には、現在 2 種類の XLC/C++ コンパイラが用意されています。一つは標準ソフトウエア製品として販売されている "XL C/C++ Multi-core Acceleration for Linux version 9.0"、もう一つは Cell/B.E. SDK3.0 Extra Package にアルファ版として収録されている "XL C/C++ Alpha Edition Single Source Compiler version 0.9" です。この記事では、両コンパイラの違いについて説明し、効率よく開発を進める上でのヒントを紹介します。 |
|
|
|
2008/07/04 |
|
| |
Linux でのバックアップを自動化する 重要なデータの損失は壊滅的な結果をもたらす可能性があります。にもかかわらず何百万人もの専門家が、自分たちのデータをバックアップしていません。個々の理由は異なりますが、最も一般的な理由として、日常的にバックアップを行うのは大仕事になってしまうことが挙げられます。バックアップにつきものの単調作業と先延ばしにしたがる人間の性向を回避するための鍵は、無味乾燥な繰り返し作業に優れた機械を使ってバックアップを自動化することです。 |
|
|
|
2008/07/03 |
|
| |
共通テーマ: 実例でわかる awk: 第 1 回 awk は、なんとも不思議な名前を持つすばらしい言語です。3 回の連載記事の第 1 回目で、Daniel Robbins 氏は、読者の awk プログラミング・スキルを急速に向上させてくれます。連載を進めるにつれ、より高度なトピックに触れ、最後には高度で実用的な awk アプリケーションのデモをご覧に入れます。 |
|
|
|
2008/07/03 |
|
| |
デバイス制御アプリケーションを Windows から Linux へ移植する デバイス制御アプリケーションを Microsoft Windows から Linux へ移植する際の苦労を軽減するために、この 2 つのオペレーティング・システムでのデバイス制御の動作を理解しましょう。この記事では、両方のオペレーティング・システムでのデバイス制御の違いを概説し、C/C++ のアプリケーションを移植する例を説明します。 |
|
|
|
2008/06/24 |
|
| |
コア・パートナー: 第 4 回 PlayStation 3 Wi-Fi ネットワークを管理する Terra Soft Solutions 社の IT マネージャーである Aaron Johnson が、Cell Broadband Engine をベースとした Sony PlayStation 3に組み込まれた Wi-Fi ネットワークを構成し、暗号化する方法をステップバイステップで紹介します。さらに、PS3 で無線ネットワークを有線ネットワークに切り替える方法を説明する簡単な 16 のステップも学んでください。 |
|
|
|
2008/06/17 |
|
| |
Linux ジャーナリング・ファイルシステムの徹底調査 最近まで、ジャーナリング・ファイルシステムは特異なものであり、主にファイルシステムに関する研究という側面から考えられていました。しかし今では、そのジャーナリング・ファイルシステム (ext3) が Linux のデフォルトとなっています。この記事では、ジャーナリング・ファイルシステムの背後にある概念、そしてこのファイルシステムが電源断やシステムのクラッシュにもかかわらず整合性を維持する方法を説明します。現在使用されているさまざまなジャーナリング・ファイルシステムについて学ぶとともに、次世代のジャーナリング・ファイルシステムを覗いてみてください。 |
|
|
|
2008/06/04 |
|
| |
Linux フラッシュ・ファイルシステムの徹底調査 読者のみなさんは、JFFS (Journaling Flash File System) や YAFFS (Yet Another Flash File System) という言葉は耳にしたことがあると思いますが、ファイルシステムの基礎をフラッシュ・デバイスに置くということが何を意味するのかおわかりでしょうか?この記事では、Linux 向けフラッシュ・ファイルシステムの概要を説明し、基礎となる消耗デバイス (フラッシュ・メモリー) の管理をウェア・レベリングによって行う方法、そして利用できる各種のフラッシュ・ファイルシステムをその基本的設計と併せて紹介します。 |
|
|
|
2008/05/20 |
|
| |
PyGTK を使ってウィジェットの形状を処理する GTK+ にはいくつかのコンテナー・ウィジェットが存在しますが、この GTK ツールキットの API を利用すると、ユーザー定義のコンテナーを作成することができます。また、この API は PyGTK でも利用することができます。この記事では PyGTK で「重み付けテーブル」コンテナーを作成する方法を学びます。実装の中では GTK+ の形状処理の基本的なモデルを紹介し、コンテナー・ウィジェットを実装する際に何を考慮し、何を想定する必要があるかの感覚をつかめるようにします。 |
|
|
|
2008/05/20 |
|
| |
IBM Open Collaboration Client Solution: デスクトップをマイグレートするための組織的な計画とユーザーの分類 環境を Linux クライアントの環境に移行するために必要なステップを、組織的な計画やユーザーの分類を含めて学びましょう。この記事は、これまでさまざまなユーザーに対して行われた経験を元に、ユーザーにとっての混乱を最小限にとどめながらマイグレーションを計画し、実行するための包括的な指針を提供します。 |
|
|
|
2008/05/07 |
|
| |
IBM Open Collaboration Client Solution: 技術的な計画 環境を Linux クライアントの環境に移行するために必要なステップを、技術的な計画を含めて学びましょう。この記事は、これまでさまざまなユーザーに対して行われた経験を元に、ユーザーにとっての混乱を最小限にとどめながらマイグレーションを計画し、実行するための包括的な指針を提供します。 |
|
|
|
2008/05/07 |
|
| |
ext4 へのマイグレーション 歴代の Linux ファイルシステムのなかで最新の Ext4 は、今までのファイルシステムと同じように重要かつ人気のファイルシステムになりそうです。Linux システム管理者としては、その利点と欠点、そして ext4 にマイグレーションする際の基本手順を認識しておかなければなりません。この記事では、ext4 を導入するタイミング、従来のファイルシステム・メンテナンス・ツールの使い方を ext4 に適応させる方法、さらにこのファイルシステムを最大限利用する方法を説明します。 |
|
|
|
2008/04/30 |
|
| |
リアルタイム Linux アーキテクチャーの徹底調査 Linux は遅いわけでも効率性に欠けるわけでもありませんが、速いだけでは十分でない場合もあります。速さの代わりに必要となるのは、特定の許容範囲内で所定のスケジュールを確実にこなす能力です。この記事を読んで、仮想化ソリューションによく似た初期のアーキテクチャーから標準 2.6 カーネルに現在用意されているオプションに至るまで、多様なリアルタイム Linux の手法とそれぞれがリアルタイムを実現する仕組みを理解してください。 |
|
|
|
2008/04/15 |
|
| |
PlayStation 3 での Linux 開発: 第 3 回 簡単な方法で X11 をスリムにする ソニーの PlayStation 3 (PS3) は Linux を実行することができます。しかし Linux を適切に実行させるためには少し調整が必要です。シリーズ最終回であるこの第 3 回では、Peter Seebach が、より小さなメモリー範囲に収まるように X11 をスリムにする方法について説明します。 |
|
|
|
2008/04/08 |
|
| |
tput を理解する UNIX が持つ最も強力な資産の 1 つは、ユーザーにとって便利なようにシェル・スクリプトを作成できることです。シェル・スクリプトは、単純な 1 行のものから数千行に及ぶものまであり、多くの場合にメニュー・ベースのスクリプトへと進化し、スクリプトの作成者は単純にスクロールして表示するテキスト以上のものをユーザーに表示しようとします。また場合によると、単純な 1 行か 2 行の出力しかユーザーに表示されないシェル・スクリプトを作成することで、警告メッセージを強調したいと考えることもあります。 |
|
|
|
2008/04/01 |
|
| |
TCP 選択的確認応答に伴うパフォーマンス上のトレードオフ 選択的確認応答 (SACK) は、ネットワークで利用可能な全帯域幅を効果的に使用するには欠かせない TCP のオプション機能です。SACK はスループットに対する効果はあるものの、このような確認応答を処理するには TCP 送信側の CPU に負担がかかることが証明されています。この欠点は、商品として提供されているネットワーク上であっても、悪意のある相手に不正に利用される可能性があります。この記事では、Linux TCP スタック内でのこの問題の程度を明らかにする実験の測定結果を紹介します。ほとんどのディストリビューションでは、SACK はデフォルトで有効に設定されます。 |
|
|
|
2008/03/31 |
|
| |
PlayStation 3 での Linux 開発: 第 2 回 メモリーを有効に利用する ソニーの PlayStation 3 (PS3) は Linux を実行することができます。しかし Linux を適切に実行させるためには少し調整が必要です。このシリーズの 2 回目である今回は Peter Seebach が、メモリーは一体どこに使われているのかを調べ、そうしたメモリーを有効に利用する方法について説明します。 |
|
|
|
2008/03/31 |
|
| |
PlayStation 3 での Linux 開発: 第 1 回 単なるゲーム機を超える ソニーの PlayStation 3 (PS3) は Linux を実行することができます。しかし Linux を適切に実行させるためには少し調整が必要です。この記事はシリーズの第 1 回として、Peter Seebach が PS3 Linux の特徴や利点を紹介し、また少し調整するだけでメリットが得られる問題をいくつか説明します。 |
|
|
|
2008/03/18 |
|
| |
システム管理ツールキット: ログ・ファイルの基本 典型的な UNIX マシンあるいは Linux マシンは動作中に数多くのログ・ファイルを作成します。これらのログ・ファイルには有用な情報が含まれているものもあれば、容量やリソースの計画を作成する際に役立てられるものもあります。この記事では、さまざまなログ・ファイルの中に記録されている基本的な情報や、ログ・ファイルの場所について調べ、またシステム内で起きている問題を解決するためにそうした情報を利用する方法について学びます。 |
|
|
|
2008/02/26 |
|
| |
OLPC ラップトップ向けデスクトップ開発 XO ラップトップ (OLPC (One-Laptop-Per-Child) イニシアチブの一環) は、世界中の子供たちの教育支援を目的とした低価格のラップトップ・プロジェクトです。このラップトップには、低価格で耐久性に優れた今までにないハードウェア設計、そして基礎となるオペレーティング・システムに GNU/Linux を採用するなど、数多くの革新が盛り込まれています。また、XO には Python で作成されたアプリケーション環境も組み込まれており、この環境は Sugar というヒューマン・インターフェースを使って子供を含めた誰もが使用できるようになっています。developerWorks のチュートリアル「Application development for the OLPC laptop」から抜粋したこの記事では、Sugar の API を取り上げ、 Python を使用した Sugar でのグラフィックによるアクティビティーの開発およびデバッグ方法を紹介します。 |
|
|
|
2008/02/26 |
|
| |
多重インスタンス化によるセキュリティーの強化 /tmp や /var/tmp など、誰でも書き込みできる共有ディレクトリーを不正に使用されないように保護したいのであれば、Linux PAM (Pluggable Authentication Module) を役立ててください。pam_namespace モジュールはユーザーがログインすると、ユーザー用に隔離した名前空間をシステム上に作成します。この隔離は Linux オペレーティング・システムによって行われるため、ユーザーはさまざまなタイプのセキュリティー攻撃から保護されるというわけです。Linux システム管理者を対象としたこの記事では、PAM を使って名前空間を有効にする方法を手順に沿って説明します。 |
|
|
|
2008/02/26 |
|
| |
SELinux でのロール・ベースのアクセス制御 RBAC (role-based access control: ロール・ベースのアクセス制御) は、ユーザーにロールを割り当て、そのロールにパーミッションを割り当てることで管理を単純化する一般的なセキュリティー・モデルです。SELinux (Security-Enhanced Linux) における RBAC は、ユーザーと、その下にある TE (type-enforcement: タイプ強制) モデルとの間の抽象化レイヤーとして動作します。TE モデルでは非常に粒度の細かいアクセス制御が可能ですが、このモデルは管理を容易にする目的には適していません。RBAC を行い、また Linux ユーザーを TE ポリシーに結びつけるために、SELinux のコンテキストにおける 3 つの部分 (ポリシー、カーネル、ユーザー空間) がどのように協調動作するのかを学びましょう。 |
|
|
|
2008/02/13 |
|
| |
GPFS クラスターを対象とした SNMP ベースの監視 IBM GPFS (General Parallel File System) for Linux のバージョン 3.2 では新たに SNMP (Simple Network Management Protocol) サービスが導入されており、管理者は GPFS クラスターのヘルスに関する SNMP データを収集し、ディスク障害などの問題を素早く特定することができます。GPFS ではコレクター・ノードにトラップ情報を集めさせ、別の管理ノードにいる管理者がその情報をリモートで監視、解析することができます。この記事では、GPFS クラスター内で基本的な SNMP 検証を行う方法を説明します。 |
|
|
|
2008/01/29 |
|
| |
Cell/B.E. コンテナーの仮想化: 第 2 回 実装の問題 この 3 回連載の記事では、コンテナー仮想化 (オペレーティング・システム仮想化) として知られる、ハードウェア・リソースを中心としたソフトウェア仮想化について説明し、オープンソースのプロジェクトである OpenVZ を介してコンテナー仮想化の例を示します。ソフトウェアによる手法を使った Cell/B.E. プロセッサーの仮想化に必要なコンポーネントと手法のすべてを包括的に概説する連載の第 2 回目では、第 1 回で説明した専用仮想化とパーティショニングの実装について詳しく説明します。 |
|
|
|
2008/01/08 |
|
| |
Completely Fair Scheduler によるマルチプロセッシング Linux 2.6.23 カーネルには、モジュール構成のスケジューラー・コアと、スケジューリング・モジュールとして実装される CFS (Completely Fair Scheduler) が付属しています。この記事では CFS の主な機能を紹介し、その動作を調べ、また少し先回りし、2.6.24 リリースで予定されている変更のいくつかを紹介します。 |
|
|
|
2008/01/08 |
|
| |
Cell/B.E. コンテナーの仮想化: 第 1 回 概念とアーキテクチャー、そしてツール この 3 回連載の記事では、コンテナー仮想化 (オペレーティング・システム仮想化) として知られる、ハードウェア・リソースを中心としたソフトウェア仮想化について説明し、オープンソースのプロジェクトである OpenVZ を介してコンテナー仮想化の例を示します。ソフトウェアによる手法を使った Cell/B.E. プロセッサーの仮想化に必要なコンポーネントと手法のすべてを包括的に概説する連載の第 1 回目では、Cell/B.E. プロセッサーの仮想化に関連する基本概念、そして OpenVZ および Cell/B.E. アーキテクチャーの特徴と Cell/B.E. 上で OpenVZ がどのようにして動作するかを説明するとともに、OpenVZ ツールの一部を紹介します。 |
|
|
|
2007/12/11 |
|
| |
Linux on board: Nokia N800 のカメラにアクセスする 今回の「Linux on board」の 3 回からなるシリーズでは、カメラ機能を使ってウェブカメラを作成する実際の例をとおして、アプリケーションの作成をどのように始めればよいかを説明します。今回の記事では、Nokia N800 に搭載されているウェブカメラに GStreamer を使ってアクセスし、カメラ・アプリケーションの作成を始める手順を説明します。(この作業は皆さんが想像するほど大変なものではありません。その理由は何といっても既存のアプリケーションを利用しているためです。) |
|
|
|
2007/11/27 |
|
| |
Linux on board: Nokia N800 用に開発する インターネット電話の使えるインターネット・タブレットであり、ウェブカメラを搭載している Nokia N800 の心臓部を調べ、scratchbox をベースにしたビルド環境を詳細に調べましょう。 |
|
|
|
2007/11/20 |
|
| |
Linux SCSI サブシステムの徹底調査 SCSI (Small Computer Systems Interface) は多数のデバイス (主にストレージ関連のデバイス) と通信するためのインターフェースおよびプロトコルを定義する標準の集合で、Linux では SCSI サブシステムを提供し、これらのデバイスとの通信を可能にしています。Linux はディスク、CD-ROM ドライバーなどの上位レベルのドライバーを、Fibre Channel や SAS (Serial Attached SCSI) などの物理インターフェースに結び付ける階層化アーキテクチャーの格好の例です。この記事では、Linux の SCSI サブシステムを紹介し、このサブシステムの将来について検討します。 |
|
|
|
2007/11/14 |
|
| |
Linux での同期方式の徹底調査 読者のみなさんは Linux の教育を受けるなかで並行性やクリティカル・セクション、そしてロックについて学んだことと思いますが、これらの概念をカーネル内でどのように使っていますか? この記事ではアトミック演算子、スピンロック、リーダー/ライター・ロック、カーネルのセマフォーを含め、2.6 カーネルで使用できる数々のロック機構について概要を説明します。さらに、安全かつ効率的なカーネルのコードを作成する上で、どこにそれぞれの機構を適用するのが最もふさわしいかを探ります。 |
|
|
|
2007/10/31 |
|
| |
Linux ファイルシステムの徹底調査 ファイルシステムという点では、Linux はまさにスイス・アーミー・ナイフのようなオペレーティング・システムです。Linux がサポートするファイルシステムは、ジャーナリング・ファイルシステムからクラスター・ファイルシステム、さらには暗号化ファイルシステムに至るまで多数に及びます。そんな Linux は、標準ファイルシステムと非標準型ファイルシステムのどちらを使用するのにも素晴らしいプラットフォームであるだけでなく、ファイルシステムの開発プラットフォームとしてもうってつけです。この記事では、仮想ファイルシステム・スイッチとしても知られる Linux カーネルの仮想ファイルシステム (VFS: Virtual File System) の詳細を掘り下げ、複数のファイルシステムを 1 つに束ねる主要な構造体をいくつか紹介します。 |
|
|
|
2007/10/30 |
|
| |
Linux のアセンブラー: GAS と NASM を比較する この記事では、Linux で最も一般的な 2 つのアセンブラーである GAS (GNU Assembler) と NASM (Netwide Assembler) の間での、構文や意味体系の重要な違いについて説明します。比較する項目は、基本的な構文や、変数やメモリー・アクセスの方法、マクロの処理、関数や外部ルーチン、スタックの処理、コード・ブロックを容易に繰り返すための手法などです。 |
|
|
|
2007/10/17 |
|
| |
記録の影響を最小限に食い止める、第 2 回: 迅速なパフォーマンスへの障害を取り除く 連載第 1 回では、Cell Broadband Engine プロセスへの基本的な移植方法を説明しました。この 2 回目の記事ではさらに詳細に踏み込んで、DMA 転送サイズに基づく制約をなくす方法、プログラムを複数の SPE で実行できるように分割する方法、そしてプログラムの処理速度を一層向上させる方法を説明します。 |
|
|
|
2007/10/16 |
|
| |
POSIX ファイル・ケイパビリティー root の権限を分配する Linux は長年、ケイパビリティーを使用してきましたが、POSIX ファイル・ケイパビリティーが備わったのは最近のことです。POSIX ファイル・ケイパビリティーは root ユーザーの権限を、例えばファイルを読み取る機能や、別のユーザーが所有するプロセスをトレースする機能などの特権に分割します。このようなケイパビリティーをファイルに割り当てることで、特権を持たないユーザーでも、指定されたこれらの特権によってファイルを実行できるようにすることができます。この記事で、ケイパビリティーを使ったプログラミングの手法、そしてシステムの setuid root バイナリーがファイル・ケイパビリティーを使用できるようにする方法を学んでください。 |
|
|
|
2007/10/16 |
|
| |
IBM Installation Toolkit: Linux on POWER をロードする IBM Installation Toolkit for Linux on POWER によって、仮想化された Power マシンでも仮想化されていない Power マシンでも Linux のインストールを簡単なものにすることができ、ブート可能なレスキュー DVD を作成することができます。そしてこのツールキットは Power プラットフォームのすべてを活用するために必要なソフトウェアを提供しています。このツールキットを使って、Red Hat Enterprise Linux と SUSE Linux Enterprise Server を IBM System p マシンと System i5 マシンにインストールする方法を学びましょう。 |
|
|
|
2007/09/26 |
|
| |
Python でのメタクラス・プログラミング、第 3 回 プログラミングが技巧的になりすぎると、設計が複雑になり、コードが脆弱になり、学習曲線がなだらかになり、そして何よりも困ったことに、デバッグが困難になります。著者の Michele と David は、彼らが以前に執筆した記事「Python でのメタクラス・プログラミング」が熱狂的に受け入れられたため、その後必要以上に技巧的になってしまったことに責任を感じています。この記事では、プログラマーが技巧的なプログラミングを避けるための支援をすることで、その修正を図ります。 |
|
|
|
2007/09/25 |
|
| |
QEMU によるシステムのエミュレーション QEMU は、PC システム全体を対象としたオープンソースのエミュレーターです。QEMU ではプロセッサーをエミュレートするだけでなく、必要なすべてのサブシステム (ネットワーク用ハードウェアやビデオ・ハードウェアなど) もエミュレートすることができます。さらに、対称型マルチプロセッシング・システム (最大 255 基の CPU) やその他のプロセッサー・アーキテクチャー (ARM、PowerPC など) といった高度なシステムをエミュレートすることも可能です。この記事では、QEMU とそのアーキテクチャーについて探り、Linux ホストでゲスト・オペレーティング・システムをエミュレートする方法を紹介します。 |
|
|
|
2007/09/25 |
|
| |
論理ボリュームの管理 ボリューム管理は -ix の世界 (UNIX、AIX など) では目新しいものではありません。論理ボリューム管理 (LVM) にしても、すでに Linux カーネル 2.4v1 および 2.6.9v2 から導入されています。この記事で紹介する LVM2 は、論理ボリューム管理機能を提供する比較的新しいユーザー空間のツール・セットです。ここではとりわけ役に立つ LVM2 の機能を紹介するとともに、システム管理タスクを容易にする方法をいくつか提案します。読者からのフィードバックを基に、著者によりリスト 10、14、15、および 16 が更新されています (編集者より)。 |
|
|
|
2007/09/20 |
|
| |