本文へジャンプ


developerWorks Japan  >  Linux  >  

技術文書一覧

developerWorks
 
  
 
 タイトル  54    概要の非表示    
 
タイトル 日付日付 別のソート - 逆順にしたい場合はクリック
Linux の仮想化と PCI パススルー
プロセッサーが進化し、仮想化環境のパフォーマンスが向上していますが、I/O のパフォーマンスはどうなのでしょう。この記事では、I/O パフォーマンスを向上させるための、デバイス (または PCI) パススルーと呼ばれる技術を調べてみましょう。この革新的な技術のおかげで、Intel (VT-d) または AMD (IOMMU) によるハードウェア・サポートを利用して PCI デバイスのパフォーマンスを向上させることができます。
    2009/10/13  
 
Linux 仮想ファイルシステム・スイッチの徹底調査
Linux が持つ柔軟性と拡張性は、まさに柔軟性と拡張性の定義そのものです。仮想ファイルシステム・スイッチ (VFS) を例に取っても、従来のディスクから USB フラッシュ・ドライブ、そしてメモリーやその他のストレージ・デバイスに至るまで、多種多様なデバイスでファイルシステムを作成することができます。さらに、ファイルシステムを別のファイルシステムのコンテキストに組み込むことさえ可能です。この記事を読んで、何が VFS をそれほど強力にしているのかを知り、その主要なインターフェースとプロセスについて学びましょう。
    2009/08/31  
 
Linux ハイパーバイザーの徹底調査
最近 Linux に対して行われた革新のなかで最も重要なものの 1 つとして挙げられるのは、Linux がハイパーバイザー (他のオペレーティング・システムのためのオペレーティング・システム) へ変身したことです。この革新により、Linux をコアに使用した多くのハイパーバイザー・ソリューションが登場しています。この記事では、ハイパーバイザーの背後にある概念と、Linux をプラットフォームとして使用する具体的なハイパーバイザーとして KVM と Lguest の 2 つを探ります。
    2009/05/31  
 
進歩する Linux カーネル
人生において、死が訪れたり、税金の支払いをしたりするのが確実であるように、GNU/Linux オペレーティング・システムも確実に進歩しています。そして最近の 2 つのカーネル・リリースも、期待を裏切るものではありません。2.6.28 リリースと 2.6.29 リリースには驚くほど大量の新機能が含まれています (例えば、最先端のエンタープライズ・ストレージ・プロトコル、2 つの新しいファイルシステム、WiMAX ブロードバンド・ネットワークのサポート、ストレージ完全性のチェックなど)。なぜ今アップグレードする必要があるのかを学びましょう。
    2009/03/24  
 
ext4 の徹底調査
第 4 世代拡張ファイルシステム、ext4 は、その前世代のファイルシステム ext3 との後方互換性を有する次世代のジャーナリング・ファイルシステムです。現時点ではまだ標準になっていませんが、ほとんどの Linux ディストリビューションでは、ext4 が次のデフォルト・ファイルシステムとなる予定です。この記事で ext4 について学び、なぜこれがユーザーお気に入りの新たなファイルシステムになるのかを理解してください。
    2009/02/17  
 
Linux プロセス管理の徹底調査
Linux でのユーザー空間プロセスの作成と管理には、UNIX と共通する原則が数多くありますが、それと同時に、Linux ならではの独特な最適化もいくつかあります。この記事では、Linux プロセスのライフサイクルに焦点を当て、ユーザー・プロセスの作成、メモリー管理、スケジューリング、そしてユーザー・プロセスの消滅といったカーネル内部での動作について詳しく説明します。
    2008/12/20  
 
