หากคุณเป็นผู้ใช้ Linux คุณคงเคยได้ยินมาว่าคุณไม่จำเป็นต้องจัดเรียงข้อมูลระบบไฟล์ Linux ของคุณ นอกจากนี้คุณจะสังเกตเห็นว่าการกระจาย Linux ไม่ได้มาพร้อมกับยูทิลิตี้การจัดเรียงข้อมูลบนดิสก์ แต่ทำไมถึงเป็นเช่นนั้น?
หากต้องการทำความเข้าใจว่าเหตุใดระบบไฟล์ Linux จึงไม่จำเป็นต้องมีการจัดเรียงข้อมูลในการใช้งานปกติและในระบบ Windows คุณจะต้องเข้าใจว่าเหตุใดการแยกส่วนจึงเกิดขึ้นและระบบไฟล์ Linux และ Windows ทำงานแตกต่างกันอย่างไร
Fragmentation คืออะไร
ผู้ใช้ Windows หลายคนแม้กระทั่งผู้ที่ไม่มีประสบการณ์เชื่อว่าการจัดเรียงข้อมูลระบบไฟล์เป็นประจำจะทำให้คอมพิวเตอร์ทำงานได้เร็วขึ้น สิ่งที่หลายคนไม่รู้คือเหตุใด
กล่าวโดยสรุปฮาร์ดดิสก์ไดรฟ์มีหลายเซกเตอร์ซึ่งแต่ละส่วนสามารถมีข้อมูลขนาดเล็กได้ ไฟล์โดยเฉพาะไฟล์ที่มีขนาดใหญ่จะต้องถูกจัดเก็บไว้ในภาคส่วนต่างๆ สมมติว่าคุณบันทึกไฟล์ต่างๆลงในระบบไฟล์ของคุณ ไฟล์เหล่านี้แต่ละไฟล์จะถูกเก็บไว้ในกลุ่มของเซ็กเตอร์ที่ต่อเนื่องกัน หลังจากนั้นคุณจะอัปเดตไฟล์ใดไฟล์หนึ่งที่คุณบันทึกไว้ในตอนแรกเพิ่มขนาดของไฟล์ ระบบไฟล์จะพยายามจัดเก็บส่วนใหม่ของไฟล์ถัดจากส่วนเดิม ขออภัยหากมีพื้นที่ว่างไม่เพียงพอไฟล์จะต้องแบ่งออกเป็นหลาย ๆ ชิ้นซึ่งทั้งหมดนี้เกิดขึ้นกับคุณอย่างโปร่งใส เมื่อฮาร์ดดิสก์ของคุณอ่านไฟล์หัวของมันจะต้องข้ามไปมาระหว่างตำแหน่งทางกายภาพที่แตกต่างกันในฮาร์ดไดรฟ์เพื่ออ่านแต่ละเซกเตอร์ซึ่งจะทำให้สิ่งต่างๆช้าลง
การจัดเรียงข้อมูลเป็นกระบวนการที่เข้มข้นซึ่งจะย้ายบิตของไฟล์ไปรอบ ๆ เพื่อลดการแตกแฟรกเมนต์เพื่อให้แน่ใจว่าไฟล์แต่ละไฟล์อยู่ติดกันบนไดรฟ์
แน่นอนว่าสิ่งนี้แตกต่างกันสำหรับโซลิดสเตทไดรฟ์ซึ่งไม่มีชิ้นส่วนที่เคลื่อนไหวและไม่ควรจัดเรียงข้อมูล - การจัดเรียงข้อมูลใน SSD จะช่วยลดอายุการใช้งานได้จริง และใน Windows เวอร์ชันล่าสุดคุณไม่จำเป็นต้องกังวลเกี่ยวกับการจัดเรียงข้อมูลระบบไฟล์ของคุณโดย Windows จะดำเนินการให้คุณโดยอัตโนมัติ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดสำหรับการจัดเรียงข้อมูลโปรดอ่านบทความนี้:
HTG อธิบาย: คุณจำเป็นต้อง Defrag พีซีของคุณหรือไม่?
ระบบไฟล์ Windows ทำงานอย่างไร
ระบบไฟล์ FAT แบบเก่าของ Microsoft ซึ่งจะปรากฏเป็นค่าเริ่มต้นใน Windows 98 และ ME แม้ว่าจะยังคงใช้งานอยู่ในแฟลชไดรฟ์ USB ในปัจจุบัน แต่ก็ไม่ได้พยายามจัดเรียงไฟล์อย่างชาญฉลาด เมื่อคุณบันทึกไฟล์ลงในระบบไฟล์ FAT ไฟล์นั้นจะบันทึกไว้ใกล้กับจุดเริ่มต้นของดิสก์มากที่สุด เมื่อคุณบันทึกไฟล์ที่สองไฟล์นั้นจะบันทึกทันทีหลังจากไฟล์แรกและอื่น ๆ เมื่อไฟล์ต้นฉบับมีขนาดใหญ่ขึ้นไฟล์เหล่านั้นจะแยกส่วนเสมอ ไม่มีห้องใกล้เคียงให้พวกเขาเติบโต
ระบบไฟล์ NTFS รุ่นใหม่ของ Microsoft ซึ่งเข้าสู่พีซีสำหรับผู้บริโภคที่ใช้ Windows XP และ 2000 พยายามที่จะฉลาดขึ้นเล็กน้อย มันจัดสรรพื้นที่ว่างรอบ ๆ ไฟล์ในไดรฟ์มากขึ้นแม้ว่าผู้ใช้ Windows ทุกคนสามารถบอกคุณได้ระบบไฟล์ NTFS ยังคงแยกส่วนเมื่อเวลาผ่านไป
เนื่องจากวิธีการทำงานของระบบไฟล์เหล่านี้จึงต้องมีการจัดเรียงข้อมูลเพื่อให้มีประสิทธิภาพสูงสุด Microsoft ได้บรรเทาปัญหานี้ด้วยการเรียกใช้กระบวนการจัดเรียงข้อมูลในพื้นหลังบน Windows เวอร์ชันล่าสุด
ระบบไฟล์ Linux ทำงานอย่างไร
ระบบไฟล์ ext2, ext3 และ ext4 ของ Linux - ext4 เป็นระบบไฟล์ที่ Ubuntu ใช้และลีนุกซ์รุ่นอื่น ๆ ส่วนใหญ่จะจัดสรรไฟล์ด้วยวิธีที่ชาญฉลาดยิ่งขึ้น แทนที่จะวางไฟล์หลายไฟล์ไว้ใกล้กันบนฮาร์ดดิสก์ระบบไฟล์ Linux จะกระจายไฟล์ต่าง ๆ ไปทั่วดิสก์ทำให้มีพื้นที่ว่างระหว่างไฟล์จำนวนมาก เมื่อไฟล์ได้รับการแก้ไขและจำเป็นต้องขยายใหญ่ขึ้นมักจะมีพื้นที่ว่างมากมายสำหรับไฟล์ที่จะขยายออกไป หากเกิดการแยกส่วนระบบไฟล์จะพยายามย้ายไฟล์ไปรอบ ๆ เพื่อลดการแตกแฟรกเมนต์ในการใช้งานปกติโดยไม่จำเป็นต้องใช้ยูทิลิตี้การจัดเรียงข้อมูล
เนื่องจากวิธีการทำงานนี้คุณจะเริ่มเห็นการแยกส่วนหากระบบไฟล์ของคุณเต็ม หากเต็ม 95% (หรือ 80%) คุณจะเริ่มเห็นการกระจายตัว อย่างไรก็ตามระบบไฟล์ได้รับการออกแบบมาเพื่อหลีกเลี่ยงการแยกส่วนในการใช้งานปกติ
หากคุณมีปัญหากับการแยกส่วนบน Linux คุณอาจต้องใช้ฮาร์ดดิสก์ขนาดใหญ่ขึ้น หากคุณต้องการจัดเรียงระบบไฟล์จริงๆวิธีที่ง่ายที่สุดน่าจะน่าเชื่อถือที่สุด: คัดลอกไฟล์ทั้งหมดออกจากพาร์ติชันลบไฟล์ออกจากพาร์ติชันจากนั้นคัดลอกไฟล์กลับไปที่พาร์ติชัน ระบบไฟล์จะจัดสรรไฟล์อย่างชาญฉลาดเมื่อคุณคัดลอกกลับลงในดิสก์
คุณสามารถวัดการแตกแฟรกเมนต์ของระบบไฟล์ Linux ด้วยไฟล์ คำสั่ง fsck - มองหา "inodes ที่ไม่ติดกัน" ในเอาต์พุต