I/O / ブロッキングI/O / ノンブロッキングI/O / 同期I/O / 非同期I/O / I/Oの多重化

サーバ

I/Oとは?

 状態:-  閲覧数:1,613  投稿日:2009-07-10  更新日:2017-07-30  
Input/Output
・「入出力」の略

入力(input)
・「機器」や「システム」などに、外部から「データ」や「信号」を入力すること

出力(output)
・「機器」や「システム」などから、外部へ「データ」や「信号」を出力すること

ブロッキングI/O

 閲覧数:213 投稿日:2016-11-28 更新日:2016-11-28 

ブロッキングI/Oとは?


データ処理が完了するまで待つ
・一つのクライアントとしか通信できない


ノンブロッキングI/O

 閲覧数:229 投稿日:2016-11-28 更新日:2016-11-28 

ノンブロッキングI/Oとは?


データ処理の完了を待たずに他の処理を行う

処理がすぐできない時
・エラーを返し、ブロック状態にさせない

同期I/O(Syncronous I/O)

 閲覧数:211 投稿日:2016-11-28 更新日:2016-11-28 

同期I/Oとは?


データ処理の入出力が可能になった時点で通知

1台のクライアントからのアクセスだけでプロセスが専有されてしまう
・複数のクライアントへのレスポンスを返すことができない

非同期I/O(Asyncronous I/O)

 閲覧数:238 投稿日:2016-11-28 更新日:2016-11-28 

非同期I/Oとは?


I/O処理が完了したタイミングで通知するI/Oモデル

処理がすぐできない時
・処理が完了するまでバックグラウンドで待機
・終了したタイミングで通知を返す方式

通知
・シグナルもしくはコールバックによって行われる

通知があるまでは
・アプリケーション側で他の処理を進めることができる

ネットワークI/Oの多重化(I/O Multiplexing)

 閲覧数:247 投稿日:2016-11-28 更新日:2016-11-28 

ネットワークI/Oの多重化とは?


1プロセス1スレッドで複数のネットワーク接続を同時に捌 く
・poll()、select()、epollシステムコールを利用して、複数のファイルディスクリプタを1つのプロセスで管理する

I/Oでブロッキングが発生すると
・一つのクライアントとしか通信できない
・これを解決するための手段の一つ


バーチャルホスト

コメント投稿(ログインが必要)



週間人気ページランキング / 6-26 → 7-2
順位 ページタイトル抜粋 アクセス数
1 ベクトル | 数学 | プログラミング用語 268
1 curl | HTTPクライアント(ネットワーク) | プログラミング用語 268
2 ルーター | ネットワーク | プログラミング用語 267
3 Flash Video | コンテナフォーマット | プログラミング用語 265
4 正規表現 | プログラミング | プログラミング用語 261
5 デーモン | Linux | プログラミング用語 258
6 ユースケース | 開発 | プログラミング用語 237
7 チェックアウト | バージョン管理システム(開発) | プログラミング用語 158
8 YouTube | API | プログラミング用語 128
9 Linux | プログラミング用語 45
10 PowerShell | スクリプト | プログラミング用語 44
11 可搬性 | プログラミング | プログラミング用語 33
12 クローラ | 検索エンジン | プログラミング用語 25
13 Subversion | バージョン管理システム(開発) | プログラミング用語 23
14 アンチパターン | プログラミング | プログラミング用語 11
15 プログラミング用語 9
16 deflate | ネットワーク | プログラミング用語 8
17 Nginx / Nginxとは?/ Apacheとの違い | プログラミング用語 6
17 YouTubeに掲載されている動画を、ユーザーが作成したWebサービス上で再生する方法 | プログラミング用語 6
17 WebLogic | アプリケーションサーバ(サーバ) | プログラミング用語 6
2022/7/3 1:01 更新