ไฟล์ในคอมพิวเตอร์ถูกสร้างขึ้นและวางตามหลักการของระบบ ด้วยการใช้งาน ผู้ใช้จึงมีโอกาสเข้าถึงข้อมูลที่จำเป็นได้อย่างสะดวกสบายโดยไม่ต้องคำนึงถึงอัลกอริทึมที่ซับซ้อนในการเข้าถึงข้อมูล ระบบไฟล์จัดอย่างไร? อันไหนที่ได้รับความนิยมมากที่สุดในปัจจุบัน? อะไรคือความแตกต่างระหว่างระบบไฟล์ที่ดัดแปลงโดย PC? และที่ใช้ในอุปกรณ์มือถือ - สมาร์ทโฟนหรือแท็บเล็ต?

ระบบไฟล์: คำจำกัดความ

ตามคำจำกัดความทั่วไป ระบบไฟล์คือชุดของอัลกอริธึมและมาตรฐานที่ใช้ในการจัดระเบียบการเข้าถึงที่มีประสิทธิภาพสำหรับผู้ใช้พีซีไปยังข้อมูลที่อยู่ในคอมพิวเตอร์ ผู้เชี่ยวชาญบางคนพิจารณาว่าเป็นส่วนหนึ่งของมัน ผู้เชี่ยวชาญด้าน IT คนอื่น ๆ ที่ตระหนักถึงความจริงที่ว่ามันเกี่ยวข้องโดยตรงกับระบบปฏิบัติการเชื่อว่าระบบไฟล์เป็นองค์ประกอบอิสระของการจัดการข้อมูลคอมพิวเตอร์

คอมพิวเตอร์ถูกใช้ก่อนการประดิษฐ์ระบบไฟล์อย่างไร? วิทยาการคอมพิวเตอร์ - ตามระเบียบวินัยทางวิทยาศาสตร์ - ได้บันทึกความจริงที่ว่าการจัดการข้อมูลได้ดำเนินการผ่านการจัดโครงสร้างภายในกรอบของอัลกอริธึมที่ฝังอยู่ในโปรแกรมเฉพาะเป็นเวลานาน ดังนั้น หนึ่งในเกณฑ์สำหรับระบบไฟล์คือการมีอยู่ของมาตรฐานที่เหมือนกันสำหรับโปรแกรมส่วนใหญ่ที่ใช้การเข้าถึงข้อมูล

ระบบไฟล์ทำงานอย่างไร

ประการแรกระบบไฟล์คือกลไกที่เกี่ยวข้องกับการใช้ทรัพยากรฮาร์ดแวร์ของคอมพิวเตอร์ ตามกฎแล้วเรากำลังพูดถึงสื่อแม่เหล็กหรือเลเซอร์ - ฮาร์ดไดรฟ์, ซีดี, ดีวีดี, แฟลชไดรฟ์, ฟลอปปีดิสก์ที่ยังไม่ล้าสมัย เพื่อให้เข้าใจถึงวิธีการทำงานของระบบที่เกี่ยวข้อง ให้มากำหนดว่าไฟล์จริงคืออะไร

ตามคำจำกัดความที่ยอมรับกันโดยทั่วไปในหมู่ผู้เชี่ยวชาญด้านไอที นี่คือพื้นที่ข้อมูลที่มีขนาดคงที่ ซึ่งแสดงเป็นหน่วยข้อมูลพื้นฐาน - ไบต์ ไฟล์นี้ตั้งอยู่บนสื่อดิสก์ ซึ่งมักจะอยู่ในรูปแบบของบล็อกที่เชื่อมต่อถึงกันหลายบล็อกโดยมี "ที่อยู่" เฉพาะสำหรับการเข้าถึง ระบบไฟล์กำหนดพิกัดเหล่านี้และ "รายงาน" ตามลำดับไปยังระบบปฏิบัติการ ซึ่งในทางที่เข้าใจได้เผยแพร่ข้อมูลที่เกี่ยวข้องไปยังผู้ใช้ มีการอุทธรณ์ข้อมูลเพื่ออ่าน แก้ไข สร้างใหม่ อัลกอริทึมเฉพาะสำหรับการทำงานกับ "พิกัด" ของไฟล์อาจแตกต่างกัน ขึ้นอยู่กับประเภทของคอมพิวเตอร์ ระบบปฏิบัติการ ลักษณะเฉพาะของข้อมูลที่จัดเก็บ และเงื่อนไขอื่นๆ เพราะมี ประเภทต่างๆระบบไฟล์ แต่ละรายการได้รับการปรับให้เหมาะสมสำหรับการใช้งานในระบบปฏิบัติการเฉพาะหรือสำหรับการทำงานกับข้อมูลบางประเภท

การปรับสื่อดิสก์เพื่อใช้ผ่านอัลกอริธึมของระบบไฟล์เฉพาะเรียกว่าการฟอร์แมต องค์ประกอบฮาร์ดแวร์ที่สอดคล้องกันของดิสก์ - คลัสเตอร์ - ถูกเตรียมไว้สำหรับการเขียนไฟล์ในภายหลังรวมถึงการอ่านตามมาตรฐานที่กำหนดไว้ในระบบการจัดการข้อมูลอย่างใดอย่างหนึ่ง จะเปลี่ยนระบบไฟล์ได้อย่างไร? ในกรณีส่วนใหญ่ สามารถทำได้โดยการฟอร์แมตสื่อจัดเก็บข้อมูลใหม่เท่านั้น ตามกฎแล้วไฟล์จะถูกลบในกรณีนี้ อย่างไรก็ตาม มีตัวเลือกในการใช้โปรแกรมพิเศษ แม้ว่าจะต้องใช้เวลามากในการเปลี่ยนระบบการจัดการข้อมูล

ระบบไฟล์ไม่มีข้อผิดพลาด อาจมีความล้มเหลวบางอย่างในองค์กรของการทำงานกับบล็อคข้อมูล แต่ในกรณีส่วนใหญ่ก็ไม่สำคัญ ตามกฎแล้วจะไม่มีปัญหากับวิธีการแก้ไขระบบไฟล์แก้ไขข้อผิดพลาด ใน Windows OS โดยเฉพาะสำหรับสิ่งนี้มี .ในตัว ซอฟต์แวร์โซลูชั่นมีให้สำหรับผู้ใช้ทุกคน ตัวอย่างเช่นโปรแกรม "ตรวจสอบดิสก์"

พันธุ์

ระบบไฟล์ประเภทใดที่สามารถเรียกได้ว่าเป็นเรื่องธรรมดาที่สุด? น่าจะเป็นระบบปฏิบัติการ Windows ที่เป็นที่นิยมมากที่สุดในโลกของ PC OS ระบบไฟล์หลักของ Windows ได้แก่ FAT, FAT32, NTFS และการดัดแปลงต่างๆ ควบคู่ไปกับคอมพิวเตอร์ สมาร์ทโฟน และแท็บเล็ตที่ได้รับความนิยม ส่วนใหญ่ถ้าเราพูดถึงตลาดโลกและไม่พิจารณาถึงความแตกต่างในแพลตฟอร์มเทคโนโลยีจะถูกควบคุมโดย Android และ iOS ระบบปฏิบัติการเหล่านี้ใช้อัลกอริธึมของตัวเองในการทำงานกับข้อมูล ซึ่งแตกต่างจากระบบไฟล์ของ Windows

มาตรฐานที่เปิดให้ทุกคน

โปรดทราบว่าเมื่อเร็ว ๆ นี้ในตลาดอิเล็กทรอนิกส์ของโลกมีการรวมมาตรฐานบางอย่างในแง่ของระบบปฏิบัติการที่มีข้อมูลประเภทต่างๆ นี้สามารถเห็นได้ในสองด้าน อันดับแรก บน อุปกรณ์ต่างๆ Axe ที่ใช้ระบบปฏิบัติการสองประเภทที่ไม่เหมือนกันมักใช้ระบบไฟล์เดียวกัน ซึ่งเข้ากันได้กับแต่ละ OS อย่างเท่าเทียมกัน ประการที่สอง ตามกฎแล้ว OS เวอร์ชันใหม่นั้นสามารถรับรู้ได้ไม่เพียง แต่ระบบไฟล์ทั่วไป แต่ยังรวมถึงระบบที่ใช้ในระบบปฏิบัติการอื่น ๆ แบบดั้งเดิม - ทั้งผ่านอัลกอริธึมในตัวและด้วยความช่วยเหลือของซอฟต์แวร์บุคคลที่สาม ตัวอย่างเช่น Linux เวอร์ชันใหม่มักรู้จักระบบไฟล์ที่ทำเครื่องหมายไว้สำหรับ Windows โดยไม่มีปัญหา

โครงสร้างระบบไฟล์

แม้ว่าจะมีการนำเสนอประเภทระบบไฟล์เป็นจำนวนมาก แต่โดยทั่วไปแล้วระบบจะทำงานตามหลักการที่คล้ายกันมาก (เราสรุปโครงร่างทั่วไปด้านบน) และภายในองค์ประกอบโครงสร้างหรือวัตถุที่คล้ายคลึงกัน ลองพิจารณาพวกเขา อะไรคืออ็อบเจ็กต์หลักของระบบไฟล์?

หนึ่งในสิ่งสำคัญ - เป็นพื้นที่ข้อมูลแบบแยกซึ่งสามารถวางไฟล์ได้ โครงสร้างไดเร็กทอรีเป็นแบบลำดับชั้น มันหมายความว่าอะไร? สามารถโฮสต์ไดเร็กทอรีตั้งแต่หนึ่งไดเร็กทอรีในไดเร็กทอรีอื่น ซึ่งในทางกลับกันก็เป็นส่วนหนึ่งของ "เหนือกว่า" "หลัก" ที่สุดคือไดเร็กทอรีราก หากเราพูดถึงหลักการบนพื้นฐานของการทำงานของระบบไฟล์ Windows - 7, 8, XP หรือรุ่นอื่น ไดเร็กทอรีรากจะถือเป็นไดรฟ์แบบลอจิคัลซึ่งเขียนแทนด้วยตัวอักษร - โดยปกติคือ C, D, E (แต่ คุณสามารถกำหนดค่าอะไรก็ได้ที่เป็นตัวอักษรภาษาอังกฤษ) ตัวอย่างเช่น Linux OS สื่อแม่เหล็กโดยรวมทำหน้าที่เป็นไดเร็กทอรีรากที่นั่น ระบบปฏิบัติการนี้และระบบปฏิบัติการอื่นๆ ตามหลักการ เช่น Android ไม่ใช้ไดรฟ์แบบลอจิคัล เป็นไปได้ไหมที่จะเก็บไฟล์โดยไม่มีไดเร็กทอรี? ใช่. แต่นี้ไม่สะดวกมาก ที่จริงแล้ว ความสะดวกสบายในการใช้พีซีเป็นเหตุผลหนึ่งในการแนะนำหลักการกระจายข้อมูลไปยังไดเร็กทอรีในระบบไฟล์ โดยวิธีการที่พวกเขาสามารถเรียกได้แตกต่างกัน ใน Windows ไดเร็กทอรีจะเรียกว่าโฟลเดอร์ แต่บน Linux จะเหมือนกันทุกประการ แต่ชื่อดั้งเดิมที่ใช้เป็นเวลาหลายปีสำหรับไดเร็กทอรีในระบบปฏิบัติการนี้คือ "ไดเร็กทอรี" เช่นเดียวกับในระบบปฏิบัติการ Windows และ Linux รุ่นก่อนหน้า - DOS, Unix

ไม่มีความเห็นที่ชัดเจนในหมู่ผู้เชี่ยวชาญด้านไอทีว่าไฟล์ควรได้รับการพิจารณาว่าเป็นองค์ประกอบโครงสร้างของระบบที่เกี่ยวข้องหรือไม่ บรรดาผู้ที่เชื่อว่าสิ่งนี้ไม่ถูกต้องทั้งหมดโต้แย้งมุมมองของพวกเขาโดยบอกว่าระบบอาจมีอยู่โดยไม่มีไฟล์ ปล่อยให้มันเป็นจากมุมมองที่ใช้งานได้จริงและปรากฏการณ์ที่ไร้ประโยชน์ แม้ว่าจะไม่มีไฟล์ใดถูกเขียนลงดิสก์ ระบบที่เกี่ยวข้องก็อาจยังคงอยู่ ตามกฎแล้วสื่อแม่เหล็กที่จำหน่ายในร้านค้าจะไม่มีไฟล์ใดๆ แต่พวกเขามีระบบที่สอดคล้องกันอยู่แล้ว จากมุมมองอื่น ไฟล์ควรถือเป็นส่วนสำคัญของระบบที่จัดการไฟล์เหล่านั้น ทำไม แต่เนื่องจากตามที่ผู้เชี่ยวชาญระบุ อัลกอริทึมสำหรับการใช้งานนั้นได้รับการดัดแปลงเพื่อทำงานกับไฟล์ภายในกรอบของมาตรฐานบางอย่างเป็นหลัก สำหรับสิ่งอื่น ระบบที่เป็นปัญหาไม่ได้มีวัตถุประสงค์

องค์ประกอบอื่นที่มีอยู่ในระบบไฟล์ส่วนใหญ่ - เป็นพื้นที่ข้อมูลที่มีข้อมูลเกี่ยวกับตำแหน่งของไฟล์เฉพาะในตำแหน่งเฉพาะ นั่นคือคุณสามารถวางทางลัดไว้ในที่เดียวบนดิสก์ แต่เป็นไปได้ที่จะให้การเข้าถึงพื้นที่ข้อมูลที่ต้องการซึ่งอยู่ในส่วนอื่นของสื่อ เป็นไปได้ที่จะพิจารณาว่าทางลัดนั้นเป็นออบเจ็กต์ที่สมบูรณ์ของระบบไฟล์ หากเราตกลงว่าไฟล์ก็เป็นเช่นนั้นด้วย

ไม่ทางใดก็ทางหนึ่ง ไม่ผิดที่จะบอกว่าข้อมูลทั้งสามประเภท - ไฟล์ ทางลัด และไดเร็กทอรี - เป็นองค์ประกอบของระบบที่เกี่ยวข้อง อย่างน้อยวิทยานิพนธ์นี้จะสอดคล้องกับหนึ่งในมุมมองทั่วไป สิ่งสำคัญที่สุดที่บ่งบอกลักษณะการทำงานของระบบไฟล์คือหลักการตั้งชื่อไฟล์และไดเร็กทอรี

ชื่อไฟล์และไดเร็กทอรีในระบบต่างๆ

หากเรายอมรับว่าไฟล์ยังคงเป็นองค์ประกอบของระบบที่สอดคล้องกับไฟล์เหล่านั้น ก็ควรพิจารณาโครงสร้างพื้นฐานของไฟล์เหล่านั้น สิ่งที่สามารถสังเกตได้ก่อนอื่น? เพื่อความสะดวกในการจัดระเบียบการเข้าถึง ระบบการจัดการข้อมูลที่ทันสมัยส่วนใหญ่มีโครงสร้างการตั้งชื่อไฟล์สองระดับ ระดับแรกคือชื่อ ประการที่สองคือการขยายตัว ยกตัวอย่างไฟล์เพลง Dance.mp3 การเต้นรำเป็นชื่อ Mp3 เป็นส่วนขยาย ประการแรกมีวัตถุประสงค์เพื่อเปิดเผยแก่ผู้ใช้ถึงสาระสำคัญของเนื้อหาของไฟล์ (และเพื่อให้โปรแกรมเป็นแนวทางสำหรับ การเข้าถึงอย่างรวดเร็ว). ที่สองกำหนดประเภทไฟล์ ถ้าเป็น Mp3 ก็เดาง่าย ๆ ว่าเกี่ยวกับดนตรี ไฟล์ที่มีนามสกุล Doc นั้นตามกฎแล้ว เอกสาร, Jpg - รูปภาพ, Html - หน้าเว็บ

ในทางกลับกัน ไดเร็กทอรีก็มีโครงสร้างระดับเดียว มีเพียงชื่อเท่านั้น ไม่มีนามสกุล หากเราพูดถึงความแตกต่างระหว่างระบบการจัดการข้อมูลประเภทต่างๆ สิ่งแรกที่คุณควรใส่ใจคือหลักการตั้งชื่อไฟล์และไดเร็กทอรีที่นำมาใช้ เกี่ยวกับระบบปฏิบัติการ Windows มีรายละเอียดดังนี้ ในระบบปฏิบัติการที่ได้รับความนิยมมากที่สุดในโลก สามารถตั้งชื่อไฟล์ในภาษาใดก็ได้ อย่างไรก็ตาม ความยาวสูงสุดมีจำกัด ช่วงเวลาที่แน่นอนขึ้นอยู่กับระบบการจัดการข้อมูลที่ใช้ โดยปกติค่าเหล่านี้เป็นค่าในช่วง 200-260 อักขระ

กฎทั่วไปสำหรับระบบปฏิบัติการทั้งหมดและระบบการจัดการข้อมูลที่เกี่ยวข้องคือไฟล์ที่มีชื่อเดียวกันไม่สามารถอยู่ในไดเร็กทอรีเดียวกันได้ อย่างไรก็ตาม ใน Linux มี "การเปิดเสรี" บางอย่างของกฎนี้ ในไดเร็กทอรีเดียวกัน อาจมีไฟล์ที่มีตัวอักษรเหมือนกัน แต่ต่างกันในกรณี ตัวอย่างเช่น Dance.mp3 และ DANCE.mp3 ไม่สามารถทำได้บนระบบปฏิบัติการ Windows กฎเดียวกันนี้กำหนดขึ้นในด้านการวางไดเร็กทอรีไว้ในที่อื่น

การระบุที่อยู่ไฟล์และไดเร็กทอรี

การกำหนดที่อยู่ไฟล์และไดเร็กทอรีเป็นองค์ประกอบที่สำคัญที่สุดของระบบที่เกี่ยวข้อง ใน Windows รูปแบบที่กำหนดเองอาจมีลักษณะดังนี้: C:/Documents/Music/ คือการเข้าถึงไดเรกทอรี Music หากเราสนใจไฟล์ใดไฟล์หนึ่ง ที่อยู่อาจมีลักษณะดังนี้: C:/Documents/Music/Dance.mp3 ทำไมต้อง "กำหนดเอง"? ความจริงก็คือในระดับของการโต้ตอบระหว่างซอฟต์แวร์กับฮาร์ดแวร์ของส่วนประกอบคอมพิวเตอร์ โครงสร้างการเข้าถึงไฟล์นั้นซับซ้อนกว่ามาก ระบบไฟล์กำหนดตำแหน่งของบล็อกไฟล์และโต้ตอบกับระบบปฏิบัติการเป็นส่วนใหญ่ในการดำเนินการที่ซ่อนอยู่จากผู้ใช้ อย่างไรก็ตาม ผู้ใช้พีซีแทบไม่ต้องใช้รูปแบบ "ที่อยู่" อื่นๆ เกือบทุกครั้ง การเข้าถึงไฟล์จะดำเนินการในมาตรฐานที่กำหนด

การเปรียบเทียบระบบไฟล์สำหรับ Windows

เราได้ศึกษาหลักการทั่วไปของการทำงานของระบบไฟล์ พิจารณาตอนนี้คุณสมบัติของประเภทที่พบบ่อยที่สุด ระบบไฟล์ที่ใช้บ่อยที่สุดใน Windows ได้แก่ FAT, FAT32, NTFS และ exFAT ชุดแรกในชุดนี้ถือว่าล้าสมัย ในเวลาเดียวกัน มันเป็นเรือธงของอุตสาหกรรมมาเป็นเวลานาน แต่เมื่อเทคโนโลยีของพีซีเติบโตขึ้น ความสามารถของมันก็หยุดตอบสนองคำขอของผู้ใช้และความต้องการทรัพยากรซอฟต์แวร์

