問題タブ [fat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
305 参照

filesystems - 基本的なファイル システムの実装

超ミニマルなファイル システムを作成するために 2k バイトが与えられたので、FAT16 を取り除いたバージョンを作成することを考えました。

私の唯一の問題は、ボリュームに FAT を保存する方法を理解することです。ブロックごとに 2 バイトを使用するとします。したがって、1024 ブロックになります。1024 行のテーブルが必要で、各行にファイルの次のブロックを保存します。

このブロックのそれぞれが他の 1023 ブロックをアドレス指定できるため、このテーブルが 2k スペース全体を使用しない理由がわかりません。このテーブルをハード ドライブに保存し、1024 ブロックを使用して 1024 行のテーブルを書き込むのではなく、数バイトのみを使用する方法がわかりません。

0 投票する
1 に答える
1532 参照

jar - Dropwizard アプリケーション用のファット jar の作成

Maven シェード プラグインを使用する dropwizard ドキュメントに従って、マルチ モジュール Java プロジェクト用のファット jar を作成しようとしています。

https://dropwizard.github.io/dropwizard/getting-started.html#building-fat-jars

これを行うために、別の pom.xml である別のアグリゲーター プロジェクトを作成し、この pom.xml でプラグインを構成しました。

この構成にクラスパスを追加する方法はありますか? 私は何が欠けていますか?

0 投票する
1 に答える
1309 参照

c++ - c++ プログラミングで NTFS/FAT にアクセスするためのデータ構造はどこにありますか?

私は C++ で NTFS/FAT ファイル システム プログラミングを始めています。MFTジャーナルファイルの解析など

ntfs.com などの非常に優れた資料をオンラインで読み、理論的な概念を理解しました。

しかし、NTFS/FAT ファイル システムにアクセスして何らかのコードを実行する場合は、. Windows ファイル システムのコアにアクセスするためのすべての C++ データ構造を含む資料はどこで見つけられるのでしょうか?

助けてください。

0 投票する
1 に答える
1868 参照

fat - ファイル アロケーション テーブルの論理構造

より高い (より論理的な) レベルから FAT ファイル システムがどのように機能するかを理解しようとしています。FAT ファイル システムにはファイル アロケーション テーブルがあり、ディスク内の使用可能なアロケーション ユニット (クラスタ) ごとに 1 つのエントリがあります。このデータ構造は、ファイルがディスク上に表示される最初のクラスターのアドレスを使用してファイルをマップするために使用されます (ファイルはほぼ確実に複数のクラスターを占有し、これらのクラスターは連結リスト形式で接続されます)。ここまでは順調ですね。しかし、ファイル アロケーション テーブルのキーは何でしょうか? ファイル名はフルパスですか?

たとえば、ファイル C:\folder1\myFile.txt にアクセスする必要があるとします。I/O マネージャーは、エントリが見つかるまで、ファイル アロケーション テーブル内のファイル名 (パスを含む) を検索します。最初のクラスターのアドレスを返します。それがどのように機能するのですか?このトピックに関する多くのドキュメントをオンラインで読みましたが、どういうわけか、ファイル アロケーション テーブルへのアクセスはまだあいまいです。よろしくお願いいたします。

[編集]

オンラインで読めば読むほど、私は混乱します。この簡単な例で試してみます。うまくいけば、私の質問が明確になります。C ドライブに 2 つのファイルしかないとします。

C:\myFile.txt

C:\folder1\myFile.txt

ファイル アロケーション テーブルには (非常に抽象的な方法で) 3 つのエントリがあります。

これまでのところ私が正しいと仮定して、C:\folder1 の myFile.txt にアクセスしたいとしましょう: 同じ名前のエントリが 2 つあるため、ファイル名 (MYFILE.TXT) 自体をキーとして使用することはできません (どのエントリを選択すればよいかわかりません)。

この時点で、フォルダから開始する必要があると思われるため、FAT をスキャンして FOLDER1 を見つけます。エントリ #2 (クラスタ 300) を取得します。次は何ですか?指定したクラスターのハード ドライブにアクセスできるように、テーブルをスキャンして "MYFILE.TXT" に必要なディレクトリ エントリを見つけるにはどうすればよいですか?

多分私はこれを間違った視点から見ているのかもしれませんが、わかりません。助けてくれてありがとう。

0 投票する
2 に答える
906 参照

c - 任意の FAT ファイルシステムをファイルに作成するか、プログラム メモリに直接作成します。

私は、FAT ファイルシステムとして 8MB の RAM チャンクを使用する USB 大容量記憶装置ドライバーを作成している組み込みシステムを作成しています。

当時は、OS が RAM 領域をゼロにして FAT パーティション自体をフォーマットできるようにすることは理にかなっていましたが、Jan Axelson (USB に関する本の人気著者) のPORTS フォーラムで診断している問題に遭遇しました。この問題は、ドライブ内のブロックの消去に関連しており、USB エニュメレーションの前にメモリ領域を FAT ファイルシステムに事前フォーマットすることで回避できる場合があります。次に、ドライブが正常に動作するかどうかを確認できました。理想的には、事前にフォーマットされたパーティションには、読み取り操作をテストするためのファイルが含まれています。

どうにかして自分の OS (OSX) に 8MB の FAT ファイルシステムのモックを作成してマウントし、それにファイルを書き込んで、プロジェクトに含めるためにイメージ ファイルにエクスポートできればいいのですが。誰かがこれを行う方法を知っていますか? 私は残りを処理することができました。現時点では、それが FAT12/16/32 になるかどうかはあまり心配していません。オプションで MBR を含めるとよいでしょう。

そのオプションが存在しない場合は、事前に作成されたユーティリティを使用して、プロジェクトに含めて RAM に直接アップロードできる FAT img ファイルを作成しようとしています。このユーティリティを使用すると、たとえば 512 バイトのセクターを持つ 8MB のファイルシステムを指定でき、場合によっては FAT12 / FAT16 / FAT32 も指定できます。

誰もそのようなユーティリティを知っていますか? 見つけられませんでした。

そうでない場合、誰かがこれを C で実装するための最初のステップを推奨できますか? ライブラリが存在することを願っています。大容量記憶装置ドライバーをゼロから実装したのでかなり疲れましたが、「しわが寄って」手動で FAT パーティションを作成する必要があるかもしれないことは理解しています。それほど難しくありません。いくつかのパックされた構造体といくつかのオプションを想像します。私はそこに着きます。私はすでに FAT ファイルシステム自体にリソースを持っています。

0 投票する
1 に答える
1453 参照

c - FAT12 ファイルからデータを取得する

手始めに、これは宿題の一部です。割り当ては、FAT12 ファイルからデータを取得しています。私の問題は、コードを実行すると、関数から偽の値 (巨大な負の数) が返されることです。ただし、1 つまたは 2 つの関数を実行するだけで、正しい値が得られます。

私の関数: 私の関数は同じパターンに従いますが、fseek と fread のオフセットが異なります。

主な機能

私の問題はポインターの問題であると言いたいのですが、どこでどのように見られないだけです。私の結果がどのように、そしてなぜ不安定なのかについての洞察は大歓迎です。

0 投票する
1 に答える
229 参照

disk - フロッピー ディスク セクタの番号付け方法

フロッピー ディスクのセクタがどのように並べられているのか疑問に思っていました。現在、フロッピー ディスク (fat12 でフォーマットされた高密度) のルート ディレクトリにアクセスするプログラムを作成しています。セクタ 13h でデバッグを使用してロードできますが、アセンブリではヘッド 1 トラックにあります。 0 セクター 2 なぜセクター 13h であり、ヘッド 0 トラック 1 セクター 1 ではないのですか?

0 投票する
1 に答える
78 参照

operating-system - FAT のファイルを含むディスク ブロックを見つける方法

FAT ファイル システムでファイルを検索する方法を知りたいです。

Linux には、ルートがどこにあるかを示すルート ブロックがあり、ディレクトリ i ノードとそのブロック ポインタを繰り返し処理して、ディレクトリ エントリから他の i ノードを見つけることができますが、FAT テーブルにはそのようなものはありません。それ以上に、すべてのリンクされたリストを繰り返し処理するという考えは、非常に混乱を招きます。

FAT でファイルを含むディスク ブロックを見つける方法を誰か説明できますか?