# HG changeset patch # User autobackup # Date 1630422603 -32400 # Node ID 2fcd083f5441b41f3deae6e8d0ea2ee6ace889b4 # Parent 0c1b2bf65440eaedbc91c1eb560e0a6818314318 backup 2021-09-01 diff -r 0c1b2bf65440 -r 2fcd083f5441 trash/use/Itsuki/notes/8-31.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/trash/use/Itsuki/notes/8-31.md Wed Sep 01 00:10:03 2021 +0900 @@ -0,0 +1,1 @@ +s \ No newline at end of file diff -r 0c1b2bf65440 -r 2fcd083f5441 use/Itsuki/notes/8-31.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/use/Itsuki/notes/8-31.md Wed Sep 01 00:10:03 2021 +0900 @@ -0,0 +1,1 @@ +redirect /trash/use/Itsuki/notes/8-31 \ No newline at end of file diff -r 0c1b2bf65440 -r 2fcd083f5441 user/Itsuki/2021/8-31.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/user/Itsuki/2021/8-31.md Wed Sep 01 00:10:03 2021 +0900 @@ -0,0 +1,29 @@ +# 進捗報告 +## 研究目的 +- 当研究室ではOSの信頼性の検証に重きを置いた、GearsOSを開発している。 + - GearsOSはノーマルレベルとメタレベルを分離して記述が行えるCの拡張言語CbC(Continuation based C)で構成されている。 +- GearsOSは現在開発途上であり、OSとして実際に機能するために開発しなくてはならない機能が残っている。 +- 未実装の機能の一つとしてファイルシステムが挙げられる。 + - 当研究室では、CbCとは異なるGearという概念を用いて分散処理を記述することができる分散フレームワークChristieを開発している。 + - GearsOSのファイルシステムをChristieと同様の仕組みを用いて実装したい。 + - そのためにjavaで構成されているChristieをCbCで構成し直していく。 +- GearsOSのファイルシステムは現在使われているOSの問題点を改良した形で構成したい + - 書き足していく + + + +## 進捗内容 +- 内定を1社からいただきました。一旦は安心。 + - お騒がせしました。 + - 9月中はある程度続ける予定。 + +- rbtree+SynchronizedQueueに挑戦中 + - とりあえずrbtree_testのvalueをIntegerから付け替えてみる。 + - nodeのvalueはinterfaceを指定できる + - SynchronizedQueueのinterfaceであるQueueに置き換えた。 + - 今のところエラーは出てない様子。 + - いずれはnew記述に書き換える。 + - また、stubを直書きしているので最新の書き方にしたい。 + - (気付き)SychronizedQueueはCMakeListに書く際にはAtomicReference.cbcも一緒に追加する必要がある。 + - エラーが教えてくれる。 + \ No newline at end of file diff -r 0c1b2bf65440 -r 2fcd083f5441 user/masato/メモ/2021/08/31.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/user/masato/メモ/2021/08/31.md Wed Sep 01 00:10:03 2021 +0900 @@ -0,0 +1,15 @@ +# 研究目的 +近年、計算資源の増加やゲームコンテンツの高品質化によりゲーム音響への関心が高まっている。 + +これからVRがさらに発展するならば、没入感を増幅させる要素として音響の重要性がさらに増す。 + +本研究ではレイトレースを主とした手法を用いて、動的な環境に対応したサウンドシステムを構築する。 + +# 活動報告 +Open-ALを用いてシステムを構築しようとしていたが、さらに調べてみるとUnity Native Audio Pluginと呼ばれるUnityが用意しているSDKがあった。 + +Steamが開発したSteam AudioなどもおそらくこのSDKを利用している。 +Unityではインポートしたファイルに直接アクセスできないのでOpen-ALからオーディオファイルを読み込むのは難しくなってしまう。そのため、こちらのSDKを利用した方がいい気がする。 + +就活に目処がついたのでENDER LILIESとSCARET NEXUSをプレイした。 +SCART NEXUSはマジで面白かったのでみんなやろう! \ No newline at end of file diff -r 0c1b2bf65440 -r 2fcd083f5441 user/pine/note/2021/08/31.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/user/pine/note/2021/08/31.md Wed Sep 01 00:10:03 2021 +0900 @@ -0,0 +1,82 @@ +# 研究目的 +- アプリケーションの信頼性を保証するために、アプリケーションが動作するOSの信頼性を高める必要がある。 + +- 本研究室では、Continuation Based C(CbC)を用いて、信頼性と拡張性を両立するOSであるGearsOSを開発している。 + +- ソフトウェア開発においてエラー・バグは付き物であり、その発見が重要である。現在GearsOSにはデバッガーが未実装であるため、円滑なOS開発を行うために、GearsOSのデバッガーを作成する。 + +## やったこと +- 論文読みつつGearsOSのコードリーディング + +- DataGearの表示 + +## 作業ログ +DataGearを表示するCodeGearとして、printDataGearを作成。 + +とりあえずDataGearの中でもPhilsだけを出力してみた。 + +``` +__code printDataGear() { + printf("context address: %p\n", context); + printf("DataGear address in context: %p\n", context->data); + printf("print Phils in DataGear\n"); + printf("phils = %p\n", context->data[1]->Phils.phils); + printf("putdown_lfork = %i\n", context->data[1]->Phils.putdown_lfork); + printf("putdown_rfork = %i\n", context->data[1]->Phils.putdown_rfork); + printf("thinking = %i\n", context->data[1]->Phils.thinking); + printf("pickup_rfork = %i\n", context->data[1]->Phils.pickup_rfork); + printf("pickup_lfork = %i\n", context->data[1]->Phils.pickup_lfork); + printf("eating = %i\n", context->data[1]->Phils.eating); + printf("next CodeGear = %i\n", context->data[1]->Phils.next); + printf("-------------------------------\n\n"); + goto meta(context, context->next); +} +``` + +このprintDataGearをMCWorker.cbc内のmcMetaの実行後の遷移先として指定して実行してみた。 + +mcMetaの最後の部分 +``` + // printf("depth %d count %d\n", depth, count++); + mcWorker->parent = out; + mcWorker->count++; + mcWorker->mcContext = context; + // goto meta(context, context->next); + goto printDataGear(context); +} +``` + +出力結果が以下のような感じ +``` +4: phickup_rfork +ffffffff ffffffff 02000000 03000000 ffffffff 47000000 47000000 01000000 01000000 01000000 flag 0 0x7fb726c108d0 -> 0x7fb726c0fde0 hash ea6a009c iter 5 +context address: 0x7fb9b0504120 +DataGear address in context: 0x7fb5e6c00000 +print Phils in DataGear +phils = 0x0 +putdown_lfork = 0 +putdown_rfork = 0 +thinking = 0 +pickup_rfork = 0 +pickup_lfork = 0 +eating = 0 +next CodeGear = 0 +``` + + +## 疑問点 + +- 現状、DataGearをprintfするために型などを直接書いて出力している。 + - それだとDataGearが多い場合や、他の例題に対応できないと考えてる。 + - DataGearを定義してるcontext.hから参照できたりする? +- 出力結果は出たが、0x0だったり、0が出てしまうのでちゃんとDataGearを出力できてなさそう。 + + +## やること +- 論文読み&コードリーディング +- DataGearの表示機能の作成 +- CodeGearの表示機能の作成 + +## その他 +- 夏休み前半遊んでいて全然研究してなかった。。。 + - やっと本腰を入れ始めた