ระบบไฟล์ที่ออกแบบมาเพื่อแทนที่ FAT คือ FAT32 ตามที่ผู้เชี่ยวชาญ IT หลายคนบอก ตอนนี้เป็นที่นิยมมากที่สุดถ้าเราพูดถึงตลาดพีซีภายใต้ การควบคุม Windows. มักใช้เมื่อจัดเก็บไฟล์ในฮาร์ดไดรฟ์และแฟลชไดรฟ์ นอกจากนี้ยังสามารถสังเกตได้ว่าระบบการจัดการข้อมูลนี้มีการใช้งานค่อนข้างสม่ำเสมอในโมดูลหน่วยความจำของอุปกรณ์ดิจิตอลต่างๆ เช่น โทรศัพท์ กล้องถ่ายรูป ข้อได้เปรียบหลักของ FAT32 ที่ผู้เชี่ยวชาญด้านไอทีเน้นย้ำคือ แม้ว่าระบบไฟล์นี้จะถูกสร้างขึ้นโดย Microsoft แต่ระบบปฏิบัติการที่ทันสมัยส่วนใหญ่ รวมถึงระบบปฏิบัติการที่ติดตั้งบนอุปกรณ์ดิจิทัลประเภทนี้ก็สามารถทำงานกับข้อมูลภายในอัลกอริธึมที่ฝังตัวได้ ในนั้น.

ระบบ FAT32 ยังมีข้อเสียอยู่หลายประการ ก่อนอื่น เราสามารถสังเกตข้อจำกัดเกี่ยวกับขนาดของไฟล์ที่ถ่ายหนึ่งไฟล์ - ต้องมีขนาดไม่เกิน 4 GB นอกจากนี้ ในระบบ FAT32 ในตัว เครื่องมือ Windowsระบุไดรฟ์แบบลอจิคัลที่มีขนาดใหญ่กว่า 32 GB แต่สามารถทำได้โดยการติดตั้งซอฟต์แวร์พิเศษเพิ่มเติม

ระบบจัดการไฟล์ยอดนิยมอีกระบบหนึ่งที่พัฒนาโดย Microsoft คือ NTFS ตามที่ผู้เชี่ยวชาญด้านไอทีบางคนระบุว่า FAT32 เหนือกว่าในพารามิเตอร์ส่วนใหญ่ แต่วิทยานิพนธ์นี้เป็นจริงเมื่อพูดถึงการทำงานของคอมพิวเตอร์ที่ใช้ Windows NTFS นั้นไม่หลากหลายเท่า FAT32 คุณสมบัติของการทำงานทำให้การใช้ระบบไฟล์นี้ไม่สะดวกนักโดยเฉพาะในอุปกรณ์พกพา ข้อได้เปรียบที่สำคัญอย่างหนึ่งของ NFTS คือความน่าเชื่อถือ ตัวอย่างเช่น ในกรณีที่ ฮาร์ดไดรฟ์หากไฟฟ้าดับกะทันหัน โอกาสที่ไฟล์จะเสียหายจะลดลงด้วยอัลกอริธึมการทำสำเนาการเข้าถึงข้อมูลของ NTFS

หนึ่งในระบบไฟล์ล่าสุดจาก Microsoft คือ exFAT เหมาะที่สุดสำหรับแฟลชไดรฟ์ หลักการพื้นฐานของการทำงานนั้นเหมือนกับใน FAT32 แต่ก็มีการอัปเกรดที่สำคัญในบางแง่มุม เช่น ไม่มีข้อจำกัดเกี่ยวกับขนาดของไฟล์เดียว ในเวลาเดียวกัน ระบบ exFAT ตามที่ผู้เชี่ยวชาญด้านไอทีหลายคนกล่าวไว้ ก็เป็นหนึ่งในระบบที่มีความเก่งกาจต่ำ บนคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการอื่นที่ไม่ใช่ Windows การทำงานกับไฟล์เมื่อใช้ exFAT อาจเป็นเรื่องยาก นอกจากนี้ แม้แต่ใน Windows บางเวอร์ชันเอง เช่น XP ข้อมูลบนดิสก์ที่ฟอร์แมตด้วยอัลกอริทึม exFAT อาจไม่สามารถอ่านได้ คุณจะต้องติดตั้งไดรเวอร์เพิ่มเติม

โปรดทราบว่าเนื่องจากการใช้ระบบไฟล์ที่หลากหลายใน Windows ผู้ใช้อาจประสบปัญหาเป็นระยะ ๆ ในแง่ของความเข้ากันได้ของอุปกรณ์ต่าง ๆ กับคอมพิวเตอร์ ตัวอย่างเช่น ในบางกรณี คุณต้องติดตั้งไดรเวอร์ระบบไฟล์ WPD (Windows Portable Devices - เทคโนโลยีที่ใช้เมื่อทำงานกับอุปกรณ์พกพา) บางครั้งผู้ใช้อาจไม่มีอุปกรณ์นี้อยู่ในมือ เนื่องจากระบบปฏิบัติการอาจไม่รู้จักสื่อภายนอก ระบบไฟล์ WPD อาจต้องใช้ซอฟต์แวร์เพิ่มเติมเพื่อปรับให้เข้ากับสภาพแวดล้อมการทำงานบนคอมพิวเตอร์เครื่องใดเครื่องหนึ่ง ในบางกรณี ผู้ใช้จะถูกบังคับให้ติดต่อผู้เชี่ยวชาญด้านไอทีเพื่อแก้ไขปัญหา

จะทราบได้อย่างไรว่าระบบไฟล์ใด - exFAT หรือ NTFS หรืออาจเป็น FAT32 - เหมาะสมที่สุดสำหรับใช้ในบางกรณี คำแนะนำของผู้เชี่ยวชาญด้านไอทีโดยทั่วไปมีดังนี้ สามารถใช้วิธีการหลักได้ 2 วิธี ตามข้อแรกควรแยกความแตกต่างระหว่างไฟล์ทั่วไป แข็งดิสก์รวมถึงดิสก์ที่ปรับให้เข้ากับแฟลชไดรฟ์ได้ดีกว่า ผู้เชี่ยวชาญหลายคนกล่าวว่า FAT และ FAT32 เหมาะสมกว่าสำหรับ "แฟลชไดรฟ์", NTFS - สำหรับฮาร์ดไดรฟ์ (เนื่องจากคุณสมบัติทางเทคโนโลยีของการทำงานกับข้อมูล)

ในกรอบของแนวทางที่สอง ขนาดของผู้ให้บริการมีความสำคัญ หากเรากำลังพูดถึงการใช้ดิสก์หรือแฟลชไดรฟ์ในปริมาณที่ค่อนข้างน้อย คุณสามารถฟอร์แมตได้ในระบบ FAT32 หากดิสก์มีขนาดใหญ่ขึ้น คุณสามารถลองใช้ exFAT แต่ถ้าคุณไม่ต้องการใช้สื่อบนคอมพิวเตอร์เครื่องอื่นโดยเฉพาะเครื่องที่ไม่มี Windows เวอร์ชันล่าสุด หากเรากำลังพูดถึงฮาร์ดไดรฟ์ขนาดใหญ่ รวมถึงฮาร์ดไดรฟ์ภายนอก แนะนำให้ฟอร์แมตเป็น NTFS เกณฑ์เหล่านี้เป็นเกณฑ์ที่สามารถเลือกระบบไฟล์ที่เหมาะสมที่สุดได้ - exFAT หรือ NTFS, FAT32 นั่นคือควรใช้หนึ่งในนั้นโดยคำนึงถึงขนาดของสื่อประเภทรวมถึงเวอร์ชันของระบบปฏิบัติการที่ใช้ไดรฟ์เป็นหลัก

ระบบไฟล์สำหรับ Mac

แพลตฟอร์มฮาร์ดแวร์และซอฟต์แวร์ยอดนิยมอีกตัวหนึ่งในตลาดเทคโนโลยีคอมพิวเตอร์ทั่วโลกคือ Macintosh ของ Apple พีซีของสายนี้กำลังทำงานอยู่ ระบบปฏิบัติการแมคโอเอส คุณสมบัติของการจัดระเบียบไฟล์ในคอมพิวเตอร์ Mac คืออะไร พีซีที่ทันสมัยที่สุดของ Apple ใช้ระบบไฟล์ Mac OS Extended ก่อนหน้านี้ในคอมพิวเตอร์ งาน Macข้อมูลได้รับการจัดการตามมาตรฐาน HFS

สิ่งสำคัญที่สามารถสังเกตได้ในแง่ของคุณลักษณะคือดิสก์ที่จัดการโดยระบบไฟล์ Mac OS Extended สามารถมีไฟล์ขนาดใหญ่มาก - เราสามารถพูดคุยเกี่ยวกับหลายล้านเทราไบต์

ระบบไฟล์ในอุปกรณ์ Android

ระบบปฏิบัติการที่ได้รับความนิยมสูงสุดสำหรับอุปกรณ์พกพา - รูปแบบของเทคโนโลยีอิเล็กทรอนิกส์ที่ไม่ได้รับความนิยมในพีซี - คือ Android ไฟล์มีการจัดการอย่างไรในอุปกรณ์ประเภทที่เกี่ยวข้องกัน? ก่อนอื่น เราทราบว่าระบบปฏิบัติการนี้เป็นการดัดแปลง "มือถือ" ของ Linux OS ซึ่งต้องขอบคุณโอเพ่นซอร์สโค้ดที่สามารถแก้ไขได้ด้วยโอกาสในการใช้งานบนอุปกรณ์ที่หลากหลายที่สุด ดังนั้นการจัดการไฟล์ในอุปกรณ์พกพาภายใต้ การควบคุม Androidดำเนินการโดยทั่วไปตามหลักการเดียวกันกับใน Linux เราได้สังเกตบางส่วนของพวกเขาข้างต้น โดยเฉพาะอย่างยิ่ง การจัดการไฟล์ใน Linux ดำเนินการโดยไม่แบ่งสื่อออกเป็นไดรฟ์แบบลอจิคัล เช่นเดียวกับใน Windows มีอะไรน่าสนใจอีกในไฟล์ ระบบแอนดรอยด์?

ไดเร็กทอรีรากใน Android มักจะเป็นพื้นที่ข้อมูลที่เรียกว่า /mnt ดังนั้น ที่อยู่ของไฟล์ที่ต้องการอาจมีลักษณะดังนี้: /mnt/sd/photo.jpg นอกจากนี้ยังมีคุณลักษณะอื่นของระบบการจัดการข้อมูลที่ใช้ในระบบปฏิบัติการมือถือนี้ ความจริงก็คือหน่วยความจำแฟลชของอุปกรณ์มักจะแบ่งออกเป็นหลายส่วน เช่น ระบบหรือข้อมูล ในเวลาเดียวกัน ขนาดที่ตั้งไว้เริ่มต้นของแต่ละขนาดไม่สามารถเปลี่ยนแปลงได้ การเปรียบเทียบโดยประมาณเกี่ยวกับแง่มุมทางเทคโนโลยีนี้สามารถพบได้โดยจำไว้ว่าเป็นไปไม่ได้ (เว้นแต่คุณจะใช้ซอฟต์แวร์พิเศษ) ในการเปลี่ยนขนาดของไดรฟ์แบบลอจิคัลใน Windows มันจะต้องได้รับการแก้ไข

อีกคน คุณสมบัติที่น่าสนใจองค์กรของการทำงานกับไฟล์ใน Android - ระบบปฏิบัติการที่เกี่ยวข้องตามกฎแล้วเขียนข้อมูลใหม่ไปยังพื้นที่เฉพาะของดิสก์ - ข้อมูล ตัวอย่างเช่น การทำงานกับส่วนระบบจะไม่ดำเนินการ ดังนั้นเมื่อผู้ใช้เปิดใช้งานฟังก์ชั่นรีเซ็ต การตั้งค่าซอฟต์แวร์สมาร์ทโฟนหรือแท็บเล็ตถึงระดับ "โรงงาน" ในทางปฏิบัติหมายความว่าไฟล์เหล่านั้นที่เขียนลงในพื้นที่ข้อมูลจะถูกลบอย่างง่ายดาย ส่วนระบบตามกฎยังคงไม่เปลี่ยนแปลง ยิ่งไปกว่านั้น ผู้ใช้ที่ไม่มีซอฟต์แวร์พิเศษก็ไม่สามารถปรับเปลี่ยนเนื้อหาในระบบได้ ขั้นตอนที่เกี่ยวข้องกับการอัปเดตพื้นที่ระบบสื่อในอุปกรณ์ Android เรียกว่าการกะพริบ นี่ไม่ใช่การจัดรูปแบบ แม้ว่าการดำเนินการทั้งสองมักจะดำเนินการพร้อมกัน ตามกฎแล้วจะใช้การกะพริบเพื่อติดตั้งบน อุปกรณ์โทรศัพท์มากกว่า เวอร์ชั่นใหม่ระบบปฏิบัติการแอนดรอยด์

ดังนั้น หลักการสำคัญบนพื้นฐานการทำงานของระบบไฟล์ Android คือ การไม่มีไดรฟ์แบบลอจิคัล เช่นเดียวกับการแยกความแตกต่างอย่างเข้มงวดในการเข้าถึงข้อมูลระบบและผู้ใช้ ไม่อาจกล่าวได้ว่าวิธีการนี้แตกต่างไปจากเดิมอย่างสิ้นเชิงกับสิ่งที่นำมาใช้ใน Windows อย่างไรก็ตาม ตามที่ผู้เชี่ยวชาญด้านไอทีหลายคนกล่าวว่า OS ของ Microsoft ช่วยให้ผู้ใช้มีอิสระในการทำงานกับไฟล์มากขึ้น อย่างไรก็ตาม ตามที่ผู้เชี่ยวชาญบางคนเชื่อว่า สิ่งนี้ไม่ถือเป็นข้อได้เปรียบที่ชัดเจนของ Windows แน่นอนว่าโหมด "เสรีนิยม" ในแง่ของการจัดการไฟล์นั้น ไม่เพียงแต่เกี่ยวข้องกับผู้ใช้เท่านั้น แต่ยังรวมถึง ไวรัสคอมพิวเตอร์ซึ่ง Windows นั้นอ่อนไหวมาก (ต่างจาก Linux และการใช้งาน "มือถือ" ในรูปแบบของ Android) ผู้เชี่ยวชาญระบุว่านี่เป็นสาเหตุหนึ่งที่ทำให้อุปกรณ์ Android มีไวรัสน้อย - จากมุมมองทางเทคโนโลยีล้วนๆ พวกมันไม่สามารถทำงานได้อย่างสมบูรณ์ในสภาพแวดล้อมการทำงานที่ทำงานบนหลักการของการควบคุมการเข้าถึงไฟล์ที่เข้มงวด

ความสามารถของระบบปฏิบัติการในการ "ป้องกัน" ความซับซ้อนของฮาร์ดแวร์จริงนั้นชัดเจนมากในระบบย่อยหลักของระบบปฏิบัติการใดระบบหนึ่ง - ระบบไฟล์. ระบบปฏิบัติการจำลองชุดข้อมูลที่แยกจากกันซึ่งจัดเก็บไว้ในไดรฟ์ภายนอกเป็นไฟล์ ซึ่งเป็นลำดับไบต์ที่ไม่มีโครงสร้างอย่างง่ายซึ่งมีชื่อเชิงสัญลักษณ์ เพื่อความสะดวกในการทำงานกับข้อมูล ไฟล์จะถูกจัดกลุ่มเป็น แคตตาล็อกซึ่งในทางกลับกันสร้างกลุ่ม - ไดเร็กทอรีในระดับที่สูงกว่า ผู้ใช้สามารถใช้ OS เพื่อดำเนินการกับไฟล์และไดเร็กทอรี เช่น การค้นหาตามชื่อ การลบ การแสดงเนื้อหาบนอุปกรณ์ภายนอก (เช่น บนจอแสดงผล) การเปลี่ยนแปลงและการบันทึกเนื้อหา

เพื่อแสดงชุดข้อมูลจำนวนมากที่กระจัดกระจายแบบสุ่มทั่วกระบอกสูบและพื้นผิวดิสก์ หลากหลายชนิดในรูปแบบของโครงสร้างลำดับชั้นที่เป็นที่รู้จักและสะดวกสบายของไฟล์และไดเร็กทอรี ระบบปฏิบัติการต้องแก้ปัญหามากมาย ระบบไฟล์ OS จะแปลงชื่อสัญลักษณ์ของไฟล์ที่ผู้ใช้หรือโปรแกรมเมอร์แอปพลิเคชันทำงานด้วยเป็นที่อยู่ข้อมูลทางกายภาพบนดิสก์ จัดระเบียบการเข้าถึงไฟล์ที่ใช้ร่วมกัน และปกป้องพวกเขาจากการเข้าถึงโดยไม่ได้รับอนุญาต

เมื่อทำหน้าที่ ระบบไฟล์จะโต้ตอบอย่างใกล้ชิดกับระบบย่อยการจัดการอุปกรณ์ภายนอก ซึ่งตามคำขอของระบบไฟล์ จะถ่ายโอนข้อมูลระหว่างดิสก์และ RAM

ระบบย่อยการควบคุมอุปกรณ์ภายนอก หรือที่เรียกว่าระบบย่อยอินพุต-เอาท์พุต ทำหน้าที่เป็นส่วนต่อประสานกับอุปกรณ์ทั้งหมดที่เชื่อมต่อกับคอมพิวเตอร์ ช่วงของอุปกรณ์เหล่านี้กว้างขวางมาก กลุ่มผลิตภัณฑ์ของฮาร์ดไดรฟ์ ฟลอปปีไดรฟ์ ออปติคัลไดรฟ์ เครื่องพิมพ์ สแกนเนอร์ จอภาพ พล็อตเตอร์ โมเด็ม อะแดปเตอร์เครือข่าย และอุปกรณ์ I/O ที่เชี่ยวชาญมากขึ้น เช่น คอนเวอร์เตอร์ A/D สามารถทำงานได้หลายร้อยรุ่น โมเดลเหล่านี้อาจแตกต่างกันอย่างมากในชุดและลำดับของคำสั่งที่ใช้ในการแลกเปลี่ยนข้อมูลกับโปรเซสเซอร์และหน่วยความจำของคอมพิวเตอร์ ความเร็วในการทำงาน การเข้ารหัสข้อมูลที่ส่ง ความเป็นไปได้ในการแบ่งปัน และรายละเอียดอื่นๆ อีกมากมาย

โปรแกรมที่ควบคุม เฉพาะรุ่นอุปกรณ์ภายนอกและคำนึงถึงคุณสมบัติทั้งหมดของมันมักจะเรียกว่า คนขับอุปกรณ์นี้ (จากไดรฟ์ภาษาอังกฤษ - เพื่อจัดการ, นำ) ไดรเวอร์สามารถควบคุมอุปกรณ์รุ่นเดียวได้ เช่น โมเด็ม U-1496E ของไซเซล หรือกลุ่มอุปกรณ์บางประเภท เช่น โมเด็มที่เข้ากันได้กับ Hayes เป็นสิ่งสำคัญมากสำหรับผู้ใช้ที่ระบบปฏิบัติการมีไดรเวอร์ต่างๆ ให้มากที่สุดเท่าที่จะมากได้ เนื่องจากเป็นการรับประกันว่าจะสามารถเชื่อมต่ออุปกรณ์ภายนอกจำนวนมากจากผู้ผลิตหลายรายเข้ากับคอมพิวเตอร์ได้ ความสำเร็จของระบบปฏิบัติการในตลาดส่วนใหญ่ขึ้นอยู่กับความพร้อมของไดรเวอร์ที่เหมาะสม (เช่น การขาดไดรเวอร์อุปกรณ์ภายนอกที่จำเป็นจำนวนมากเป็นสาเหตุหนึ่งที่ทำให้ OS / 2) ความนิยมต่ำ



