TEDIA会員に登録したメールアドレスとパスワードを入力してください

メールアドレス:

     パスワード:


パスワードを忘れた方はパスワードの確認を行ってください。

TEDIA会員へのご登録がお済みで無い方はこちらで登録ができます


>> テクノロジーポータル TEDIA トップページへ戻る <<

Think IT Software Developer's Think IT Find-IT 失敗しないソフト選び Find-IT TEDIA テクノロジーポータル TEDIA インストールマニアックス2008 インストールマニアックス2008

TEDIA SponsorsOpen Source Web Development Tutorials - Dev Shed

Linux I/Oファイルのシステムコール
(2009/03/03公開)

高度なファイルI/O

 Linux I/Oファイルのシステムコールに関する理解をさらに深めたいと考えている皆さん、本連載を最後まで読んでください。全7回の本シリーズは、ロバート・ラブ著『Linux System Programming: Talking Directly to the Kernel and C Library(Linuxシステム・プログラミング-カーネルおよびCライブラリへ直接話しかける:仮題)』の第4章から抜粋して、システムコールから性能考察までのすべてを解説します。(原著はオライリーより2007年に出版、ISBN: 0596009585(Copyright 2007 O'Reilly Media, Inc.))禁無断転載。出版社の許可を得て使用しています。書店あるいはオライリーメディアから直接購入できます。

 第2章では、Linuxの基本的なI/Oシステムコールを取り上げました。これらのコールは、ファイルI/Oだけでなく、実質的にLinuxでのすべてのコミュニケーションの基盤を成すものです。第3章では、多くの場合、基本的なI/Oシステムコールに加えてユーザースペースのバッファリングが必要な点を指摘し、特に、ユーザースペースのバッファリングソリューションとしてC標準I/Oライブラリを学習しました。本章では、Linuxが提供する高度なI/Oシステムコールを考察していきましょう。

スキャタ/ギャザー(Scatter/gather) I/O

 1つのコールで、一度に、複数のバッファに対するデータの読み出しや書き込みを行えます。異なるデータ構造のフィールドを1つのI/Oトランザクションにまとめるときに利用します。

Eポーリング(Epoll)

 第2章で解説したpoll()とselect()を向上したシステムコールです。百単位のファイル記述子を1つのプログラムにポーリングするときに利用します。

メモリマップド(Memory-mapped)I/O

 ファイルをメモリーにマッピングして、シンプルなメモリー操作によるファイルI/Oを可能にします。特定のパターンのI/Oに利用します。

ファイルアドバイス(File advice)

 カーネルに対して、使用シナリオに関する手掛かりを与えます。I/O性能の向上につながる可能性があります。

非同期(Asynchronous)I/O

 I/O要求の完了を待たずに、I/O要求を出すことができます。スレッドを使わずに大量のI/O作業負荷をこなすときに利用します。

 章の最後では、性能考察とカーネルのI /Oサブシステムを論じます。


1    2    3    4    次のページ

Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.