コンテンツにスキップ

inode

Xuất xứ: フリー bách khoa sự điển 『ウィキペディア ( Wikipedia ) 』

inode( アイノード ) は,ext2など のUnix hệファイルシステムで cổ くから sử われているデータ cấu tạo である. inode にはファイル,ディレクトリなど の ファイルシステム thượng の オブジェクトに quan する cơ bản tình báo が cách nạp される.

ReiserFSなど の gần nhất の Unix hệ ファイルシステムでは inode を sử dụng していないが, ngang nhau の cơ năng を cung cấp するには ngang nhau の tình báo をどこかに cách nạp しなければならない.statシステムコールがそれら の データをプログラム hướng けに cung cấp する の で, これを statデータと hô ぶことがある.

Điểm chính

[Biên tập]

Linuxでは, こ の ようなデータ のカーネルで の メモリ thượng の biểu hiện をstruct inodeと hô ぶ.BSDHệ システムではvnodeと hô ぶが, こ のvnodevはカーネル nội の仮 tưởng ファイルシステムTầng から tới ている.

POSIXTiêu chuẩn で quy định されているファイルシステム の động tác は従 tới から のUNIXファイルシステムに đại きく ảnh hưởng されている. Thông thường ファイルは dưới の ような thuộc tính を cầm つことを yêu cầu されている:

  • ファイル の trường さ ( バイト số )
  • デバイスID ( ファイルを cách nạp しているデバイスを phân biệt )
  • ファイル sở hữu giả のユーザーID
  • ファイル のグループID
  • ファイルシステム nội でファイルを phân biệt する inode phiên hiệu
  • ファイルモード (ファイルパーミッション)
  • Cuối cùng inode đổi mới khi (ctime), cuối cùng ファイル đổi mới khi (mtime), cuối cùng tham chiếu khi (atime) を kỳ すタイムスタンプĐàn
  • そ の inode を chỉ すハードリンクがいくつあるかを kỳ すTham chiếu カウント

inodeという dùng từ はブロックデバイスThượng の inode も ý vị し, thông thường ファイルやディレクトリや trường hợp によってはシンボリックリンクにも đối ứng している. こ の khái niệm は tổn hại したファイルシステム の リカバリにおいて đặc に quan trọng である.

inode phiên hiệu は, そ の inode が nhớ lục されているデバイス thượng で một ý のSố nguyênTrị である. Toàn て の ファイルは inode に vật lý にリンクされている. プログラムがファイルをファイル danh で tham chiếu するとき, システムはそ の ファイル danh に đối ứng する inode を kiểm tác する.

statシステムコールはファイル の inode phiên hiệu やそ の hắn の inode nội の tình báo の một bộ を đến る cơ năng である.

inodeiが gì を ý vị する の かは không minh xác である. UNIX の khai phát giảデニス・リッチーは, それを nghe かれたとき dưới の ように thuật べている:

Thật tế, tư にもわからない. Ta 々が sử い thủy めたときは単なる dùng từ だった. たぶん "index" が nguyên になっているんじゃないかと tư う. という の はちょっと変わったファイルシステム cấu tạo があって, ディレクトリを sử った giai tầng cấu tạo がある の に toàn て の ファイル の アクセス tình báo をディスク nội の フラットな xứng liệt に cách nạp していたんだ. だから i-number という の はそ の xứng liệt の インデックスで, i-node はそ の xứng liệt の yếu tố だろう. ( "i-" という thư き phương は sơ bản の マニュアルで sử われていたが, từ 々にハイフンが vô くなっていった ).
inodeを sử dụng したファイルシステムで の ファイル の cấu tạo đồ

Quan liền

[Biên tập]