การสร้างไดรเวอร์อุปกรณ์ดำเนินการโดยนักพัฒนาระบบปฏิบัติการเฉพาะและโดยผู้เชี่ยวชาญจากบริษัทที่ผลิตอุปกรณ์ภายนอก ระบบปฏิบัติการต้องรักษาอินเทอร์เฟซที่กำหนดไว้อย่างดีระหว่างไดรเวอร์และส่วนที่เหลือของ OS เพื่อให้นักพัฒนาจากบริษัทอุปกรณ์ I/O สามารถจัดส่งไดรเวอร์สำหรับระบบปฏิบัติการนั้นพร้อมกับอุปกรณ์ของตนได้

โปรแกรมเมอร์แอปพลิเคชันสามารถใช้ส่วนต่อประสานไดรเวอร์เมื่อพัฒนาโปรแกรม แต่ไม่สะดวกนัก - อินเทอร์เฟซดังกล่าวมักจะดำเนินการในระดับต่ำโดยมีรายละเอียดมากมาย

การรักษาอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชันแบบรวมระดับสูงกับอุปกรณ์ I / O ที่ต่างกันเป็นหนึ่งในงานที่สำคัญที่สุดของระบบปฏิบัติการ นับตั้งแต่การถือกำเนิดของ UNIX อินเทอร์เฟซที่เป็นหนึ่งเดียวในระบบปฏิบัติการส่วนใหญ่ได้ยึดตามแนวคิดของการเข้าถึงไฟล์ แนวคิดนี้คือการแลกเปลี่ยนกับอุปกรณ์ภายนอกดูเหมือนการแลกเปลี่ยนกับไฟล์ที่มีชื่อและเป็นลำดับไบต์ที่ไม่มีโครงสร้าง ไฟล์สามารถเป็นไฟล์จริงบนดิสก์หรือเทอร์มินัลตัวอักษรและตัวเลข เครื่องพิมพ์ หรือ อะแดปเตอร์เครือข่าย. ที่นี่อีกครั้งเรากำลังเผชิญกับ คุณสมบัติของระบบปฏิบัติการเพื่อแทนที่ฮาร์ดแวร์จริงด้วย abstractions ที่เป็นมิตรต่อผู้ใช้และโปรแกรมเมอร์.

งาน OS สำหรับจัดการไฟล์และอุปกรณ์

ระบบย่อย Input-Output ของ multiprogram OS เมื่อทำการแลกเปลี่ยนข้อมูลกับอุปกรณ์ภายนอกของคอมพิวเตอร์ ต้องแก้ไขงานทั่วไปจำนวนหนึ่ง ซึ่งงานที่สำคัญที่สุดมีดังนี้:

องค์กรของการทำงานแบบขนานของอุปกรณ์อินพุต-เอาท์พุตและโปรเซสเซอร์

การประสานงานของอัตราแลกเปลี่ยนและการแคชข้อมูล

การแยกอุปกรณ์และข้อมูลระหว่างกระบวนการ

จัดเตรียมอินเทอร์เฟซแบบลอจิคัลที่สะดวกระหว่างอุปกรณ์กับส่วนที่เหลือของระบบ

รองรับไดรเวอร์ที่หลากหลายพร้อมความสามารถในการรวมไดรเวอร์ใหม่ในระบบได้อย่างง่ายดาย

รองรับระบบไฟล์หลายระบบ

รองรับการทำงาน I/O แบบซิงโครนัสและแบบอะซิงโครนัส

งานหลักอย่างหนึ่งของระบบปฏิบัติการคือการให้ความสะดวกแก่ผู้ใช้เมื่อทำงานกับข้อมูลที่จัดเก็บไว้ในดิสก์ ในการทำเช่นนี้ OS จะแทนที่โครงสร้างทางกายภาพของข้อมูลที่เก็บไว้ด้วยโมเดลเชิงตรรกะที่ใช้งานง่าย โมเดลระบบลอจิกไฟล์เกิดเป็นรูปเป็นร่างขึ้น ต้นไม้ไดเรกทอรีแสดงโดยยูทิลิตี้ เช่น Norton Commander หรือ Windows Explorer ในชื่อไฟล์ผสมเชิงสัญลักษณ์ ในคำสั่งไฟล์ องค์ประกอบพื้นฐานของโมเดลนี้คือ ไฟล์ซึ่งเหมือนกับระบบไฟล์โดยรวม สามารถกำหนดลักษณะได้ทั้งโครงสร้างแบบลอจิคัลและฟิสิคัล

ไฟล์เป็นชื่อพื้นที่ของหน่วยความจำภายนอกที่สามารถเขียนและอ่านได้ ไฟล์จะถูกเก็บไว้ในหน่วยความจำที่ขึ้นกับพลังงาน โดยปกติแล้วจะอยู่บนดิสก์แม่เหล็ก อย่างไรก็ตาม ไม่มีกฎเกณฑ์ใดที่ไม่มีข้อยกเว้น ข้อยกเว้นประการหนึ่งคือสิ่งที่เรียกว่า ramdisk เมื่อมีการสร้างโครงสร้างใน RAM ที่เลียนแบบระบบไฟล์

วัตถุประสงค์หลักของการใช้ไฟล์:

การจัดเก็บข้อมูลระยะยาวและเชื่อถือได้ อายุขัยทำได้โดยการใช้อุปกรณ์เก็บข้อมูลที่ไม่ขึ้นอยู่กับพลังงานและความน่าเชื่อถือสูงถูกกำหนดโดยวิธีการปกป้องการเข้าถึงไฟล์และองค์กรทั่วไปของรหัสโปรแกรม OS ซึ่งความล้มเหลวของฮาร์ดแวร์ส่วนใหญ่มักจะไม่ทำลายข้อมูลที่เก็บไว้ ในไฟล์.

การแบ่งปันข้อมูล ไฟล์เป็นวิธีที่เป็นธรรมชาติและง่ายดายในการแบ่งปันข้อมูลระหว่างแอปพลิเคชันและผู้ใช้ โดยมีชื่อสัญลักษณ์ที่มนุษย์สามารถอ่านได้และความคงอยู่ของข้อมูลที่เก็บไว้และตำแหน่งของไฟล์ ผู้ใช้ต้องมีเครื่องมือที่สะดวกสำหรับการทำงานกับไฟล์ รวมถึงไดเร็กทอรีไดเร็กทอรีที่รวมไฟล์เข้าเป็นกลุ่ม เครื่องมือสำหรับค้นหาไฟล์ตามคุณสมบัติ ชุดคำสั่งสำหรับสร้าง แก้ไข และลบไฟล์ ไฟล์สามารถสร้างขึ้นโดยผู้ใช้คนหนึ่งแล้วใช้โดยผู้ใช้ที่แตกต่างกันโดยสิ้นเชิง และผู้สร้างไฟล์หรือผู้ดูแลระบบสามารถกำหนดสิทธิ์การเข้าถึงของผู้ใช้รายอื่นได้ เป้าหมายเหล่านี้ถูกนำมาใช้ในระบบปฏิบัติการโดยระบบไฟล์

ระบบไฟล์(FS) เป็นส่วนหนึ่งของระบบปฏิบัติการ ได้แก่ :

การรวบรวมไฟล์ทั้งหมดบนดิสก์

ชุดของโครงสร้างข้อมูลที่ใช้ในการจัดการไฟล์ เช่น ไดเร็กทอรีไฟล์ ตัวอธิบายไฟล์ ตารางการจัดสรรพื้นที่ว่างในดิสก์และที่ใช้

ชุดเครื่องมือซอฟต์แวร์ระบบที่ใช้การดำเนินการต่างๆ กับไฟล์ เช่น การสร้าง การลบ การอ่าน การเขียน การตั้งชื่อ และการค้นหาไฟล์

ระบบไฟล์อนุญาตให้โปรแกรมใช้ชุดของการดำเนินการที่ค่อนข้างง่ายเพื่อดำเนินการกับวัตถุนามธรรมบางอย่างที่แสดงถึงไฟล์ ในการทำเช่นนั้น โปรแกรมเมอร์ไม่จำเป็นต้องจัดการกับรายละเอียดของตำแหน่งที่แท้จริงของข้อมูลบนดิสก์ การบัฟเฟอร์ข้อมูล และปัญหาระดับต่ำอื่นๆ ของการถ่ายโอนข้อมูลจากที่เก็บข้อมูลระยะยาว ฟังก์ชั่นทั้งหมดเหล่านี้ดำเนินการโดยระบบไฟล์ ระบบไฟล์จัดสรรพื้นที่ดิสก์ รองรับการตั้งชื่อไฟล์ จับคู่ชื่อไฟล์กับที่อยู่ที่ตรงกันในหน่วยความจำภายนอก ให้การเข้าถึงข้อมูล และสนับสนุนการแชร์ไฟล์ การป้องกัน และการกู้คืน

ดังนั้น ระบบไฟล์จึงมีบทบาทเป็นเลเยอร์กลางที่ป้องกันความซับซ้อนทั้งหมดขององค์กรทางกายภาพของการจัดเก็บข้อมูลระยะยาว และจัดเตรียมโปรแกรมที่มีโมเดลเชิงตรรกะที่ง่ายกว่าของที่เก็บข้อมูลนี้ รวมทั้งจัดเตรียมชุดของไฟล์ที่ใช้งานง่าย - คำสั่งที่ใช้สำหรับจัดการไฟล์

งานที่แก้ไขโดย FS นั้นขึ้นอยู่กับวิธีการจัดระเบียบกระบวนการคำนวณโดยรวม ประเภทที่ง่ายที่สุดคือ FS ในระบบปฏิบัติการแบบผู้ใช้คนเดียวและแบบโปรแกรมเดียว ซึ่งรวมถึง ตัวอย่างเช่น MS-DOS หน้าที่หลักใน FS ดังกล่าวมีจุดมุ่งหมายเพื่อแก้ไขงานต่อไปนี้:

การตั้งชื่อไฟล์;

อินเทอร์เฟซการเขียนโปรแกรมสำหรับการใช้งาน

การแม็พโมเดลโลจิคัลของระบบไฟล์กับองค์กรแบบฟิสิคัลของคลังข้อมูล

ความยืดหยุ่นของระบบไฟล์ต่อไฟฟ้าขัดข้อง ข้อผิดพลาดของฮาร์ดแวร์และซอฟต์แวร์

งาน FS มีความซับซ้อนมากขึ้นในการใช้งานระบบปฏิบัติการแบบหลายโปรแกรมสำหรับผู้ใช้คนเดียว ซึ่งแม้จะออกแบบมาสำหรับงานของผู้ใช้รายเดียว แต่ก็เปิดโอกาสให้เขาเรียกใช้หลายกระบวนการพร้อมกันได้ หนึ่งในระบบปฏิบัติการแรกของประเภทนี้คือ OS/2 นอกเหนือจากงานที่ระบุไว้ข้างต้นแล้ว ยังมีการเพิ่มงานการแชร์ไฟล์แบบหลายกระบวนการใหม่อีกด้วย ไฟล์ในกรณีนี้เป็นทรัพยากรที่ใช้ร่วมกัน ซึ่งหมายความว่าระบบไฟล์ต้องแก้ปัญหาที่ซับซ้อนทั้งหมดที่เกี่ยวข้องกับทรัพยากรดังกล่าว โดยเฉพาะอย่างยิ่ง FS ควรมีวิธีการในการบล็อกไฟล์และส่วนต่างๆ ของไฟล์ การป้องกันการแข่งขัน การกำจัดการหยุดชะงัก การประสานงานสำเนา ฯลฯ

ในระบบที่มีผู้ใช้หลายคน มีงานอื่นปรากฏขึ้น: ปกป้องไฟล์ของผู้ใช้รายหนึ่งจากการเข้าถึงโดยไม่ได้รับอนุญาตจากผู้ใช้รายอื่น ซับซ้อนยิ่งกว่านั้นคือฟังก์ชันของระบบไฟล์ที่ทำงานเป็นส่วนหนึ่งของระบบปฏิบัติการเครือข่าย

ระบบไฟล์รองรับการทำงานที่แตกต่างกันหลายอย่าง ประเภทไฟล์ซึ่งโดยทั่วไปจะรวมถึงไฟล์ปกติ ไฟล์ไดเร็กทอรี ไฟล์พิเศษ ไปป์ที่มีชื่อ ไฟล์ที่แมปหน่วยความจำ และอื่นๆ

ไฟล์ปกติหรือไฟล์ธรรมดาๆ ที่มีข้อมูลโดยพลการที่ผู้ใช้ป้อนเข้าไปหรือเกิดขึ้นจากการทำงานของระบบและโปรแกรมผู้ใช้ ระบบปฏิบัติการสมัยใหม่ส่วนใหญ่ (เช่น UNIX, Windows, OS/2) ไม่ได้จำกัดหรือควบคุมเนื้อหาและโครงสร้างของไฟล์ปกติแต่อย่างใด เนื้อหาของไฟล์ปกติถูกกำหนดโดยแอปพลิเคชันที่ใช้งานได้ ตัวอย่างเช่น โปรแกรมแก้ไขข้อความสร้างไฟล์ข้อความที่ประกอบด้วยสตริงของอักขระที่แสดงในบางโค้ด ซึ่งอาจเป็นเอกสาร ซอร์สโค้ดของโปรแกรม เป็นต้น ไฟล์ข้อความสามารถอ่านบนหน้าจอและพิมพ์บนเครื่องพิมพ์ ไฟล์ไบนารีไม่ใช้รหัสอักขระ มักมีโครงสร้างภายในที่ซับซ้อน เช่น รหัสโปรแกรมเรียกทำงานหรือไฟล์เก็บถาวร ระบบปฏิบัติการทั้งหมดควรจะสามารถจดจำไฟล์ได้อย่างน้อยหนึ่งประเภท - ไฟล์ปฏิบัติการของตัวเอง

แคตตาล็อก- เป็นไฟล์ชนิดพิเศษที่มีข้อมูลอ้างอิงระบบเกี่ยวกับชุดของไฟล์ที่จัดกลุ่มโดยผู้ใช้ตามคุณสมบัติที่ไม่เป็นทางการ (เช่น ไฟล์ที่มีเอกสารข้อตกลงหนึ่งฉบับ หรือไฟล์ที่ประกอบเป็นชุดซอฟต์แวร์หนึ่งชุดจะรวมกันเป็นกลุ่มเดียว) . ในระบบปฏิบัติการหลายระบบ ไดเร็กทอรีสามารถมีไฟล์ประเภทใดก็ได้ รวมถึงไดเร็กทอรีอื่นๆ ส่งผลให้โครงสร้างแบบทรีง่ายต่อการค้นหา ไดเร็กทอรีจับคู่ชื่อไฟล์กับคุณสมบัติที่ระบบไฟล์ใช้เพื่อจัดการไฟล์ โดยเฉพาะอย่างยิ่ง ลักษณะดังกล่าวรวมถึงข้อมูล (หรือตัวชี้ไปยังโครงสร้างอื่นที่มีข้อมูลนี้) เกี่ยวกับประเภทของไฟล์และตำแหน่งบนดิสก์ สิทธิ์การเข้าถึงไฟล์ และวันที่สร้างและแก้ไข ในแง่อื่น ๆ ไดเร็กทอรีได้รับการปฏิบัติเหมือนไฟล์ปกติโดยระบบไฟล์

ไฟล์พิเศษเป็นไฟล์จำลองที่เกี่ยวข้องกับอุปกรณ์ I/O ที่ใช้ในการรวมกลไกสำหรับการเข้าถึงไฟล์และอุปกรณ์ภายนอก ไฟล์พิเศษอนุญาตให้ผู้ใช้ดำเนินการ I/O ผ่านคำสั่งเขียนไฟล์ปกติหรืออ่านไฟล์ คำสั่งเหล่านี้จะถูกประมวลผลก่อนโดยโปรแกรมระบบไฟล์ จากนั้นในบางขั้นตอนของคำขอ จะถูกแปลงโดยระบบปฏิบัติการเป็นคำสั่งเพื่อควบคุมอุปกรณ์ที่เกี่ยวข้อง

ระบบไฟล์สมัยใหม่ยังสนับสนุนไฟล์ประเภทอื่นๆ เช่น ลิงก์สัญลักษณ์ ไปป์ที่มีชื่อ และไฟล์ที่แมปหน่วยความจำ

ผู้ใช้เข้าถึงไฟล์โดย ชื่อสัญลักษณ์. อย่างไรก็ตาม ความจุของหน่วยความจำของมนุษย์จำกัดจำนวนชื่ออ็อบเจ็กต์ที่ผู้ใช้สามารถอ้างถึงตามชื่อได้ การจัดระเบียบลำดับชั้นของเนมสเปซช่วยให้คุณสามารถขยายขอบเขตเหล่านี้ได้อย่างมาก นี่คือสาเหตุที่ระบบไฟล์ส่วนใหญ่มีโครงสร้างแบบลำดับชั้นซึ่งระดับต่างๆ ถูกสร้างขึ้นโดยอนุญาตให้มีไดเร็กทอรีระดับล่างอยู่ภายในไดเร็กทอรีระดับที่สูงกว่า (รูปที่ 2.16)

รูปที่ 2.16. ลำดับชั้นของระบบไฟล์ (a - โครงสร้างระดับเดียว, b - โครงสร้างแบบทรี, c - โครงสร้างเครือข่าย)

กราฟที่อธิบายลำดับชั้นของไดเร็กทอรีสามารถเป็นแผนผังหรือเครือข่ายได้ ไดเร็กทอรีจะสร้างแผนผังหากไฟล์ได้รับอนุญาตให้ป้อนไดเร็กทอรีเดียวเท่านั้น (รูปที่ 2.16, b) และเครือข่าย - หากไฟล์สามารถป้อนไดเร็กทอรีหลายรายการพร้อมกันได้ (รูปที่ 2.16, c) ตัวอย่างเช่น ใน MS-DOS และ Windows ไดเร็กทอรีจะสร้างโครงสร้างแบบต้นไม้ ในขณะที่ใน UNIX จะสร้างโครงสร้างเครือข่าย ในโครงสร้างแบบต้นไม้ แต่ละไฟล์จะเป็นใบไม้ ไดเร็กทอรีระดับบนสุดเรียกว่า ไดเรกทอรีรากหรือราก

ด้วยองค์กรดังกล่าว ผู้ใช้จะเป็นอิสระจากการจำชื่อไฟล์ทั้งหมด มันเพียงพอแล้วสำหรับเขาที่จะจินตนาการคร่าวๆ ว่ากลุ่มใดสามารถกำหนดไฟล์นี้หรือไฟล์นั้นได้ เพื่อค้นหาโดยการเรียกดูไดเร็กทอรีตามลำดับ โครงสร้างแบบลำดับชั้นสะดวกสำหรับงานที่มีผู้ใช้หลายคน: ผู้ใช้แต่ละคนที่มีไฟล์ของเขาจะอยู่ในไดเร็กทอรีของตนเองหรือแผนผังย่อยของไดเร็กทอรี และในขณะเดียวกัน ไฟล์ทั้งหมดในระบบก็เชื่อมต่อกันตามตรรกะ

