じゃ、ま、いっか

その隙間にジャストフィット

いろいろ雑記

v6 unix 勉強会に参加してきました。

まごろく先生ありがとうございました。
まずはぼやっと理解するだけでも良いということので、ぼやっと理解したことを書きたいと思います。

と思ったのだけれど

勉強会から時間がたってしまい、ぼやっとがもやっとになってしまったorz
勉強会後に行われた薄い本を肴にした飲み会などの感想もまじえて書きたいと思います。

資料たち

v6のソースコードこちら
薄い本というのがsuperhogeさんのブログを印刷したもの
ウォームアップのプレゼン資料がこちらです。
Togetterはこちら

もやっと理解したことをまとめると

  • 上と下のレイヤーの両方を理解しているプログラマは少ない。
    • 両方理解しているというのは強み
  • 基本的な構造は変わっていないので、古いけれどunix v6を読んだ方が理解が早いかもね
  • 構造化プログラミング
    • 必ず呼ばれた所に戻る。callされたところにreturn
  • OSがブートしてinitプロセスが生まれる所瞬間を見た。
    • boot loaderが少しずつプログラムを読んでいき最終的にinitプロセスにfork(?)する
  • procとuser構造体がある
    • procの配列をforで回してシーケンシャルにアクセスしてるけど、プロセスの数が少なかった当時はこれが最速だったのかも
      • 今はもうこんな作り方していないはず。
    • だからソースを全部理解しようとしない、薄目で見る。
  • 割り込みがあると、どこぞに定義された値と比較して、そこにかかれた処理を行う。
  • 電源の周期を使ってスケジュール管理している??
    • 電源の60Hz -> 1秒間に60回クロックアップ

うーん、半分以上忘れたか理解できてない感・・・

突発に行われた薄い本読み会

復習も兼ねて、v6の薄い本をお酒の肴にしてあーだこーだ言い合う会が行われました。
会場はCafe Bar La mia

超楽しかった。

@mgwsuzukiさんが書いてくれた実メモリ仮想メモリにマッピングする超簡単図
f:id:nefo_mi:20120330202118j:image

下位bit(0-12)は実メモリにそのまま突っ込む。
残りの3bitで8つあるレジスタ(?)を指定して、5bitを特定する。
この方法だと、メモリサイズによって用意しなければいけないレジスタ(?)の数が増えてしまうので
薄い本のように計算など工夫してメモリマッピングしている。

もうたのしくてお酒がすすむことすすむことw
またやりたいです!

ギー沖Lions本よみよみ会

開催されてることを知らずに遅れて途中から参加
輪講形式にすることにほぼ決まりかけていたのですが
Lions本を輪講で講師するのは、ちょっとぼくにはレベル高すぎて無理!とわがまま言って
まずは薄い本とまごろく先生のプレゼン資料を理解するところを目指すことになりました。
後からきてごちゃごちゃ言ってごめんなさい;;

次回は4/22にギー沖で読み会が行われるそうです!

Lions本よみよみ会懇親会

@balbakoさんとまたまたv6の薄い本を肴に一杯
深い話を聞けて良かったし、やっぱり楽しかった。

今から最低辺を勉強するならハードウェアをから始めるのが良いとのこと

f:id:nefo_mi:20120403223709p:image

  • アプリケーションの人が下に潜っていくにはコンパイラ先輩やリンカ先生が立ちふさがるので難しい、OSまでたどりつけない。
  • 上の層ではフレームワークやライブラリが便利にしてくれているので、順番に下に潜っていくとだんだんめんどくさいことが多くなってつらくなる。
  • ハードウェアから始めることでコンパイラ先輩やリンカ先生が何をしているのか想像できるようになる。
  • リソースの限られたハードウェアを体験することでOSやライブラリのありがたみを実感できる。

というわけでエミュレータから攻めていこうかと思います。

@mgwsuzukiさん、@balbakoさんというハードなお仕事をされてる方々から下から攻めろというアドバイスをいただきました。


しかし、いきなりPICではんだごて〜というのはあまりにもハードなので、エミュレーターを探していたら
@yamanetoshiさんがHow to なエントリをまとめてくださいました。

ありがとうございます!

あとはやるだけですね!
How to 読んで動かすところを目指します。
追記:動かしながらソースを読んで理解することを目指します。

まごろく先生からフォローがありました!
f:id:nefo_mi:20120404114730p:image

ありがとうございます。

オラねこ

@balbakoさんのメモから生まれたネコ
f:id:nefo_mi:20120403223710p:image

鳴き声:オラー!
たまに:ORA-hogeなエラーを吐き出す(毛玉のように

誰が見ても分かる -> デザイン
センスがものをいう -> アート

SEはもっとデザインできると胸をはるべきだ! なる名言