アプリ版:「スタンプのみでお礼する」機能のリリースについて

私は大学生です。大学の授業科目でOS(オペレーティングシステム)という授業があって、今困っています。もしよかったら、見ていただけるとありがたいです。

「マルチスレッドプログラミングにはどのようなものがあるか調査し、簡単なプログラムを作成してみる。」という問いです。
 自分で調べたら、SOCKET(ソケット)プログラミングがマルチスレッドにおおいに関わっているとわかりましたが、プログラムができそうにないです。教えていたただけますか?

A 回答 (3件)

すみません。



ANo.#2 にて fork() を紹介してますが、これは「マルチプロセスプログラミング」の方です。紹介した URL には詳しく説明があるので、そちらを参考にしてください。

参考URL:http://www.ncad.co.jp/~komata/c-kouza28.htm
    • good
    • 0
この回答へのお礼

返事が遅れてスイマセン。
紹介してもらったURLを参考に頑張ってみます。

お礼日時:2004/08/18 22:20

環境が分からないので、



■ C 言語
fork() を使った例をされるのが一番よろしいかと
http://www.ncad.co.jp/~komata/c-kouza28.htm
あたりを参考にしてください。

■ Ruby 言語
http://www.ruby-lang.org/ja/man/index.cgi?cmd=vi …
あたりを参考に

■ VC++ 言語
http://www.microsoft.com/japan/msdn/library/defa …
あたりですが、やや難解ですね(汗)

----
> 自分で調べたら、SOCKET(ソケット)プログラミングがマルチスレッドにおおいに関わっているとわかりましたが

その通りです。よく調べられていると思います。
が、プログラムするには難しいテーマですね。
マルチスレッドというと、他には、デーモン(サーバプログラムのように常駐するプログラム)もありますね。
待機するプログラムは、マルチスレッドプログラムされている可能性が高いです。
    • good
    • 0
この回答へのお礼

ありがとうございます、参考に勉強させていただきます。

マルチスレッドプログラミングの調査以外にも、プロセス間通信でturnやflagといったDekkerのアルゴリズムを使って、排他制御をを行うといった問題もありました。それは、できったんですけどねぇ…。でも頑張ってみます。

環境は詳しくわかりませんが、OSはSolarisです。

お礼日時:2004/08/18 22:29

その問いは、その一文だけで、ヒント・指針・参考文献等の提示は全くなかったのでしょうか。

だとしたら、一介の大学生に出す問いとしてはあんまりですね。
そもそも、プログラミング言語の授業ならともかく、OSのお勉強をするのにいきなりプログラムを書かせるのもどうかと思いますがね。

ソケットのプログラムは、ちょっと『簡単なプログラム』とは言い難いと思います。あなたがソケットに関心を抱いたのであれば是非挑戦していただきたいですが、そうでなければソケットを題材にするのはやめておきましょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。

これっといったヒントはありませんでした。ただ、授業でマルチスレッドの解説や簡単なプログラムの例を示してくれましたけど、ソケットプログラムは紹介してくれませんでした。ちょっと、無理難題ですよね!!

でも、やれるだけのことはやってみます!

お礼日時:2004/08/18 22:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!