กรณีพิเศษของโครงสร้างแบบลำดับชั้นคือองค์กรระดับเดียว เมื่อไฟล์ทั้งหมดรวมอยู่ในไดเรกทอรีเดียว (รูปที่ 2.16, a)

ไฟล์ทุกประเภทมีชื่อเชิงสัญลักษณ์ ชื่อไฟล์สามประเภทมักใช้ในระบบไฟล์ที่มีการจัดระเบียบแบบลำดับชั้น: แบบง่าย แบบผสม และแบบสัมพัทธ์

ชื่อสัญลักษณ์ง่าย ๆ หรือสั้น ๆระบุไฟล์ภายในไดเร็กทอรีเดียวกัน ชื่ออย่างง่ายถูกกำหนดให้กับไฟล์โดยผู้ใช้และโปรแกรมเมอร์ ในขณะที่ต้องคำนึงถึงข้อจำกัดของระบบปฏิบัติการทั้งระบบการตั้งชื่อของอักขระและความยาวของชื่อ จนกระทั่งเมื่อไม่นานมานี้ ขอบเขตเหล่านี้แคบมาก ดังนั้น ในระบบไฟล์ FAT ยอดนิยม ความยาวของชื่อจึงถูกจำกัดด้วยรูปแบบ 8.3 (8 อักขระ - ชื่อเอง 3 อักขระ - นามสกุล) และในระบบไฟล์ s5 ซึ่งรองรับโดย UNIX OS หลายเวอร์ชัน ชื่อสัญลักษณ์อย่างง่ายไม่สามารถมีอักขระเกิน 14 ตัว อย่างไรก็ตาม จะสะดวกกว่าสำหรับผู้ใช้ในการทำงานกับชื่อยาว เนื่องจากอนุญาตให้คุณตั้งชื่อไฟล์ที่จำง่ายซึ่งระบุอย่างชัดเจนว่ามีอะไรอยู่ในไฟล์นี้ ดังนั้น ระบบไฟล์ที่ทันสมัย ​​เช่นเดียวกับระบบไฟล์ที่มีอยู่เวอร์ชันที่ปรับปรุงแล้ว มักจะสนับสนุนชื่อไฟล์เชิงสัญลักษณ์ที่ยาวและเรียบง่าย ตัวอย่างเช่น ในระบบไฟล์ NTFS และ FAT32 ที่มาพร้อมกับระบบปฏิบัติการ Windows NT ชื่อไฟล์สามารถมีอักขระได้ไม่เกิน 255 ตัว

ในระบบไฟล์แบบลำดับชั้น ไฟล์ต่างๆ ได้รับอนุญาตให้มีชื่อสัญลักษณ์ง่ายๆ เหมือนกันได้ หากไฟล์เหล่านั้นเป็นของไดเร็กทอรีที่ต่างกัน นั่นคือรูปแบบ "หลายไฟล์ - ชื่อง่าย ๆ เดียว" ใช้งานได้ที่นี่ เพื่อระบุไฟล์ในระบบดังกล่าวโดยเฉพาะ จะใช้ชื่อเต็มที่เรียกว่า

ชื่อเต็มเป็นห่วงโซ่ของชื่อสัญลักษณ์อย่างง่ายของไดเร็กทอรีทั้งหมดที่พาธจากรูทไปยังไฟล์ที่กำหนดผ่าน ดังนั้น ชื่อเต็มจึงเป็นชื่อประสม ซึ่งชื่ออย่างง่ายแยกจากกันโดยตัวคั่นที่ยอมรับในระบบปฏิบัติการ มักใช้ฟอร์เวิร์ดหรือแบ็กสแลชเป็นตัวคั่น และเป็นเรื่องปกติที่จะละเว้นชื่อของไดเร็กทอรีราก ในรูปที่ 2.16b สองไฟล์มีชื่อง่ายว่า main.exe แต่ชื่อผสม /depart/main.exe และ /user/anna/main.exe ต่างกัน

ในระบบไฟล์แบบทรี มีการโต้ตอบแบบหนึ่งต่อหนึ่ง "หนึ่งไฟล์ - หนึ่งชื่อเต็ม" ระหว่างไฟล์กับชื่อเต็ม ในระบบไฟล์ที่มีโครงสร้างเครือข่าย ไฟล์สามารถรวมอยู่ในไดเร็กทอรีหลายไดเร็กทอรี ดังนั้นจึงมีชื่อเต็มหลายชื่อ ที่นี่การติดต่อ "หนึ่งไฟล์ - หลายชื่อเต็ม" ถูกต้อง ในทั้งสองกรณี ไฟล์จะถูกระบุโดยไม่ซ้ำกันโดยใช้ชื่อเต็ม

ไฟล์ยังสามารถระบุได้ด้วยชื่อที่สัมพันธ์กัน . ชื่อญาติไฟล์ถูกกำหนดผ่านแนวคิดของ "ไดเรกทอรีปัจจุบัน" สำหรับผู้ใช้แต่ละรายในแต่ละช่วงเวลา หนึ่งในไดเรกทอรีของระบบไฟล์จะเป็นปัจจุบัน และไดเรกทอรีนี้จะถูกเลือกโดยผู้ใช้เองตามคำสั่งของระบบปฏิบัติการ ระบบไฟล์แก้ไขชื่อของไดเร็กทอรีปัจจุบันเพื่อให้สามารถใช้นอกเหนือจากชื่อที่สัมพันธ์กันเพื่อสร้างชื่อไฟล์แบบเต็ม เมื่อใช้ชื่อที่สัมพันธ์กัน ผู้ใช้จะระบุไฟล์โดยใช้ชื่อไดเร็กทอรีซึ่งเส้นทางผ่านจากไดเร็กทอรีปัจจุบันไปยังไฟล์ที่กำหนด ตัวอย่างเช่น หากไดเร็กทอรีปัจจุบันคือ /user ชื่อไฟล์สัมพัทธ์ของ /user/anna/main.exe ก็คือ anna/main.exe

ระบบปฏิบัติการบางระบบอนุญาตให้คุณตั้งชื่อง่าย ๆ หลายชื่อให้กับไฟล์เดียวกันซึ่งสามารถตีความได้ว่าเป็นนามแฝง ในกรณีนี้ เช่นเดียวกับในระบบที่มีโครงสร้างเครือข่าย การโต้ตอบคือ "หนึ่งไฟล์ - ชื่อเต็มหลายชื่อ" เนื่องจากชื่อไฟล์อย่างง่ายแต่ละชื่อสอดคล้องกับชื่อเต็มอย่างน้อยหนึ่งชื่อ

แม้ว่าชื่อแบบเต็มจะระบุไฟล์ได้โดยไม่ซ้ำกัน แต่ระบบปฏิบัติการจะทำงานกับไฟล์ได้ง่ายขึ้นหากมีการติดต่อระหว่างไฟล์และชื่อไฟล์แบบหนึ่งต่อหนึ่ง ด้วยเหตุนี้ มันจึงกำหนดชื่อเฉพาะให้กับไฟล์ เพื่อให้ความสัมพันธ์ "หนึ่งไฟล์ - ชื่อที่ไม่ซ้ำหนึ่งชื่อ" นั้นถูกต้อง มีชื่อเฉพาะพร้อมกับชื่อสัญลักษณ์ตั้งแต่หนึ่งชื่อขึ้นไปที่กำหนดให้กับไฟล์โดยผู้ใช้หรือแอปพลิเคชัน ชื่อเฉพาะคือตัวระบุตัวเลขและมีไว้สำหรับระบบปฏิบัติการเท่านั้น ตัวอย่างของชื่อไฟล์เฉพาะดังกล่าวคือหมายเลขไอโหนดบนระบบ UNIX

แนวคิดของ "ไฟล์" ไม่เพียงแต่รวมข้อมูลและชื่อที่จัดเก็บไว้เท่านั้น แต่ยังรวมถึงแอตทริบิวต์ด้วย คุณลักษณะเป็นข้อมูลที่อธิบายคุณสมบัติของไฟล์ ตัวอย่างของแอตทริบิวต์ไฟล์ที่เป็นไปได้:

ประเภทไฟล์ (ไฟล์ปกติ ไดเร็กทอรี ไฟล์พิเศษ ฯลฯ);

เจ้าของไฟล์;

ผู้สร้างไฟล์;

รหัสผ่านเพื่อเข้าถึงไฟล์;

ข้อมูลเกี่ยวกับการดำเนินการเข้าถึงไฟล์ที่อนุญาต

เวลาของการสร้าง การเข้าถึงล่าสุด และการแก้ไขครั้งล่าสุด

ขนาดไฟล์ปัจจุบัน

ขนาดไฟล์สูงสุด

แฟล็กแบบอ่านอย่างเดียว

ลงชื่อ "ไฟล์ที่ซ่อนอยู่";

ลักษณะเฉพาะ " ไฟล์ระบบ»;

ลงชื่อ "ไฟล์เก็บถาวร";

ลงชื่อ "ไบนารี/อักขระ";

ลงชื่อ "ชั่วคราว" (ลบหลังจากเสร็จสิ้นกระบวนการ);

สัญญาณของการปิดกั้น;

ความยาวของเร็กคอร์ดในไฟล์

ตัวชี้ไปยังฟิลด์คีย์ในรายการ;

ความยาวคีย์

ชุดของแอ็ตทริบิวต์ไฟล์ถูกกำหนดโดยข้อมูลเฉพาะของระบบไฟล์: ในระบบไฟล์ประเภทต่างๆ สามารถใช้ชุดแอ็ตทริบิวต์ต่างๆ เพื่อกำหนดลักษณะไฟล์ได้ ตัวอย่างเช่น ในระบบไฟล์ที่รองรับไฟล์แบบแฟลต ไม่จำเป็นต้องใช้แอตทริบิวต์สามรายการสุดท้ายในรายการด้านบนที่เกี่ยวข้องกับการจัดโครงสร้างไฟล์ ใน OS ผู้ใช้คนเดียว ชุดของแอตทริบิวต์จะขาดคุณสมบัติที่เกี่ยวข้องกับผู้ใช้และความปลอดภัย เช่น เจ้าของไฟล์ ผู้สร้างไฟล์ รหัสผ่านการเข้าถึงไฟล์ ข้อมูลสิทธิ์การเข้าถึงไฟล์

ผู้ใช้สามารถเข้าถึงแอ็ตทริบิวต์โดยใช้วิธีการที่ระบบไฟล์จัดเตรียมไว้เพื่อการนี้ โดยปกติแล้วจะอนุญาตให้อ่านค่าของแอตทริบิวต์ใดก็ได้ แต่สามารถเปลี่ยนได้เพียงบางส่วนเท่านั้น ตัวอย่างเช่น ผู้ใช้สามารถเปลี่ยนการอนุญาตบนไฟล์ (หากพวกเขามีสิทธิ์ที่จำเป็นในการดำเนินการดังกล่าว) แต่จะไม่ได้รับอนุญาตให้เปลี่ยนวันที่สร้างหรือขนาดปัจจุบันของไฟล์

ค่าแอตทริบิวต์ของไฟล์สามารถมีได้โดยตรงในไดเร็กทอรี เช่นเดียวกับที่ทำในระบบไฟล์ MS-DOS (รูปที่ 2.17, a) รูปภาพแสดงโครงสร้างของรายการไดเร็กทอรีที่มีชื่อสัญลักษณ์อย่างง่าย และแอตทริบิวต์ของไฟล์ ที่นี่ตัวอักษรระบุลักษณะของไฟล์: R - อ่านอย่างเดียว, A - เก็บถาวร, H - ซ่อน, S - ระบบ

รูปที่ 2.17. โครงสร้างไดเร็กทอรี: a - โครงสร้างรายการไดเร็กทอรี MS-DOS (32 ไบต์), b - โครงสร้างรายการไดเร็กทอรี UNIX OS

อีกทางเลือกหนึ่งคือการวางแอตทริบิวต์ในตารางพิเศษเมื่อไดเร็กทอรีประกอบด้วยลิงก์ไปยังตารางเหล่านั้นเท่านั้น วิธีการนี้ถูกนำมาใช้ ตัวอย่างเช่น ในระบบไฟล์ UNIX ufs ในระบบไฟล์นี้ โครงสร้างไดเร็กทอรีนั้นง่ายมาก บันทึกเกี่ยวกับแต่ละไฟล์มีชื่อไฟล์สัญลักษณ์แบบสั้นและตัวชี้ไปยังตัวอธิบาย inode ของไฟล์ เนื่องจากมีการเรียกตารางใน ufs ซึ่งค่าของแอตทริบิวต์ของไฟล์จะเข้มข้น (รูปที่ 2.17, b)

ไม่ว่าในกรณีใด ไดเร็กทอรีจะมีลิงก์ระหว่างชื่อไฟล์และไฟล์จริง อย่างไรก็ตาม วิธีการเมื่อแยกชื่อไฟล์ออกจากแอตทริบิวต์ ทำให้ระบบมีความยืดหยุ่นมากขึ้น ตัวอย่างเช่น ไฟล์สามารถรวมอยู่ในหลายไดเร็กทอรีพร้อมกันได้อย่างง่ายดาย รายการเกี่ยวกับไฟล์นี้ในไดเร็กทอรีต่างๆ อาจมีชื่อง่ายต่างกัน แต่ฟิลด์ลิงก์จะมีหมายเลขไอโหนดเหมือนกัน

มุมมองของผู้ใช้เกี่ยวกับระบบไฟล์เป็นชุดของอ็อบเจ็กต์ข้อมูลที่มีการจัดระเบียบตามลำดับชั้นแทบไม่เกี่ยวข้องกับลำดับการจัดเก็บไฟล์บนดิสก์ ไฟล์ที่มีอิมเมจของชุดไบต์ต่อเนื่องชุดเดียวมักจะกระจัดกระจายเป็น "ชิ้น" ทั่วทั้งดิสก์ และการแยกนี้ไม่มีส่วนเกี่ยวข้องกับโครงสร้างทางลอจิคัลของไฟล์ เช่น เร็กคอร์ดแบบลอจิคัลที่แยกจากกัน สามารถอยู่ในเซกเตอร์ที่ไม่อยู่ติดกันของดิสก์ ไฟล์ที่รวมกันทางตรรกะจากไดเร็กทอรีเดียวกันไม่จำเป็นต้องอยู่ร่วมกันบนดิสก์เลย หลักการของการวางไฟล์ ไดเร็กทอรี และข้อมูลระบบบนอุปกรณ์จริงมีการอธิบายโดยองค์กรทางกายภาพของระบบไฟล์ เห็นได้ชัดว่าระบบไฟล์ต่างๆ มีการจัดระเบียบทางกายภาพที่แตกต่างกัน

อุปกรณ์หลักที่ใช้ในระบบคอมพิวเตอร์สมัยใหม่สำหรับการจัดเก็บไฟล์คือดิสก์ไดรฟ์ อุปกรณ์เหล่านี้ออกแบบมาเพื่ออ่านและเขียนข้อมูลลงในฮาร์ดดิสก์และฟลอปปีดิสก์ ฮาร์ดไดรฟ์ประกอบด้วยกระจกหรือแผ่นโลหะตั้งแต่หนึ่งแผ่นขึ้นไป ซึ่งแต่ละแผ่นเคลือบด้วยวัสดุแม่เหล็กด้านใดด้านหนึ่งหรือทั้งสองด้าน ดังนั้น ดิสก์โดยทั่วไปจะประกอบด้วยชุดของเพลต (รูปที่ 2.18)

ในแต่ละด้านของแต่ละแผ่นจะมีการทำเครื่องหมายวงแหวนบาง ๆ ที่มีศูนย์กลาง - แทร็ค(traks) ที่เก็บข้อมูลไว้ จำนวนแทร็กขึ้นอยู่กับประเภทของดิสก์ หมายเลขแทร็คเริ่มต้นที่ 0 จากขอบด้านนอกถึงกึ่งกลางของแผ่นดิสก์ ขณะที่ดิสก์หมุน องค์ประกอบที่เรียกว่า head จะอ่านข้อมูลไบนารีจากแทร็กแม่เหล็กหรือเขียนไปยังแทร็กแม่เหล็ก

รูปที่ 2.18. ไดอะแกรมของอุปกรณ์ฮาร์ดดิสก์

สามารถวางหัวไว้เหนือแทร็กที่กำหนดได้ ส่วนหัวจะเคลื่อนไปตามพื้นผิวของแผ่นดิสก์เป็นขั้นๆ แยกกัน แต่ละขั้นตอนจะสอดคล้องกับการเปลี่ยนแทร็กเดียว การบันทึกลงแผ่นดิสก์ทำได้โดยความสามารถของส่วนหัวในการเปลี่ยนคุณสมบัติแม่เหล็กของแทร็ค แผ่นดิสก์บางแผ่นมีหนึ่งหัวเคลื่อนที่ไปตามแต่ละพื้นผิว ในขณะที่บางแผ่นมีหนึ่งหัวต่อแทร็ก ในกรณีแรก ในการค้นหาข้อมูล ส่วนหัวจะต้องเคลื่อนที่ไปตามรัศมีของดิสก์ โดยปกติหัวทั้งหมดจะจับจ้องอยู่ที่กลไกการเคลื่อนย้ายเดียวและเคลื่อนที่พร้อมกัน ดังนั้น เมื่อส่วนหัวถูกตรึงบนแทร็กที่กำหนดของพื้นผิวหนึ่ง ส่วนหัวอื่นๆ ทั้งหมดจะหยุดบนแทร็กด้วยตัวเลขเดียวกัน ในกรณีที่แต่ละแทร็กมีส่วนหัวแยกกัน ไม่จำเป็นต้องย้ายส่วนหัวจากแทร็กหนึ่งไปอีกแทร็กหนึ่ง ซึ่งจะช่วยประหยัดเวลาในการค้นหาข้อมูล

ชุดของรางที่มีรัศมีเดียวกันบนทุกพื้นผิวของเพลตทั้งหมดของหีบห่อเรียกว่า กระบอก(กระบอกสูบ). แต่ละแทร็กแบ่งออกเป็นส่วนที่เรียกว่า ภาค(เซกเตอร์) หรือบล็อค (บล็อก) เพื่อให้แทร็กทั้งหมดมีจำนวนเซกเตอร์เท่ากัน ซึ่งสามารถเขียนจำนวนไบต์สูงสุดได้ เซกเตอร์มีขนาดคงที่สำหรับระบบใดระบบหนึ่ง โดยแสดงเป็นกำลังสอง ขนาดเซกเตอร์ทั่วไปคือ 512 ไบต์ เมื่อพิจารณาว่าแทร็กที่มีรัศมีต่างกันมีจำนวนเซ็กเตอร์เท่ากัน ความหนาแน่นในการบันทึกจะสูงขึ้น ยิ่งแทร็กอยู่ใกล้ศูนย์กลางมากขึ้นเท่านั้น

