ユユユユユ

webエンジニアです

CS:APP

CS:APP を読み終えた

「CS:APP を読みはじめる」という記事を書いてから足掛け3ヶ月にして、読了に漕ぎつけた。案外ペースとしては悪くない。各章末に配された練習問題はスキップする方針で読んだ。平日には長くても1時間、週末には気が向く範囲で数時間といったくらいの時間を割…

シグナルを送ることで他のプロセスに割り込みをおこなう

シグナルとは、小さなメッセージのようなもので、何らかのイベントがシステム内で発生したことをプロセスに通知するものである1 ハードウェアレベルで例外が起こるとする。たとえばあるプロセスがゼロ除算エラーを発生させるとする。通常はカーネルがこの例…

算術右シフトを正しく丸めるためにバイアスを加算する

マシンがどのように乗算・除算を最適化するについて。二の累乗による乗算は左シフト演算を用いて行うことができる。同じように、二の累乗による除算は右シフト演算を用いで行うことができる。符号なし数であれば論理右シフトを用いるし、二の補数(符号あり…

整数オーバーフローをコントロールすることの難しさ

C++ で競技プログラミングをやっていて、整数オーバーフローに泣かされたことのない者はいないだろう。僕とてそうである。ちょっとしたケアレスミスにすぎないのだが、些細なミスであるからこそ、それを繰り返してしまうとことさら不甲斐なく感じる。 オーバ…

CS:APP を読みはじめる

Computer Systems: A Programmer's Perspective の日本語訳、『コンピュータ・システム — プログラマの視点から』を購入した。通称は CS:APP というらしい。 値段、重量、厚みすべてにおいてヘビー級の一冊である。16000円だった。消費税で本が一冊買える。 …