ファイルシステムに quán れていないユーザー の nhiều くは, inode の コンセプトを lợi dụng するファイルシステム の đặc tính に kinh く.

  • Số nhiều の danh trước が cùng じ inode にリンクしていると (ハードリンク), ど の danh trước も chờ 価と ngôn える. ファイルを lúc ban đầu に tác thành したとき の danh trước は đặc biệt な ý vị を cầm たない. これはシンボリックリンクがオリジナル の danh trước に sống nhờ vào nhau している の と toàn く dị なる.
  • リンクを toàn く cầm たない inode もありうる. Thông thường そ の ようなファイルはディスクから trừ bỏ され, そ の リソース ( ディスクブロック ) はファイル trừ bỏ 処 lý の quá trình で lại lợi dụng の ために giải phóng されるが, gì らか のプロセスがそ の ファイルを sử dụng trung ならば, アクセスし続けることができ, cuối cùng にクローズされるときに trừ bỏ 処 lý が hành われる. こ の ため, プログラムを sửa bản ( リコンパイル ) するときは, trước kia のThật hành ファイルをまず trừ bỏ して, tân しい bản の thật hành ファイルは tân たな inode で tác thành されるようにすることが đẩy thưởng される. これにより, cổ い bản が thật hành trung であっても gì ら vấn đề なく処 lý を続 hành することになる. ( 訳 chú: Trừ bỏ しないで thượng thư きすると, thật hành trung の thật hành ファイルが thư き đổi えられるため,メモリ quản lýの thật trang によってはおかしな trạng thái が phát sinh する ).
  • 従 tới, オープン trung の ファイル (ファイル ghi lại tử) からオープンされたファイル danh を đến ることはできなかった. オペレーティングシステムは một lần ファイル danh を inode phiên hiệu に変 đổi すると, ファイル danh の phương を quên れてしまう. 従って,getcwd()getwd()といったライブラリ quan số は "."ディレクトリに đối ứng する inode phiên hiệu からそ の thân ディレクトリを lục soát し, cuối cùng に"/"ディレクトリまでたどることでフルパス danh を đến ている. こ の vô đà な処 lý を tỉnh くため,SVR4Linuxシステムは thêm vào tình báo を bảo trì している.
  • ディレクトリ の ハードリンクは cổ くから khả năng だった. これによりディレクトリ cấu tạo はMộc cấu tạoではなく tùy ý のCó hướng グラフとなっている. あるディレクトリを tự thân の thân ディレクトリとすることも khả năng である. Gần nhất の システムではそ の ような hỗn loạn の nguyên となる trạng thái を phòng ぐようになっている.

Thật dùng tới の suy xét

[Biên tập]

UNIXオペレーティングシステムシステムアドミニストレータが sử dụng するプログラムには, ファイルを riêng するために inode phiên hiệu を tỏ vẻ するも の がある.ハードディスクの kiện toàn tính チェックユーティリティ のfsckpfilesがそ の ようなコマンド の lệ である. そこで inode phiên hiệu をファイルの パス danh に変 đổi する ( およびそ の nghịch 変 đổi をする ) tất yếu が sinh じる. これはファイル danh kiểm tác ユーティリティfind( の-inumオプション ) やlsコマンドに thích hợp なオプション ( nhiều く の trường hợp-i) を phó けることで thật hiện される.

また, “ファイルが trừ bỏ された tế に gì らか の プロセスがそ の ファイルを sử dụng している trường hợp, そ の プロセスからはアクセスが継続できる.” という đặc trưng がセキュリティ thượng vấn đề となる trường hợp がある. Lệ えば, nhiều く の プロセスが tham chiếu しているライブラリ の セキュリティアップデートを áp dụng した sau, đương nên プロセスからは cũ バージョン の ライブラリにアクセスし続けるため, yếu ớt tính が hoàn toàn に tu chỉnh されないという tình thế が phát sinh する. したがって, đặc にシステム の trung hạch に vị trí するようなライブラリをアップデートした tế には động tác thượng vấn đề がなくてもシステムを tái khởi động する chờ の đối sách が tất yếu となってくる.

トリビア

[Biên tập]

International Association of Computer Investigative Specialists (IACIS[1]) の 2003 năm の hội nghị で, "inode" は "I'm Not Operating DOS Ever" ( DOSなど nhị độ と xúc るか ) の lược であるという đề án がなされた. しかし, toàn く の hư として lui けられた.

Chú thích

[Biên tập]


Phần ngoài リンク

[Biên tập]