理系学生日記

おまえはいつまで学生気分なのか

2008-07-01から1ヶ月間の記事一覧

問題3-48 (3.4.1 The Nature of Time in Concurrent Systems)

複数のプロセスが共有資源をアクセスする場合において,各プロセスが資源を確保する順番を同じにしておくと,デッドロックを回避できる(場合がある)がそれはなぜ,という問題.デッドロックは,あるプロセス A がロックをかけた資源 a に対し他のプロセス B …

問題3-47 (3.4.1 The Nature of Time in Concurrent Systems)

n 個までのプロセスがクリティカルセクションに入れるようなセマフォを作成するのが課題.in terms of mutexes って話だと,mutex を n 個用意してやるしかないんじゃねと.in terms of atomic test-and-set! operations って話は,結局 mutex を n 個用意す…

死んでないということ

こんなに長期間,ブログを放置したのは初めてで,なんで放置せざるを得なかったのかというと,ぼくが家に帰ると腐った魚みたいな感じで泥のように眠っては,朝起きて会社に行くくたびれた社会人みたいな感じだったからだったんですけど,もう大丈夫,ぼくは…

忙しいとか言って悦に浸るアホ

うふふ!

いそがしくて笑えてきた!

うふふ!

Perl モジュールのソースリーディングを iPhone 上で行ってみることにした

id:syou6162 さんのエントリ で,FileMagnet という (iPod touch|iPhone) アプリを知りました.どうもこれ,誤解を恐れずに言うと iPhone を普通のハードディスクみたいにして使えるようになるアプリみたいです.Mac から iPhone に WiFi 経由でファイルを転…

モジュールで使用されている全モジュールとそのパスを一覧表示する

Plagger で何が使われているのかを一覧表示したいと思ったので,作ってみた. まぁ指定されたモジュールを一度 require してやることで,そのモジュールで使われているモジュール (間接的に使われているものを含む) のパスを %INC に格納,それを一覧表示さ…

PS/2 接続のキーボードしかないのに,USB 端子しかない PC を買うと

「もう進化とか要らないし! インタフェースとか進歩しなくていいし! 」 と窓から叫びたくなるのは皆さん一緒だと思いますし,一度くらい試しに叫んでみちゃって,ご近所さんと揉めに揉めて警察出動とかそういう経験がわりとあったりすると思うんですけど,ぼ…

perlguts を読んでみてるところ

休日にまとめてエントリを書くと,全部 Perl が SICP ですね! どうも,perlxs を読む前に perlguts を読んだ方がいいっぽいので,今日はずっと perlguts を読んでみたいとおもっています.guts てなんだ.Perl には 3 種類のデータ型が typedef されています…

第2回の勉強会を開きました

第一回から 3 週間くらいで開こうとしてたんですけど,いつのまにやら 2 ヶ月経とうとしていました.これはアブない,このままじゃ立ち消えになる!! と若干の危機感が芽生えたので,勝手に独断と偏見でぼくに都合が良い日時を Fix してみた!! ぼくたちの勉強…

XS で ST を使うときは参照カウンタに気をつける