ภาค- หน่วยแลกเปลี่ยนข้อมูลที่เล็กที่สุดระหว่างอุปกรณ์ดิสก์และ RAM เพื่อให้ตัวควบคุมค้นหาเซกเตอร์ที่ต้องการบนดิสก์ จำเป็นต้องตั้งค่าส่วนประกอบทั้งหมดของที่อยู่เซกเตอร์เป็น: หมายเลขกระบอกสูบ หมายเลขพื้นผิว และหมายเลขเซกเตอร์ เนื่องจากโปรแกรมแอปพลิเคชันโดยทั่วไปไม่ต้องการเซ็กเตอร์ แต่มีไบต์จำนวนหนึ่ง ไม่จำเป็นต้องมีหลายขนาดเซกเตอร์ คำขอทั่วไปจึงรวมการอ่านหลายเซกเตอร์ที่มีข้อมูลที่จำเป็น และหนึ่งหรือสองเซกเตอร์ที่มี พร้อมกับส่วนที่จำเป็น , ข้อมูลซ้ำซ้อน (รูปที่ 2.19) .

รูปที่ 2.19. อ่านข้อมูลซ้ำซ้อนเมื่อแลกเปลี่ยนกับดิสก์

ระบบปฏิบัติการเมื่อทำงานกับดิสก์มักจะใช้หน่วยพื้นที่ดิสก์ของตัวเองเรียกว่า กลุ่ม(กลุ่ม). เมื่อไฟล์ถูกสร้างขึ้น พื้นที่ดิสก์จะถูกจัดสรรให้เป็นกลุ่ม ตัวอย่างเช่น หากไฟล์มีขนาด 2560 ไบต์ และขนาดคลัสเตอร์ในระบบไฟล์ถูกกำหนดเป็น 1024 ไบต์ ไฟล์จะได้รับการจัดสรร 3 คลัสเตอร์บนดิสก์

แทร็กและเซ็กเตอร์ถูกสร้างขึ้นจากการดำเนินการตามขั้นตอนการจัดรูปแบบดิสก์จริงหรือระดับต่ำก่อนที่จะใช้ดิสก์ ในการกำหนดขอบเขตของบล็อก ข้อมูลการระบุตัวตนจะถูกเขียนลงในดิสก์ รูปแบบดิสก์ระดับต่ำไม่ได้ขึ้นอยู่กับประเภทของระบบปฏิบัติการที่ดิสก์นี้จะใช้

การแบ่งพาร์ติชั่นดิสก์สำหรับระบบไฟล์บางประเภททำได้โดยโพรซีเดอร์การจัดรูปแบบระดับสูงหรือแบบลอจิคัล

ด้วยการจัดรูปแบบระดับสูง ขนาดของคลัสเตอร์จะถูกกำหนด และข้อมูลที่จำเป็นสำหรับการทำงานของระบบไฟล์จะถูกเขียนไปยังดิสก์ รวมถึงข้อมูลเกี่ยวกับพื้นที่ว่างและที่ไม่ได้ใช้ ขอบเขตของพื้นที่ที่จัดสรรสำหรับไฟล์และไดเร็กทอรี และข้อมูลเกี่ยวกับพื้นที่ที่เสียหาย นอกจากนี้ ตัวโหลดระบบปฏิบัติการยังถูกเขียนลงในดิสก์ ซึ่งเป็นโปรแกรมขนาดเล็กที่เริ่มกระบวนการเริ่มต้นระบบปฏิบัติการหลังจากเปิดเครื่องหรือรีสตาร์ทคอมพิวเตอร์

ก่อนทำการฟอร์แมตดิสก์สำหรับระบบไฟล์เฉพาะ สามารถแบ่งพาร์ติชั่นได้ บทเป็นส่วนที่อยู่ติดกันของฟิสิคัลดิสก์ที่ระบบปฏิบัติการแสดงต่อผู้ใช้ในฐานะอุปกรณ์โลจิคัล (ใช้ชื่อโลจิคัลดิสก์และโลจิคัลพาร์ติชันด้วย) อุปกรณ์โลจิคัลทำงานเหมือนกับว่าเป็นฟิสิคัลดิสก์ที่แยกจากกัน ผู้ใช้ทำงานโดยใช้อุปกรณ์ลอจิก อ้างอิงถึงชื่อเหล่านี้โดยใช้ชื่อเชิงสัญลักษณ์ เช่น การกำหนด A, B, C, SYS เป็นต้น ระบบปฏิบัติการประเภทต่างๆ ใช้การแสดงพาร์ทิชันร่วมกันทั้งหมด แต่สร้างโลจิคัลพาร์ติชันตามอุปกรณ์เฉพาะของระบบปฏิบัติการแต่ละประเภท เช่นเดียวกับระบบไฟล์ที่ดำเนินการโดยระบบปฏิบัติการหนึ่งโดยทั่วไปไม่สามารถตีความโดยระบบปฏิบัติการประเภทอื่นได้ อุปกรณ์ลอจิคัลไม่สามารถใช้งานได้โดยระบบปฏิบัติการประเภทต่างๆ สามารถสร้างระบบไฟล์ได้เพียงระบบเดียวเท่านั้นต่ออุปกรณ์ลอจิคัล.

ทำไมสมาร์ทโฟนไม่สามารถรันโปรแกรมจากการ์ดหน่วยความจำได้? ext4 โดยพื้นฐานแตกต่างจาก ext3 อย่างไร เหตุใดแฟลชไดรฟ์จึงมีอายุการใช้งานยาวนานกว่าหากฟอร์แมตเป็น NTFS ไม่ใช่ FAT ปัญหาหลักของ F2FS คืออะไร? คำตอบอยู่ในโครงสร้างของระบบไฟล์ เราจะพูดถึงพวกเขา

บทนำ

ระบบไฟล์กำหนดวิธีการจัดเก็บข้อมูล โดยจะกำหนดข้อจำกัดที่ผู้ใช้ต้องเผชิญ ความเร็วในการอ่านและเขียนจะรวดเร็วเพียงใด และไดรฟ์จะทำงานได้นานแค่ไหนโดยไม่เกิดข้อผิดพลาด โดยเฉพาะอย่างยิ่งสำหรับ SSD ราคาประหยัดและรุ่นน้อง - แฟลชไดรฟ์ เมื่อทราบคุณลักษณะเหล่านี้ คุณจะได้รับประโยชน์สูงสุดจากระบบใดๆ และปรับการใช้งานให้เหมาะสมสำหรับงานเฉพาะ

คุณต้องเลือกประเภทและพารามิเตอร์ของระบบไฟล์เมื่อใดก็ตามที่คุณต้องการทำสิ่งที่ไม่สำคัญ ตัวอย่างเช่น คุณต้องการเร่งความเร็วของการดำเนินการไฟล์ที่บ่อยที่สุด ในระดับระบบไฟล์ สามารถทำได้หลายวิธี: การจัดทำดัชนีจะช่วยให้ค้นหาได้อย่างรวดเร็ว และการจองบล็อกว่างล่วงหน้าจะทำให้เขียนทับไฟล์ที่เปลี่ยนแปลงบ่อยได้ง่ายขึ้น การเพิ่มประสิทธิภาพข้อมูลล่วงหน้าใน RAM จะลดปริมาณ I/O ที่ต้องการ

คุณสมบัติดังกล่าวของระบบไฟล์สมัยใหม่ เช่น การเขียนแบบสันหลังยาว การขจัดข้อมูลซ้ำซ้อน และอัลกอริธึมขั้นสูงอื่นๆ ช่วยเพิ่มเวลาทำงานของการทำงาน โดยเฉพาะอย่างยิ่งมีความเกี่ยวข้องโดยเฉพาะกับ SSD ราคาถูกที่มีชิปหน่วยความจำ TLC แฟลชไดรฟ์ และการ์ดหน่วยความจำ

มีการเพิ่มประสิทธิภาพแยกต่างหากสำหรับอาร์เรย์ดิสก์ในระดับต่างๆ เช่น ระบบไฟล์สามารถรองรับการมิเรอร์โวลุ่มแบบง่าย สแน็ปช็อตทันที หรือการปรับขนาดแบบไดนามิกโดยไม่ต้องปิดใช้งานโวลุ่ม

กล่องดำ

ผู้ใช้ส่วนใหญ่ทำงานกับระบบไฟล์ที่ระบบปฏิบัติการเสนอให้โดยค่าเริ่มต้น พวกเขาไม่ค่อยสร้างพาร์ติชั่นดิสก์ใหม่และมักจะคิดถึงการตั้งค่าของพวกเขา - เพียงแค่ใช้การตั้งค่าที่แนะนำหรือแม้แต่ซื้อสื่อที่ฟอร์แมตล่วงหน้า

สำหรับแฟน ๆ ของ Windows ทุกอย่างเรียบง่าย: NTFS บนพาร์ติชั่นดิสก์ทั้งหมดและ FAT32 (หรือ NTFS เดียวกัน) บนแฟลชไดรฟ์ หากมี NAS และระบบไฟล์อื่น ๆ ถูกใช้อยู่ในนั้น ส่วนใหญ่แล้วสิ่งนี้ก็อยู่เหนือความเข้าใจ พวกเขาเพียงแค่เชื่อมต่อกับมันผ่านเครือข่ายและดาวน์โหลดไฟล์ราวกับว่ามาจากกล่องดำ

ในอุปกรณ์พกพาที่ใช้ Android มักพบ ext4 ในหน่วยความจำภายในและ FAT32 บนการ์ด microSD Yabloko ไม่สนใจเลยว่าพวกเขามีระบบไฟล์ประเภทใด: HFS +, HFSX, APFS, WTFS ... สำหรับพวกเขา มีเพียงไอคอนโฟลเดอร์และไฟล์ที่สวยงามที่วาดโดยนักออกแบบที่ดีที่สุดเท่านั้น ผู้ใช้ Linux มีทางเลือกที่ดีที่สุด แต่คุณสามารถเชื่อมโยงการรองรับสำหรับระบบไฟล์ OS ที่ไม่ใช่เจ้าของภาษาทั้งใน Windows และ macOS - เพิ่มเติมในภายหลัง

รากทั่วไป

มีการสร้างระบบไฟล์ที่แตกต่างกันกว่าร้อยระบบ แต่ระบบไฟล์มากกว่าหนึ่งโหลสามารถเรียกได้ว่ามีความเกี่ยวข้องกัน แม้ว่าพวกเขาจะได้รับการออกแบบมาสำหรับการใช้งานเฉพาะของพวกเขา แต่หลายคนก็มีความเกี่ยวข้องในระดับแนวความคิด คล้ายกันเนื่องจากใช้โครงสร้างการแสดงข้อมูล (เมตา) ชนิดเดียวกัน - B-trees ("b-trees")

เช่นเดียวกับระบบลำดับชั้น B-tree เริ่มต้นด้วยรายการรูทแล้วแยกย่อยไปยังองค์ประกอบสุดท้าย - รายการแต่ละรายการเกี่ยวกับไฟล์และแอตทริบิวต์หรือ "ใบไม้" เหตุผลหลักในการสร้างโครงสร้างเชิงตรรกะดังกล่าวคือเพื่อเพิ่มความเร็วในการค้นหาออบเจ็กต์ระบบไฟล์บนไดนามิกอาร์เรย์ขนาดใหญ่ เช่น ฮาร์ดไดรฟ์ที่มีความจุหลายเทราไบต์หรืออาร์เรย์ RAID ที่น่าประทับใจยิ่งขึ้น

B-tree ต้องการการเข้าถึงดิสก์น้อยกว่าต้นไม้ที่สมดุลประเภทอื่นมากเพื่อดำเนินการเดียวกัน สิ่งนี้ทำได้โดยข้อเท็จจริงที่ว่าวัตถุสุดท้ายในทรี B นั้นถูกจัดวางตามลำดับชั้นที่ความสูงเท่ากัน และความเร็วของการดำเนินการทั้งหมดนั้นแปรผันตามความสูงของต้นไม้

เช่นเดียวกับต้นไม้ที่มีความสมดุลอื่น ๆ ต้นไม้ B มีทางเดินยาวเท่ากันจากรากถึงใบ แทนที่จะเติบโตขึ้น พวกมันแตกแขนงออกมากขึ้นและกว้างขึ้น: ทุกจุดของกิ่งใน B-tree จะเก็บข้อมูลอ้างอิงจำนวนมากถึงวัตถุลูกของพวกเขา ทำให้ง่ายต่อการค้นหาในการโจมตีที่น้อยลง พอยน์เตอร์จำนวนมากลดจำนวนการทำงานของดิสก์ที่ยาวที่สุด - การวางตำแหน่งส่วนหัวเมื่ออ่านบล็อกโดยอำเภอใจ

แนวคิดของ B-trees ได้รับการกำหนดขึ้นในทศวรรษที่ 70 และได้รับการปรับปรุงหลายอย่างตั้งแต่นั้นเป็นต้นมา ในรูปแบบใดรูปแบบหนึ่ง จะนำไปใช้ใน NTFS, BFS, XFS, JFS, ReiserFS และ DBMS ต่างๆ พวกเขาทั้งหมดเป็นญาติกันในแง่ของหลักการพื้นฐานของการจัดระเบียบข้อมูล ความแตกต่างนั้นสัมพันธ์กับรายละเอียด ซึ่งมักจะเป็นเรื่องที่สำคัญทีเดียว ข้อเสียของระบบไฟล์ที่เกี่ยวข้องก็เป็นเรื่องปกติเช่นกัน: ทั้งหมดถูกสร้างขึ้นเพื่อทำงานกับดิสก์แม้กระทั่งก่อนการถือกำเนิดของ SSD

หน่วยความจำแฟลชเป็นเครื่องมือของความคืบหน้า

โซลิดสเตตไดรฟ์ค่อยๆ แทนที่ดิสก์ไดรฟ์ แต่จนถึงตอนนี้ พวกมันถูกบังคับให้ใช้ระบบไฟล์แบบเดิมที่ต่างไปจากเดิม สร้างขึ้นจากอาร์เรย์หน่วยความจำแฟลชซึ่งมีหลักการแตกต่างจากอุปกรณ์ดิสก์ โดยเฉพาะอย่างยิ่ง ต้องลบหน่วยความจำแฟลชก่อนที่จะเขียน และการดำเนินการนี้ในชิป NAND ไม่สามารถทำได้ที่ระดับเซลล์แต่ละเซลล์ เป็นไปได้สำหรับบล็อกขนาดใหญ่โดยรวมเท่านั้น

ข้อจำกัดนี้เกิดจากข้อเท็จจริงที่ว่าในหน่วยความจำ NAND เซลล์ทั้งหมดถูกรวมเป็นบล็อก ซึ่งแต่ละเซลล์มีการเชื่อมต่อร่วมกันกับบัสควบคุมเพียงจุดเดียว เราจะไม่เข้าไปในรายละเอียดของการจัดระเบียบเพจและระบายสีลำดับชั้นทั้งหมด สิ่งสำคัญคือหลักการทำงานของกลุ่มกับเซลล์ และความจริงที่ว่าขนาดของบล็อกหน่วยความจำแฟลชมักจะมีขนาดใหญ่กว่าบล็อกที่อยู่ในระบบไฟล์ใดๆ ดังนั้น ที่อยู่และคำสั่งทั้งหมดสำหรับไดรฟ์ที่มีแฟลช NAND จะต้องแปลผ่านเลเยอร์นามธรรม FTL (Flash Translation Layer)

ตัวควบคุมหน่วยความจำแฟลชให้ความเข้ากันได้กับตรรกะของอุปกรณ์ดิสก์และรองรับคำสั่งอินเทอร์เฟซดั้งเดิม โดยปกติ FTL จะถูกนำมาใช้ในเฟิร์มแวร์ แต่สามารถดำเนินการ (บางส่วน) บนโฮสต์ได้ - ตัวอย่างเช่น Plextor เขียนไดรเวอร์การเขียนความเร็วสำหรับ SSD

คุณไม่สามารถทำได้หากไม่มี FTL เลย เนื่องจากแม้แต่การเขียนหนึ่งบิตไปยังเซลล์ใดเซลล์หนึ่งก็นำไปสู่การเริ่มต้นของการดำเนินการทั้งชุด: ตัวควบคุมจะค้นหาบล็อกที่มีเซลล์ที่ต้องการ บล็อกถูกอ่านแบบเต็ม เขียนไปยังแคชหรือพื้นที่ว่าง จากนั้นจึงลบออกทั้งหมด หลังจากนั้นจะถูกเขียนทับกลับด้วยการเปลี่ยนแปลงที่จำเป็น

วิธีการนี้ชวนให้นึกถึงชีวิตประจำวันของกองทัพ: ในการสั่งทหารหนึ่งนาย จ่าสิบเอกสร้างรูปแบบทั่วไป เรียกเพื่อนผู้น่าสงสารออกจากการกระทำและสั่งให้ส่วนที่เหลือแยกย้ายกันไป ในหน่วยความจำ NOR ที่หายากในขณะนี้ องค์กรถูกควบคุมโดย spetsnaz: แต่ละเซลล์ถูกควบคุมอย่างอิสระ (ทรานซิสเตอร์แต่ละตัวมีหน้าสัมผัสเฉพาะ)

ตัวควบคุมมีงานมากขึ้นเรื่อยๆ เนื่องจากหน่วยความจำแฟลชแต่ละรุ่น กระบวนการผลิตจะลดลง เพื่อเพิ่มความหนาแน่นและลดต้นทุนการจัดเก็บข้อมูล เมื่อรวมกับมาตรฐานทางเทคโนโลยีแล้ว อายุการใช้งานโดยประมาณของชิปก็ลดลงด้วย

โมดูลที่มีเซลล์ SLC ระดับเดียวมีทรัพยากรที่ประกาศไว้ 100,000 รอบการเขียนซ้ำและอีกมากมาย หลายคนยังคงใช้งานได้กับแฟลชไดรฟ์และการ์ด CF รุ่นเก่า MLC ระดับองค์กร (eMLC) อ้างสิทธิ์ทรัพยากรในช่วง 10 ถึง 20,000 ในขณะที่ MLC ระดับผู้บริโภคทั่วไปจะอยู่ที่ประมาณ 3-5 พัน หน่วยความจำประเภทนี้กำลังถูกบีบอัดโดย TLC ที่ถูกกว่า ซึ่งทรัพยากรแทบจะไม่ถึงพันรอบ การรักษาอายุการใช้งานของหน่วยความจำแฟลชให้อยู่ในระดับที่ยอมรับได้นั้นเกิดจากกลอุบายของซอฟต์แวร์ และระบบไฟล์ใหม่กำลังกลายเป็นหนึ่งในนั้น

ในขั้นต้น ผู้ผลิตสันนิษฐานว่าระบบไฟล์นั้นไม่สำคัญ ตัวควบคุมต้องให้บริการอาร์เรย์เซลล์หน่วยความจำประเภทใดประเภทหนึ่งที่มีอายุสั้น โดยจะกระจายโหลดระหว่างเซลล์เหล่านี้ด้วยวิธีที่เหมาะสมที่สุด สำหรับไดรเวอร์ระบบไฟล์ โปรแกรมจะเลียนแบบดิสก์ปกติ และตัวมันเองทำการเพิ่มประสิทธิภาพระดับต่ำในการเข้าถึงใดๆ อย่างไรก็ตาม ในทางปฏิบัติ การเพิ่มประสิทธิภาพสำหรับอุปกรณ์ต่างๆ จะแตกต่างกันไปตั้งแต่เวทมนตร์ไปจนถึงของปลอม

