Please enable JavaScript.
Coggle requires JavaScript to display documents.
บทที่ 10 โครงสร้างของหน่วยเก็บข้อมูลสำรอง - Coggle Diagram
บทที่ 10
โครงสร้างของหน่วยเก็บข้อมูลสำรอง
10.1 โครงสร้างของดิสก์ ดิสก์ คือ ก้อนของหน่วยเก็บข้อมูลส่ารองส่าหรับระบบคอมพิวเตอร์ยุคใหม่ ส่วนประกอบภายในฮาร์ดดิสก์จะประกอบด้วยแผ่นวงกลมที่มีขนาด 2-5.25 นิ้วเรียงซ้อนกัน ซึ่งเราเรียกแผ่นวงกลมนี้ว่า Disk
10.2 การจัดตารางของดิสก์
มีเวลาในการเข้าถึงอย่างรวดเร็ว (Fast access time)และ Disk bandwidthในเรื่องเวลาในการเข้าถึงมี 2 องค์ประกอบหลัก คือ
เวลาในการค้นหา (Seek time) คือ เวลาที่แขนของดิสก์เคลื่อนหัวอ่านไปสู่ไซลินเดอร์ที่มี
เซกเตอร์ที่ต้องการ
เวลาในการหมุนหัวอ่าน (Rotational latency) คือ เวลาในการรอคอยที่เพิ่มขึ้นส่าหรับ
ดิสก์ในการหมุนเซกเตอร์ที่ต้องการมาสู่หัวอ่าน
Disk bandwidth คือ จ่านวนไบต์ทั้งหมดที่ถูกโอนย้ายมาจากเวลาทั้งหมดตั้งแต่การร้องขอบริการ
ครั้งแรกจนถึงการโอนย้ายครั้งสุดท้ายเสร็จสิ้น
10.2.1 การจัดตารางแบบมาก่อน-ได้ก่อน (FCFS Scheduling) รูปแบบที่ง่ายที่สุดของการจัดตารางของดิสก์ คือ มาก่อน-ได้ก่อน (First-come, First-served :
FCFS)
10.2.2 การจัดตารางแบบเวลาในการค้นหาสั้นที่สุดได้ก่อน (SSTF Scheduling)ก(Shortest-seek Time-first : SSTF) วิธี SSTF จะเลือกการร้องขอที่มีเวลาในการค้นหาน้อยที่สุดจาก
196 บทที่ 10 โครงสร้างของหน่วยเก็บข้อมูลส่ารองต่าแหน่งปัจจุบันของหัวอ่าน เมื่อเวลาในการค้นหาเพิ่มขึ้นด้วยจ่านวนของไซลินเดอร์ที่ถูกอ่าน โดยหัวอ่านSSTF จะเลือกการร้องขอที่ใกล้ที่สุดกับต่าแหน่งปัจจุบันของหัวอ่าน
10.2.3 การจัดตารางแบบกวาด (SCAN Scheduling) ในวิธีแบบกวาด (SCAN) แขนของดิสก์เริ่มต้นที่จุดสิ้นสุดจุดหนึ่งของดิสก์ (A) และเคลื่อนไปยังจุดสิ้นสุดอื่น (B) การบริการการร้องขอจะท่าได้เมื่อมันมาถึงในแต่ละไซลินเดอร์ จนกระทั่งมันไปถึงจุดสิ้นสุดอื่นของดิสก์ (B) ที่จุดสิ้นสุดอื่น (B)
10.2.4 การจัดตารางแบบกวาดเป็นวง (C-SCAN Scheduling) การกวาดเป็นวง (Circular SCAN เรียกย่อว่า C-SCAN) คือ การเปลี่ยนแปลงของการกวาดซึ่งถูกออกแบบมาเพื่อจัดการกับเวลารอคอยที่มากกว่า 1 รูปแบบ
10.2.5 การจัดตารางแบบ LOOK (LOOK Scheduling)การย้อนกลับไปอีกทางทันทีโดยไม่ต้องไปจุดสิ้นสุดของดิสก์ การท่าเช่นนี้เรียกว่า LOOK และ
C-LOOK เพราะมันมองการร้องขอก่อนจะเคลื่อนไปยังทิศทางที่ได้
10.2.6 การเลือกวิธีการจัดตารางของดิสก์(Selection of a Disk-Scheduling Algorithm)แล้วโปรแกรมประยุกต์เขียนข้อมูลลงหน้านั้นก่อนที่ระบบปฏิบัติการจะมีโอกาสปรับปรุงหรือแจ้งให้ดิสก์ทราบว่าหน้านั้นว่าง เพื่อท่าให้ความต้องการเหมาะสม ระบบปฏิบัติการอาจจะเลือกที่จะท่าการจัดตารางของดิสก์เอง แล้วป้อนการร้องขอให้ตัวควบคุมดิสก์ทีละตัว
10.3 การจัดการดิสก์ บทบาทที่ส่าคัญหน้าที่หนึ่งของระบบปฏิบัติการคือ หน้าที่ส่าหรับการจัดการเวลาในการใช้ดิสก์ (Disk scheduling) การฟอร์แมตดิสก์ การจัดการเนื้อที่บนดิสก์ที่เสียหาย การจัดการพื้นที่ว่างบนดิสก์และการดูแลรักษาดิสก์
10.3.1 การจัดระเบียบดิสก์(Disk Formatting) ก่อนที่ดิสก์จะสามารถบรรจุข้อมูลได้ มันต้องถูกแบ่งเป็นเซกเตอร์ซึ่งตัวควบคุมดิสก์สามารถอ่าน
และเขียนได้ กระบวนการนี้เรียกว่า “การจัดระเบียบระดับต่่า” (Low-level formatting) ระบบปฏิบัติการยังคงต้องการบันทึกโครงสร้างข้อมูลบนดิสก์ โดย
ท่างานเป็น 2 ขั้นตอน คือ
ทำการแบ่งส่วน (Partition) ดิสก์เป็นหนึ่งหรือหลายกลุ่มของไซลินเดอร์ ระบบปฏิบัติการสามารถจัดการแต่ละส่วนเป็นเหมือนดิสก์ที่แยกจากกัน
การจัดระเบียบเชิงตรรกะ (Logical formatting) หรือ “การท่าระบบแฟ้มข้อมูล” (Making file system) ในขั้นตอนนี้ ระบบปฏิบัติการจะเก็บโครงสร้างข้อมูลของระบบแฟ้มข้อมูลเริ่มแรกไว้บนดิสก์
10.3.2 บูตบล็อก (Boot Block) เมื่อคอมพิวเตอร์เริ่มท่างาน (เช่นเปิดเครื่อง หรือบูตเครื่องใหม่) มันจ่าเป็นต้องมีโปรแกรมเริ่มต้นเพื่อการท่างาน โปรแกรมนี้คือ Bootstrap เป็นโปรแกรมการเริ่มต้นทั้งหมดของระบบ เริ่มจากซีพียู
10.3.3 บล็อกเสีย (Bad Block)การจัดระเบียบระดับต่่าจะจัดเซกเตอร์อะไหล่ที่ระบบปฏิบัติการมองไม่เห็นไว้ แล้วตัวควบคุมจะท่าการแทนที่เซกเตอร์ทางตรรกะที่เสียแต่ละเซกเตอร์ด้วยเซกเตอร์อะไหล่ วิธีการนี้เรียกว่า การเก็บเซกเตอร์อะไหล่ (Sector sparing) หรือการเปลี่ยนที่ (Forwarding) ตัวอย่างของ การเปลี่ยนแปลงเซกเตอร์เสียอาจเป็นดังนี้
ตัวควบคุมจะท่าการค่านวณรหัสถูก-ผิด (ECC) และพบว่าเซกเตอร์นั้นเสีย มันจะรายงานการ
ค้นพบนี้ไปสู่ระบบปฏิบัติการ
คราวหน้าเมื่อบูตระบบใหม่ ค่าสั่งพิเศษจะท่างานเพื่อบอกตัวควบคุม SCSI เพื่อแทนเซกเตอร์
ที่เสียด้วยเซกเตอร์อะไหล่
ระบบปฏิบัติการพยายามอ่านบล็อกทางตรรกะที่ 87
หลังจากนั้น เมื่อระบบร้องขอบล็อกทางตรรกะที่ 87 การร้องขอนั้นจะถูกแปลไปยังต่าแหน่ง
ของเซกเตอร์ที่ถูกแทนที่โดยตัวควบคุม
10.4 การจัดการพื้นที่ที่ใช้ในการสับเปลี่ยน ส่าหรับการออกแบบและการน่าพื้นที่ที่ใช้ ใน
การสับเปลี่ยนไปใช้ คือ เตรียมอัตรางานที่ได้ต่อหนึ่งหน่วยเวลา (Throughput) ให้ดีที่สุดส่าหรับระบบหน่วยความจ่าเสมือน
10.4.1 การใช้พื้นที่ที่ใช้ในการสับเปลี่ยน (Swap-Space Use) พื้นที่ที่ใช้ในการสับเปลี่ยน ถูกใช้ได้หลายวิธีโดยหลายระบบปฏิบัติการที่ต่างกัน ขึ้นอยู่กับการ
ใช้อัลกอริทึ่มในการจัดการหน่วยความจ่า
10.4.2 ตำแหน่งของพื้นที่ที่ใช้ในการสับเปลี่ยน (Swap-Space Location)มีพื้นที่อยู่สองพื้นที่ที่เหมาะใช้ในการสับเปลี่ยน คือ พื้นที่ที่ใช้ในการสับเปลี่ยนสามารถถูกตัดออกจากระบบแฟ้มข้อมูลปกติ หรืออยู่ในส่วนของดิสก์ที่แยกออกมา (Separate disk partition)
10.4.3 การจัดการพื้นที่ที่ใช้ในการสับเปลี่ยน (Swap-Space Management) พื้นที่ที่ใช้ในการสับเปลี่ยนถูกจัดสรรให้แก่โพรเซส เมื่อโพรเซสเริ่มต้น พื้นที่จะถูกจัดสรรให้เพื่อเก็บโปรแกรมอย่างเพียงพอ โดยเก็บหน้าของข้อความ (Text page) หรือตอนของข้อความ (Text segment) และตอนของข้อมูล (Data segment) ของโพรเซสก่อนการจัดสรรพื้นที่ต้องการทั้งหมด ด้วยวิธีนี้เป็นการป้องกันโพรเซสจากการท่างานนอกพื้นที่ ๆ
10.5 ความน่าเชื่อถือของดิสก์ การจัดการ RAID เรียกว่า ความตรวจสอบบล็อกขาออก (Block interleaved parity) โดยใช้พื้นที่ของดิสก์เพียงเล็กน้อยในการเก็บบล็อกตรวจสอบ (Parity block) การจัดการ RAID ที่ง่ายที่สุด เรียกว่า การสำรองข้อมูล (Mirroring หรือ shadowing) โดยเก็บสำเนาของแต่ละดิสก์
10.5.1 ระดับของ RAID Data striping คือการแบ่งข้อมูลออกเป็นส่วน ๆ แล้วน่าแต่ละส่วนไปเก็บในฮาร์ดดิสก์แต่ละตัวการท่า Striping นี้จะช่วยให้การอ่าน หรือเขียนข้อมูลใน Disk array มีประสิทธิภาพมากขึ้นเราสามารถอธิบาย Raid ประเภทต่าง ๆเราสามารถอธิบาย Raid ประเภทต่าง ๆเช่น
RAID 0 คือการเอาฮาร์ดดิสก์มากกว่า 1 ตัวมาต่อร่วมกันในลักษณะ Non-redundant ซึ่ง
RAID 0 นี้มีจุดประสงค์เพื่อที่จะเพิ่มความเร็วในการอ่าน/เขียนข้อมูลฮาร์ดดิสก์โดยตรง ไม่มีการเก็บข้อมูลส่ารอง
RAID 1 มีอีกชื่อหนึ่งว่า Disk mirroring จะประกอบไปด้วยฮาร์ดดิสก์2 ตัวที่เก็บข้อมูล
เหมือนกันทุกประการ เสมือนการส่ารองข้อมูล หากฮาร์ดดิสก์ตัวใดตัวหนึ่งเกิดเสียหาย
RAID 2 ข้อมูลทั้งหมดจะถูกตัดแบ่งเพื่อจัดเก็บลงฮาร์ดดิสก์แต่ละตัวใน Disk array โดยจะมีฮาร์ดดิสก์ตัวหนึ่งเก็บข้อมูลที่ใช้ตรวจสอบและแก้ไขข้อผิดพลาด (Error checking and correcting ECC)ซึ่งเป็นการลดเปอร์เซ็นต์ที่ข้อมูลจะเสียหายหรือสูญเสียไป
RAID 3 มีลักษณะที่คล้ายกับ RAID 2 แต่แทนที่จะตัดแบ่งข้อมูลในระดับบิตเหมือน RAID 2 ก็
จะตัดเก็บข้อมูลในระดับ Byte แทนและการตรวจสอบและแก้ไขข้อผิดพลาดของข้อมูลจะใช้ Parityแทนที่จะเป็น ECC ท่าให้ RAID 3 มีความสามารถในการอ่านและเขียนข้อมูลได้อย่างรวดเร็ว
RAID 4 มีลักษณะโดยรวมเหมือนกับ RAID 3 ทุกประการ ยกเว้นเรื่องการตัดแบ่งข้อมูลที่ท่า
ในระดับ Block แทนที่จะเป็น Bit หรือ Byte
RAID 5 มีการตัดแบ่งข้อมูลในระดับ Block เช่นเดียวกับ RAID 4 แต่จะไม่ท่าการแยก
ฮาร์ดดิสก์ตัวใดตัวหนึ่งเพื่อเก็บ Parity ในการเก็บ Parity ของ RAID 5 นั้น จะท่าการกระจาย Parity
10.5.2 การนำ RAID มาใช้ร่วมกัน การใช้ RAID ในระดับเดียวนั้นอาจจะไม่สามารถติดตั้งระบบปฏิบัติการต่าง ๆ ได้ครบตามความต้องการ ดังนั้น เพื่อให้ได้เครื่องมือในการท่างานครบถ้วนนั้น การนำข้อดีของ RAID ในแต่ละระดับมา
10.5.3 ประโยชน์ของ RAID RAID จะถูกใช้เพื่อป้องกันความผิดพลาดในการเก็บข้อมูล และเพิ่มระดับการจัดเก็บด้วยที่สำคัญป้องกันการจัดเก็บข้อมูลในกรณีที่ฮาร์ดไดรฟ์เกิดท่างานผิดพลาด
10.6 การใช้งานหน่วยเก็บข้อมูลชนิดคงที่ ถ้าเกิดมีการ
ล้มเหลวอีกในระหว่างการกู้คืนจะต้องท่าอย่างไร ดังนั้นดิสก์จะทำงานจนได้ผลลัพธ์หนึ่งในสามข้อนี้
ล้มเหลวบางส่วน (Partial failure) ความล้มเหลวเกิดขึ้นระหว่างการโอนย้ายข้อมูล เซกเตอร์บางส่วนจะถูกเขียนด้วยข้อมูลใหม่ และเซกเตอร์ที่ถูกเขียนในระหว่างเกิดการล้มเหลวอาจจะผิดพลาด
ล้มเหลวทั้งหมด (Total failure) ความล้มเหลวเกิดขึ้น ก่อนที่ดิสก์จะเริ่มเขียน ดังนั้นค่าของ
ข้อมูลบนดิสก์ก็จะเหมือนเดิมก่อนที่จะเกิดการเขียนใด ๆ
ส่าเร็จอย่างสมบูรณ์แบบ (Successful completion) ข้อมูลถูกเขียนลงดิสก์ได้อย่างถูกต้อง
10.7 สรุป
ดิสก์ไดรฟ์เป็นอุปกรณ์ที่เป็นประเภทหน่วยเก็บข้อมูลสำรอง(Secondary-storage I/O) ดิสก์สามารถติดเข้ากับระบบคอมพิวเตอร์ได้โดย 1 ใน 2 ทาง เชื่อมต่ออุปกรณ์เข้ากับคอมพิวเตอร์โดยตรงผ่านทางช่องพอร์ตอินพุตหรือเอาท์พุต ความต้องการข้อมูลส่าหรับการอินพุตและเอาท์พุตของข้อมูล
มีการใช้กลุ่มของดิสก์เป็นเหมือน
หน่วยเก็บข้อมูล 1 หน่วย Data Striping คือการแบ่งข้อมูลออกเป็นส่วน ๆ แล้วน่าแต่ละส่วนไปเก็บในดิกส์แต่ละตัว การท่า Striping นี้จะช่วยให้การอ่าน หรือเขียนข้อมูลในดิกส์อาเรย์มีประสิทธิภาพมากขึ้น
เทคโนโลยี RAID คือ การน่าเอาดิกส์ตั้งแต่ 2 ตัวขึ้นไปมาท่างานร่วมกันเสมือนเป็นดิกส์โอกาสที่จะสูญเสียข้อมูลน้อยลงในกรณีที่เกิดความผิดพลาดของฮาร์ดแวร์