なんか注意しろとか書いてあるな. ぼくたちが SV * を XS の返り値として返すときは,RETVAL が mortal にされるとかなんとか. で,下記の二つのコードが同じとか. void alpha() PPCODE: ST(0) = newSVpv("Hello World",0); sv_2mortal(ST(0)); XSRETURN(…

RETVAL てなんだ

XSUB に頻繁にでてくる RETVAL ってなんなんだろう.perlxs によると,XSUB の戻り値が non-void のときに xsubpp が自動生成する(C の)変数ということです.確かに,これまで書いてきた XSUB を C ソースに変換した結果をみると,RETVAL が宣言されています…

XS の ST を使ってみようとしたらハマった

Perl では XS に限らず,どうも関数に渡した引数,そし関数からの返り値はスタックに溜められるらしいんですが,そこ(スタック)の値を参照するのに ST(x) というマクロを使えるみたいです.x はスタックの場所を指す数字で,配列のインデクスと同じく 0 から…

perlxs を読みつつ strlen を Perl から呼び出してみた

perlxstut を読んでみたのはいいんだけど,まだ何かできる気がしない. 結果として perlxs を読んだ方が良い気がしてきたので,読みはじめたところ. で,何か作ってみるかということで,perlxs を読み進めつつ,C の str 系関数を呼び出せるようにする.実…

USB! USB!

今日はとっても良い天気でぼくもとってもいい気分だったりするんですけども,みなさんいかがお過ごしでしょうか. みなさん海水浴とか行っちゃったりして,楽しそうでなによりです. さてぼくの話なんですけど,最近の PC は PS/2 端子がないみたいですね. …

CSR についてのレポート書いてるんだけど,そもそも CSR って企業が当たり前にすべきことを当たり前にしろっていってるだけじゃないのか

という気もしないでもない.

同期が結婚するので祝いにかこつけてまた飲んできた

なんか実家でぼくの飲んべえ疑惑がささやかれている件について. ぼくはビール三杯飲んだら倒れる.倒れたあとで「ぼくはシラフだよー」とかいうのが特徴.東京近辺でそういう人間がいたら,30%くらいぼくの可能性がある.

冷藏庫が届いたよ!

さあ,冷藏庫をお持ちでない皆さん!!ぼくはこれまで,いろんな事情があって冷藏庫が使えない一週間を送ってきたわけですけど,ついに今日,新品の冷藏庫がきた!やばい!新品! キャベツのカスみたいなのもついてなければ,もやしの根っことかも落ちてないよ!変…

最近金曜は飲んでばっかりいる

そして翌日昼まで寝ていて,休日を無駄に消費したことに後悔する.

iPhone で連文節変換ができないとか言って Dis る人に言いたいんだけど

iPhone は別に良いんだけど,SKK をバカにしたら,さすがのぼくでも許さないよ!

tex2doc が欲しい.本気で.

この季節の理系出身の新社会人とかは,ムダに偉そうに「MS Word なんて使ってられねーよ TeX にしろよ TeXに」とか言うのが毎年恒例,季語みたいなもんなんですけど,ぼくも漏れなくそんな感じです.普通の文章を書く WYSIWYG なエディタとしては誠に優秀な…

食生活がぼくを変えた

いわゆる冷蔵庫がぶっこわれたので,ぼくは野菜とかを保存することができない.野菜とかを保存できないので,自炊もできない.みなさん,これがどういうことがおわかりでしょうか!ぼくの体はなにも無から生まれたわけではなくて,野菜とかを食べて栄養を取っ…

問題3-46 (3.4.1 The Nature of Time in Concurrent Systems)

serializer の実装についての話.ここでは mutex を使って,排他制御を行っている. mutex とセマフォ これまで mutex とセマフォの違いを,かなり曖昧なままにしてきてしまったんだけど, セマフォをクリティカルセクションの排他制御に用いる時、セマフォ…

屁理屈こねていろいろ書こうとはしてみたけど

結局ぼくが特定個人を徹底的に嫌っていて,その DIS の口実を必死で見つけようとしているのが良く分かったのでやめにしました!

問題3-45 (3.4.1 The Nature of Time in Concurrent Systems)

Louis Reasoner (人名) は大抵間違っているんですけど,今回も間違いやがったらしい. 今回 Louis Reasoner が作ったのは,自動的に関数を直列化して返す銀行口座. (define (make-account-and-serializer balance) (define (withdraw amount) (if (>= balan…

おいなんか冷蔵庫がうまく動いてんだけど!!

壊れたんなら大人しく壊れとけや!! もう新しいの買ったし! まだ全然届いてないけどな!!

問題3-44 (3.4.1 The Nature of Time in Concurrent Systems)

2 つの口座の残高を交換する exchange は,直列化しとかないとヒドいことになる. (define (exchange account1 account2) (let ((difference (- (account1 'balance) (account2 'balance)))) ((account1 'withdraw) difference) ((account2 'deposit) differ…

問題3-43 (3.4.1 The Nature of Time in Concurrent Systems)

タイミングダイアグラムは激しくメンドいので略.

問題3-42 (3.4.1 The Nature of Time in Concurrent Systems)

これが make-account なわけだけど,'withdraw とか 'deposit とかのメッセージが送られてくる毎に,毎回直列化された関数を生成するようになってる. (define (make-account balance) (define (withdraw amount) (if (>= balance amount) (begin (set! bala…

iPhone で 3G ネットワークが使用できない場合の解決法

朝起きたら iPhone で 3G ネットワークが使用できなくなっていました.Apple の初期ロットにはバグが多いというのは有名な話ではあるのですけども,いや,もしかしたらここいらの地域で電波が弱いに違いない.これはもう,電波の街秋葉原に繰り出してやれば…