Programmer's Note

コード読み書きの備忘録。

UNIX

「The UNIX Programming Environment」読了

「The UNIX Programming Environment」読了。1月からコツコツ読んで足がけ4ヶ月。正確には第9章を残しているが、第9章はtroffの紹介で、これはまあ気が向いたら読めばよいかなと思っている。文章整形は1980年代からはもはや隔世の感がありすぎる。恐らく今後…

awk / yacc / lex

いかん、忙しさにかまけて更新が滞っている・・・。 さて、コンスタントに読んでいる「The UNIX Programming Environment」は、第6、7章が終わり。8章に入っている。 yaccで簡易計算言語の作成だぜ。さすがはKernighanさんとPikeさん、yaccがこんな風に楽…

The UNX Programming Environment 5章、6章

The UNIX Programming Environmentも、第5章を過ぎて、第6章の「PROGRAMMING WITH STANDARD IO」の終わりに差しかかってきた。 UNIX精神というはつまり、過去の資産を最大限に活用すること、多様性を賞賛すること、なのだなと改めて読んでいて思った。この…

Dwarf Fortressちょっとやってみる&フォントを変えてみる

ちと電子回路系の英語本が読みたいと思って、ネットで推薦されてたGetting Start in Electronicsを探してたら、 (参照:Getting Start in Electronics) たまたまドット絵の表紙が目についた。→ Getting Started With Dwarf Fortress ぐぐると、なんだこれ…

bundleプログラム改

'The Unix Programming Environment'の第3章の「USING THE SHELL」で bundle というツールが紹介されている。 これは以下のような小さなshellスクリプトのプログラムだ。 (作ったのはAlan Hewett, James Gosling.) #bundle: group files into distributio…

echoについて

KernighanさんとRob Pikeさんの著書、 'The Unix Programming Environment'の第3章の「USING THE SHELL」にechoコマンドの話が出てくる。 echoコマンドはおそらくコマンドの中で一番シンプルな部類に入る。 このコマンドの仕事は「引数を標準出力に出力する…

読書メモ:Software Tools

"Software Tools"(邦題:ソフトウェア作法)はやはり素晴らしくて、以前に記事で書いたが、英語の原書を改めて読むと、もっとぜんぜんメモっておかねばと思う。 Kernighan先生とPlaugerさんの本書はUNIXについて語った本ではないが、UNIX精神が宿った名著で…

UNIX関連資料一覧

すでに読んだものも含めて、とりあえず興味あるものだけ整理。 year title 1974 Dennis M.Ritchie and Ken Thompson, 'The UNIX Time-sharing System', ACM, 1974. 1976 Brian W.Kernighan and P.J.Plauger, 'Software Tools',1976. (UNIX本ではないがKernig…

PDP-7時代のUNIXファイルシステム

D.M.Ritchieさんの1979年の講演をもとにした論文 "The Evolution of Unix Time-sharing System"を読了。 前に読んだACMの論文*1 はUNIXの主な機能と考え方の紹介だったが、 こちらの方は歴史的な経緯も含めて、UNIX OSがどう機能的に発展したかが分かる。非…

inodeファイルシステムに感動!

「The Unix Programming Environment」 を読んで、感動しちまった。 ファイルシステムを語っている第2章で、 なんとディレクトリ自身に対して od して中身を確認して解説している! 環境はUNIX V7。(本の冒頭では、System V、4.1BSDの環境も試しているとあ…

UNIX V6 ファイルシステム周りの勉強メモ

UNIX V6はPDP-11という古いDECのミニコンピュータ上で動く。このPDP-11のディスク装置(いわゆる磁気ディスク)は、アクセスの単位がブロックで区切られている。1ブロックは512バイト。 UNIXのファイルは単にバイトの並びでしかなく、ファイル自体に管理用の…

UNIX V6コードリーディング・メモ

UNIX V6のコードをまじめに読み始めようかと。 去年から『はじめてのOSコードリーディング』をぽつぽつと読んで、UNIX V6のソースの理解をし始めてはいるが、やはり全体像を知るにはまだまだ道のりは遠い。 動かしながら読めるのが一番ベストなのだが、まあ…

Dennis Richie & Ken ThompsonのACM論文を読む

最近、UNIX関連の資料をあさっているが、読まねばと思っていた、Dennis Richie & Ken ThompsonのACM論文(The UNIX Time-Sharing System)を読んだ。これが世にUNIXの存在を知らしめた最初の論文で、内容はUNIXのコンセプトと機能の紹介がメインで、普通にUNIX…

bashの <<< を使ってみる

bashのリダイレクトに (bash以外のシェルでも対応してるかどうかは調べてないので不明)これは、文字列を標準入力として、コマンドに渡したい場合に使えるっぽい。下記のサイトで知った: http://cfenollosa.com/misc/tricks.txtwcで試してみる。ファイルの…