Linux カーネルのなかに入り込む GCC
Linux カーネルは GCC (GNU Compiler Collection) スイートの特殊な機能を使用します。これらの機能は、ショートカットを提供したり単純化を実現したりするものから、コンパイラーに最適化のヒントを提供するものまでさまざまです。この記事では特殊な GCC 機能のいくつかを取り上げ、Linux カーネルでその機能をどのように活用するかを説明します。
    2008/11/18  
 
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 ローダブル・カーネル・モジュールの徹底調査
バージョン 1.2 のカーネルで導入された Linux ローダブル・カーネル・モジュールは、Linux カーネルで最も重要な革新技術の 1 つで、カーネルはローダブル・カーネル・モジュールによって拡張可能かつ動的になります。この記事を読んで、このローダブル・カーネル・モジュールの背後にある概念を知り、この独立したオブジェクトを動的に Linux カーネルに組み込む方法を学んでください。
    2008/07/16  
 
デバイス制御アプリケーションを Windows から Linux へ移植する
デバイス制御アプリケーションを Microsoft Windows から Linux へ移植する際の苦労を軽減するために、この 2 つのオペレーティング・システムでのデバイス制御の動作を理解しましょう。この記事では、両方のオペレーティング・システムでのデバイス制御の違いを概説し、C/C++ のアプリケーションを移植する例を説明します。
    2008/06/24  
 
Linux フラッシュ・ファイルシステムの徹底調査
読者のみなさんは、JFFS (Journaling Flash File System) や YAFFS (Yet Another Flash File System) という言葉は耳にしたことがあると思いますが、ファイルシステムの基礎をフラッシュ・デバイスに置くということが何を意味するのかおわかりでしょうか?この記事では、Linux 向けフラッシュ・ファイルシステムの概要を説明し、基礎となる消耗デバイス (フラッシュ・メモリー) の管理をウェア・レベリングによって行う方法、そして利用できる各種のフラッシュ・ファイルシステムをその基本的設計と併せて紹介します。
    2008/05/20  
 
Completely Fair Scheduler によるマルチプロセッシング
Linux 2.6.23 カーネルには、モジュール構成のスケジューラー・コアと、スケジューリング・モジュールとして実装される CFS (Completely Fair Scheduler) が付属しています。この記事では CFS の主な機能を紹介し、その動作を調べ、また少し先回りし、2.6.24 リリースで予定されている変更のいくつかを紹介します。
    2008/01/08  
 
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  
 
論理ボリュームの管理
ボリューム管理は -ix の世界 (UNIX、AIX など) では目新しいものではありません。論理ボリューム管理 (LVM) にしても、すでに Linux カーネル 2.4v1 および 2.6.9v2 から導入されています。この記事で紹介する LVM2 は、論理ボリューム管理機能を提供する比較的新しいユーザー空間のツール・セットです。ここではとりわけ役に立つ LVM2 の機能を紹介するとともに、システム管理タスクを容易にする方法をいくつか提案します。読者からのフィードバックを基に、著者によりリスト 10、14、15、および 16 が更新されています (編集者より)。
    2007/09/20  
 
Linux カーネルの徹底調査
Linux カーネルは大規模で複雑なオペレーティング・システムのコアですが、その大きさのわりには、サブシステムおよび層構造に関してよく整理されています。この記事では Linux カーネルの一般的な構造を調べ、主要なサブシステムとコア・インターフェースを説明します。該当する箇所では、さらに詳しく掘り下げられるように、他の IBM の記事へのリンクも記載しています。
    2007/06/06  
 
Linux通へのステップバイステップ: 第2回 ちょっぴりLinuxの開発/配布体制が語れるようになる基礎知識
インストールが楽になるように、と始まったディストリビューションですが、その開発/配布体制にも発展の流れがありました。ライセンスの話も整理しながら、ポイントをまとめていきましょう。
    2007/04/27  
 
Linux通へのステップバイステップ: 第1回 ちょっぴりLinuxが語れるようになる基礎知識
Linuxディストリビューションは数多く、どれを選ぶか悩むところです。特にここ最近で各ディストリビューターやプロジェクトに動きがあり、数年前とは状況が変わってきています。ディストリビューション選びのポイントとなる部分を整理し、Linuxディストリビューションのいまを掌握していきましょう。
    2007/04/27  
 
