# HG changeset patch # User autobackup # Date 1621955403 -32400 # Node ID a4f167def66b2568c731d21fa2ec41934d82da48 # Parent 9e6952aef1e6f32f704d2081337f95da2acea31c backup 2021-05-26 diff -r 9e6952aef1e6 -r a4f167def66b user/Itsuki/sigos2021.md --- a/user/Itsuki/sigos2021.md Tue May 25 00:10:04 2021 +0900 +++ b/user/Itsuki/sigos2021.md Wed May 26 00:10:03 2021 +0900 @@ -16,6 +16,33 @@ - 分散フレームワークChristieの構成をもとにGearsファイルシステムを構築する。 - ファイルシステムの通信機構としてChristieが持つTopologyManagerという機能を使いたい。 +## 従来のファイルシステムの問題点 +- 総括的なファイルシステムAPIをTransactionとして提供していない。 + - 個別のファイルをロックする仕組み。 + - ディレクトリの名前の置き換えをトランザクションとして扱う。 +- ファイルの型がないという問題 + - 現状アプリケーションがファイルの処理を決めている? + - OS自体がファイルの型を区分し、認識する必要性。 +- DBでない +- 型 +- 名前がデータベースのkeyになっていない + - uuidな名前を +- ファイル単位 +- 分散 + - ファイルの位置、いろいろなところに +- 重複度 + - 安全性、散らばったファイルは消せなくなる + - 散らばったファイルを消したい +- リカバリ + - バックアップ、 +- 暗号化 +- 署名 + - 二重鍵、相互にエンコードデコードできる、ファイルを作成した人の判定、 + - 公開鍵からエンコードして秘密鍵を持っている人だけが読めるように + - ファイルシステム自体にこの仕組みがない、メタデータで署名を持つ, + - macOSは独自で持っている + - ファイル全体を署名するのはおかしい + - 鍵の管理もOSがしたい ## GearsOS概要 - アプリケーションを動かすOSには高い信頼性が保証されている必要がある。 - OSの処理やコードの量は膨大であり、テストコードを用いた信頼性の保証は困難であると言える。 @@ -34,7 +61,7 @@ -## Gearの概念 +## Gearsの概念 - CodeGearはDataGearと呼ばれる変数データを入力として受け取り、その結果を別のDataGear に書き込む. - CodeGearは従来のプログラムやスレッド、DataGearは変数データにあたる。 - 入力のDataGearをInputDataGear、出力されるDataGearをOutputDataGearと呼ぶ。 @@ -121,7 +148,7 @@ - LocalDGMとRemoteDGMの二種類存在する。(後述) -## DataGearのアノテーション +## DataGearのアノテーション 消す - DGを取り出す際にはCG内で宣言した変数にアノテーションをつける。 - DGアノテーションにはTake、Peek、TakeFrom、PeekFrom、の4つがある。 - Take @@ -133,7 +160,7 @@ - PeekFrom - Remote DGM nameを指定することで、その接続先のDGM からPeek操作をおこえる。 -## Christieのコード例 +## Christieのコード例 消し - Christieを用いてHelloWorldを記述した際のコードが以下となる。 ``` public class StartHelloWorld extends StartCodeGear { @@ -162,7 +189,7 @@ ``` -#### LocalDGMとRemoteDGM +## LocalDGMとRemoteDGM - DGMにはLocalDGMとRemoteDGMが存在する。 - LocalDGMは各ノード固有のデータプールである。 - RemoteDGMは他ノードのLocalDGMに対応するプールであり、接続しているノードの数だけ存在する。 @@ -251,7 +278,7 @@ - 接続とDGMの内容のパターンが確定すればその範囲でプログラムは関数型プログラミングとして振る舞い、HoareLogicなどで検証が行える。 - 証明が複雑な場合でも, DG のパターンをメタ計算で調べるなどの手法を用いることができる. -## 比較 +## 比較 自分の理解した感じで、箇条書きに - UNIX FileSystem は API的には File Stream と Socket Stream は Read-Writeでアクセスするがその設定はプログラム内部で煩雑な処理が必要となる。 - GearsOSではこの部分をTopologyManagerが担うため簡潔に行える。 - UNIXではStreamに型がないので不完全なデータが生じてしまう。また、UNIXファイルシステムにはfsckと呼ばれる修復機能があるが、メモリに対する修復機能は存在しない。 diff -r 9e6952aef1e6 -r a4f167def66b user/pine/note/2021/05/25.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/user/pine/note/2021/05/25.md Wed May 26 00:10:03 2021 +0900 @@ -0,0 +1,20 @@ +# 研究目的 +- アプリケーションの信頼性を保証するために、アプリケーションが動作するOSの信頼性を高める必要がある。 + +- 本研究室では、Continuation Based C(CbC)を用いて、信頼性と拡張性を両立するOSであるGearsOSを開発している。 + +- ソフトウェア開発においてエラー・バグは付き物であり、その発見が重要である。現在GearsOSにはデバッガーが未実装であるため、円滑なOS開発を行うために、GearsOSのデバッガーを作成する。 + +## やったこと +- CbCの環境構築 + - localではうまく行かなかったのでsingularityで動かした。 +- 内定先のオフィスを見てきた(オンライン) + +## やること +- 論文読み +- Gearsを動かす + +## その他 +- Airpodsが壊れたっぽい +- スルメを食べた後からアゴが痛い +- 近々内定者懇親会があるらしい \ No newline at end of file diff -r 9e6952aef1e6 -r a4f167def66b user/riono210/sigos2021.md --- a/user/riono210/sigos2021.md Tue May 25 00:10:04 2021 +0900 +++ b/user/riono210/sigos2021.md Wed May 26 00:10:03 2021 +0900 @@ -77,6 +77,25 @@ --- +### Topology Manager +* 静的Topology は以下のようなdot ファイルを与えることでNode の関係を構築できる +* それぞれのNode への通信にはIP address などは使用せずright というlabel を使用することで接続できる + +```ring.dot +digraph test { + node0 -> node1 [label="right"] + node1 -> node2 [label="right"] + node2 -> node0 [label="right"] +} +``` + +