パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

「Linuxの父はLinusではない」!?」記事へのコメント

  • 自慢話になりますが、私は仕事でUNIXライクなOSを 作ったことがあります。 その時のペースは大体1日に1つの sys_* のコマンドを 作っていくと言う感じでした。 システムコールの仕組みを作るのに1日、 タスクスイッチをオシロスコープを見ながら完璧にするのに 5日ぐらいでした。 なので、コアの部分に半年かかったというのは全く妥当な ペースだと思います。
    • by dash0225 (21674) on 2004年05月21日 17時01分 (#553137)
      当時のことを思い出して、時間経過を軸に書いてみます。
      ターゲットマシーンは新規基板だったんですが、そのため、 まず最初の3日ぐらいは、OSとは関係ない単純なループを 回るプログラムをROMに書いて、ちゃんとループするかを オシロスコープで見ながらチェックし、232Cポートから 文字列を吐かせてそれがちゃんと出力されるかをチェック しました。
      次の2日ぐらいで、OSの骨組み部分を一通りコーディング しました。この時点ではまだ動かず中身のない関数とかが 多数存在する状態で、232Cをつかってちゃんと呼ばれるかを チェックしていたと思います。
      次の3日ぐらいは init() { for (;;) idle(); } が1つの プロセスとして動作するようにOSのコーディングをデバッグ したかな?
      4日間でデバッガーの原型(単にプロンプト を出して232Cの入力行をそのまま帰すのみ)の物を 作り、open() close() read() write() が動くように デバッグしながら、232Cをデバドラとして動くように 調整し、そのあとは1日に1個のペースで そのデバッガーからシステムコールを呼ぶようにしては カーネルのシステムコールの コードを書くというパターンで何個かシステムコールを 作りました。
      これで、カーネルのコアの部分ができ上がったので、 次はアプリケーションを書きながら必要なデバドラを 追加していくというパターンで1~2ヶ月ついやし、 最後に、システムとしてプロセスの数が増えて 動作がスムーズでなくなったことでタスクス順位が いい加減だったことを思い出して、調整してでき上がり という感じでした。
      親コメント

普通のやつらの下を行け -- バッドノウハウ専門家

処理中...