uname コマンド出力におけるハードウェアプラットフォームの意味

uname コマンド出力におけるハードウェアプラットフォームの意味
 man uname
    -m, --machine             print the machine hardware name
    -i, --hardware-platform   print the hardware platform or "unknown"

ここでハードウェアプラットフォームとはどういう意味ですか? 「マシンハードウェア名」とどう違いますか? SEで関連する質問を見つけましたが、受け入れられる答えに矛盾があるようです。この用語の正確な情報はどこにありますか?

答え1

POSIXuname定義されていますが、出力-mはから返されるシステム名です-i-muname(2)システムコール、machineエントリー中utsname構造。可能な値は実装によって異なります。 Linuxシステムでは、カーネルアーキテクチャ(x86_64i686...)、プロセスの性質に応じて修正可能

使用されるさまざまなコンピュータ名については、以下を確認してください。config.guess:各値セットの最初の要素はシステム名で、、、、、macppc...がalpha表示されます。Alpha21064

グヌcoreutils'uname-iハードウェアプラットフォーム名を解決できる場合は、それを出力するように定義されます。これが何を意味するのかを理解するには、以下を見てください。ソースコード。システムがunameサポートの上に構築されている場合sysinfo(SI_PLATFORM, ...)autoconfマクロPOSIXと主張しているが確認できない)そこに返されたハードウェアプラットフォームを使用します。たとえば、これはSunOSとSolarisでは機能しますが、Linuxでは機能しません。sysinfo使用できない場合はsys/sysctl.h含めて確認し、両方が定義されてHW_MODELいる場合はHW_MACHINE_ARCH指定されたモデルが使用されます。sysctl()これは一部のBSDタイプのプラットフォームで機能します。

要約すると、両方の値は実装に依存するため、実際の意味を与えることは困難です。

答え2

追加情報info uname:

`-i'
`--hardware-platform'
     Print the hardware platform name (sometimes called the hardware
     implementation).  Print `unknown' if the kernel does not make this
     information easily available, as is the case with Linux kernels.

`-m'
`--machine'
     Print the machine hardware name (sometimes called the hardware
     class or hardware type).

デフォルトでは、クラスタイプ - 異なるハードウェア実装(-i)を持つことができますが、同じハードウェアクラス(-m)にある場合があります。

たとえば、同じハードウェアクラスで共有するカーネルモジュールと、特定のハードウェア実装に固有のモジュールを区別するために使用されます。

関連情報