読者です 読者をやめる 読者になる 読者になる

mrasu’s blog

読んだ物の内容など

UNIXという考え方(6章 ~ 最後)

前回に続いて、「UNIXという考え方」の内容を書きます。
範囲は、読み終わったので6章以降全部です。

UNIXという考え方―その設計思想と哲学

UNIXという考え方―その設計思想と哲学


6章

小さいものは、人間にはなじまないが、互いにはよく合う。
プログラムを小さく作ると、人間には耐えられないほどの選択肢が用意されてしまうが、コンピュータには都合がいい。

過度の対話的インターフェースを避ける

プログラムを実行するとプログラム用のインタプリタが起動するものを「拘束的インタフェース」と呼ぶ。

例えば、mailコマンド

$mail  
mail>dir  
mail>exit  
$  

拘束的インタフェースの問題点は

  1. プログラムごとに存在するコマンドを覚えなくてはならない
  2. 同時に実行できない(1窓で)
  3. コマンド同士で対話させることが出来ない(パイプ)
  4. 人間による入力の待ち時間のせいで、コンピュータのみで動けるプログラムに速度で負ける。
  5. 独自のコマンドパーサーが必要
  6. 他プログラムと連携できないせいで、肥大化する

全てのプログラムをフィルタにする

プログラム自体はデータを作らない。
入力を加工し、出力する。だから、stdioを使用し、入出力をハードワイアしない

7章

以上9項目以外に、UNIX一般にいきわたった原則

  1. 自分の好みで環境をカスタマイズできるようにする
  2. OSのカーネルを小さく軽くする
  3. 小文字を使い、短く
    ファイル名やコマンド名など
  4. 森林を守る
    プログラムや結果を印刷したりしない(昔はプログラムを印刷する必要があった)
  5. 沈黙は金 (無駄な情報は出力しない)
  6. 並行して考える
  7. 部分の総和は全体より大きい
    機能単位で作ることにより、プログラムの切り替えが容易になる
  8. 90%の解を目指す
  9. 劣るほうがすぐれている
    完璧さを妥協してきたから、完璧さ以外を重視するパソコンに導入され、地位を上げられた
  10. 階層的に考える(ツリー構造で考える)

8章

総括

9章

AtariのOS,MS-DOS,OpenVMSUNIXの比較。
現代では通用しないと考えられるので特に記載しない。