Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxのメジャーとマイナーデバイス番号の紹介

Linuxのメジャーとマイナーデバイス番号の紹介

  
 1、メジャー番号とLinuxカーネルで
機能のマイナー番号は、ドライバメジャー番号は、このデバイス用のドライバを使用するために、Linuxカーネルに伝え、対応するデバイス、(/devにすなわち、デバイスファイル)を特定しますサービス; 2番目の数字は、特定のユニークな機器が使用されている識別しています。例えば、端末にLinuxコマンドを

** @ Ubuntuの:/devの$&LSのndash; L CRW-RW— - 1ルートのルート4,0 2010-05-25 6時50 tty0ののCRW&mdash。 — - 1ルートルート4、ファイルの1 2010-05-25 6:51 TTY1の
リストは、デバイス・ファイル[デバイスの文字列表現の文字列の先頭には、C、もちろん、機器の一部をbとして表現されている例えば多く、になります]、これらのファイルは、/devディレクトリに配置され、書籍のノードファイルシステムと呼ばれることができます。さらに、上記の行番号2において、[4]、青、紫表す[0,1]それぞれのデバイスのメジャー番号、二次デバイス番号を表します。メジャー番号とマイナー番号は、デバイスの固有の識別子を形成します。 Linuxカーネルは、まだ&'に応じて複数のドライバは、メジャー番号を共有することができますが、今装置のほとんどが、ドライバ&'に対応するメジャー番号を、原理を整理します。マイナー番号が実装されたデバイスドライバを維持するために使用され、カーネル自体は基本的にはマイナー番号に関するその他の情報を気にしません。
#cat /PROC /デバイスがで、内部表現
型デバイス番号、デバイスタイプのdev_t(2.4カーネルkdev_t)をナンバリングしている、2
:マスタは視聴システム
割り当てられました<リナックス/coda.h>定義されました。
のtypedef unsigned long型のdev_t、数は32ビットであることを特徴とする請求
のdev_t、12は、メジャー番号20は、追加のマイナー番号を示す表します。
2.6メジャー番号8-12のカーネル拡張、およびセカンダリデバイス番号が8-20から拡大しました。次のように
メジャーおよびマイナー番号を取得:
MAJOR(たdev_tのDEV):メジャー番号DEV得られたデバイス番号、MINOR(たdev_tのDEV):デバイス番号DEVを得るマイナー数;
で<リナックス/kdev_t.h>上記のマクロで定義されたとおり
の#define MAJOR(DEV)((unsigned int型)((DEV)>> MINORBITS))の#define MINOR(DEV)(( unsigned int型)((DEV)&#038;メジャー番号とのdev_tの型に変換主要な建設装置マイナー番号()のマイナー番号
MINORMASK))は、)マイナー(INTメジャー、INTのmkdev
使用することができます。
<で、リナックス/kdev_t.h>上記のマクロで定義されたとおり
の#defineのmkdev(MA、MI)(((MA)<< MINORBITS)
Copyright © Windowsの知識 All Rights Reserved