space

Linuxカーネル2.6の概要

 カーネル2.6の際立った特徴は次のようなものです.


マルチプロセッサ・システム対応の強化


 カーネル2.6ではCPUが32個でも問題なく動作するそうです.


マルチスレッド対応の強化


 後述しますが,pthread_mutex_lockやpthread_mutex _unlockの処理を効率良く行うことができます.

 スレッドをスリープさせる場合,実アドレスが刻々と変化します.ほかの処理が進むにつれて,ページングなどで変わってしまうからです.その実アドレスと,仮想アドレスの変換を行う関数が充実しました.「futexシステム・コール」と呼ばれるものです.この機能でスレッドの同期実時間が減少し,スレッドを用いたアプリケーションの性能が良くなるはずです.

ネットワーク処理の効率が上がった


ファイルI/Oの効率化


 複数のバッファへの読み書きを行うreadv/writevのコードが更新され,効率の良い処理ができるようになりました.

メモリ管理の効率化


対応するアーキテクチャの見直し


ACPIによる電源管理


対応デバイスの追加


ファイル・システムの機能追加


 POSIX ACLがサポートされることになりました.これは Windowsにおけるアクセス制御に似ています.

ネットワーク・ファイル・システムの機能追加


LVMの強化


IPv6を実装するなどTCP/IP関連機能の強化


 従来はUSAGIプロジェクトで作成されたカーネルでIPv6を実装してきましたが,オリジナルのカーネルで対応できるようになりました.

カーネル・レベル・プリエンプションの強化


 この機能によって反応速度が速くなります.結果としてマルチスレッドが効果的に実行できます.

 CPUを利用する際のスケジューリングが効果的に行えるため,根本的な処理速度の改善が可能になるはずです.


NEW記事内インデックス    連載インデックスはこちら   Interfaceのトップ
GCCにおけるマルチスレッドへの対応
◆Linuxカーネル2.6の概要
HTテクノロジの概要
GCCを使ったマルチスレッド・プログラミングの基本
リスト
図2 test200.log

Copyright 2004 岸 哲夫

Copyright 1997-2004 CQ Publishing Co.,Ltd.