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