Linux システム・コールを使用したカーネル・コマンド
Linux システム・コールは私たちが毎日使っているものですが、システム・コールはどのようにしてユーザー空間からカーネスに対して行われるかをご存知ですか。そこで、この記事では Linux システム・コール・インターフェース (SCI) の詳細を説明します。新しいシステム・コールを追加する方法 (そしてその代わりとなる手段)、そして SCI 関連のユーティリティーについて学んでください。
    2007/03/21  
 
Linux のメモリー・フットプリントを削減する
物理的なメモリーが不足すると、Linux のパフォーマンスが大きく制限されます。この記事では、Linux システムが使用するメモリーの量を正確に測るための方法を学びます。また Ubuntu システムを例として使用しながら、メモリー要求を削減するための実際的なアドバイスを示します。
    2007/01/31  
 
Linux ThinkPad の振動検出を活用する
カーネルを修正することによって最先端のカタルシス・インターフェースをコンピューターに実装しましょう。カーネル・パニックが起きた際に Linux ラップトップに振動を与えると、自動的にリセットすることができます。
    2006/11/07  
 
Linux 初期 RAM ディスク (initrd) の概要
Linux® 初期 RAM ディスク (initrd) は、2 段階のブート・プロセスをサポートするためにシステムのブート中にマウントされる一時ルート・ファイル・システムです。initrd には、実際のルート・ファイル・システムをマウントするための各種実行可能ファイルとドライバーが含まれています。実際のルート・ファイル・システムがマウントされると、initrd RAM ディスクはアンマウントされ、そのメモリーが解放されます。
    2006/07/31  
 
Linux ラップトップのためのノックによるコマンド
コンピューターをたたくと意味のある反応が返ってくる - そんなことが初めて可能になります!この記事では新しい展開、つまりノック・コードと、特定のノック・コードが検出されたときにコマンドを実行する単純なプログラムを紹介します。
    2006/07/25  
 
Git を使ってソース・コードを管理する
Git は、Linus Torvalds が開発した、Linux カーネルの開発を管理する上で役立つオープン・ソースのリビジョン・コントロール・ソフトウェアです。ダウンロードして、独自のカーネル・ハッキング、または自分自身のソフトウェア開発プロジェクトのために使うことができます。
    2006/07/06  
 
Linux スケジューラーの内側
Linux 2.6 カーネルの最も重要な機能の 1 つが、Ingo Molnar によって実装されたスケジューラーです。このスケジューラーは、動的であり、ロード・バランシングをサポートし、また一定時間内の動作をします・・・つまり O(1) です。Linux 2.6 のスケジューラーの持つ特徴などについて解説します。
    2006/06/30  
 
インタビュー: Eric Raymond基本に戻る
「The Cathedral and the Bazaar」の著者であり、今話題のHalloween Documentsを発表した人でもあるEric S. Raymondが、彼の最近の計画について語り、なぜUNIX開発者がIDEを好まないのかについて光を当てます。
    2006/03/26  
 
/procファイルシステムを使用したLinuxカーネルへのアクセス
/procファイルシステムは、Linux のカーネル空間とユーザー空間の間での新しい通信アプローチを可能にする仮想ファイルシステムです。この記事では、/proc仮想ファイルシステムの概要と、その使用例を紹介します。
    2006/03/14  
 
Linuxメモリー・モデルの探究
これはLinux メモリー・モデルの概要についてのガイドです。ここでは、メモリーの構成方法と管理方法についての基礎を学習します。このガイドでは、セグメント制御ユニットとページング・モデルについて説明するとともに、物理メモリー・ゾーンについても詳しく見ていきます。Linuxで使われているメモリー・モデルを理解することは、Linuxの設計と実装について把握するための第1ステップです。
    2006/01/24  
 
