อ่าน 6 นาที
โหนด
inode (index node) เป็น โครงสร้างข้อมูล ใน ระบบไฟล์แบบ Unix ที่อธิบาย วัตถุ ใน ระบบไฟล์ เช่น ไฟล์ หรือ ไดเร็กทอรี inode...
โหนด
inode (index node) เป็นโครงสร้างข้อมูลในระบบไฟล์แบบ Unixที่อธิบาย วัตถุ ในระบบไฟล์เช่นไฟล์หรือไดเร็กทอรี inode แต่ละตัวจะเก็บคุณลักษณะและตำแหน่งบล็อกดิสก์ของข้อมูลของวัตถุ[ 1 ]คุณลักษณะของวัตถุในระบบไฟล์อาจรวมถึงเมตาเดตา (เวลาของการเปลี่ยนแปลงครั้งล่าสุด[ 2 ]การเข้าถึง การแก้ไข) รวมถึงข้อมูล เจ้าของและ สิทธิ์[ 3 ]
ไดเร็กทอรีคือรายการของอินโนดพร้อมชื่อที่กำหนดไว้ รายการดังกล่าวประกอบด้วยรายการสำหรับตัวมันเอง ไดเร็กทอรีแม่ และไดเร็กทอรีลูกแต่ละรายการ
นิรุกติศาสตร์
มีข้อสงสัยในรายชื่อผู้รับจดหมายของเคอร์เนล Linuxเกี่ยวกับเหตุผลของ "i" ใน "inode" ในปี 2002 คำถามนี้ถูกถามไปยังDennis Ritchie ผู้บุกเบิก Unix ซึ่งตอบว่า: [ 4 ]
จริงๆ แล้วผมก็ไม่รู้เหมือนกัน มันเป็นแค่คำที่เราเริ่มใช้กัน "ดัชนี" น่าจะเป็นคำที่ผมคิดว่าถูกต้องที่สุด เพราะโครงสร้างระบบไฟล์ที่ค่อนข้างแปลก คือมันเก็บข้อมูลการเข้าถึงไฟล์เป็นอาร์เรย์แบบแบนบนดิสก์ โดยที่ข้อมูลไดเร็กทอรีแบบลำดับชั้นทั้งหมดอยู่แยกต่างหาก ดังนั้น i-number จึงเป็นดัชนีในอาร์เรย์นี้ และ i-node ก็คือองค์ประกอบที่เลือกในอาร์เรย์ (สัญลักษณ์ "i-" ถูกใช้ในคู่มือฉบับพิมพ์ครั้งแรก เครื่องหมายขีดกลางถูกค่อยๆ ตัดออกไป)
บทความปี 1978 โดย Ritchie และKen Thompsonสนับสนุนแนวคิดที่ว่า "ดัชนี" เป็นต้นกำเนิดทางนิรุกติศาสตร์ของ inodes พวกเขาเขียนว่า: [ 5 ]
[…] รายการในไดเร็กทอรีประกอบด้วยเพียงชื่อของไฟล์ที่เกี่ยวข้องและตัวชี้ไปยังไฟล์นั้น ตัวชี้ดังกล่าวเป็นจำนวนเต็มที่เรียกว่าหมายเลข i (ย่อมาจาก index number) ของไฟล์ เมื่อมีการเข้าถึงไฟล์ หมายเลข i ของไฟล์จะถูกใช้เป็นดัชนีในตารางระบบ ( i-list ) ที่จัดเก็บไว้ในส่วนที่ทราบของอุปกรณ์ที่ไดเร็กทอรีนั้นตั้งอยู่ รายการที่พบ ( i-node ของไฟล์ ) จะมีคำอธิบายของไฟล์นั้น
นอกจากนี้ Maurice J. Bach ยังเขียนว่าคำว่าinode "เป็นคำย่อของคำว่า index node และมักใช้ในเอกสารเกี่ยวกับระบบ UNIX" [ 6 ]
รายละเอียด

