Nobita/004.MessageをLinux環境でエミュレート


Top / Nobita / 004.MessageをLinux環境でエミュレート

準備編

 RamFSを導入予定のMonaのfile_server(FSをつかさどる親玉)ですが、こいつがLinuxで動いたら、RamFSの追加とかテストとか開発が楽になると思いつきました。
 	
 Monaでは、コンポーネントは「まずはWindows上やLinux上で開発・動作確認、移植」というの独特の文化があって、これが開発効率を上げていたりとか、コンポーネントのMona依存部をできるだけ少なくしています。
 	
 今回は、MonaのコアともいえるサーバーをほかのOS上で動かしてみようとたくらむ。
 	
 サーバーがMona依存をしている部分はMonaの構造の肝であるMessage APIと共有メモリの部分なんですが、今日調べた限りではSystem V IPCを使えば、MonaのMessage APIを完全にエミュレートできそうです。
 	
 ちょっと寄り道だけど楽しくなってきたなぁ。

pidとプロセス名の組を得る

thx. Yasさん

ipc

 <sys/ipc.h>を利用してMessageエミュレートの準備とか。
 	
 全然関係ないけど会社でインスタンス変数をグローバル変数的に使うのはほげほげとかいう話があったね。
 	
 更に関係ないけどSICPを読んでいると自分の頭の回転の鈍さにびっくりする。
 	
 あとは脳内にたまったバッドノウハウとかノウハウをぜんぜんアウトプットしてないことに気づく。
 	
 言語化するのが面倒。
 	
 msggetでキューを作成。
 	
 msgsndで送信。
 	
 msgrcvで受信。
 	
 msgctlに引数で指定してキューの破棄。
 	
 ほとんどMonaのメッセージ機構を同じ。
 	
 良い点は、メッセージサイズを動的に変えられるところ。(引数で指定できる)
 	
 でもこれは受信側でもサイズを事前に知っていることが必要なので微妙かなぁ。
 	
 あとサイズが動的だとコピーでペナルティが多少あるかな?(構造体のコピーですまないから)

Message.cppがLinuxでビルドできた

今までのコード

subversionに追加しました http://svn.sourceforge.net/viewcvs.cgi/monaos/trunk/experimental/file_server_for_linux/

コメント

コメントはありません。 コメント/Nobita/004.MessageをLinux環境でエミュレート?

お名前:

MENU

now: 3

リンク


最新の20件
2018-05-03 2017-09-29 2017-04-25 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-06-05 2016-05-29 2016-04-15 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 2357, today: 1, yesterday: 0

添付ファイル: filefile_server-0.0.1.tar.gz 476件 [詳細] filemy_ps-0.0.1.tar.gz 487件 [詳細]

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2008-03-28 (金) 15:47:55 (3738d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.046 sec.