プロセッサー・アフィニティーの管理
この記事では、現在のアフィニティー・メカニズムについて述べ、ハード・アフィニティーを使用する理由と方法を説明し、使用可能な機能の使い方を示すサンプル・コードを示します。
    2005/09/29  
 
Kprobesによるカーネルのデバッグ
Kprobesを2.6カーネルと組み合わせることによって軽量で影響を与えない強力な機構ができ、printkを動的に挿入できるようになります。
    2004/08/19  
 
FireWireのデバイスからLinuxをブート
外部ドライブの追加は、老朽化したハードウェアに新たな命を吹き込む妥当な手段であり、内蔵ドライブの変更を出来ないマシン上でのLinuxの利用を可能にします。
    2004/07/15  
 
Kexecを使ってLinuxの起動を早める
Kexecとは高速リブート機能で、bootloaderを通らずに新しいLinuxカーネルのリブートを可能にしてくれるものです。
    2004/05/04  
 
DSFを使ってデバイスをシミュレートする
DSFを使うと他の方法ではシミュレートしたり再生成したりするのが難しいデバイス・コードのデバッグやチェックが簡単になるのです。
    2004/03/23  
 
カーネル比較: 2.6カーネルでのネットワーク機能の改善
この記事では、新しいLinuxカーネルで行なわれる多くの領域の改善が、Linuxをよりセキュアに、また企業対応にしようとするユーザーの努力に対して、どのような影響を与えるかについて説明します。
    2004/03/03  
 
カーネル比較: 2.6カーネルで改善されたメモリ管理
この記事では、2.6 Linuxカーネルのリバース・マッピング、メモリ・ページの大型化、ページテーブル・エントリーを高位メモリに保存する手法、より安定になったメモリ・マネージャなどについて概要を説明します。
    2004/03/03  
 
カーネル比較: 2.4から2.6へのカーネル開発における改善
長く待たれていた2.6カーネルが遂に登場しました。2.6カーネルの背後にあるツールやテスト、手法などによって2.6カーネルはそれ以前のどれよりも良いものとなりました。
    2004/02/17  
 
カーネル比較: 2.4と2.6でのWeb処理
この記事ではIBM Linux Technology Centerが行ったWeb処理に関するテストの結果を紹介しながら、Linux 2.4と2.6カーネルを様々な面から比較します。
    2004/02/10  
 
Linux 2.6へ
ここではコード・サンプルを挙げながら、次期新カーネルの新しくなった部分を大小取り混ぜ、いくつか見ていこうと思います。
    2003/09/23  
 
Linuxを即席で管理する
Linuxを即席で管理する,/procファイルシステムを使ってシステムを管理する
    2003/05/14  
 
ハイパー・スレッド処理でLinuxを高速化
IntelのXeonプロセッサーに、ハイパー・スレッド処理 (HT: Hyper-Threading) という新しいテクノロジーが導入されました。Xeonプロセッサーは、それぞれのプロセッサーで同時に並行して複数のスレッドを実行できるようになり、性能を格段に向上させることができます。
    2003/01/01  
 
アドバンスト・ファイルシステム・インプリメンター・ガイド: 第2回
Linux 2.4におけるこれらの新たな高機能ファイルシステムのセットアップ方法を示し、これらの質問に答えます。シリーズの第1回では、ジャーナリングとReiserFSのメリットを紹介しました。今回の記事では、きわめて堅牢なLinux 2.4ベースのReiserFSシステムのセットアップ・プロセスを紹介します。
    2001/08/01  
 
共通テーマ: Linux LVMについて学ぶ: 第2回
今回の記事では、Daniel氏がcvs.gentoo.orgの /homeファイル・システムをLVM論理ボリュームに移行した経験をお話しします。移行後には、cvs.gentoo.orgの /homeパーティション・サイズを変更する際、リブートしたり、/homeをアンマウントしたり、実行レベル1に落としたりせずに、リアルタイムで動的に行えるようになります。
    2001/04/01  
 
