comparison paper/anatofuz-sigos.tex @ 44:698ba8f724d3

update
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Thu, 07 May 2020 11:05:55 +0900
parents b0757b4dbbe4
children 4cecdfd6b237
comparison
equal deleted inserted replaced
43:b0757b4dbbe4 44:698ba8f724d3
408 408
409 contextは現在プロセス構造体に埋め込まれており、 kernelそのものの状態を制御するためには各contextを管理する機能が必要であると考えられる。 409 contextは現在プロセス構造体に埋め込まれており、 kernelそのものの状態を制御するためには各contextを管理する機能が必要であると考えられる。
410 contextを管理する方法として、 各context間でメッセージなどをやりとりする方法や、 cotnextを主軸にして割り込みなどの処理を再検討するものがある。 410 contextを管理する方法として、 各context間でメッセージなどをやりとりする方法や、 cotnextを主軸にして割り込みなどの処理を再検討するものがある。
411 他にはkernelそのもののcontextを定義し、 kernel全体の状態とプロセスの状態をそれぞれ別のcotnextで処理をするというのも検討している。 411 他にはkernelそのもののcontextを定義し、 kernel全体の状態とプロセスの状態をそれぞれ別のcotnextで処理をするというのも検討している。
412 412
413 現状はxv6の全ての機能をまだCbCを用いて再実装をしていない。
414 ファイルシステムや仮想メモリにまつわる処理などはAPI単位では再実装しているが、 APIを呼び出す箇所はCの関数上で部分的に呼び出している。
415 そのためにOSそのものを状態遷移単位で完全に書き直す必要が存在し、 そのためには全ての処理に対して状態を定義していく必要がある。
416 xv6にはアセンブラで記述されている処理も複数存在するため、 CodeGrarの表現においてこのような処理の扱いも決定する必要がある。
417
418 またOS上でDataGearとCodeGearの位置づけを明確に定義する必要も存在する。
419 現在は関数を分割した状態としてCodeGearを定義している。
420 DataGearの依存関係やCodeGearの並列実行など、 プロセスベースで実装していた処理をCodeGearなどで意味がある形式にする必要がある。
421
422 またxv6にはユーザーコマンドも存在しているために、 ユーザーコマンド向けのCbCのAPIなども考慮したい。
423
413 \section{まとめ} 424 \section{まとめ}
414 425
415 本稿ではxv6を継続を用いた単位での再実装を検討し、 実際にいくつかの処理を再実装した。 426 本稿ではxv6を継続を用いた単位での再実装を検討し、 実際にいくつかの処理を再実装した。
416 現状はまだxv6の完全な再実装や、 実装を利用したxv6の証明は行っていないので今後は証明を行いたい。 427 現状はまだxv6の実装を利用した証明は行っていない。
428 今後はモデル検査などを行い、 OSの信頼性を向上させていきたい。
417 それに伴って、 xv6自体にモデル検査機能の組み込みなども行っていく。 429 それに伴って、 xv6自体にモデル検査機能の組み込みなども行っていく。
418 またAgdaなどの定理証明支援系で証明された処理から、 CbCのCodeGearに変換する処理系の実装なども検討する。 430 またAgdaなどの定理証明支援系で証明された処理から、 CbCのCodeGearに変換する処理系の実装なども検討する。
431
432
419 \nocite{*} 433 \nocite{*}
420 \bibliographystyle{ipsjunsrt} 434 \bibliographystyle{ipsjunsrt}
421 \bibliography{anatofuz-bib} 435 \bibliography{anatofuz-bib}
422 436
423 437