Wiki内検索
最近更新したページ
2008-12-15
2008-12-09
2008-12-02
2008-11-25
2008-11-21
2008-11-05
2008-11-04
2008-10-23
2008-10-14
2008-10-08
最新コメント
第ゼロ回 by check it out
参加者 by check it out
第一回 by tips about seo
参加者 by check this out
第六回 by check this out
トップページ by tips about seo
第一回 by xwtwrhbow
Menu
ここは自由に編集できるエリアです。
タグ

第二回

第二回活動報告


日時・場所

2008/11/18 13:00〜15:00
@電気系会議室1B

集合

2008/11/18 13:00 に東大工学部二号館サブウェイ前にて集合です

もちもの

  • 出来るだけ各自PC
  • もし持っていたら詳解Linuxカーネル

学習内容

とりあえずプレゼンを抜粋して書きなぐってみる。間違いあったらごめんなさい。
詳解Linuxカーネルの8章にだいたい対応しているが、ページング機構については2章を参照のこと。

ページング機構

メモリをページサイズ(4KB単位)で管理。ページサイズぶんの実メモリをページフレームという。
リニアなアドレス空間から実アドレス空間への変換はページテーブルを用いて行う。

バウンスバッファ

メモリが足りなくてページフレームを確保できないときは待てばいいが、割り込み処理のような他のメモリが解放されるのを待ってられない処理のときにはOSが緊急用に予約しているバッファを使う。

バディシステム

ページフレームをサイズ別に管理。あるサイズのページフレームに空きがないときは大きい塊を崩して調達する。連続した空きができたときは大きい塊にまとめる。

スラブアロケータ

カーネルでは同じような性質(サイズとか、属性とか)のメモリを繰り返し確保することが多いため、その都度ページフレームを確保し、属性を設定しているとロスが多い。バディシステムを仲介し、同じような属性のメモリをまとめて管理するのがスラブアロケータ。

SLABとSLUB(とSLOB)

カーネルをコンパイルするときに選べる、3種類のスラブアロケータ。SLABはこれまでのもの。SLUBは新開発されたアロケータで、リスト構造を削減することでスケーラビリティを高めているらしい。2.6.22-rc1以降はこれがデフォルト。SLOBは組込み用。シンプルで小さい。ソースのサイズもSLABやSLUBと比べて10分の1くらい。

文責:b_naka
2008年11月21日(金) 00:57:25 Modified by ID:B0kN4ozr7A




スマートフォン版で見る