We love eBooks
    Developer Experience Linux Ext2 Filesystem Japanese Edition

    This site is safe

    You are at a security, SSL-enabled, site. All our eBooks sources are constantly verified.

    Developer Experience Linux Ext2 Filesystem Japanese Edition

    By Nina Petipa

    What do you think about this eBook?

    About

    Linuxの基本的なファイルシステムの1つであるExt2について、ステップごとに実装し、動かして、ファイルシステムの基本的な仕組みを体験して、理解していきます。
    普段使用しているシステムコールから、いったいどのようにファイルシステムが駆動していくのでしょうか?
    実際のLinuxのソースコードから少しずつ実装・開発して、見ていきましょう。

    下記注意を熟読頂いて、すべてご納得頂いてからダウンロードしてくださいますようお願いいたします。

    【注意1】C言語の説明記述はありません。C言語はポインターおよびファンクションポインターを理解している、初級者レベルで十分だと思います。
    【注意2】説明が非常に長いです。このため、校正はできておらず、誤字・脱字はたくさんあります。そして、日本語もおかしなところが随所にみられます。ご理解いただけますようお願いいたします。
    【注意3】作成に時間がかかってしまったため、説明に使用しているカーネルのバージョンは古いです。現在のカーネルバージョンでは、記述と異なることがあります。
    【注意4】説明に使用しているプログラム例は、Linuxカーネルのソースが行う処理と、ほぼ同じ(ほとんどコピーです)ように見えますが、劣化版です。プログラムは間違っている可能性がおおいにあります。説明で使用したソースコードは、この説明以外には使用しないでください。
    【注意5】説明に使用しているプログラム例は、Linuxカーネルのプログラム規約にまったく則っておりません。このため、Linuxカーネルの開発を目指したい方にとっては苦痛である可能性があります。Linuxカーネルのドキュメンテーションを参照してください。
    【注意6】作者は普段、Linuxは一切使っておりません。このため、Linuxについての知識・経験は浅く、素人です。説明が正しいとは限りません。ご理解頂きますようにお願いいたします。
    【注意7】説明は長く、面白いものでもありません。真面目にすると1か月から2か月を要します。数ページで確実に飽きてしうと思います。忙しい方は、ダウンロードしても無駄になる可能性があることをご考慮頂きますように、お願いいたします。
    【注意8】本書の内容はご期待に沿えないものである可能性が十分にあります。少しでも不安だと感じる場合、お勧めはしません。カーネルモジュールを作った経験があれば、本書の役割はほとんど無いでしょう。
    【注意9】本書がなくても、Linuxのソースコードを見れば、ファイルシステムは理解できると思います。よくお考えください。


    [目次]
    ファイルシステムの概要
    ファイルシステムへのアクセス
    カーネルサイドから見たシステムコール
     簡単なシステムコールの実装
    ファイルシステム関連のシステムコール
    仮想ファイルシステム(VFS)
    ステップ0 Ext2ファイルシステムと簡単なモジュールの実装
    ステップ1 Ext2ファイルシステムタイプとマウントメソッド
    ステップ2 Ext2スーパーブロックの読み込み
    Ext2ファイルシステムのディスク格納構造
     スーパーブロックの読み込み
      ページキャッシュとバッファーキャッシュ概要
    ステップ3 スーパーブロック管理情報
    ステップ4 マウントとスーパーブロックオブジェクト
     ルートディレクトリのdエントリーのセットアップ
    ステップ5 スーパーブロックオブジェクトと管理情報のセットアップ
    ステップ6 ブロックグループディスクリプターの読み込み
    ステップ7 ルートディレクトリのinode読み込み
     ディスクinode
     inodeオブジェクト
     inode管理情報
      inode管理情報のメモリー割り当てについて(スラブアロケーター)
     inodeの読み込み
    ステップ8 簡単なディレクトリの読み込み
     lsで"."と".."エントリーを表示させる
     ディレクトリエントリー
    ステップ9 ディレクトリ読み込みとページキャッシュとaddress_space
     address_space構造体とページキャッシュ
     ディレクトリ読み込みとページキャッシュ
    ステップ10 inodeオブジェクトのlookupメソッド
    ステップ11 inodeオブジェクトのmkdirメソッドとper-cpuカウンター
     新規inode割り当て
      per-cpu変数
      per-cpuカウンター
     空のディレクトリ作成
    ステップ12 簡単なブロックの新規割り当て処理
     新規ブロックの割り当てのトリガーとなるaddress_spaceメソッド
     get_block_tコールバック関数の新規ブロック割り当て処理
      likelyマクロとunlikelyマクロ
    ステップ13 スーパーブロックオブジェクトのwrite_inodeメソッド
     inodeの書き込み処理 write_inodeメソッド
     inodeの事前読み込み
    ステップ14 Orlov方式による新規ディレクトリのinodeを割り当てるブロックグループ選択
    ステップ15 inodeオブジェクトのrmdirメソッドとunlinkメソッド
    ステップ16 inodeオブジェクトのrenameメソッド
    ステップ17 inodeオブジェクトのcreateメソッドとファイルオブジェクトの汎用メソッド
    ステップ18 inodeオブジェクトのlinkメソッド
    ステップ19 シンボリックとinodeオブジェクトのsymlinkメソッド
    ステップ20 inodeオブジェクトのmknodメソッドとtmpfileメソッド
    ステップ21 スーパーブロックオブジェクトのevict_inodeメソッド
     evict_inodeメソッド
     ブロックの解放処理
     inodeの解放処理
    ステップ22 スーパーブロックオブジェクトのsync_fsメソッド
    ステップ23 スーパーブロックオブジェクトのstatfsメソッドとメモリーバリアー/フェンス
     statfsメソッド
     メモリーバリアー/メモリーフェンス smp_rmb()マクロとsmp_wmb()マクロ
    ステップ24 スーパーブロックオブジェクトのremount_fsメソッドとマウントオプション解析
    ステップ25 スーパーブロックオブジェクトのshow_optionsメソッドとprocfs
     procファイルシステム
     シーケンシャルファイル(seq_file)
     show_optionsメソッド
    ステップ26 カーネルオブジェクトとsysfs
    ステップ27 スーパーブロックオブジェクトのfreeze_fs/unfreeze_fsメソッド
    ステップ28 ファイルオブジェクトのioctlメソッド
    ステップ29 ファイルオブジェクトのsetattrメソッド
    ステップ30 address_spaceのdirect_IOメソッド
    ステップ31 リザベーションウィンドウ
    ステップ32 拡張アトリビュートその1 ハンドラーの呼び出し
    ステップ33 拡張アトリビュートその2 コア処理
    ステップ34 POSIX ACLその1 ハンドラーの呼び出し
    ステップ35 POSIX ACLその2 コア処理
    ステップ36 ディスククォータ
    Tips カーネルの再構築
    ファイルシステム関連のシステムコール一覧
    インデックス
    Download eBook Link updated in 2017
    Maybe you will be redirected to source's website
    Thank you and welcome to our newsletter list! Ops, you're already in our list.

    Related to this eBook

    Browse collections

    Keep connected to us

    Follow us on Social Media or subscribe to our newsletter to keep updated about eBooks world.

    Explore eBooks

    Browse all eBook collections

    Collections is the easy way to explore our eBook directory.