Linuxカーネルの性能と拡張性の改善
本稿では、IBM Linuxテクノロジー・センターのスタッフがそれぞれの専門的な知識を出し合い、昨年暮れにLinuxカーネル2.4と2.5で何種類ものベンチマークを実行したときのことを紹介します。
    2001/03/01  
 
共通テーマ: Linux LVMについて学ぶ、第1回
この記事でDanielは、Linux LVM (論理ボリューム管理) の背後にある 概念を紹介し、最新のカーネル・パッチおよびツールをシステムにインストールする方法を示しています。
    2001/03/01  
 
共通テーマ: Linux 2.4 Software RAID、第2回
今回の記事では、Daniel氏は、Software RAID-1、4、および5で実現できる事と、できない事について、および実稼動環境にこれらのRAIDレベルをインプリメントするためのアプローチ方法について解説します。この解説の後半では、RAID-1の障害ドライブを交換するシミュレーションを概説します。
    2001/02/01  
 
共通テーマ: 新Linux 2.4カーネルのSoftware RAID、第1回
ついに、新しい2.4カーネルが出ました! さあ、使われていないPCを探し出し、Linuxを入れ、それで何ができるかを見てみましょう。この記事では、Software RAIDのセットアップを説明し、リニア・ボリュームとRAID-0ボリュームの作成方法を示しています。
    2001/02/01  
 
一般的なスレッド: POSIX スレッドの説明: 第3回
POSIX スレッドについての 3 回シリーズの最後となるこの記事では、条件変数の使用法について Daniel がわかりやすく説明します。Daniel は記事を締めくくるにあたって、すでに学んだ事柄を使ってマルチスレッドの作業班アプリケーションを実装する方法を示します。
    2000/09/01  
 
Linux カーネル2.4 の紹介: 第2回
これは 2 回シリーズの第 2 回です。今回は、近々リリースされる Linux カーネル 2.4 のポート、マルチメディア、ファイル・システム、バス・サポートといった特殊ハードウェアに寄せられる期待を現実的な視点から詳しく取り上げます。
    2000/08/01  
 
Linux カーネル2.4 の紹介: 第1回
これは 2 回シリーズの第 1 回です。第 1 回で論じられるのは、正式なリリースがいつごろになるのか、新しいリリースの全体的な機能はどんなものになると予想されるか、メインのハードウェア機能に対する拡張機能という観点から何が期待できるのか、といった点です。
    2000/08/01  
 
一般的なスレッド: POSIX スレッドの説明: 第2回
POSIX スレッドは、コードの応答性とパフォーマンスを向上させる優れた方法です。3 回シリーズの第 2 回である今回の記事では、mutex というちょっとした優れた手段により、スレッド化されたコードの整合性を保つ方法について、Daniel Robbins が説明します。
    2000/08/01  
 
共通のスレッド: POSIX スレッドの説明
POSIX (Portable Operating System Interface) のスレッドは、コードの応答性とパフォーマンスを向上させる優れた手段です。本稿では、コードでスレッドを使用する方法を説明します。詳細な背景情報が多数網羅されているため、このシリーズの終わりまでには、独自のマルチスレッド・プログラムを作成する準備が整っていることでしょう。
    2000/07/01  
 
魔法のsys要求
カーネルやデバイス・ドライバーの開発に携わっている読者、またはカーネル・パニックを引き起こしかねないコードをマシンで実行する必要のある読者にとって、役立つヒントを教えましょう。
    2000/04/01  
 
インタビュー: Linusの新任の副官
Marcelo Tosatti氏はどんな経歴の持ち主なのか、2.4でどんなことを計画しているのか。Linuxカーネルの管理者としての喜び、恐れ、挑戦、報いについて、また、好みのハック(hack)についても語ってくれました。
    2000/03/01  
 
 タイトル  54    概要の非表示    
 
お探しの記事は見つかりませんでしたか? コンテンツを提案する