ที่ SSD ระดับองค์กรตัวควบคุมแบบฝังตัวเป็นคอมพิวเตอร์ขนาดเล็ก มีบัฟเฟอร์หน่วยความจำขนาดใหญ่ (ครึ่งกิ๊กหรือมากกว่า) และรองรับวิธีการต่างๆ มากมายในการปรับปรุงประสิทธิภาพการทำงานกับข้อมูล ซึ่งช่วยให้คุณหลีกเลี่ยงรอบการเขียนที่ไม่จำเป็น ชิปจะจัดเรียงบล็อกทั้งหมดในแคช ดำเนินการเขียนแบบขี้เกียจ ทำการขจัดข้อมูลซ้ำซ้อนแบบทันที สำรองบล็อกบางส่วน และล้างส่วนอื่นๆ ในพื้นหลัง เวทมนต์ทั้งหมดนี้เกิดขึ้นอย่างไม่อาจมองเห็นได้สำหรับระบบปฏิบัติการ โปรแกรม และผู้ใช้ ด้วย SSD ดังกล่าว ไม่สำคัญว่าระบบไฟล์ใดจะใช้ การเพิ่มประสิทธิภาพภายในมีผลกระทบต่อประสิทธิภาพและทรัพยากรมากกว่าภายนอกอย่างมาก

ใน SSD ราคาประหยัด (และยิ่งกว่านั้น - แฟลชไดรฟ์) พวกเขาใส่ตัวควบคุมอัจฉริยะน้อยกว่ามาก แคชในนั้นถูกตัดทอนหรือขาดหายไปและไม่ได้ใช้เทคโนโลยีเซิร์ฟเวอร์ขั้นสูงเลย ในการ์ดหน่วยความจำ ตัวควบคุมนั้นดั้งเดิมมากจนมักอ้างว่าไม่มีอยู่จริงเลย ดังนั้นสำหรับอุปกรณ์ราคาถูกที่มีหน่วยความจำแฟลช วิธีการภายนอกของการทำโหลดบาลานซ์ยังคงมีความเกี่ยวข้อง - ส่วนใหญ่ด้วยความช่วยเหลือของระบบไฟล์พิเศษ

จาก JFFS ถึง F2FS

ความพยายามครั้งแรกในการเขียนระบบไฟล์ที่คำนึงถึงหลักการจัดระเบียบหน่วยความจำแฟลชคือ JFFS - Journaling Flash File System ในขั้นต้น การพัฒนาของบริษัท Axis Communications ของสวีเดนนี้มุ่งเน้นที่การปรับปรุงประสิทธิภาพหน่วยความจำของอุปกรณ์เครือข่ายที่ Axis ผลิตขึ้นในยุค 90 JFFS เวอร์ชันแรกรองรับหน่วยความจำ NOR เท่านั้น แต่ในเวอร์ชันที่สองนั้นได้ผูกมิตรกับ NAND แล้ว

ปัจจุบัน JFFS2 ถูกใช้งานอย่างจำกัด ส่วนใหญ่ยังคงใช้ในลีนุกซ์ดิสทริบิวชันสำหรับระบบฝังตัว สามารถพบได้ในเราเตอร์ กล้อง IP NAS และลักษณะนิสัยอื่นๆ ของอินเทอร์เน็ตในทุกสิ่ง โดยทั่วไป ไม่ว่าที่ใดก็ตามที่จำเป็นต้องใช้หน่วยความจำที่เชื่อถือได้เพียงเล็กน้อย

การพัฒนาเพิ่มเติมของ JFFS2 คือ LogFS ซึ่งเก็บไอโหนดไว้ในไฟล์แยกต่างหาก ผู้เขียนแนวคิดนี้เป็นพนักงานของแผนก IBM Jörn Engel ของเยอรมัน และเป็นอาจารย์ที่ University of Osnabrück Robert Mertens ซอร์สโค้ดสำหรับ LogFS มีอยู่ใน GitHub เมื่อพิจารณาจากข้อเท็จจริงที่ว่าการเปลี่ยนแปลงครั้งล่าสุดเกิดขึ้นเมื่อสี่ปีที่แล้ว LogFS ไม่ได้รับความนิยม

แต่ความพยายามเหล่านี้กระตุ้นการเกิดขึ้นของระบบไฟล์พิเศษอื่น - F2FS ได้รับการพัฒนาโดย Samsung Corporation ซึ่งคิดเป็นส่วนใหญ่ของหน่วยความจำแฟลชที่ผลิตในโลก Samsung ผลิตชิป NAND Flash สำหรับอุปกรณ์ของตัวเองและตามคำสั่งของบริษัทอื่น และยังพัฒนา SSD ด้วยอินเทอร์เฟซใหม่ที่เป็นพื้นฐานแทนดิสก์รุ่นเก่า การสร้างระบบไฟล์เฉพาะทางที่ปรับให้เหมาะสมสำหรับหน่วยความจำแฟลชนั้นมีความจำเป็นที่เกินกำหนดมานานจากมุมมองของ Samsung

4 ปีที่แล้ว ในปี 2012 Samsung ได้สร้าง F2FS (Flash Friendly File System) ความคิดของเธอดี แต่การดำเนินการค่อนข้างหยาบ งานหลักในการสร้าง F2FS นั้นเรียบง่าย: เพื่อลดจำนวนการดำเนินการเขียนเซลล์ใหม่ และกระจายโหลดบนเซลล์เหล่านั้นให้เท่าๆ กันมากที่สุด สิ่งนี้ต้องดำเนินการกับหลายเซลล์ภายในบล็อกเดียวกันพร้อมกัน แทนที่จะบังคับทีละเซลล์ ซึ่งหมายความว่าเราไม่จำเป็นต้องเขียนทับบล็อกที่มีอยู่ทันทีเมื่อร้องขอระบบปฏิบัติการครั้งแรก แต่เป็นการแคชคำสั่งและข้อมูล เพิ่มบล็อกใหม่ในพื้นที่ว่างและการลบเซลล์ที่เลื่อนออกไป

วันนี้การสนับสนุน F2FS ได้ถูกนำมาใช้อย่างเป็นทางการแล้วใน Linux (และดังนั้นใน Android) แต่ก็ยังไม่ได้ให้ข้อดีใด ๆ ในทางปฏิบัติ คุณสมบัติหลักของระบบไฟล์นี้ (การเขียนทับล่าช้า) นำไปสู่ข้อสรุปก่อนเวลาอันควรเกี่ยวกับประสิทธิภาพของระบบ เคล็ดลับการแคชแบบเก่ายังหลอกการวัดประสิทธิภาพเวอร์ชันก่อนหน้า โดยที่ F2FS แสดงความได้เปรียบในจินตนาการไม่ใช่เพียงไม่กี่เปอร์เซ็นต์ (ตามที่คาดไว้) และไม่แม้แต่หลายครั้ง แต่ตามลำดับความสำคัญ เป็นเพียงว่าไดรเวอร์ F2FS ที่รายงานเกี่ยวกับการดำเนินการที่คอนโทรลเลอร์เพิ่งวางแผนที่จะทำ อย่างไรก็ตาม หากประสิทธิภาพที่เพิ่มขึ้นที่แท้จริงของ F2FS มีน้อย การสึกหรอของเซลล์จะน้อยกว่าเมื่อใช้ ext4 เดียวกันอย่างแน่นอน การปรับให้เหมาะสมที่คอนโทรลเลอร์ราคาถูกไม่สามารถทำได้ที่ระดับของระบบไฟล์เอง

ขอบเขตและบิตแมป

ในขณะที่ F2FS ถูกมองว่าแปลกใหม่สำหรับคนเก่ง แม้แต่ในตัวของมันเอง สมาร์ทโฟนซัมซุง ext4 ยังคงมีผลบังคับใช้ หลายคนคิดว่ามันเป็นการพัฒนาต่อจาก ext3 แต่สิ่งนี้ไม่เป็นความจริงทั้งหมด เป็นการปฏิวัติมากกว่าการทำลายอุปสรรค 2TB ต่อไฟล์ และเพียงแค่เพิ่มตัวชี้วัดเชิงปริมาณอื่นๆ

เมื่อคอมพิวเตอร์มีขนาดใหญ่และไฟล์มีขนาดเล็ก การระบุที่อยู่ก็ทำได้ง่าย แต่ละไฟล์ได้รับการจัดสรรจำนวนบล็อกซึ่งอยู่ในตารางการติดต่อ นี่คือการทำงานของระบบไฟล์ ext3 ซึ่งยังคงให้บริการมาจนถึงขณะนี้ แต่ ext4 ได้แนะนำวิธีการแก้ไขที่แตกต่างกันโดยพื้นฐาน - ขอบเขต

ขอบเขตสามารถคิดได้ว่าเป็นส่วนขยายของ inodes เป็นชุดที่แยกจากกันซึ่งถูกกล่าวถึงโดยรวมเป็นลำดับต่อเนื่องกัน ขอบเขตหนึ่งสามารถมีไฟล์ขนาดกลางได้ทั้งหมด และสำหรับไฟล์ขนาดใหญ่ ก็เพียงพอแล้วที่จะจัดสรรขอบเขตหนึ่งหรือสองขอบเขต สิ่งนี้มีประสิทธิภาพมากกว่าการจัดการบล็อกขนาดเล็กหลายแสนบล็อกที่มีขนาดสี่กิโลไบต์

เปลี่ยนแปลงใน ext4 และกลไกการบันทึกเอง ตอนนี้การกระจายบล็อกเกิดขึ้นทันทีในคำขอเดียว และไม่ใช่ล่วงหน้า แต่ทันที ก่อนเขียนข้อมูลลงดิสก์ การจัดสรรหลายบล็อกที่เลื่อนออกไปช่วยให้คุณกำจัดการดำเนินการที่ไม่จำเป็นซึ่ง ext3 ทำบาป: ในนั้น บล็อกสำหรับไฟล์ใหม่จะได้รับการจัดสรรทันที แม้ว่ามันจะพอดีกับแคชทั้งหมดและถูกวางแผนให้ลบเป็นการชั่วคราว


อาหารจำกัดไขมัน

นอกจากต้นไม้ที่สมดุลและการดัดแปลงแล้ว ยังมีโครงสร้างเชิงตรรกะที่ได้รับความนิยมอื่นๆ มีระบบไฟล์ที่มีประเภทองค์กรที่แตกต่างกันโดยพื้นฐาน ตัวอย่างเช่น เชิงเส้น คุณอาจใช้อย่างน้อยหนึ่งรายการบ่อยๆ

ความลึกลับ

เดาปริศนา: เมื่ออายุสิบสองปีเธอเริ่มมีน้ำหนักตัวเมื่ออายุสิบหกเธอก็อ้วนอย่างโง่เขลาและเมื่ออายุสามสิบสองเธอก็อ้วนและยังคงเรียบง่าย เธอเป็นใคร?

ใช่แล้ว นี่เป็นเรื่องราวเกี่ยวกับระบบไฟล์ FAT ข้อกำหนดความเข้ากันได้ทำให้เธอมีพันธุกรรมที่ไม่ดี ในฟลอปปีดิสก์ มันคือ 12 บิต บนฮาร์ดไดรฟ์ - ตอนแรกเป็น 16 บิต และมาถึงยุคของเราเป็น 32 บิตแล้ว ในแต่ละเวอร์ชันต่อๆ มา จำนวนบล็อกที่กำหนดแอดเดรสได้เพิ่มขึ้น แต่โดยพื้นฐานแล้วไม่มีอะไรเปลี่ยนแปลง

ระบบไฟล์ FAT32 ที่ได้รับความนิยมปรากฏขึ้นเมื่อยี่สิบปีที่แล้ว ปัจจุบันนี้ยังคงเป็นแบบดั้งเดิมและไม่รองรับรายการควบคุมการเข้าถึง โควต้าดิสก์ การบีบอัดพื้นหลัง หรือเทคโนโลยีการปรับข้อมูลให้เหมาะสมที่ทันสมัยอื่นๆ

เหตุใด FAT32 จึงมีความจำเป็นในทุกวันนี้? ยังคงเป็นเพียงสำหรับความเข้ากันได้ ผู้ผลิตเชื่ออย่างถูกต้องว่าระบบปฏิบัติการใด ๆ สามารถอ่านพาร์ติชัน FAT32 ได้ ดังนั้นจึงสร้างบนฮาร์ดไดรฟ์ภายนอก USB Flash และการ์ดหน่วยความจำ

วิธีเพิ่มหน่วยความจำแฟลชของสมาร์ทโฟน

การ์ด microSD(HC) ที่ใช้ในสมาร์ทโฟนได้รับการฟอร์แมตเป็น FAT32 โดยค่าเริ่มต้น นี่เป็นอุปสรรคสำคัญในการติดตั้งแอปพลิเคชั่นและถ่ายโอนข้อมูลจากหน่วยความจำภายใน เพื่อเอาชนะมัน คุณต้องสร้างพาร์ติชั่นบนการ์ดด้วย ext3 หรือ ext4 แอตทริบิวต์ของไฟล์ทั้งหมด (รวมถึงสิทธิ์ของเจ้าของและสิทธิ์การเข้าถึง) สามารถถ่ายโอนได้ ดังนั้นแอปพลิเคชันใดๆ ก็สามารถทำงานราวกับว่ามันถูกเรียกใช้จากหน่วยความจำภายใน

Windows ไม่ทราบวิธีสร้างพาร์ติชันมากกว่าหนึ่งพาร์ติชันบนแฟลชไดรฟ์ แต่สำหรับสิ่งนี้ คุณสามารถเรียกใช้ Linux (อย่างน้อยในเครื่องเสมือน) หรือยูทิลิตี้ขั้นสูงสำหรับการทำงานกับการแบ่งพาร์ติชันแบบลอจิคัล - ตัวอย่างเช่น MiniTool Partition Wizard ฟรี เมื่อพบพาร์ติชั่นหลักเพิ่มเติมที่มี ext3 / ext4 บนการ์ด แอพพลิเคชั่น Link2SD และแอพพลิเคชั่นที่คล้ายกันจะมีตัวเลือกมากกว่าในกรณีของพาร์ติชั่น FAT32 เดียว


อีกข้อโต้แย้งที่สนับสนุนการเลือก FAT32 มักเรียกว่าขาดการเข้าสู่ระบบ ซึ่งหมายความว่าดำเนินการเขียนเร็วขึ้นและสึกหรอน้อยลงในเซลล์หน่วยความจำแฟลช NAND ในทางปฏิบัติ การใช้ FAT32 นำไปสู่สิ่งที่ตรงกันข้ามและก่อให้เกิดปัญหาอื่นๆ อีกมากมาย

แฟลชไดรฟ์และการ์ดหน่วยความจำตายอย่างรวดเร็วเนื่องจากการเปลี่ยนแปลงใด ๆ ใน FAT32 ทำให้เกิดการเขียนทับในส่วนเดียวกันที่มีตารางไฟล์สองสาย ฉันบันทึกหน้าเว็บทั้งหมด และมันถูกเขียนทับเป็นร้อยครั้ง - ด้วยการเพิ่ม gif ขนาดเล็กอื่น ๆ ในแฟลชไดรฟ์แต่ละครั้ง เปิดตัวซอฟต์แวร์พกพา? เขาสร้างไฟล์ชั่วคราวและเปลี่ยนแปลงตลอดเวลาขณะทำงาน ดังนั้นจึงเป็นการดีกว่ามากที่จะใช้ NTFS บนแฟลชไดรฟ์ที่มีตาราง $MFT ที่ทนทานต่อข้อผิดพลาด ไฟล์ขนาดเล็กสามารถจัดเก็บได้โดยตรงในตารางไฟล์หลัก และนามสกุลและสำเนาจะถูกเขียนไปยังพื้นที่ต่างๆ ของหน่วยความจำแฟลช นอกจากนี้ ด้วยการทำดัชนีบน NTFS การค้นหาจึงเร็วขึ้น

ข้อมูล

สำหรับ FAT32 และ NTFS ไม่ได้ระบุขีดจำกัดระดับการซ้อนตามทฤษฎี แต่ในทางปฏิบัติจะเหมือนกัน: สามารถสร้างไดเร็กทอรีย่อยเพียง 7707 ไดเร็กทอรีในไดเร็กทอรีระดับแรก ผู้ที่ชอบเล่นตุ๊กตาทำรังจะประทับใจ

ปัญหาอีกประการหนึ่งที่ผู้ใช้ส่วนใหญ่เผชิญคือไม่สามารถเขียนไฟล์ที่มีขนาดใหญ่กว่า 4 GB ลงในพาร์ติชัน FAT32 ได้ เหตุผลก็คือใน FAT32 ขนาดไฟล์ถูกอธิบายโดย 32 บิตในตารางการจัดสรรไฟล์ และ 2^32 (ลบหนึ่งเพื่อความแม่นยำ) คือสี่กิกะไบต์พอดี ปรากฎว่าไม่สามารถเขียนภาพยนตร์ที่มีคุณภาพปกติหรือภาพดีวีดีลงในแฟลชไดรฟ์ที่ซื้อมาใหม่ได้

การคัดลอกไฟล์ขนาดใหญ่ไม่ได้แย่นัก เมื่อคุณพยายามทำสิ่งนี้ ข้อผิดพลาดจะมองเห็นได้ในทันทีเป็นอย่างน้อย ในสถานการณ์อื่น FAT32 ทำหน้าที่เป็นระเบิดเวลา ตัวอย่างเช่น คุณคัดลอกซอฟต์แวร์แบบพกพาไปยังแฟลชไดรฟ์และในตอนแรกคุณใช้งานได้โดยไม่มีปัญหา หลังจากผ่านไปนาน หนึ่งในโปรแกรม (เช่น การบัญชีหรือเมล) มีฐานข้อมูลที่ขยายใหญ่ขึ้น และ ... ก็แค่หยุดการอัปเดต ไม่สามารถเขียนทับไฟล์ได้ เนื่องจากถึงขีดจำกัด 4 GB แล้ว

ปัญหาที่ชัดเจนน้อยกว่าคือใน FAT32 สามารถกำหนดวันที่สร้างไฟล์หรือไดเร็กทอรีได้ไม่เกินสองวินาที ซึ่งไม่เพียงพอสำหรับแอปพลิเคชันการเข้ารหัสจำนวนมากที่ใช้การประทับเวลา ความแม่นยำต่ำของแอตทริบิวต์ "date" เป็นอีกสาเหตุหนึ่งที่ทำให้ FAT32 ไม่ถือว่าเป็นระบบไฟล์ที่สมบูรณ์จากมุมมองด้านความปลอดภัย อย่างไรก็ตาม จุดอ่อนของมันสามารถนำมาใช้เพื่อจุดประสงค์ของคุณเองได้ ตัวอย่างเช่น หากคุณคัดลอกไฟล์ใดๆ จากพาร์ติชั่น NTFS ไปยังโวลุ่ม FAT32 ไฟล์เหล่านั้นจะถูกล้างข้อมูลเมตาทั้งหมด รวมถึงสิทธิ์ที่สืบทอดและกำหนดไว้เป็นพิเศษ FAT ไม่สนับสนุนพวกเขา

exFAT

ต่างจาก FAT12/16/32 ตรงที่ exFAT ได้รับการออกแบบมาโดยเฉพาะสำหรับ USB Flash และการ์ดหน่วยความจำขนาดใหญ่ (≥ 32 GB) Extended FAT ขจัดข้อเสียของ FAT32 ที่กล่าวถึงข้างต้น - เขียนทับเซกเตอร์เดียวกันด้วยการเปลี่ยนแปลงใดๆ เนื่องจากเป็นระบบ 64 บิต จึงไม่มีการจำกัดขนาดของไฟล์เดียวในทางปฏิบัติ ในทางทฤษฎี มีความยาวได้ 2 ^ 64 ไบต์ (16 EB) และการ์ดขนาดนี้จะไม่ปรากฏในเร็วๆ นี้

