แฟ้ม

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

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

แฟ้มอาจเรียกได้หลายชื่อเช่น แฟ้มข้อมูล, แฟ้มอิเล็กทรอนิกส์, แฟ้มคอมพิวเตอร์, แฟ้มดิจิทัล, ไฟล์ข้อมูล, ไฟล์อิเล็กทรอนิกส์, ไฟล์คอมพิวเตอร์, คอมพิวเตอร์ไฟล์, เอกสารอิเล็กทรอนิกส์ ฯลฯ

ประวัติ[แก้]

ไฟล์ (แฟ้ม) บัตรเจาะรู
"ดิสก์ไฟล์" คู่หนึ่งของระบบคอมพิวเตอร์ไอบีเอ็ม 350

คำว่า "ไฟล์" ปรากฏเป็นครั้งแรกในบริบทของหน่วยเก็บบันทึกของคอมพิวเตอร์เมื่อ พ.ศ. 2495 โดยอ้างถึงสารสนเทศที่เก็บบันทึกบนบัตรเจาะรู [1] การใช้งานในยุกแรก ๆ ผู้คนถือว่าไฟล์คือฮาร์ดแวร์ที่เป็นรากฐาน (มากกว่าจะหมายถึงเนื้อหา) ตัวอย่างเช่นคอมพิวเตอร์ไอบีเอ็ม 350 ดิสก์ไดรฟ์ถูกเรียกว่า "ดิสก์ไฟล์" [2] ระบบต่าง ๆ อาทิระบบแบ่งกันใช้เวลาที่เข้ากันได้ (Compatible Time-Sharing System: CTSS) เมื่อ พ.ศ. 2505 แนวคิดเรื่องระบบแฟ้มเด่นชัดขึ้น โดยปรากฏเป็น "ไฟล์" หลายแฟ้มบนอุปกรณ์เก็บบันทึกเครื่องหนึ่ง นำไปสู่การใช้งานแฟ้มในสมัยใหม่ ชื่อแฟ้มในระบบแบ่งกันใช้เวลาที่เข้ากันได้มีสองส่วนได้แก่ "ชื่อหลัก" ที่ผู้ใช้สามารถอ่านได้และ "ชื่อรอง" ที่แสดงถึงชนิดของแฟ้ม [3][4] หลักการนี้ยังคงใช้อยู่ในระบบปฏิบัติการหลายรุ่นในทุกวันนี้ซึ่งรวมทั้งไมโครซอฟท์ วินโดวส์

เนื้อหาแฟ้ม[แก้]

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

ขนาดแฟ้ม[แก้]

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

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

การจัดการข้อมูลในแฟ้ม[แก้]

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

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

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

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

การดำเนินการแฟ้ม[แก้]

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

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

อรรถศาสตร์[แก้]

แม้ว่าโปรแกรมต่าง ๆ จัดดำเนินการแฟ้มด้วยวิธีที่หลากหลายขึ้นอยู่กับระบบปฏิบัติการและระบบแฟ้มที่เกี่ยวข้อง การดำเนินการเกี่ยวกับแฟ้มโดยทั่วไปมีดังนี้

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

การระบุและการจัดการแฟ้ม[แก้]

แฟ้มและโฟลเดอร์ที่จัดเรียงเป็นลำดับชั้น

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

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

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

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

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

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

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

การป้องกันแฟ้ม[แก้]

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

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

การเก็บบันทึกแฟ้ม[แก้]

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

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

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

การสำรองข้อมูลแฟ้ม[แก้]

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

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

วิธีการสำรองข้อมูลแบบ ปู่-พ่อ-ลูก (grandfather-father-son backup) คือการสำรองข้อมูลโดยอัตโนมัติสามสำเนา สำเนา ปู่ คือสำเนาที่เก่าที่สุดของแฟ้มและสำเนา ลูก คือสำเนาปัจจุบัน

ระบบแฟ้มและโปรแกรมจัดการแฟ้ม[แก้]

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

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

ดูเพิ่ม[แก้]

อ้างอิง[แก้]

  1. Robert S. Casey, et al. Punched Cards: Their Applications to Science and Industry, 1952.
  2. Martin H. Weik. Ballistic Research Laboratories Report #1115. March 1961. pp. 314-331.
  3. Fernando J. Corbató et al. "An Experimental Time-Sharing System." May 3, 1962.
  4. Jerome H. Saltzer CTSS Technical Notes. Project MIT-LCS-TR016
  5. Magnetic Storage Handbook 2nd Ed., Section 2.1.1, Disk File Technology, Mee and Daniel, (c)1990,

แหล่งข้อมูลอื่น[แก้]