OSASK-KHBのメモ

  • (by K, 2009.09.24)

(1)

  • OSASK-KHBに関係のある技術
    • OSASKより
      • エミュレータOS:軽量指向、エミュレーション指向、ダイナミックコンパイル指向、タスクセーブ指向
    • OSASK-HBより
      • 当面は「ぐいぐい01」アプリとして開発される
    • naskより
      • OSASK-KHBにコアとして内包
    • ASKAより
      • OSASK-KHBにコアとして内包
    • SKAより
      • OSASK-KHBにコアとして内包
    • GOより
      • SGO・kcpshの元となる
    • SGOより
      • OSASK-KHBのコアの実装方法のアイデアのきっかけに・・・結果としては内包される
    • kcpshより
      • OSASK-KHBにコアとして内包
    • khabaより
      • OSASK-KHBにコアとして内包
    • KHBIOSより
      • OSASK-KHBそのものがKHBIOSの基本機能の全てを持っている(OSASK-HBと足せば起動も含めてまさにKHBIOSの発展版になる)

  • メモリレスアーキテクチャ
    • これをkcpshの設計に取り込ませようとしているときにOSASK-KHB構想が生まれた
  • x86のコードも考え方によってはバイトコードだ!
    • このアイデアがSKAベースにすることを思い立たせた
  • 全ての操作を自動化可能に
    • OSASKの頃に考えた、シグナル中心のプログラミングスタイル
  • タスクリプレイ指向

(2)

  • 関連する他人のアイデア(結局これと同じになったなと感じたアイデア)
    • どこかの誰か:(OSASK初期について)x86用にエミュレータ書くのは間違っている、まず仮想的なマシン向けのエミュレータを書き(たしかレジスタが大量にある仮想CPU)、その仮想マシンのコンパイラをx86向けに実装するべき(既に実在する???)
      • OSASK-KHBそっくり!パクリだと言ってもいいくらい
    • どこかの誰か:Lispのマクロは他の言語のマクロとは異なり、どんどんやると他の言語にもできる
      • OSASK-KHBそっくり!パクリだと言ってもいいくらい
      • OSASK-KHBだと文法体系すら変わる
    • Ruby:eval命令(?)の存在
      • OSASK-KHBのアイデアの根幹を成すといってもよい
    • SmalltalkやEiffel:クラスを作っていくと環境そのものが変わる
      • OSASK-KHBもまさにそういうもの
      • SKAから構築しようというところ、文法構成すら変えられるというところ、最終的にkcpshみたいなC++風にしようと思っているところ、が相違点か
    • ForthやLispや:最小の言語規約をまず作って、残りの機能はその拡張性で補おうというアイデア
      • 実装力の乏しいKにはこれが大事だと思った
      • OSASK-KHBがSKAベースなのは、このアイデアの究極といえるのでは?
    • セプキャン09のBoF(次世代OS):将来のOSでもプログラミングできないものは使いたくない
      • 深層心理的にはかなり大きなきっかけになった気がする
      • 非プログラマにとって使いやすいかどうかを無視して考え始める出発点だったかも
      • .mjtさんのcltnを思い出した
    • tatsuさんのTeaseOS:OSが言語処理系をサポートすることの可能性
      • OS-9(BASIC09)を思い出して、言語のためにOSを設計することの価値に思い至る
      • 設定ファイルが変数への代入に留まらないプログラムでいいのでは?というアイデア
    • GBAのARMやCPUの創りかたや各種バイトコードの成立
      • CPUは使うものから、再設計すら可能な対象として見られるようになった

(3)

  • 新しい(かもしれない)アイデア
    • データとプログラムの分業があいまいに
      • 設定ファイルではなく、マクロで構成されたOSそのもののを実行中に書き換える感じ
      • 拡張性最強?
    • (名称未定)
      • プログラミングとは、結局は自分が機械にやらせたいことをやらせるための手段でしかない
      • それならば今までのプログラミングのイメージから離脱し、設定ファイルの書き換えや、OSや言語処理系の改造行為そのものもプログラミングといっていいだろう
      • つまり差分こそがプログラミングで、diffを取ることがリリース作業みたいなもの
    • 言語環境こそシェル
      • いわゆるシェルはもうOSと人間の接点としては希薄では?
      • というかシェル自身がスクリプトインタプリタなのだから、もともと言語処理系では?
    • マクロこそ言語処理系の肝?
    • 実行速度が速い・サイズが小さい、だけではなく、実装労力が少ない、も重要に

こめんと欄


コメントお名前NameLink

リロード   新規 編集 差分 添付   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: 2009-09-24 (木) 08:29:28 (3401d)