Xvfatに関しての議論 2005.05.20 machida@sm.sony.co.jp.

Slides:



Advertisements
Similar presentations
1 ルータ・スイッチ 基礎教育 (基礎編). 2 Agenda ~基礎編~ シスコ機器との接続方法 IOS とメモリの種類 ルータの起動順序 IOS のアクセスレベル パスワードの設定 インターフェースの設定 show コマンド copy コマンド debug コマンド CDP ( Cisco Discovery.
Advertisements

Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
Improvement of bootup time using Power Management - Project Update -
映像技術演習 第7回:オーサリング・書き出し.
PROCESS 14:一般情報(2) InstallShieldLecture
計算機工学III オペレーティングシステム #14 ファイル: より進んだファイルシステム 2006/07/21 津邑 公暁
ファイルキャッシュを考慮したディスク監視のオフロード
最新ファイルの提供を保証する代理FTPサーバの開発
セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
システムソフトウェア講義の概要 計算機システムの復習:中央演算処理装置(CPU),プログラムの実行,主記憶装置,補助記憶装置
■パス検索 各種ファイルを操作するには、まずパス名をiノードに変換しなければならない。 以下にパス名をiノードに変換する関数の説明を行う。
入 出 力 管 理 オペレーティングシステム 6/26/09.
Linux インストール      のための基礎知識 物理実験 I 情報実験第9回 2003/12/12 中神 雄一.
操作は、バッチファイルを ダブルクリックするだけ!
第1章 第1節 データを保存するときに(p.14-15) ・p.14 は,データ保存についての基本的な知識と保存場所について,実際の活用場面を想定して説明している。 ・p.15 は,ファイルの整理方法としてフォルダの活用と注意事項を紹介している。 1.
3DCGコンテンツの基礎 第5回授業:最終課題制作
計算機システムⅡ 主記憶装置とALU,レジスタの制御
インターネットにおける オーケストラ演奏同期機構の 設計と実装
JavaServlet&JSP入門 01K0018 中村太一.
第6章 トランザクション管理 6.1 トランザクションの概念 6.2 同時実行制御 6.3 障害回復.
ファイルシステムキャッシュを 考慮した仮想マシン監視機構
2010/12/01 IT講習会 快適なpcの使い方 メンテナンス編.
小型デバイスからのデータアクセス 情報処理系論 第5回.
MSBuild 色々出来るよ 2011/04/02 お だ.
アプリケーション共有機能 〈参考〉 (図1) (図2)
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
都市情報学専攻 情報基盤研究分野  M04UC513  藤田昭人
LogStructuredFileSystem Servey
第3回 CPUの管理と例外処理 OSによるハードウェアの管理 CPUの構成、動作 CPUの管理 例外処理、割り込み処理 コンテキストスイッチ
Linuxカーネルについて 2014/01.
Telnet, rlogin などの仮想端末 ftp などのファイル転送 rpc, nfs
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
サイト運営者へむけて、CMS管理画面をつかって サイト運営していく方法を紹介します。
VMマイグレーションを可能にするIDSオフロード機構
SAP & SQL Server テクニカルアーキテクチャ概要 マイクロソフト株式会社 SAP/Microsoft コンピテンスセンター
情報コミュニケーション入門b 第6回 Part1 オペレーティングシステム入門
アスペクト指向プログラミングを用いたIDSオフロード
プロユースな先進スペックを、だれでも手軽に。
拡張ボリューム 搭載NASのご紹介。 + の悩みを解決する データ管理 筐体台数の増加 全体の50% ディスク管理方法に見る
DAQ-Middleware の新機能 コンポーネント制御機能
型付きアセンブリ言語を用いた安全なカーネル拡張
Windows 2000 拡張カーネルの技術紹介 2018年6月10日 黒翼猫.
過負荷時の分散ソフトウェアの 性能劣化を改善する スケジューリングの提案
RT-Linuxを用いた 多入力パルス波高分析システムの開発
※各種ストレージのドライバの対応も行っております。合わせてご相談ください。
杉山耕一朗(北大理) 2009/02/06 epnetfan
Damping ring単独運転用 Bucket Selectionサブルーティンについて
Power Management ディスカッション
澤見研究室 I04I021 片山祐輔 I05I095 山田大志 I06I040 野崎祥志
事務所における情報化の問題点 データが所内で共有されていない、各課ごとに個別に利用されている
Ibaraki Univ. Dept of Electrical & Electronic Eng.
アルゴリズムとデータ構造 補足資料4-1 「メモリと配列」
アルゴリズムとデータ構造 補足資料5-1 「メモリとポインタ」
情報コミュニケーション入門b 第6回 Part1 オペレーティングシステム入門
演習2の解答例 2006年12月22日 海谷 治彦.
情報実験第 7 回(2016/06/17) OS インストール・起動
オペレーティングシステム (ファイル) 2009年11月9日
仮想環境を用いた 侵入検知システムの安全な構成法
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
実装について 前田俊行.
ルネサスソリューションズ 宗像尚郎 ( ) CONFIG_EMBEDDED ルネサスソリューションズ 宗像尚郎 ( )
Mondriaan Memory Protection の調査
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
コンピュータアーキテクチャ 第 4 回.
SpectreとMeltdown ITソリューション塾・第27期 2018年3月20日 株式会社アプライド・マーケティング 大越 章司
オペレーティングシステム (ファイル) 2006年11月16日
オペレーティングシステム (ファイル) 2008年11月17日
SMP/マルチコアに対応した 型付きアセンブリ言語
Molecular Devices Japan
VPNクライアント接続 サーバー保守のための安全な経路+作業者単位のアクセス制御 簡単な図 (網羅性より象徴性)
Presentation transcript:

xvfatに関しての議論 2005.05.20 machida@sm.sony.co.jp

アジェンダ xvfatに関しての紹介 抜去に関して Kernel 2.6へ向けて ポーティング コミュニティへのフィードバック

現在のsource code構成 従来のfatと共存できるように別物として構成 fs/xvfat fs/fat copy & rename 変更: include/linux/msdos_fs_i.h | 4 include/linux/msdos_fs_sb.h | 11 fs/fat/Makefile | 12 fs/fat/buffer.c | 39 fs/fat/cache.c | 366 ++++++- fs/fat/cvf.c | 50 - fs/fat/dir.c | 228 +++- fs/fat/fatfs_syms.c | 41 fs/fat/file.c | 170 +++ fs/fat/inode.c | 562 +++++++++--- fs/fat/misc.c | 129 +- fs/vfat/namei.c | 842 +++++++++++++++--- fs/vfat/vfatfs_syms.c | 52 - copy & rename fs/vfat 追加: 2020 fs/xvfat/fwrq.c 1015 fs/xvfat/rdchk.c 610 fs/xvfat/tz.c 50 include/linux/rdchk.h 41 include/linux/fat_tz.h 224 include/linux/xvfat_fs.h 245 include/linux/fwrq.h このほかにも、 エレベータ関数の変更あり (driversの下)

xvfatに関しての紹介 機能の紹介資料(以前のおさらい) 拡張の追加など 20050325-xvfat-jpn.pdf ファイルシステムのioctl mediaの状態変化取得にカウンタを増設 2bit のstateだけなので、本当に変わったかを確認するため 日本語サポート →実際にはunicode部分のfixもある

抜去対応 抜去検出と通知 抜かれたあとは、system call はエラーで返る mediaの抜去 pollingでドライバへ問い合わせし検出 deviceの抜去 deviceへの操作のエラーを記憶 Deviceが抜かれたときの挙動はドライバに依存 → デバイスごと抜かれたことへの対応には弱い 抜かれたあとは、system call はエラーで返る 操作ごとに毎回チェック 書き込み順序を保存(EraseBlockを超えて入れ替わらない) 同期書き込み EraseBlock単位でまとめて書き込まれるように調整 FATがerase block内になることが重要 erase block内は一気にかけると仮定して、トランザクション管理

FATの構成とEraseBlock EraseBlock ‘ FAT(COPY) FAT ROOT DIR ‘ DATA not yet used SUB DIR SUB DIR not yet used SUB DIR SUB DIR not yet used

例:create() 一度 I/Oエラーなら、以降はスキップ トランザクション開始 ディレクトリへのエントリ追加を記録 トランザクション終了 FATの更新(開放以外)は直ぐに書き込み

例:ファイルへの書き込み 一度 I/Oエラーなら、以降はスキップ トランザクション開始 データ書き込み ディレクトリ、FATの更新は直ぐに書き込み トランザクション終了

Kernel 2.6への対応(1/3) コミュニティーへのフィードバックをしないと まずは、現状の2.4.20ベースでパッチ機能毎に分離 細かい単位でパッチを分ける 既存の仕組みをそのまま/改造して利用 まずは、現状の2.4.20ベースでパッチ機能毎に分離 その後、各機能ごとに検討を進める 全体構成 オリジナルのfs/fat, fs/vfatを利用するようにできるか?

Kernel 2.6への対応(2/3) Erase Block単位でのトランザクション管理 2.4.20 2.6での実装 独自実装 EraseBlockサイズは、MS用パラメータテーブル用意 2.6での実装 journalling-API (jbd)が利用できるか? Documentation/DocBook/journal-api.tmpl からdocは生成可能 RAM領域をexternal journalとして利用 → Journal化も可能かも EraseBlockサイズ → ドライバのパラメータを利用? Documentation/block/biodoc.txt max_seg_size は適当? クラスタアロケーションも EraseBlockを考慮しては? たとえば、先頭から空きが連続してあるEraseBlockを優先的につかうとか…

Kernel 2.6への対応(3/3) 挿抜検出/対応 書き込み順序制御 HOTPLUGを利用? 2.6ではll_rw_block.cにtime out処理が追加されている 書き込み順序制御 2.4 EraseBlock内はReorder可能と過程 前記のトランザクション実装と独自エレベータ関数内で制御 2.6 EraseBlock内でのリオーダはOKとするか、しないかを選択する? シーク時間の考慮をON/OFF できる block device layer の queueのパラメータだけ制御可能か? NO:→バウンダリがあるのでだめなはず、elevator側で対処するしかないだろう

想定機器 内蔵非リムーバブル リムーバブル HDDは? USB clientになるデバイスで内蔵ストレージをPCからマウント (USB Mass storageとして公開) Flash Memoryなど リムーバブル USB hostになるデバイスで、メモリカードやデジカメ等をUSB Massとしてマウント バス直結型(PCMCIAなど)メモリカードリーダ HDDは?

議論 jbdは使えそうだけど、変更は必要そう そもそもなぜFATかを理解してもらうのが大変 そもそもEraseBlock単位でよいのか? Dataの吐き出しのタイミング制御は自分でやる必要があるのでは? JFSはkjournaldを使わずに自前で daemonを起こしているようだ そもそもなぜFATかを理解してもらうのが大変 目的とか、前提を明確にして議論しないと話がかみ合わない可能性がある そもそもEraseBlock単位でよいのか? 個別WriteBlockの書き込みの方が TransLayerがうまく扱えるのではないか EraseBlock単位の読み込み書き込みは、バーストできることもあるはずなので有利なことが多いかも 下位にTransLayerと協調して動くべき エラー時にEraseBlock内を全てあきらめるのではなくて、WriteBlock単位で読み込んで復旧するとか エラー時に TransLayer側のキャッシュ等のメモリ内の記録を使ってデータの復旧を行うとか Journal化できるとよいかも removable だと 抜去→PCでマウント、書き込みで戻すと logとデータ本体が一致しなくなるので注意が必要 どんなメリットがあるか?内蔵の場合と、removableでは違うのでは HDDとUSB Mass Storage、内蔵フラッシュメモリをサポートする際の差は? シーク時間の考慮、 ソフト側でのTransLayer有り無し、EraseBlock長、WriteBlock長など