ระบบไฟล์อาศัยโครงสร้างข้อมูลเกี่ยวกับไฟล์ ไม่ใช่เนื้อหาของไฟล์เหล่านั้น โครงสร้างข้อมูลเกี่ยวกับไฟล์เรียกว่าเมตาเดตาซึ่งเป็นข้อมูลที่อธิบายข้อมูล แต่ละไฟล์จะเชื่อมโยงกับinodeซึ่งระบุด้วยจำนวนเต็ม มักเรียกว่าหมายเลข iหรือหมายเลข inode
Inode ทำหน้าที่จัดเก็บข้อมูลเกี่ยวกับไฟล์และไดเร็กทอรี (โฟลเดอร์) เช่น กรรมสิทธิ์ของไฟล์ โหมดการเข้าถึง (สิทธิ์ในการอ่าน เขียน และเรียกใช้งาน) และประเภทไฟล์ ข้อมูลเหล่านี้อาจเรียกว่าข้อมูลสถานะ (stat data) โดยอ้างอิงถึงstatการเรียกใช้ระบบ (system call ) ที่ให้ข้อมูลแก่โปรแกรมต่างๆ
หมายเลข inode ใช้เป็นดัชนีในตาราง inode บนระบบไฟล์ จากหมายเลข inode นี้ ไดรเวอร์ระบบไฟล์ของเคอร์เนลสามารถเข้าถึงเนื้อหาของ inode รวมถึงตำแหน่งของไฟล์ ซึ่งทำให้สามารถเข้าถึงไฟล์ได้ สามารถค้นหาหมายเลข inode ของไฟล์ได้โดยใช้ls -iคำสั่ง ซึ่งจะแสดงหมายเลข inode ในคอลัมน์แรกของผลลัพธ์
ในระบบไฟล์รุ่นเก่าหลายระบบ inode จะถูกจัดเก็บไว้ในพื้นที่ขนาดคงที่หนึ่งแห่งหรือมากกว่านั้น ซึ่งถูกตั้งค่าไว้ในระหว่างการสร้างระบบไฟล์ ดังนั้นจำนวน inode สูงสุดจึงถูกกำหนดไว้ตายตัวในระหว่างการสร้างระบบไฟล์ ซึ่งจำกัดจำนวนไฟล์สูงสุดที่ระบบไฟล์สามารถเก็บได้ หลักการจัดสรร inode ทั่วไปในระบบไฟล์คือ หนึ่ง inode ต่อทุกๆ 2K ไบต์ที่มีอยู่ในระบบไฟล์[ 8 ]
ระบบไฟล์แบบ Unix บางระบบ เช่นJFS , XFS , ZFS , OpenZFS , ReiserFS , btrfsและAPFSละเว้นตาราง inode ขนาดคงที่ แต่ต้องจัดเก็บข้อมูลที่เทียบเท่ากันเพื่อให้มีคุณสมบัติที่เทียบเท่ากัน ทางเลือกทั่วไปสำหรับตารางขนาดคงที่ ได้แก่B-treeและB+ tree ที่พัฒนามาจาก B- tree
ความหมายของชื่อไฟล์และโครงสร้างไดเร็กทอรี:
- Inode ไม่มี ชื่อ ฮาร์ดลิงก์แต่มีเพียงข้อมูลเมตาของไฟล์อื่นๆ เท่านั้น
- ไดเร็กทอรีในระบบยูนิกซ์เป็นรายการของโครงสร้างความสัมพันธ์ ซึ่งแต่ละโครงสร้างประกอบด้วยชื่อไฟล์หนึ่งชื่อและหมายเลข inode หนึ่งหมายเลข
- ไดรเวอร์ระบบไฟล์ต้องค้นหาชื่อไฟล์ที่ระบุในไดเร็กทอรี จากนั้นแปลงชื่อไฟล์นั้นเป็นหมายเลข inode ที่ถูกต้อง
struct inodeในLinuxการแสดงผลข้อมูลนี้ในหน่วยความจำของเคอร์เนลระบบปฏิบัติการเรียกว่า `Int` ส่วนระบบที่พัฒนามาจากBSDจะใช้คำว่า `Virtual File System` vnode(โดยที่ "v" หมายถึง เลเยอร์ ระบบไฟล์เสมือน ของเคอร์เนล )
คำอธิบายอินโนด POSIX
มาตรฐานPOSIXกำหนดพฤติกรรมของระบบไฟล์ซึ่งได้รับอิทธิพลอย่างมากจาก ระบบไฟล์ UNIX แบบดั้งเดิม inode จะถูกระบุด้วยวลี "หมายเลขลำดับไฟล์" ซึ่งกำหนดเป็นตัวระบุเฉพาะสำหรับไฟล์ในระบบไฟล์[ 9 ]หมายเลขลำดับไฟล์นั้น ร่วมกับรหัสอุปกรณ์ของอุปกรณ์ที่มีไฟล์ จะระบุไฟล์ได้อย่างเฉพาะเจาะจงภายในระบบทั้งหมด[ 10 ]
ภายในระบบ POSIX ไฟล์จะมีคุณลักษณะต่อไปนี้[ 10 ]ซึ่งสามารถเรียกได้โดยstatการเรียกใช้ระบบ:
- รหัสอุปกรณ์ (รหัสนี้ใช้ระบุอุปกรณ์ที่เก็บไฟล์ กล่าวคือ ขอบเขตความเฉพาะตัวของหมายเลขประจำเครื่อง)
- หมายเลขประจำไฟล์
- โหมดไฟล์ซึ่งเป็นตัวกำหนดประเภทไฟล์และวิธีการที่เจ้าของไฟล์ ผู้ใช้ที่เป็นสมาชิกของกลุ่มไฟล์ และผู้ใช้ที่ไม่ใช่ทั้งเจ้าของไฟล์และไม่ใช่สมาชิกของกลุ่มไฟล์ สามารถเข้าถึงไฟล์ได้
- จำนวนลิงก์ที่ชี้ไปยัง inode นั้นมีกี่ลิงก์แบบ hard link
- รหัสผู้ใช้ของเจ้าของไฟล์
- รหัสกลุ่มของไฟล์
- รหัสอุปกรณ์ของไฟล์ หากเป็นไฟล์อุปกรณ์
- ขนาดของไฟล์เป็นไบต์
- ข้อมูลที่แสดงเวลาที่ inode ถูกแก้ไขครั้งล่าสุด ( ctime , เวลาที่ inode เปลี่ยนแปลง ), เวลาที่เนื้อหาไฟล์ถูกแก้ไขครั้งล่าสุด ( mtime , เวลาที่แก้ไข ) และเวลาที่เข้าถึงไฟล์ครั้งล่าสุด ( atime , เวลาที่เข้าถึง )
- ขนาดบล็อกI/Oที่เหมาะสมที่สุด
- จำนวนบล็อกที่จัดสรรให้กับไฟล์นี้
ผลกระทบ
ระบบไฟล์ที่ออกแบบโดยใช้ inode จะมีลักษณะการบริหารจัดการดังต่อไปนี้:
ไฟล์ที่มีชื่อหลายชื่อและฮาร์ดลิงก์
ไฟล์สามารถมีชื่อได้หลายชื่อ หากมีหลายชื่อที่สร้างฮาร์ดลิงก์ไปยัง inode เดียวกัน ชื่อเหล่านั้นจะเทียบเท่ากัน กล่าวคือ ชื่อแรกที่ถูกสร้างขึ้นจะไม่มีสถานะพิเศษใดๆ ซึ่งแตกต่างจากลิงก์สัญลักษณ์ที่ขึ้นอยู่กับชื่อเดิม ไม่ใช่ inode (หมายเลข)
การคงอยู่ของ inode และไฟล์ที่ไม่ได้เชื่อมโยง
inode อาจไม่มีลิงก์ inode ที่ไม่มีลิงก์หมายถึงไฟล์ที่ไม่มีรายการไดเร็กทอรีหรือเส้นทางใดๆ เหลืออยู่ที่ชี้ไปยังไฟล์นั้นในระบบไฟล์ ไฟล์ที่ถูกลบไปแล้วหรือไม่มีรายการไดเร็กทอรีชี้ไปยังไฟล์นั้นเรียกว่าไฟล์ 'unlinked'
ไฟล์ดังกล่าวจะถูกลบออกจากระบบไฟล์ ทำให้พื้นที่ดิสก์ที่ถูกใช้งานนั้นว่างลงเพื่อนำไปใช้ใหม่ inode ที่ไม่มีลิงก์จะยังคงอยู่ในระบบไฟล์จนกว่าทรัพยากร (พื้นที่ดิสก์และบล็อก) ที่ว่างลงจากไฟล์ที่ไม่มีลิงก์จะถูกปล่อยคืน หรือระบบไฟล์จะถูกแก้ไข
แม้ว่าไฟล์ที่ไม่มีการเชื่อมโยงจะมองไม่เห็นในระบบไฟล์ แต่การลบไฟล์นั้นจะถูกเลื่อนออกไปจนกว่ากระบวนการทั้งหมดที่เข้าถึงไฟล์นั้นจะใช้งานเสร็จสิ้น รวมถึงไฟล์ปฏิบัติการซึ่งถูกเปิดค้างไว้โดยปริยายโดยกระบวนการที่กำลังเรียกใช้ไฟล์นั้นด้วย
การแปลงหมายเลข inode และการดึงเส้นทางไดเร็กทอรีไฟล์
โดยทั่วไปแล้ว การแปลงไฟล์ที่เปิดอยู่ให้ตรงกับชื่อไฟล์ที่ใช้เปิดนั้นเป็นไปไม่ได้ เมื่อโปรแกรมเปิดไฟล์ ระบบปฏิบัติการจะแปลงชื่อไฟล์เป็นหมายเลข inode แล้วจึงทิ้งชื่อไฟล์ไป ดังนั้น ฟังก์ชันต่างๆ เช่นgetcwd()และgetwd()ซึ่งใช้เรียกไดเร็กทอรี ปัจจุบัน ของกระบวนการ จึงไม่สามารถเข้าถึงชื่อไฟล์ได้โดยตรง
ฟังก์ชันเหล่านี้จะเริ่มต้นจากไดเร็กทอรีปัจจุบัน จากนั้นค้นหาขึ้นไปยังไดเร็กทอรีแม่และไปยังไดเร็กทอรีแม่ของไดเร็กทอรีแม่ และต่อไปเรื่อยๆ จนกระทั่งถึงไดเร็กทอรีรากในแต่ละระดับ ฟังก์ชันจะมองหาข้อมูลในไดเร็กทอรีที่มี inode ตรงกับข้อมูลของไดเร็กทอรีที่เพิ่งเลื่อนขึ้นมา เนื่องจาก inode ของไดเร็กทอรีลูกยังคงมีอยู่ในไดเร็กทอรีแม่จึงทำให้ฟังก์ชันสามารถสร้างเส้นทางสัมบูรณ์ของไดเร็กทอรี ปัจจุบันขึ้น มา ใหม่ได้
ระบบปฏิบัติการบางระบบจะเก็บรักษาข้อมูลเพิ่มเติมเพื่อทำให้การดำเนินการนี้ทำงานได้เร็วขึ้น ตัวอย่างเช่น ในLinux VFS [ 11 ]แคชรายการไดเร็กทอรี[ 12 ]หรือที่รู้จักกันในชื่อ dentry หรือ dcache เป็นรายการแคชที่เคอร์เนลใช้เพื่อเร่งความเร็วในการดำเนินการระบบไฟล์โดยจัดเก็บข้อมูลเกี่ยวกับลิงก์ไดเร็กทอรีใน RAM
ความเป็นไปได้ในอดีตของการเชื่อมโยงแบบฮาร์ดลิงก์ในไดเร็กทอรี
ในอดีต การสร้าง ฮาร์ดลิงก์ระหว่าง ไดเร็กทอรีนั้น เป็นไปได้ซึ่งทำให้โครงสร้างไดเร็กทอรีกลายเป็นกราฟแบบ มีทิศทางตามอำเภอใจ ตรงกันข้ามกับกราฟแบบไม่มีวงจรที่มีทิศทาง ยิ่งไป กว่านั้น ไดเร็กทอรีหนึ่งยังสามารถเป็นพาเรนต์ของตัวเองได้ด้วย ระบบสมัยใหม่โดยทั่วไปจะห้ามสถานะที่สับสนนี้ ยกเว้นว่าพาเรนต์ของรูทจะยังคงถูกกำหนดให้เป็นรูทอยู่ ข้อยกเว้นที่โดดเด่นที่สุดสำหรับข้อห้ามนี้พบได้ในMac OS X (เวอร์ชัน 10.5 ขึ้นไป) ซึ่งอนุญาตให้สร้างฮาร์ดลิงก์ของไดเร็กทอรีบน ระบบไฟล์ HFS+โดยผู้ใช้ระดับสูงได้[ 13 ]
ความเสถียรของหมายเลข inode และระบบไฟล์ที่ไม่ใช่ Unix
เมื่อไฟล์ถูกย้ายไปยังไดเร็กทอรีอื่นบนระบบไฟล์เดียวกัน หรือเมื่อการจัดเรียงข้อมูล บนดิสก์ เปลี่ยนแปลงตำแหน่งทางกายภาพของไฟล์ หมายเลข inode ของไฟล์จะยังคงไม่เปลี่ยนแปลง
คุณลักษณะเฉพาะนี้ช่วยให้สามารถย้ายหรือเปลี่ยนชื่อไฟล์ได้แม้ในระหว่างการอ่านหรือเขียนข้อมูล จึงมั่นใจได้ว่าจะสามารถเข้าถึงข้อมูลได้อย่างต่อเนื่องโดยไม่หยุดชะงัก
คุณสมบัตินี้—การที่เมตาเดตาและตำแหน่ง บล็อกข้อมูลของไฟล์ยังคงอยู่ในโครงสร้างข้อมูล ส่วนกลาง โดยไม่ขึ้นอยู่กับการเปลี่ยนชื่อหรือการย้ายไฟล์—ไม่สามารถจำลองได้อย่างสมบูรณ์ในระบบไฟล์ที่ไม่ใช่ Unix หลายระบบ เช่นFATและระบบที่พัฒนามาจาก FAT เนื่องจากระบบเหล่านี้ขาดกลไกในการรักษาคุณสมบัติที่ไม่เปลี่ยนแปลงนี้เมื่อทั้งรายการไดเร็กทอรีของไฟล์และข้อมูลของไฟล์ถูกย้ายตำแหน่งพร้อมกัน ในระบบไฟล์เหล่านี้ การย้ายหรือเปลี่ยนชื่อไฟล์อาจนำไปสู่การเปลี่ยนแปลงที่สำคัญกว่าในโครงสร้างข้อมูลที่แสดงถึงไฟล์ และระบบไม่ได้เก็บบันทึกส่วนกลางแยกต่างหากของ ตำแหน่ง บล็อกข้อมูลและเมตาเดตา ของไฟล์ เหมือนกับที่ inode ทำในระบบ ที่คล้าย Unix
การติดตั้งไลบรารีแบบง่ายด้วยระบบไฟล์ inode
ระบบไฟล์ inode อนุญาตให้กระบวนการที่กำลังทำงานอยู่สามารถเข้าถึงไฟล์ไลบรารีต่อไปได้ แม้ว่ากระบวนการอื่นจะกำลังแทนที่ไฟล์เดียวกันนั้นอยู่ก็ตาม
การดำเนินการนี้ควรทำในลักษณะอะตอมิกกล่าวคือ ควรปรากฏเป็นการดำเนินการเดียวที่เสร็จสมบูรณ์โดยสมบูรณ์หรือไม่ได้ทำเลย โดยไม่มีสถานะระหว่างกลางที่กระบวนการอื่นสามารถมองเห็นได้
ในระหว่างกระบวนการแทนที่จะมีการสร้าง inode ใหม่สำหรับไฟล์ไลบรารี ใหม่ ซึ่งเป็นการสร้างการแมปใหม่ทั้งหมด หลังจากนั้น การร้องขอการเข้าถึงไลบรารีนั้นในอนาคตจะเรียกใช้เวอร์ชันที่ติดตั้งใหม่
เมื่อระบบปฏิบัติการกำลังแทนที่ไฟล์ (และสร้าง inode ใหม่) มันจะล็อก[ 14 ]บน inode [ 15 ]และอาจรวมถึงไดเร็กทอรีที่บรรจุอยู่ด้วย[ 16 ]ซึ่งจะป้องกันไม่ให้กระบวนการอื่นอ่านหรือเขียนไฟล์ (inode) [ 17 ]ในระหว่างการดำเนินการอัปเดต จึงหลีกเลี่ยงความไม่สอดคล้องกันหรือความเสียหายของข้อมูล[ 18 ]
เมื่อการอัปเดตเสร็จสมบูรณ์แล้ว ตัวล็อกจะถูกปล่อย การเข้าถึงไฟล์ (ผ่าน inode) ในภายหลังโดยกระบวนการใดๆ ก็ตามจะชี้ไปยังไลบรารีเวอร์ชันใหม่ ทำให้สามารถทำการอัปเดตได้แม้ว่าไลบรารีจะถูกใช้งานโดยกระบวนการอื่นอยู่ก็ตาม
ข้อดีที่สำคัญอย่างหนึ่งของกลไกนี้คือ ไม่จำเป็นต้องรีบูตระบบเพื่อเปลี่ยนไลบรารีที่ใช้งานอยู่ ดังนั้น ระบบจึงสามารถอัปเดตหรืออัปเกรดไลบรารีซอฟต์แวร์ได้อย่างราบรื่นโดยไม่ขัดจังหวะกระบวนการหรือการทำงานที่กำลังทำงานอยู่
ศักยภาพในการหมดสภาพของอิโนดและแนวทางแก้ไข
เมื่อสร้างระบบไฟล์ ระบบไฟล์บางระบบจะจัดสรร inode จำนวนคงที่[ 19 ]ซึ่งหมายความว่าอาจเกิดการหมด inode ในระบบไฟล์ได้ แม้ว่าจะมีพื้นที่ว่างเหลืออยู่ในระบบไฟล์ก็ตาม สถานการณ์นี้มักเกิดขึ้นในกรณีการใช้งานที่มีไฟล์ขนาดเล็กจำนวนมาก เช่น บนเซิร์ฟเวอร์ที่จัดเก็บข้อความอีเมล เนื่องจากไฟล์แต่ละไฟล์ ไม่ว่าจะเล็กแค่ไหน ก็ต้องการ inode ของตัวเอง
ระบบไฟล์อื่นๆ หลีกเลี่ยงข้อจำกัดนี้โดยใช้การจัดสรร inode แบบไดนามิก[ 20 ]การจัดสรร inode แบบไดนามิกช่วยให้ระบบไฟล์สามารถสร้าง inode เพิ่มเติมได้ตามต้องการ แทนที่จะพึ่งพาจำนวนคงที่ที่สร้างขึ้นในขณะที่สร้างระบบไฟล์[ 21 ]ซึ่งสามารถ "ขยาย" ระบบไฟล์ได้โดยการเพิ่มจำนวน inode ที่พร้อมใช้งานสำหรับไฟล์และไดเร็กทอรีใหม่ๆ จึงหลีกเลี่ยงปัญหาการหมด inode [ 22 ]
การบุซับใน
การจัดเก็บไฟล์ขนาดเล็กมากไว้ใน inode เองอาจช่วยประหยัดทั้งพื้นที่ (ไม่ต้องใช้บล็อกข้อมูล) และเวลาในการค้นหา (ไม่ต้องเข้าถึงดิสก์เพิ่มเติม) คุณลักษณะของระบบไฟล์นี้เรียกว่า inlining ดังนั้น การแยก inode และข้อมูลไฟล์อย่างเคร่งครัดจึงไม่สามารถสันนิษฐานได้อีกต่อไปเมื่อใช้ระบบไฟล์สมัยใหม่
หากข้อมูลของไฟล์พอดีกับพื้นที่ที่จัดสรรไว้สำหรับตัวชี้ไปยังข้อมูล พื้นที่นี้สามารถใช้งานได้อย่างสะดวก ตัวอย่างเช่นext2และระบบที่พัฒนาต่อมาจะจัดเก็บข้อมูลของลิงก์สัญลักษณ์ (โดยทั่วไปคือชื่อไฟล์) ด้วยวิธีนี้ หากข้อมูลมีขนาดไม่เกิน 60 ไบต์ ("ลิงก์สัญลักษณ์แบบเร็ว") [ 23 ]
Ext4มีตัวเลือกของระบบไฟล์ที่เรียกว่าinline_dataซึ่งอนุญาตให้ ext4 ทำการอินไลน์ได้หากเปิดใช้งานในระหว่างการสร้างระบบไฟล์ เนื่องจากขนาดของ inode มีจำกัด วิธีนี้จึงใช้ได้เฉพาะกับไฟล์ขนาดเล็กมากเท่านั้น[ 24 ]
ในระบบที่ไม่ใช่ระบบยูนิกซ์
- NTFSมีตารางไฟล์หลัก (MFT) ที่จัดเก็บไฟล์ในโครงสร้าง B-tree แต่ละรายการมี "fileID" ซึ่งคล้ายกับหมายเลข inode ที่อ้างอิงถึงรายการนี้โดยเฉพาะ[ 25 ]ในรายการจะมีข้อมูลเวลาสามรายการ รหัสอุปกรณ์ คุณลักษณะ จำนวนการอ้างอิง และขนาดไฟล์ แต่ต่างจากใน POSIX ตรงที่สิทธิ์การเข้าถึงจะแสดงผ่าน API ที่แตกต่างกัน[ 26 ]โครงสร้างบนดิสก์มีความซับซ้อนมากขึ้น[ 27 ]ระบบไฟล์ FAT รุ่นก่อนหน้านี้ไม่มีตารางดังกล่าวและไม่สามารถสร้างฮาร์ดลิงก์ได้
- API GetFileInformationByHandleที่มีลักษณะคล้ายสถิติเดียวกันนี้สามารถใช้บนCluster Shared Volumes ได้ ดังนั้นจึงสันนิษฐานได้ว่ามีแนวคิดที่คล้ายคลึงกันของรหัสไฟล์[ 26 ]
ดูเพิ่มเติม
ลิงก์ภายนอก
- โครงสร้างของระบบไฟล์ลินุกซ์
- คำจำกัดความของ Inode
- คำอธิบายเกี่ยวกับ Inode, Symlink และ Hardlink
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ โหนด
inode (index node) เป็น โครงสร้างข้อมูล ใน ระบบไฟล์แบบ Unix ที่อธิบาย วัตถุ ใน ระบบไฟล์ เช่น ไฟล์ หรือ ไดเร็กทอรี inode...
นิรุกติศาสตร์
มีข้อสงสัยใน รายชื่อผู้รับจดหมายของเคอร์เนล Linux เกี่ยวกับเหตุผลของ "i" ใน "inode" ในปี 2002 คำถามนี้ถูกถามไปยัง Dennis Ritchie ผู้บุกเบิก Unix ซึ่งตอบว่า: [ 4 ]
รายละเอียด
ระบบไฟล์อาศัยโครงสร้างข้อมูล เกี่ยวกับ ไฟล์ ไม่ใช่เนื้อหาของไฟล์เหล่านั้น โครงสร้างข้อมูลเกี่ยวกับไฟล์เรียกว่า เมตาเดตา ซึ่งเป็นข้อมูลที่อธิบายข้อมูล แต่ละไฟล์จะเชื่อมโยงกับ inode ซึ่งระบุด้วยจำนวนเต็ม มักเรียกว่า หมายเลข i หรือ หมายเลข inode
คำอธิบายอินโนด POSIX
มาตรฐาน POSIX กำหนดพฤติกรรมของระบบไฟล์ซึ่งได้รับอิทธิพลอย่างมากจาก ระบบไฟล์ UNIX แบบดั้งเดิม inode จะถูกระบุด้วยวลี "หมายเลขลำดับไฟล์" ซึ่งกำหนดเป็นตัวระบุเฉพาะสำหรับไฟล์ ในระบบไฟล์ [ 9 ] หมายเลขลำดับไฟล์นั้น ร่วมกับรหัสอุปกรณ์ของอุปกรณ์ที่มีไฟล์...