comparison paper/anatofuz-sigos.md @ 34:ff9dec2d1c1a

...
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Tue, 05 May 2020 15:06:56 +0900
parents 6b10bb9e4f45
children c2ba9cdb4916
comparison
equal deleted inserted replaced
33:6b10bb9e4f45 34:ff9dec2d1c1a
147 147
148 この実装の利点として、 CodeGearの命名と状態が対応しており、 状態遷移図などに落としても自然言語で説明が可能となる点が挙げられる。 148 この実装の利点として、 CodeGearの命名と状態が対応しており、 状態遷移図などに落としても自然言語で説明が可能となる点が挙げられる。
149 しかし実際には`cbc_readi`の状態はさらに複数のCodeGearに分離しており、 実際に`read`システムコールを実装するCodeGearの数は図の状態より多い。 149 しかし実際には`cbc_readi`の状態はさらに複数のCodeGearに分離しており、 実際に`read`システムコールを実装するCodeGearの数は図の状態より多い。
150 この事から、 複数のCodeGearを1つにまとめた上で見た状態と、 各CodeGearそれぞれの状態の2種類の状態があるといえる。 150 この事から、 複数のCodeGearを1つにまとめた上で見た状態と、 各CodeGearそれぞれの状態の2種類の状態があるといえる。
151 151
152 信頼性を向上させる観点から見ると、 複数のCodeGearをまとめた状態は実装した関数を組み合せてアルゴリズムに問題が無いかの確認として使用出来る。 152 複数のCodeGearをまとめた状態は、 抽象化したAPIの操作時におけるアルゴリズム上の問題が無いかの確認として使用出来る。
153 対して各CodeGearそれぞれはモデル検査や、 特定の関数の中の処理が適しているかどうかの検査として見ることが出来ると考えられる。 153 対して各CodeGearそれぞれはモデル検査や、 特定の関数の中の処理が適しているかどうかの検査として見ることが出来ると考えられる。
154 154
155 この事からGearsOSでは、 各CodeGearのモジュール化の仕組みであるInterface機能を導入している。 155 この事からGearsOSでは、 各CodeGearのモジュール化の仕組みであるInterface機能を導入している。
156 Interfaceの導入によってCodeGearを定義することで状態数を増やしても、 抽象化されたAPIを利用することで細部の状態まで意識する必要が無くなった。 156 Interfaceの導入によってCodeGearを定義することで状態数を増やしても、 抽象化されたAPIを利用することで細部の状態まで意識する必要が無くなった。
157 xv6の処理をCbCで再実装する際には、 対象の継続のAPIをまず決定しモジュール化を図る必要がある。 157 xv6の処理をCbCで再実装する際には、 対象の継続のAPIをまず決定しモジュール化を図る必要がある。