rcuって…
最近linuxデバイスドライバ?系のソースを見ることが多い。
C言語はやったことあるけどそれほど得意じゃない。
でもlinuxデバイスドライバ?なんてものは更に特殊みたいで、更に良くわからない。
時間は無いけど少し勉強したいなーという今日このごろ。
その時、あるソースを読んでると、「rcu~~~」という関数をよく見かける。
何かなーと思って調べてたところ、
rcuは「リードコピーアップデート」の略で、
排他制御に関する関数みたい。
うーん確かにあそこら辺の処理の順番がよく分からなかったけど、
あれは処理待ちしてたということなのか…?
にしてもまさか、read,copy,updateの頭文字だとは思わなかったわ…。
いや、まぁそんだけなんですけどね…。
ああ、あと、
構造体の中に関数を使うやりかたに驚愕。
いわゆるJavaとかでクラスの中にクラス用の関数を作るイメージ。
C言語だからきっと擬似的に(?)作ってるのかなぁ?
項目に寄って指定を変えれば、違う関数が使える、みたいなシステム。
うーん、よく出来てるけど気づかなきゃ処理の意味がわからんぞ…。
精進精進。