サムタイム・イン・ニューヨーク・シティ

何か足りないと思っていたらこれが手元になかった。
1枚目の1曲目が好きなんだけど差別用語がタイトルに含まれているから微妙。

moccur-grep

http://www.bookshelf.jp/soft/meadow_50.html#SEC734

スペース区切りで,一番最後に書いた正規表現をファイルマスクと認識します.この場合であれば,「.」の正規表現に一致する文字を含むファイル(つまりすべてのファイル)を対象に,[0-9]+ という正規表現で検索するということになります


.oと.isoの拡張子のものを常に検索対象としないという設定はないんだろうか。
*moccur-buffer-name-exclusion-list*はmoccur-grepには効かないっぽい。

関数型言語の勉強にSICPを読もう - (19) 2章 - データによる抽象の構築 - 2.3.1 (83-85ページ)

2.3.1クォート

今まではデータは数値だけでしたが、クォートが登場しました。

問題2.53

(list 'a 'b 'c)
gosh> (a b c)
(list (list 'george))
gosh> ((george))
(cdr '((x1 x2) (y1 y2)))
gosh> ((y1 y2))

(cadr '((x1 x2) (y1 y2)))
gosh> (y1 y2)

(pair? (car '(a short list)))
gosh> #f

(memq 'red '((red shoes) (blue socks)))
#f

(memq 'red '(red shoes blues socks))
gosh> (red shoes blues socks)

問題2.54

要素をひとつずつ取り出し eq? する。
頭の中にあったの eq? の結果がfalseならすぐにfalseを返すものだが気づいたら and をとっていた。

(define (equal? list1 list2)
  (cond ((and (null? list1) (null? list2)) #t)
        ((null? list1) #f)
        ((null? list2) #f)
        (else
         (and (eq? (car list1) (car list2))
              (equal? (cdr list1) (cdr list2))))))

(equal? '(this is a list) '(this is a list))

(equal? '(this is a list) '(this (is a) list))

問題2.55

(quoate (quoate

だから。


※「SICPを読もう」の目次はこちら


計算機プログラムの構造と解釈
Gerald Jay Sussman Julie Sussman Harold Abelson 和田 英一
ピアソンエデュケーション (2000/02)
売り上げランキング: 56,404

NIC - ドライバインターフェースの悩み

EDS1275さんが、Vmware用にNICドライバを書いてくれているのですが悩んでいます。
誰か詳しい人がいたらアドバイスをいただけると助かります。

前提 - Monaの割り込みインターフェース

割り込みが発生すると、カーネルは事前に登録のあったプロセスに割り込みがあったことをメッセージで知らせます。
つまりドライバの割り込みハンドラが直接Callされることはありません。
この仕組みで

  • フロッピィディスクコントローラ
  • IDE
  • NE2000(NIC)

の3つのドライバはうまく動いています。

Am79C970における問題点

Am79C970はどうやらレベルトリガらしく、ドライバ側の割り込み処理が終了するまでがんがん割り込まれまくる。
すると大量に割り込みメッセージ送信が優先度高めで実行されまくってほかの処理ができなくなる。

どうするか?

何通りか方法があると思っていて

  • エッジトリガにならないか試みる⇒情報もとむ
  • メッセージ機構をあきらめてexport/callにする⇒もう少し踏ん張ろうよ
  • 今EDS1275さんがやっているように、カーネル側で割り込みマスクしてドライバが解除する

あたりかな。
お気づきの点がありましたらぜひお寄せください。