ความแตกต่างพื้นฐานอีกประการระหว่าง exFAT คือการรองรับรายการควบคุมการเข้าถึง (ACLs) นี่ไม่ใช่สิ่งง่ายๆ แบบเดิมๆ อีกต่อไปแล้วจากยุค 90 อย่างไรก็ตาม ความใกล้ชิดของรูปแบบทำให้ไม่สามารถแนะนำ exFAT ได้ การสนับสนุน ExFAT ดำเนินการอย่างเต็มที่และถูกต้องตามกฎหมายใน Windows เท่านั้น (เริ่มต้นด้วย XP SP2) และ OS X (เริ่มต้นด้วย 10.6.5) บน Linux และ *BSD จะรองรับแบบจำกัดหรือรองรับอย่างผิดกฎหมาย Microsoft ต้องการใบอนุญาตเพื่อใช้ exFAT และมีข้อโต้แย้งทางกฎหมายมากมายในพื้นที่นี้

btrfs

ระบบไฟล์ B-tree ที่โดดเด่นอีกระบบหนึ่งเรียกว่า Btrfs FS นี้ปรากฏในปี 2550 และเดิมสร้างขึ้นใน Oracle โดยมีเป้าหมายที่จะทำงานกับ SSD และ RAID ตัวอย่างเช่น สามารถปรับขนาดไดนามิก: สร้าง inodes ใหม่บนระบบที่ทำงานอยู่ หรือแบ่งโวลุ่มออกเป็นโวลุ่มย่อยโดยไม่ต้องจัดสรรพื้นที่ว่างให้กับพวกเขา

กลไกการคัดลอกเมื่อเขียนที่ใช้ใน Btrfs และการผสานรวมอย่างสมบูรณ์กับโมดูลเคอร์เนล Device mapper ช่วยให้คุณสร้างสแน็ปช็อตเกือบจะในทันทีผ่านอุปกรณ์บล็อกเสมือน การบีบอัดข้อมูลล่วงหน้า (zlib หรือ lzo) และการขจัดข้อมูลซ้ำซ้อนจะเร่งการทำงานพื้นฐาน ในขณะที่ช่วยยืดอายุการใช้งานของหน่วยความจำแฟลช โดยเฉพาะอย่างยิ่งเมื่อทำงานกับฐานข้อมูล (บีบอัดได้ 2–4 ครั้ง) และไฟล์ขนาดเล็ก (เขียนในบล็อกขนาดใหญ่อย่างเป็นระเบียบและสามารถเก็บไว้ใน "ใบไม้") ได้โดยตรง

Btrfs ยังรองรับการบันทึกแบบเต็ม (ข้อมูลและเมตาดาต้า) การตรวจสอบระดับเสียงโดยไม่ต้องยกเลิกการต่อเชื่อม และคุณสมบัติที่ทันสมัยอื่นๆ อีกมากมาย รหัส Btrfs เผยแพร่ภายใต้ใบอนุญาต GPL ระบบไฟล์นี้ได้รับการสนับสนุนว่าเสถียรบน Linux ตั้งแต่เคอร์เนลเวอร์ชัน 4.3.1

สมุดบันทึก

ระบบไฟล์ที่ทันสมัยเกือบทั้งหมด (ext3 / ext4, NTFS, HFSX, Btrfs และอื่น ๆ ) อยู่ในกลุ่มทั่วไปของรายการเจอร์นัลเนื่องจากจะติดตามการเปลี่ยนแปลงที่ทำในบันทึกแยกต่างหาก (วารสาร) และตรวจสอบในกรณี ของความล้มเหลวระหว่างการทำงานของดิสก์ อย่างไรก็ตาม ความละเอียดของการบันทึกและความทนทานต่อข้อผิดพลาดนั้นแตกต่างกันไปตามระบบไฟล์เหล่านี้

ext3 รองรับโหมดการบันทึกสามโหมด: ย้อนกลับ เรียงลำดับ และการบันทึกแบบเต็ม โหมดแรกเกี่ยวข้องกับการเขียนเฉพาะการเปลี่ยนแปลงทั่วไป (ข้อมูลเมตา) ซึ่งดำเนินการแบบอะซิงโครนัสในส่วนที่เกี่ยวกับการเปลี่ยนแปลงในข้อมูลเอง โหมดที่สองเขียนข้อมูลเมตาแบบเดียวกัน แต่อย่างเคร่งครัดก่อนที่จะทำการเปลี่ยนแปลงใดๆ โหมดที่สามเทียบเท่ากับการบันทึกแบบเต็ม (เปลี่ยนแปลงทั้งในข้อมูลเมตาและในไฟล์เอง)

เฉพาะตัวเลือกสุดท้ายเท่านั้นที่ให้ความสมบูรณ์ของข้อมูล อีกสองตัวเร่งการตรวจหาข้อผิดพลาดระหว่างการตรวจสอบและรับประกันการคืนค่าความสมบูรณ์ของระบบไฟล์เท่านั้น แต่ไม่ใช่เนื้อหาของไฟล์

การทำเจอร์นัลใน NTFS นั้นคล้ายกับโหมดการบันทึกที่สองใน ext3 เฉพาะการเปลี่ยนแปลงข้อมูลเมตาเท่านั้นที่บันทึก และข้อมูลอาจสูญหายในกรณีที่เกิดความล้มเหลว วิธีการทำเจอร์นัลใน NTFS นี้ไม่ได้มีวัตถุประสงค์เพื่อให้เกิดความน่าเชื่อถือสูงสุด แต่เป็นเพียงการประนีประนอมระหว่างความเร็วและความทนทานต่อข้อผิดพลาดเท่านั้น นี่คือเหตุผลที่คนที่เคยทำงานกับระบบที่ทำเจอร์นัลอย่างครบถ้วนพิจารณาว่า NTFS ถูกบันทึกแบบหลอก

แนวทางที่ใช้ใน NTFS นั้นดียิ่งกว่าดีฟอลต์ใน ext3 ในบางวิธี NTFS จะสร้างจุดตรวจสอบเพิ่มเติมเป็นระยะเพื่อให้แน่ใจว่าการดำเนินการดิสก์ที่รอดำเนินการก่อนหน้านี้ทั้งหมดจะเสร็จสมบูรณ์ จุดตรวจไม่มีส่วนเกี่ยวข้องกับจุดคืนค่าใน \System Volume Information\ นี่เป็นเพียงรายการบริการในบันทึก

การปฏิบัติแสดงให้เห็นว่าในกรณีส่วนใหญ่การทำเจอร์นัล NTFS บางส่วนนั้นเพียงพอสำหรับการดำเนินการที่ปราศจากปัญหา ท้ายที่สุด แม้จะเกิดไฟฟ้าดับอย่างฉับพลัน อุปกรณ์ดิสก์จะไม่ยกเลิกการจ่ายไฟในทันที ตัวจ่ายไฟและตัวเก็บประจุจำนวนมากในตัวไดรฟ์นั้นให้พลังงานขั้นต่ำที่เพียงพอสำหรับการดำเนินการเขียนปัจจุบันให้เสร็จสมบูรณ์ สำหรับ SSD รุ่นใหม่ที่มีความเร็วและประสิทธิภาพ โดยปกติปริมาณพลังงานที่เท่ากันก็เพียงพอสำหรับการดำเนินการที่ค้างอยู่ ความพยายามที่จะเปลี่ยนไปใช้การบันทึกแบบเต็มจะลดความเร็วของการดำเนินการส่วนใหญ่ในบางครั้ง

เราเชื่อมต่อระบบไฟล์ของบริษัทอื่นใน Windows

การใช้ระบบไฟล์ถูกจำกัดโดยการสนับสนุนในระดับระบบปฏิบัติการ ตัวอย่างเช่น Windows ไม่เข้าใจ ext2/3/4 และ HFS+ แต่บางครั้งคุณจำเป็นต้องใช้งาน คุณสามารถทำได้โดยเพิ่มไดรเวอร์ที่เหมาะสม

คำเตือน

ไดรเวอร์และปลั๊กอินส่วนใหญ่สำหรับระบบไฟล์ของบริษัทอื่นรองรับมีข้อจำกัดและไม่สามารถทำงานได้อย่างเสถียรเสมอไป อาจขัดแย้งกับไดรเวอร์ โปรแกรมป้องกันไวรัส และโปรแกรมเวอร์ชวลไลเซชันอื่นๆ

ไดรเวอร์โอเพ่นซอร์สสำหรับการอ่านและเขียนพาร์ติชั่น ext2/3 พร้อมการสนับสนุนบางส่วนสำหรับ ext4 ที่ รุ่นล่าสุดรองรับส่วนขยายและพาร์ติชั่นสูงสุด 16TB ไม่รองรับ LVM รายการควบคุมการเข้าถึง และแอตทริบิวต์เพิ่มเติม


มีปลั๊กอินฟรีสำหรับ Total Commander รองรับการอ่านพาร์ติชั่น ext2/3/4


coLinux เป็นพอร์ตเปิดและฟรีของเคอร์เนล Linux เมื่อใช้ร่วมกับไดรเวอร์ 32 บิต จะช่วยให้คุณสามารถเรียกใช้ Linux บน Windows 2000 ถึง 7 ได้โดยไม่ต้องใช้เทคโนโลยีการจำลองเสมือน รองรับเฉพาะรุ่น 32 บิต การพัฒนาการปรับเปลี่ยน 64 บิตถูกยกเลิก coLinux อนุญาตให้จัดระเบียบจาก การเข้าถึง Windowsไปยังพาร์ติชั่น ext2/3/4 การสนับสนุนโครงการถูกระงับในปี 2557

Windows 10 อาจมีการรองรับในตัวสำหรับระบบไฟล์เฉพาะของ Linux ซึ่งซ่อนไว้ แนวคิดเหล่านี้ได้รับการแนะนำโดยไดรเวอร์ระดับเคอร์เนล Lxcore.sys และบริการ LxssManager ซึ่งโหลดเป็นไลบรารีโดยกระบวนการ Svchost.exe สำหรับข้อมูลเพิ่มเติม โปรดดู "The Linux Kernel Hidden Inside Windows 10" ของ Alex Ionescu ที่งาน Black Hat 2016


ExtFS สำหรับ Windows เป็นไดรเวอร์แบบชำระเงินที่วางจำหน่ายโดย Paragon มันทำงานบน Windows 7 ถึง 10 รองรับการเข้าถึงการอ่าน/เขียนโวลุ่ม ext2/3/4 ให้การสนับสนุน ext4 บน Windows เกือบทั้งหมด

HFS+ สำหรับ Windows 10 เป็นอีกหนึ่งไดรเวอร์ที่เป็นกรรมสิทธิ์ของ Paragon Software ถึงจะเป็นชื่อก็ใช้ได้หมด เวอร์ชั่น Windowsตั้งแต่ XP จัดเตรียมให้ การเข้าถึงแบบเต็มไปยังระบบไฟล์ HFS+/HFSX บนดิสก์ที่มีรูปแบบใดก็ได้ (MBR/GPT)

WinBtrfs คือการพัฒนาไดรเวอร์ Btrfs สำหรับ Windows ในช่วงต้น มีอยู่แล้วในเวอร์ชัน 0.6 ซึ่งสนับสนุนทั้งการเข้าถึงการอ่านและเขียนไดรฟ์ข้อมูล Btrfs รองรับฮาร์ดลิงก์และลิงก์สัญลักษณ์ รองรับสตรีมข้อมูลสำรอง ACL การบีบอัดสองประเภท และโหมดอ่าน/เขียนแบบอะซิงโครนัส ในขณะที่ WinBtrfs ไม่ทราบวิธีใช้ mkfs.btrfs, btrfs-balance และยูทิลิตี้อื่น ๆ เพื่อรักษาระบบไฟล์นี้

ความสามารถและข้อจำกัดของระบบไฟล์: ตารางสรุป

ระบบไฟล์ Maxi-ขนาดเล็ก-ขนาด จำกัดขนาดไฟล์เดียว ความยาวของชื่อไฟล์เอง ครึ่งความยาวของชื่อไฟล์ (รวมถึงเส้นทางจากรูท) จำกัดจำนวนไฟล์และ/หรือไดเร็กทอรี ความแม่นยำในการระบุวันที่ของไฟล์ / แคตตาล็อก สิทธิดอสทูปา ฮาร์ดลิงก์ ลิงค์สัญลักษณ์ ช็อตหลอดเลือดดำทันที (snap-shots) การบีบอัดข้อมูลในพื้นหลัง ข้อมูล Cipher-ro-va-nie ในพื้นหลัง ข้อมูล Dedu-pli-ka-tion
FAT16 2 GB ในเซ็กเตอร์ 512 ไบต์หรือ 4 GB ในคลัสเตอร์ 64 KB 2 GB 255 ไบต์พร้อม LFN - - - - - - - - - -
FAT32 8 TB ในภาค 2 KB 4 GB (2^32 - 1 ไบต์) 255 ไบต์พร้อม LFN มากถึง 32 ไดเรกทอรีย่อยด้วย CDS 65460 10ms (สร้าง) / 2s (เปลี่ยน) ไม่ ไม่ ไม่ ไม่ ไม่ ไม่ ไม่
exFAT ≈ 128 PB (2^32-1 คลัสเตอร์ 2^25-1 ไบต์) ตามทฤษฎี / 512 TB เนื่องจากข้อจำกัดของบุคคลที่สาม 16 EB (2^64 - 1 ไบต์) 2796202 ในแค็ตตาล็อก 10 ms ACL ไม่ ไม่ ไม่ ไม่ ไม่ ไม่
NTFS 256 TB ในคลัสเตอร์ 64 KB หรือ 16 TB ในคลัสเตอร์ 4 KB 16TB (วิน 7) / 256TB (วิน 8) 255 อักขระ Unicode (UTF-16) 32760 อักขระ Unicode แต่ไม่เกิน 255 อักขระในแต่ละองค์ประกอบ 2^32-1 100 ns ACL ใช่ ใช่ ใช่ ใช่ ใช่ ใช่
HFS+ 8 EB (2^63 ไบต์) 8 EB 255 อักขระ Unicode (UTF-16) ไม่จำกัดแยก 2^32-1 1 วิ Unix ACL ใช่ ใช่ ไม่ ใช่ ใช่ ไม่
APFS 8 EB (2^63 ไบต์) 8 EB 255 อักขระ Unicode (UTF-16) ไม่จำกัดแยก 2^63 1 นาที Unix ACL ใช่ ใช่ ใช่ ใช่ ใช่ ใช่
ต่อ3 32 TB (ตามหลักวิชา) / 16 TB ในคลัสเตอร์ 4 KB (เนื่องจากข้อจำกัดของยูทิลิตี้โปรแกรม e2fs) 2 TB (ตามหลักวิชา) / 16 GB สำหรับโปรแกรมรุ่นเก่า 255 อักขระ Unicode (UTF-16) ไม่จำกัดแยก - 1 วิ Unix ACL ใช่ ใช่ ไม่ ไม่ ไม่ ไม่
ต่อ4 1 EB (ตามหลักวิชา) / 16 TB ในคลัสเตอร์ 4 KB (เนื่องจากข้อจำกัดของยูทิลิตี้โปรแกรม e2fs) 16 TB 255 อักขระ Unicode (UTF-16) ไม่จำกัดแยก 4 พันล้าน 1 นาที POSIX ใช่ ใช่ ไม่ ไม่ ใช่ ไม่
F2FS 16 TB 3.94 TB 255 ไบต์ ไม่จำกัดแยก - 1 นาที POSIX, ACL ใช่ ใช่ ไม่ ไม่ ใช่ ไม่
BTRFS 16 EB (2^64 - 1 ไบต์) 16 EB 255 อักขระ ASCII 2^17 ไบต์ - 1 นาที POSIX, ACL ใช่ ใช่ ใช่ ใช่ ใช่ ใช่

ระบบไฟล์ช่วยให้คุณจัดระเบียบโปรแกรมและข้อมูล และจัดระเบียบการจัดการวัตถุเหล่านี้อย่างเป็นระเบียบ

สำหรับระบบปฏิบัติการ คอมพิวเตอร์ส่วนบุคคลทิ้งร่องรอยลึกเกี่ยวกับแนวคิดของระบบไฟล์ที่อยู่ภายใต้ระบบปฏิบัติการ Unix ใน Unix ระบบย่อย I/O จะรวมวิธีที่คุณเข้าถึงทั้งไฟล์และอุปกรณ์ต่อพ่วงเข้าด้วยกัน ในกรณีนี้ ไฟล์จะเข้าใจว่าเป็นชุดข้อมูลบนดิสก์ เทอร์มินัล หรืออุปกรณ์อื่นๆ

ระบบไฟล์ เป็นส่วนการทำงานของระบบปฏิบัติการที่ให้การดำเนินการกับไฟล์ ระบบไฟล์ช่วยให้คุณทำงานกับไฟล์และไดเร็กทอรี (ไดเร็กทอรี) โดยไม่คำนึงถึงเนื้อหา ขนาด ประเภท ฯลฯ

ระบบไฟล์ เป็นระบบจัดการข้อมูล

ระบบการจัดการข้อมูลคือระบบที่ผู้ใช้ไม่ต้องจัดการกับไฟล์ส่วนใหญ่ และสามารถมุ่งเน้นไปที่คุณสมบัติทางลอจิคัลของข้อมูลเป็นหลัก

ระบบไฟล์ OS สร้างการแสดงเสมือนของอุปกรณ์จัดเก็บข้อมูลภายนอกสำหรับผู้ใช้ ซึ่งช่วยให้ทำงานกับพวกเขาได้ ไม่ใช่ที่คำสั่งควบคุมอุปกรณ์จริงในระดับต่ำ แต่ในระดับชุดข้อมูลและโครงสร้างในระดับสูง

ระบบไฟล์ (ปลายทาง):

  • ซ่อนรูปภาพของตำแหน่งจริงของข้อมูลในหน่วยความจำภายนอก
  • รับรองความเป็นอิสระของโปรแกรมจากคุณสมบัติของการกำหนดค่าคอมพิวเตอร์เฉพาะ (ระดับตรรกะของการทำงานกับไฟล์)
  • ให้การตอบสนองมาตรฐานต่อข้อผิดพลาดที่เกิดขึ้นระหว่างการแลกเปลี่ยนข้อมูล

โครงสร้างไฟล์

ไฟล์ทั้งชุดบนดิสก์และความสัมพันธ์ระหว่างไฟล์เหล่านี้เรียกว่าโครงสร้างไฟล์ ระบบปฏิบัติการที่พัฒนาแล้วมีโครงสร้างไฟล์แบบหลายระดับที่มีลำดับชั้นซึ่งจัดเป็นทรี

ใช้โครงสร้างแบบต้นไม้ของไดเร็กทอรี − ต้นไม้ไดเรกทอรี. ยืมมาจากยูนิกซ์ โครงสร้างลำดับชั้น - โครงสร้างของระบบ ชิ้นส่วน (ส่วนประกอบ) ที่เชื่อมต่อกันด้วยความสัมพันธ์ของการรวมหรือการอยู่ใต้บังคับบัญชา

โครงสร้างแบบลำดับชั้นแสดงโดยแผนผังต้นไม้ ซึ่งจุดยอดสอดคล้องกับส่วนประกอบ และส่วนโค้งสอดคล้องกับลิงก์

G ไดเร็กทอรีไดเร็กทอรี

