5つの基本的なIOモデル

入力/出力プロセスIO IO準備してデータをコピーするイベントを待ちます 特徴、長所と短所
IOをブロック カーネルデータの準備ができる前に、システムコールが待っています。 すべてのソケットは、デフォルトでは、道をブロックしています。
IOをノンブロッキング カーネルがまだされていない場合はデータが準備され、システムコールが直接エラーを返します。 プログラマは決意IOイベントを繰り返す必要があり、準備ができているCPUの消費量が比較的深刻である上。
IO駆動信号 Core Dataは、準備ができているSIGIO信号がアプリケーションプログラムIO操作を通知します。 オペレーティングシステムのIO操作は、アプリケーションを合図しました
非同期IO カーネル内のデータコピーの完了をアプリケーションに通知します。 データのコピーは、システム、待ち時間なしで行われます。

1. I / Oモデルのブロッキング
払い戻しを買うために三日までのチケット、行を購入する鉄道駅に町の話を。
コスト:1が他のことをしませんでした、3日間でラザードの睡眠を食べて、飲んで停止します。

2. I / Oモデルノンブロッキング
チケットを購入する鉄道駅の町の話を、鉄道駅への12時間ごとにチケットを買うために3日後、返金かどうかを尋ねました。
費用:往復ステーション6回、道路上の6時間、他のことをする時間がたくさん。

3.I / Oの多重化モデル
1.select/pollの
駅に町の話は、3日以内にチケットを購入し、その後、すべての6時間の電話問い合わせ牛、牛の牛の委託チケットを購入した後、チケットを支払うため、鉄道駅に町の話をします。
コスト:道路上の往復ステーション2、2時間、牛料金$ 100 17回呼び出す
2.epoll
牛の委託により、チケットを買うために駅まで町の話では、牛はその後、町の話を行く、ピックアップして通知した後、町の話を買います駅のチケットを取得するために支払います。
コールすることなく道路上の往復ステーション2、2時間、牛料$ 100:コスト

4. I / Oモデル駆動信号
チケットを買うために駅まで町の話は、お使いの携帯電話を残すための導体は、投票後、導体はその後、チケットの支払いに鉄道駅に町の話、彼の電話を聞きます。
費用:往復ステーション2、道路上の2つの時間は、コールすることなく、100元の牛のないコスト

5.非同期I / Oモデルの
チケットを購入する鉄道駅の町の話、お使いの携帯電話を残すための導体は、投票後、導体は、彼の電話や速達宅配を聞きます。
コスト:1と駅から、道路上の1時間は、何の電話を100元牛フリーの費用はかかりません

中にI / Oストリームならば、我々は、I / Oストリームを処理するためのプロセスを開始します。今、私はそこにあると仮定し、今百万I / O、そして我々は(の伝統的な意味であり、これらのI / Oストリームに対処するために百万1つの対応プロセス有効にする必要がでストリーミングマルチプロセスの並行処理を)。約百万のプロセス、CPU使用率が高くなると思う、実装は非常に無理があります。したがって、提案されたI / O多重モデルがあった、スレッドは、I / Oの複数を管理するI / Oストリームの状態を記録することによって、サーバのスループット能力を増大させることができます。

おすすめ

転載: blog.csdn.net/Vickers_xiaowei/article/details/92828855