オペレーティングシステム2

情報工学科 3年生対象 専門科目
システムプログラミング
第12回
システムプログラミング
反復サーバと並行サーバ
担当:青木義満
[email protected]
1
クライアントサーバシステム
• クライアントとサーバ
– 複数のプロセスがプロセス間通信機能を使って処理
を進める
– サービスの処理要求を出す側:クライアントプロセス
– サービスの処理提供する側:サーバプロセス
2
クライアント・サーバシステム
3
サーバの運用形態
• 反復サーバ
– サーバプロセス自身が順次クライアントの要求を
処理するサーバ形態
4
サーバの運用形態
• 並行サーバ
– サーバプロセスが複数の子プロセスを生成し,並
行して処理を行うサーバ形態
5
演習1. 反復サーバの実現
• 複数クライアントの処理要求を逐次処理するサーバ
「反復サーバ」を実現
• クライアント(inet_client_cat.c)
– サーバのホスト名を指定
– サーバにあるファイル名を入力
– ファイルの内容をサーバから受信して表示(cat機能)
• サーバ(interactive_server.c)
– クライアントの処理要求に応じて、子プロセスを生成
して逐次処理
6
演習2. 並行サーバの実現
• 複数クライアントの処理要求を複数の子プロセスによって並列
処理する「並行サーバ」の実現
• クライアント(inet_client_cat.c)
– サーバのホスト名を指定
– サーバにあるファイル名を入力
– ファイルの内容をサーバから受信して表示(cat機能)
• サーバ(concurrent_server.c)
– クライアントの処理要求に応じて、子プロセスを生成して並列処理
※反復サーバとの違いを意識すること!
7
今後の講義予定
• 年明けスケジュール
– 1/8(火):休講(台北出張)
– 1/15(火):最後の授業、まとめと試験情報
– 1/22(火):期末試験
8