Linux(Android)の/ devフォルダについて

Linux(Android)の/ devフォルダについて

Linuxファイルシステムがどのように機能するかを理解したいのですが、私が持っている唯一のLinuxシステムはルート化されたAndroid携帯電話だけなので、Android携帯電話でadbシェルを使用してこの内容に基づいて質問します。

~からここそしてここAndroidシステムに接続されているすべてのハードウェアは、オペレーティングシステムでファイルとして処理されるという内容を読みました。したがって、/ dev / dspはオーディオハードウェアであり、このファイルに記録されている内容はすべてスピーカーを介してサウンドとして表示されます。したがって、このファイルに1バイトの文字ストリームを書き込むと、最初に2バイトの単語として解釈されると仮定します。 wavファイルのように左右のチャンネルに対してインターリーブされ、スピーカーで再生されますか?ただし、adbシェルから/ devに移動してlsコマンドを使用すると、dspファイルは表示されません。

私の質問は、/ devフォルダのファイル命名が標準ですか、それとも名前を持つことができますか?それは言うここ名前は完全にランダムに指定できます。

いくつかの命名スキームがありますが、ほとんどの場合、これらの命名スキームは完全に非論理的です。

これが真であれば、どのファイルが何を表すかをどうやって知ることができますか?

ベストアンサー1

あなたのtldpリンクにはいくつかの歴史があります。/devファイルシステムの一部としてのみ考えると、サブシステムの本質を見逃すことです。

ABのコメントにはメジャー/マイナーが言及されていますが、彼のリンクは生のリストにすぎません。ここ割り当てられたデバイスkernel.org HTMLいくつかの追加情報があります。

私はこの文脈で「すべてがファイルです」という誤解を招くと思います。のファイル/devが呼び出されます。特殊ファイル、文字またはブロック。 「c」または「b」はこれを示します。

]# ls -l /dev/tty1 /dev/sda1 
brw-rw---- 1 root disk 8, 1 Nov  5 17:27 /dev/sda1
crw------- 1 root tty  4, 1 Nov  7 05:48 /dev/tty1

ドキュメントの Major=8:

   8 block      SCSI disk devices (0-15)
                  0 = /dev/sda          First SCSI disk whole disk
                 16 = /dev/sdb          Second SCSI disk whole disk
                 32 = /dev/sdc          Third SCSI disk whole disk
                    ...
                240 = /dev/sdp          Sixteenth SCSI disk whole disk

しかし、これは、高い数のパーティションが突然 major = 259 になる理由を直接説明しません。

]# ls -l  /dev/sda16
brw-rw---- 1 root disk 259, 0 Nov  5 17:27 /dev/sda16

この「sda」の例は、主に大容量のストレージであるため、選択しました。これがAndroidにどのように変換されるかわかりません。

ブロックデバイス(パーティション)は直接書き込むこともできますが、通常はファイルシステムでフォーマットしてマウントします。

通常、/ devのファイルはデバイス自体ではなく、デバイスへのインターフェイスです。


現在、/ devは/ sysなどの擬似ファイルシステムです。

TARGET    SOURCE     FSTYPE
/dev      dev        devtmpfs
/sys      sys        sysfs
/         /dev/sda3  ext4

起動中、/ devはカーネルによって埋められます。ユーザーはモジュールをロードしてデバイスを追加できます。例えばmodprobe loopください/dev/loop0-7

(提案された編集は「カーネルによって」ではなく「udevによって」埋められることでした。私の考えでは、これはパディング自体よりも命名の問題だと思います。

外部USBストレージを接続するとsdb、sdcなどを取得できますが、モジュールがusb_storageロードされている場合にのみ可能です。

これ相互作用/ dev特殊ファイルの属性は名前にも表示されます。 sdaやttyなどの一部は技術的であり、一部(/dev/disk/by-...下)は、便宜または識別のために提供されるリンクです。

おすすめ記事