ต้นไม้กำกับคือกราฟที่มีจุดยอด (ราก) ที่แตกต่างกันซึ่งมีเส้นทางเดียวระหว่างรากและจุดยอดใดๆ ในกรณีนี้ มีตัวเลือกการวางแนวสองแบบ: เส้นทางทั้งหมดถูกจัดแนวจากรูทไปยังใบไม้ หรือเส้นทางทั้งหมดถูกจัดวางจากใบไม้ไปยังรูท

ต้นไม้ใช้ในการอธิบายและออกแบบโครงสร้างแบบลำดับชั้น

รากคือตำแหน่งเริ่มต้น ใบคือตำแหน่งสุดท้าย

ส่วน

ฮาร์ดดิสค์หรือแมกนีโตออปติคัลดิสก์ใดๆ ในระหว่างการฟอร์แมตสามารถแบ่งออกเป็นหลายส่วนและใช้งานได้เหมือนกับดิสก์แยก (อิสระ) ส่วนเหล่านี้เรียกว่า ส่วนหรือ ไดรฟ์ตรรกะ. อาจจำเป็นต้องแบ่งพาร์ติชั่นดิสก์เป็นโลจิคัลดิสก์หลายตัว เนื่องจากระบบปฏิบัติการไม่สามารถทำงานกับดิสก์ที่มีขนาดใหญ่กว่าขนาดที่กำหนดได้ สะดวกในการจัดเก็บข้อมูลและโปรแกรมผู้ใช้แยกจากโปรแกรมระบบ (OS) เนื่องจากระบบปฏิบัติการสามารถ "บินออกจากคอมพิวเตอร์" ได้

บท– พื้นที่ของดิสก์ ภายใต้ โลจิคัลดิสก์ (พาร์ติชัน)คอมพิวเตอร์เป็นที่เข้าใจกันว่าเป็นสื่อเก็บข้อมูลใด ๆ ที่ระบบปฏิบัติการทำงานเป็นเอนทิตีเดียว

ชื่อไดรฟ์– การกำหนดไดรฟ์แบบลอจิคัล เข้าสู่ไดเรกทอรีราก

โลจิคัลดิสก์ (พาร์ติชั่น) ระบุด้วยอักษรละติน A, B, C, D, E, ... (32 ตัวอักษรจาก A ถึง Z)

ตัวอักษร A, B สงวนไว้สำหรับฟลอปปีดิสก์

จาก - HDDซึ่งโดยปกติแล้วจะทำการโหลดระบบปฏิบัติการ

ตัวอักษรที่เหลือคือโลจิคัลไดรฟ์ ซีดี ฯลฯ จำนวนไดรฟ์ลอจิคัลสูงสุดสำหรับ Windows OS นั้นไม่มีที่สิ้นสุด

ที่ ตารางพาร์ทิชัน ระบุตำแหน่งของจุดเริ่มต้นและจุดสิ้นสุดของส่วนนี้และจำนวนภาคในส่วนนี้ (ตำแหน่งและขนาด)

โครงสร้างไฟล์ของโลจิคัลไดรฟ์

ในการเข้าถึงข้อมูลบนดิสก์ในไฟล์ คุณต้องทราบที่อยู่จริงของเซกเตอร์แรก (หมายเลขพื้นผิว + หมายเลขแทร็ก + หมายเลขเซกเตอร์) จำนวนรวมของคลัสเตอร์ที่ไฟล์นี้ครอบครอง ที่อยู่ของคลัสเตอร์ถัดไปหาก ขนาดไฟล์ใหญ่กว่าขนาดของคลัสเตอร์เดียว

องค์ประกอบโครงสร้างไฟล์:

    ภาคเริ่มต้น (bootstrap, บูตเซกเตอร์);

    โต๊ะ ที่พักไฟล์ (FAT - ตารางการจัดสรรไฟล์);

    ไดเรกทอรีราก (ไดเรกทอรีราก);

    พื้นที่ข้อมูล (เนื้อที่ว่างบนดิสก์ที่เหลืออยู่)

บูต-ภาค

บูต-ภาค - เซกเตอร์แรก (เริ่มต้น) ของดิสก์ ตั้งอยู่ด้าน 0 ด้าน 0

บูตเซกเตอร์ประกอบด้วยข้อมูลบริการ:

    ขนาดคลัสเตอร์ของดิสก์ (คลัสเตอร์คือบล็อกที่รวมหลายเซกเตอร์เป็นกลุ่มเพื่อลดขนาดของตาราง FAT)

    ตำแหน่งของตาราง FAT (ในบูตเซกเตอร์มีตัวชี้ไปยังตำแหน่งของตาราง FAT)

    ขนาดตาราง FAT;

    จำนวนตาราง FAT (มีตารางอย่างน้อย 2 ชุดเสมอเพื่อให้มั่นใจในความน่าเชื่อถือและความปลอดภัย เนื่องจากการทำลาย FAT จะทำให้ข้อมูลสูญหายและกู้คืนได้ยาก)

    ที่อยู่เริ่มต้นของไดเรกทอรีรากและขนาดสูงสุด

บูตเซกเตอร์ประกอบด้วยบล็อกการบูต (bootloader) - บูตเรคคอร์ด Boot Record

bootloader เป็นโปรแกรมอรรถประโยชน์ที่วางโปรแกรมปฏิบัติการลงใน แกะและนำมาซึ่งความพร้อมในการดำเนินการ

FAT (ตารางการจัดสรรไฟล์)

FAT (ตารางการจัดสรรไฟล์) - ตารางการจัดสรรไฟล์ มันกำหนดว่าส่วนใดของดิสก์ที่อยู่ในแต่ละไฟล์ พื้นที่ข้อมูลดิสก์ จะแสดงใน OS เป็นลำดับของคลัสเตอร์ที่มีหมายเลข

อ้วนเป็นอาร์เรย์ขององค์ประกอบที่กล่าวถึงคลัสเตอร์ของพื้นที่ข้อมูลของดิสก์ คลัสเตอร์พื้นที่ข้อมูลแต่ละรายการสอดคล้องกับรายการ FAT หนึ่งรายการ องค์ประกอบ FAT ทำหน้าที่เป็นสายเชื่อมโยงไปยังกลุ่มไฟล์ในพื้นที่ข้อมูล

โครงสร้างตารางการจัดสรรไฟล์:

FAT ประกอบด้วยองค์ประกอบที่มีความยาว 16/32/64 บิต โดยรวมแล้ว ตารางสามารถมีองค์ประกอบดังกล่าวได้มากถึง 65520 รายการ โดยแต่ละรายการ (ยกเว้นสองรายการแรก) จะสอดคล้องกับคลัสเตอร์ของดิสก์ คลัสเตอร์คือหน่วยที่จัดสรรพื้นที่ในพื้นที่ข้อมูลของดิสก์สำหรับไฟล์และไดเร็กทอรี สององค์ประกอบแรกของตาราง (ที่มีตัวเลข 0 และ 1) ถูกสงวนไว้ และองค์ประกอบที่เหลือของตารางแต่ละองค์ประกอบจะอธิบายสถานะของคลัสเตอร์ดิสก์ด้วยหมายเลขเดียวกัน องค์ประกอบอาจบ่งชี้ว่าคลัสเตอร์ว่าง คลัสเตอร์มีข้อบกพร่อง คลัสเตอร์เป็นของไฟล์ และเป็นคลัสเตอร์สุดท้ายในไฟล์ หากคลัสเตอร์เป็นของไฟล์และไม่ใช่คลัสเตอร์สุดท้าย รายการตารางจะมีหมายเลขของคลัสเตอร์ถัดไปในไฟล์นี้

อ้วนเป็นองค์ประกอบที่สำคัญอย่างยิ่งของโครงสร้างไฟล์ การละเมิด FAT อาจทำให้สูญเสียข้อมูลทั้งหมดหรือบางส่วนในไดรฟ์แบบลอจิคัลทั้งหมด นั่นคือเหตุผลที่ FAT สองชุดถูกเก็บไว้ในดิสก์ มีโปรแกรมพิเศษที่ตรวจสอบสถานะของ FAT และแก้ไขการละเมิด

จำเป็นสำหรับ OS . ที่แตกต่างกัน รุ่นต่างๆอ้วน

Windows 95 FAT16, FAT32

Windows NT (XP) NTFS

โนเวลล์ เน็ตแวร์ TurboFAT

UNIX NFS,ReiserFS

โครงสร้างเชิงตรรกะของสื่อจัดเก็บข้อมูล

ไดรฟ์แบบถอดได้ของคุณต้องใช้ FAT32 for เข้ากันได้ดีขึ้นแต่ถ้าคุณวางแผนที่จะจัดเก็บไฟล์ขนาดใหญ่ ให้จัดรูปแบบเป็น NTFS รูปแบบ Mac ขับเคลื่อนด้วยมาตรฐาน HFS+ ซึ่งใช้ไม่ได้กับ Windows Linux ยังมีระบบไฟล์ของตัวเอง

ทำไมถึงมีมากมาย?

ระบบไฟล์101

ระบบไฟล์ต่างๆ - ง่าย วิธีต่างๆการจัดระเบียบและจัดเก็บไฟล์ในฮาร์ดไดรฟ์ แฟลชไดรฟ์ หรืออุปกรณ์จัดเก็บข้อมูลอื่นๆ อุปกรณ์จัดเก็บข้อมูลแต่ละเครื่องมีส่วนตั้งแต่หนึ่งส่วนขึ้นไป และแต่ละส่วนต้อง "จัดรูปแบบ" เป็นโหมดระบบไฟล์เฉพาะ กระบวนการจัดรูปแบบจะสร้างระบบไฟล์ว่างประเภทนี้ในอุปกรณ์

ระบบไฟล์ให้วิธีการแบ่งข้อมูลบนดิสก์ออกเป็นส่วนต่าง ๆ ซึ่งก็คือไฟล์ นอกจากนี้ยังมีวิธีการจัดเก็บข้อมูลเกี่ยวกับไฟล์เหล่านี้ เช่น ชื่อ สิทธิ์ และแอตทริบิวต์อื่นๆ ระบบไฟล์ยังมีรายการดัชนีของไฟล์บนดิสก์และตำแหน่งที่อยู่ในดิสก์ เพื่อให้ระบบปฏิบัติการสามารถเห็นสิ่งที่อยู่บนดิสก์ได้ในที่เดียว และไม่ต้อง "หวี" ทั้งดิสก์เพื่อค้นหา .

ระบบปฏิบัติการต้องเข้าใจระบบไฟล์เพื่อให้สามารถแสดงเนื้อหา เปิดไฟล์ และบันทึกไฟล์ได้ หากระบบปฏิบัติการของคุณไม่เข้าใจระบบไฟล์ คุณสามารถติดตั้งไดรเวอร์ระบบไฟล์ที่ให้การสนับสนุนระบบไฟล์ดังกล่าวได้

ระบบไฟล์ของดิสก์คอมพิวเตอร์สามารถเปรียบเทียบได้กับระบบจัดเก็บเอกสาร - บิตของข้อมูลบนคอมพิวเตอร์เรียกว่า "ไฟล์" และจัดอยู่ใน "ระบบไฟล์" เช่นเดียวกับไฟล์กระดาษที่สามารถจัดระเบียบในตู้เก็บไฟล์ได้ มีอยู่ วิธีทางที่แตกต่างการจัดระเบียบไฟล์เหล่านี้และจัดเก็บข้อมูล - นี่คือ "ระบบไฟล์"

ทำไมถึงมีระบบไฟล์มากมาย

ระบบไฟล์ไม่เท่ากันทั้งหมด ระบบไฟล์ที่แตกต่างกันมีวิธีจัดระเบียบข้อมูลที่แตกต่างกัน ระบบไฟล์บางระบบเร็วกว่าระบบอื่น บางระบบมีคุณลักษณะด้านความปลอดภัยเพิ่มเติม และบางระบบรองรับดิสก์ที่มีหน่วยความจำมากกว่า ในขณะที่บางระบบทำงานบนดิสก์ที่มีหน่วยความจำน้อยกว่าเท่านั้น ระบบไฟล์บางระบบแข็งแกร่งกว่าและทนทานต่อความเสียหายของไฟล์ ในขณะที่ระบบอื่นๆ ยอมลดความน่าเชื่อถือเพื่อความเร็ว

ไม่ได้อยู่ ระบบไฟล์ที่ดีที่สุดซึ่งจะเหมาะกับทุกวัตถุประสงค์ ระบบปฏิบัติการของคอมพิวเตอร์แต่ละเครื่องมีแนวโน้มที่จะใช้ระบบไฟล์ของตัวเอง ซึ่งนักพัฒนาระบบปฏิบัติการเองก็ทำงานเช่นกัน นักพัฒนาเคอร์เนลของ Microsoft, Apple และ Linux กำลังทำงานบนระบบไฟล์ของตนเอง ระบบไฟล์ใหม่สามารถทำงานได้เร็วกว่า เสถียรกว่า ปรับขนาดได้ดีกว่าสำหรับอุปกรณ์จัดเก็บข้อมูลขนาดใหญ่ และมีคุณสมบัติมากกว่ารุ่นเก่า

ระบบไฟล์ไม่เหมือนพาร์ติชั่นซึ่งเป็นเพียงส่วนหนึ่งของพื้นที่จัดเก็บ ระบบไฟล์จะกำหนดวิธีการจัดวาง จัดระเบียบ จัดทำดัชนี และการเชื่อมโยงข้อมูลเมตากับไฟล์เหล่านั้น มีพื้นที่ให้ปรับแต่งและปรับปรุงวิธีการทำงานอยู่เสมอ

การสลับระบบไฟล์

แต่ละพาร์ติชั่นมีระบบไฟล์ บางครั้งคุณสามารถ "แปลง" ระบบไฟล์ของพาร์ติชันได้ แต่แทบจะเป็นไปไม่ได้เลย คุณอาจต้องคัดลอกข้อมูลสำคัญจากพาร์ติชันก่อน

ระบบปฏิบัติการจะจัดรูปแบบพาร์ติชั่นให้เป็นระบบไฟล์ที่เหมาะสมโดยอัตโนมัติในระหว่างกระบวนการติดตั้ง หากคุณมีพาร์ติชั่นรูปแบบ Windows ที่คุณต้องการติดตั้ง Linux ระหว่างขั้นตอนการติดตั้ง Linux จะฟอร์แมตพาร์ติชั่น NTFS หรือ FAT32 ให้เป็นระบบไฟล์ Linux ที่ลีนุกซ์ของคุณเลือกใช้

ดังนั้น หากคุณมีอุปกรณ์จัดเก็บข้อมูลและต้องการใช้ระบบไฟล์อื่น เพียงแค่คัดลอกไฟล์จากอุปกรณ์ดังกล่าวเพื่อสำรองข้อมูล จากนั้นใช้เครื่องมือ การจัดการดิสก์บน Windows gpartedบน Linux หรือ ยูทิลิตี้ดิสก์ใน MacOS

ภาพรวมของระบบไฟล์ทั่วไป

ที่นี่ รีวิวสั้นๆระบบไฟล์ทั่วไปบางระบบที่คุณจะพบ ยังไม่ละเอียดถี่ถ้วน - มีระบบไฟล์อื่น ๆ อีกมากมายสำหรับวัตถุประสงค์พิเศษ:

  • FAT32: เป็นหนึ่งในระบบไฟล์ Windows ที่เก่าแก่ที่สุด แต่ยังคงใช้กับสื่อแบบถอดได้ซึ่งมีปริมาณน้อย ฮาร์ดไดรฟ์ภายนอกขนาดใหญ่ตั้งแต่ 1TB ขึ้นไปจะได้รับการฟอร์แมตด้วย NTFS FAT32 เหมาะสมสำหรับอุปกรณ์จัดเก็บข้อมูลขนาดเล็กหรือเข้ากันได้กับอุปกรณ์อื่นๆ เช่น กล้องดิจิตอล เครื่องเล่นเกม กล่องรับสัญญาณ และอุปกรณ์อื่นๆ ที่รองรับเฉพาะ FAT32 แต่ไม่รวม NTFS
  • NTFS: ระบบไฟล์ Windows รุ่นทันสมัย ​​- ใช้ตั้งแต่ Windows XP ไดรฟ์ภายนอกสามารถฟอร์แมตด้วย FAT32 หรือ NTFS
  • HFS+: Mac ใช้ HFS+ สำหรับพาร์ติชั่นภายใน มันยังฟอร์แมต ไดรฟ์ภายนอก- การใช้ฮาร์ดไดรฟ์ภายนอกกับ Time Machine ต้องการให้เพิ่มแอตทริบิวต์ของระบบไฟล์ลงใน สำรอง. Mac ยังสามารถอ่านและเขียนไฟล์ไปยังระบบไฟล์ FAT32 ได้ แต่คุณจะต้องใช้บุคคลที่สาม ซอฟต์แวร์เพื่อเขียนไปยังระบบไฟล์ NTFS จาก Mac
  • ต่อ2 / ต่อ3/ต่อ4: คุณมักจะเห็นระบบไฟล์ ext2, ext3 และ ext4 บน Linux Ext2 เป็นระบบไฟล์ที่เก่ากว่า และไม่มีคุณลักษณะที่สำคัญ เช่น การทำเจอร์นัล หากไฟฟ้าดับหรือคอมพิวเตอร์ขัดข้องขณะเขียนข้อมูลไปยังไดรฟ์ ext2 ข้อมูลอาจสูญหายได้ Ext3 เพิ่มคุณสมบัติที่แข็งแกร่งเหล่านี้ด้วยความเร็วบางส่วน Ext4 เป็นตัวเลือกที่ทันสมัยและเร็วกว่า - เป็นระบบไฟล์เริ่มต้นบนลีนุกซ์ส่วนใหญ่ Windows และ Mac ไม่รองรับระบบไฟล์เหล่านี้ คุณจะต้องใช้เครื่องมือของบุคคลที่สามเพื่อเข้าถึงไฟล์ในระบบไฟล์ดังกล่าว อย่างไรก็ตาม Linux สามารถอ่านและเขียนได้ทั้ง FAT32 และ NTFS
  • btrfs: นี่คือไฟล์ใหม่ ระบบลินุกซ์ซึ่งยังอยู่ในระหว่างการพัฒนา มันไม่ใช่มาตรฐานสำหรับลีนุกซ์ส่วนใหญ่ในขณะนี้ แต่น่าจะมาแทนที่ Ext4 สักวันหนึ่ง เป้าหมายคือการจัดหาคุณลักษณะเพิ่มเติมที่ช่วยให้ Linux ขยายขนาดเป็นพื้นที่จัดเก็บจำนวนมากได้
  • แลกเปลี่ยน: บน Linux ระบบไฟล์ "สลับ" ไม่ใช่ระบบไฟล์จริงๆ พาร์ติชั่นที่ฟอร์แมตเป็น "swap" สามารถใช้เป็นพื้นที่สว็อปของระบบปฏิบัติการได้ เช่นเดียวกับไฟล์สวอปของ Windows แต่ต้องมีพาร์ติชั่นเฉพาะ

มีระบบไฟล์อื่นๆ โดยเฉพาะบน Linux และระบบที่คล้าย Unix อื่นๆ

ผู้ใช้คอมพิวเตอร์ทั่วไปไม่ควรรู้เรื่องนี้มากนัก แต่การรู้พื้นฐานจะช่วยให้คุณเข้าใจคำถามต่างๆ เช่น "ทำไมดิสก์ที่ฟอร์แมตด้วย Mac ถึงใช้กับพีซีที่ใช้ Windows ของฉันไม่ได้" และ "ฉันควรฟอร์แมตฮาร์ดไดรฟ์ USB นี้เป็น FAT32 หรือ NTFS หรือไม่"