[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[b-free: 2176] Re: Re: MANAGER
<19981029172749L.night@soft.hitachi.co.jp>の記事において
naitoh_r@soft.hitachi.co.jpさんは書きました。
>>
>> とりあえず、周辺核の現状については、[b-free: 2091] を参照していただき
>> たいのですが、manager は古い周辺核が入る(はずだった)ディレクトリで、
>> 新しい周辺核(これから作るシングルサーバベースの周辺核)については、
>> kernel/BTRON/single_manager というディレクトリがあります。
>> このディレクトリは、最新のソース (10/28 にアーカイブに入れておきました)
>> には入っています。
>>
>> ま、この辺の事情は [b-free:2091] を参照していただいた方がいいと思いま
>> すです。
>>
上記の2091は、見ました。そこで、現在は周辺核を内藤さんが御一人で
なさっていると知り、びっくりです。周辺核には、
ファイル、プロセス、メモリ、管理マネージャが存在するようで、
現在もこの構成は、変わっていないようですね。
ぼくとしては、メモリ管理マネージャーの担当になりたいのですが、
メモリ管理はプロセス管理とも非常に密接に絡んでるようですから、
プロセス管理マネージャーとのインターフェースをある程度決めないと。
あと、ぼくがメモリ管理マネージャーを選らんだのはある程度ホームページ
上でその概要がたくさん載っていましたし、仕様的なものも載っていたからです。
>> 質問なのですが、佐藤さんが周辺核を担当されるというのはどの程度までを
>> 考えていらっしゃるのでしょうか?
>>
ぼくの考えとしましては、ぼくはまだ一度もOSのような基本的なソフトウェアの
開発は、行ったこともありませんし、
さらにUNIXでも大きなソフトの
開発に携わったこともありません。せいぜい、DOSのTURBO C++やWindows95/NT/98
のVisual StdioやVC++などで、シェアウェアの小さなゲームを作ってみたりという
ホビーレベルでの技能しかないかもしれません。
したがって、80386のアセンブラはできませんし、一度80286の時代
にトライしたのですが、すぐに挫折してしまいました。
よって、ぼくが協力できるとしたらC/C++である程度高級なレベルでのお話かも
しれません。
しかし、中心殻であるマイクロITRONのシステムコールを利用して(利用
しなくてもlowlibというのでやるのかまだよくわかってません。)
C/C++のみでプログラムできるものでしたら、プログラムできるかもしれません。
内藤さんが周辺核をすべて御一人で作ってしまうのはあまりにも
大変で、苦労なさるし、時間もかかると思うので、内藤さん御自身は
1.周辺核同士のインターフェース、
2.上位殻へのインターフェース、
3.マイクロITRONの中心殻へのインターフェース
などを決めてもらい、ぼくやC/C++ができるひとが実際のインプリメントを
内藤さんのインターフェースの設計にしたがって作業できれば、効率も
あがるでしょうし、作業時間もみんなでがんばれば短縮できるのではないでしょうか?
何しろ、マイクロITRONへのインターフェースの使い方やMakefileの書き方(全
ソースに共通するライブラリの読み込みなどの記述部分)や上位殻との
インターフェースなどは、まったくわかりません。
UNIXですと、カーネルのソースやカーネルに関する書籍も豊富で、参考に
でき、インプリメンテーションの仕方もある程度予測は付きますが、
B-Free OSのようなマイクロカーネル方式のインプリメンテーションについて
書いている本がぼくの周りにはないので、ぜひとも内藤さんに
ちょっとでいいので、指針のようなものを与えていただければ、みんな
プログラムできるようになるのではないでしょうか?
もっと欲張りなお願いをすれば、ソースコードの名前や構造も
内藤さんが御決めになってしまって、あと機能仕様書も書いて下さり、
ソースコード内部ではコメント文で各関数の機能を書いて、
それを見て
実際にある部品(ライブラリなど)
を使って機械的にインプリメント作業をみんなで
分担してやるというのが非常に楽なんですが、それでは
内藤さんが自分の思ったとおりにインプリメントしたほうが
早いかもしれないので、最低限、あるマネージャー(メモリ、ファイル、
プロセス)機能の
仕様と他の周辺殻との仕様、上位殻との仕様、中心殻との仕様を
書いてもらえればなあと思っているのですが、だめでしょうか?
BTRONの仕様も公開されていなので、仕様はつくれないものなんでしょうか?
(初心者なもので、お許しを!)
>>
>> > あと、開発者のみなさんというか、これからもしかしたら参加してくださる
>> > 開発者さんのために、現在あるb-free OSのソースのディレクトリをすべて
>> > 網羅した説明のホームページを作ろうと思うのですが、どなたにディレクトリ
>> > のすべての説明を聞いたらいいのでしょうか?
>>
>> それはすばらしい試みですね。
>> ぜひお願いします。
>>
では、さっそくディレクトリ一覧をがんばって作って見ます。
>>
>> 今のところは、私がすべてソースを書いているので、私に送ってください。
>>
はやくたくさんの人がソースを書いて、それを共有してOSを作り上げていく
という状況に戻るといいですね。
でもそれだと、ソースの管理が非常に難しくなりますね。ぼくは、今
MS社のVisual Source Safeを使用できるんですが、まだ使ってみてないので、
今度使ってみたら、感想を書きます。
あと、開発環境もLinuxだけでなくて、FreeBSD(
CVSがFreeBSDのソースを管理してますし、標準でCVSが利用できます。)
やWindows95/NT/98(Visual Source Safeなどで簡単にソース
が管理できるかもしれません。)などに
移行というか、そっちでも
どれでもできるようにすると
もっと開発者が増えると思うんですが、やっぱりそうすると
Makefileとかプリプロセッサとかの処理が面倒でしょうか?
(本MLでは、Windowsへの開発環境の移植というか、移行について
一度話し合われているようですね。)
プリプロセッサなんかVC++では、自動で生成するのでまったくちんぷんかんぷん
というか、深い知識はありません。#ifdefとか#include,#defineくらいです。
(mnewsというニュースリーダがありますが、あれってDOSでもUNIXでも動くというか
コンパイルできるんで、すごいなと思ってます。素人考えで。)
P.S:先ほど、大学の図書館でOSの本を2冊借りてきました。
メモリ管理やプロセス管理などについて仮想言語でインプリメントした小さな
例が載っていたので参考にしようとおもっています。
でもやっぱりOSって難しいですね。プログラムも設計も。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Muroran Institute of Technology ,Hokkaido Japan
Computer Science and System Engineering
Takayuki Sato (^_^)
e-mail address: takachan@whale.cc.muroran-it.ac.jp
URL: http://whale.cc.muroran-it.ac.jp/~takayuki/bfree/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/