6.11 การจัดการสื่อจัดเก็บข้อมูล (Storage Management)

Download Report

Transcript 6.11 การจัดการสื่อจัดเก็บข้อมูล (Storage Management)

Chapter 6
การจ ัดการอุปกรณ์
อินพุต/เอาต ์พุต
1
6.1 อุปกรณ์อน
ิ พุต-เอาต ์พุต (Input /
Output Device)
• อุปกรณ์อน
ิ พุต คือ อุปกรณ์ทท
ี่ าให้
่ าง ๆ
คอมพิวเตอร ์สามารถสัมผัสและร ับรู ้สิงต่
่
าน
จากโลกภายนอกได้ ตัวอย่างเช่น เครืองอ่
บัตร คีย ์บอร ์ด เมาส ์ หรือ อุปกรณ์เอาต ์พุต
คือ อุปกรณ์ทท
ี่ าให้คอมพิวเตอร ์ควบคุมหรือ
ส่งผลออกมาสู ่โลกภายนอกได้ ตัวอย่างเช่น
่
่
เครืองเจาะบั
ตร จอภาพ เครืองพิ
มพ ์
• สามารถแยกอุปกรณ์อน
ิ พุต-เอาต ์พุต ออกเป็ น
2 ประเภท ด ังนี ้
2
สามารถแยกอุปกรณ์อน
ิ พุต-เอาต ์พุต
ออกเป็ น 2 ประเภทด ังนี ้
1. บล็อกดีไวซ ์ (Block devices)
2. คาแรกเตอร ์ดีไวซ ์ (Character devices)
3
1. บล็อกดีไวซ ์ (Block devices)
คือ อุปกรณ์ทสามารถจั
ี่
ดเก็บข้อมู ลได้โดยทาการ
เก็บเป็ นบล็อก
เช่น ดิสก ์เก็ต ฮาร ์ดดิสก ์ เทป ขนาดของบล็อก
ประมาณ 512 ไบต ์ ถึง 32,768 ไบต ์
คุณสมบัต ิ
่ าน/เขียนข ้อมูลลงในแต่ละบล็อกได ้อย่าง
1. สามารถทีจะอ่
่ นบล็อกจาพวกดิสก ์
อิสระ ในอุปกรณ์ประเภททีเป็
2. สามารถกาหนดตาแหน่ งลงไปในแผ่นดิสก ์ได ้ จะ
ประกอบไปด ้วยไซลินเดอร ์ (Cylinder) และเซกเตอร ์ (Sector)
่ านข ้อมูลในขณะทีตั
่ วดิสก ์
โดยมีหวั อ่านบนแขนกลทาหน้าทีอ่
่ เวณพืนที
้ ดิ
่ สก ์หัวอ่านจะ
หมุนรอบตัวไปด ้วยความเร็วคงที่ ทัวบริ
่
สามารถเลือนไปได
้ทุกที่
่
3. แต่ละบล็อกทีบรรจุ
ข ้อมูลอยูภ
่ ายในหัวอ่านสามารถน4า
บล็อกดีไวซ ์ (Block devices)
ได ้แก่ ดิสก ์ ข ้อมูลจะถูกจัดไว ้เป็ นกลุม
่ ในระดับ
บล็อกหรือเซกเตอร ์ แต่ละกลุม
่ จะมีแอดเดรสของตนเอง
การแอกเซสทาได ้โดยกาหนดแอดเดรสของข ้อมูลกลุ่ม
่
นั้น ซึงจะท
าให ้อุปกรณ์ทราบว่าข ้อมูลกลุม
่ นั้นอยู่ทไหน
ี่
และสามารถแอกเซสได ้โดยตรง ไม่ต ้องผ่านกลุม
่ ข ้อมูล
่ ๆ
กลุม
่ อืน
เหมือนอุปกรณ์มก
ี ารแอกเซสแบบลาดับ
่ ้แก่
(Sequential access storage device) ซึงได
้
เทป ลักษณะของอุปกรณ์ประเภทนี การแอกเซสจะต
้อง
้ ต ้นเทป (หรือตาแหน่ งทีหั
่ วเทป
เป็ นไปตามลาดับตังแต่
่ ้องการ
กาลังอ่านอยู่) เรียงไปจนถึงตาแหน่ งทีต
5
2. คาแรกเตอร ์ดีไวซ ์ (Character
devices)
่
เป็ นอุปกรณ์ทรี ับข ้อมูลเป็ นสาย จานวนข ้อมูล
้
่ แต่ไม่สามารถ
่กบั บัฟเฟอร ์ (buffer) ทีมี
ขึนอยู
้ ้ ตัวอย่าง
กาหนดตาแหน่ งของบัฟเฟอร ์เหล่านี ได
อุปกรณ์ประเภทนี ้ ได ้แก่ การ ์ดเน็ ตเวิร ์คของ
่
มพ ์ สแกนเนอร ์ อุปกรณ์ชนิ ดข ้อมูลเป็ นสาย
เครืองพิ
(stream)
คุณสมบัต ิ
้ ้อมูลทีส่
่ งเข ้ามาออกจะเรียง
1. อุปกรณ์ประเภทนี ข
มาเป็ นลาดับก่อน-หลัง การแบ่งแยกข ้อมูลทาได ้โดย
ตรวจสอบลาดับของข ้อมูล
้
2. อุปกรณ์ประเภทนี สามารถจั
ดการได ้ง่าย
เพียงแต่จด
ั ลาดับการร ับ-ส่งข ้อมูลให ้ถูกต ้อง
6
2. คาแรกเตอร ์ดีไวซ ์ (Character
devices)
ตัวอย่าง
่ ้อมูลทีส่
่ งเข ้ามาใน
ได ้แก่ คีย ์บอร ์ด ซึงข
ระบบจะเป็ นไปตามลาดับการกดคีย ์ คีย ์ใดถูกกด
่
ก่อนก็จะถูกส่งออกมาก่อน เครืองพิ
มพ ์ก็เช่นกัน
ข ้อมูลใดถูกส่งออกไปก่อนก็จะถูกพิมพ ์ก่อน ข ้อมูล
่ กส่งออกไปทีหลังก็จะถูกพิมพ ์ทีหลัง
ทีถู
7
2. คาแรกเตอร ์ดีไวซ ์ (Character
devices)
้ อมู ลทีส่
่ งและร ับไม่
อุปกรณ์ประเภทนี ข้
้
ขึนอยู
่กบ
ั ลาด ับการส่ง
ต้องอาศ ัยข้อมู ล
่
่ จะแยกแยะข้
่
อมู ลแต่ละต ัว
มเพือที
เพิมเติ
การจัดการอุปกรณ์ประเภทนี ้
ระบบปฏิบต
ั ก
ิ ารจะต้องมีวธ
ิ ก
ี ารจัดการ
้
้ั
โดยเฉพาะ ขึนอยู
่กบ
ั ลักษณะของอุปกรณ์นน
ๆ ตัวอย่างเช่น จอภาพ ข้อมู ลหรือตัวอ ักษรที่
้ จะต้องส่งไปใน
ถูกส่งไปให้จอภาพแสดงผลนัน
่ กต้อง
ตาแหน่ งทีถู
ตาแหน่ งของตัวอ ักษรที่
แสดงบนจอภาพแต่ละต ัวอ ักษรจะต้องมี
8
้
่
แอดเดรสประจาตาแหน่ งนัน ๆ เมือส่งตัวอ ักษร
2. คาแรกเตอร ์ดีไวซ ์
(Character devices)
้ อมู ลทีส่
่ งและร ับไม่
อุปกรณ์ประเภทนี ข้
้
ขึนอยู
่กบ
ั ลาด ับการส่ง
ต้องอาศ ัยข้อมู ล
่
่ จะแยกแยะข้
่
อมู ลแต่ละต ัว
มเพือที
เพิมเติ
การจัดการอุปกรณ์ประเภทนี ้
ระบบปฏิบต
ั ก
ิ ารจะต้องมีวธ
ิ ก
ี ารจัดการ
้
้ั
โดยเฉพาะ ขึนอยู
่กบ
ั ลักษณะของอุปกรณ์นน
ๆ ตัวอย่างเช่น จอภาพ ข้อมู ลหรือตัวอ ักษรที่
้ จะต้องส่งไปใน
ถูกส่งไปให้จอภาพแสดงผลนัน
่ กต้อง
ตาแหน่ งทีถู
ตาแหน่ งของตัวอ ักษรที่
แสดงบนจอภาพแต่ละต ัวอ ักษรจะต้องมี
9
้
่
แอดเดรสประจาตาแหน่ งนัน ๆ เมือส่งตัวอ ักษร
อุปกรณ์
ความเร็ว
หน่วย
คียบ
์ อร์ด
10
ไบต์/
วินาที
เมาส ์
100
ไบต์/
วินาที
โมเด็ม 56K
7
กิโลไบต์/
วินาที
ั
แชนแนลโทรศพท์
8
กิโลไบต์/
วินาที
คูส
่ าย ISDN
16
กิโลไบต์/
วินาที
เครือ
่ งพิมพ์เลเซอร์
100
กิโลไบต์/
วินาที
สแกนเนอร์
400
กิโลไบต์/
วินาที
อีเธอร์เน็ ต
1.25
เมกะไบต์/
10
ตาราง 6.1 ลาดับความเร็วในการร ับ-ส่งข้อมู ลของ
อุปกรณ์จากช้าไปเร็ว
อุปกรณ์
ความเร็
ว
หน่วย
อีเธอร์เน็ ต (Fast)
12.5
เมกะไบต์/
วินาที
บ ัส ISA
16.7
เมกะไบต์/
วินาที
ดิสก์ EIDE (ATA-2)
16.7
เมกะไบต์/
วินาที
FireWire (IEEE
1394)
มอนิเตอร์ XGA
50
เมกะไบต์/
วินาที
60
เมกะไบต์/
วินาที
เน็ ตเวิรค
์ SONET
OC-12
อีเธอร์เน็ ต
78
เมกะไบต์/
วินาที
125
เมกะไบต์/
11
6.2 ต ัวควบคุมอุปกรณ์ (Device
Controller)
• อุปกรณ์แต่ละประเภทจะประกอบด้วยกลไก
่ นวงจรอิเล็กทรอนิ กส ์ ซึง่
ต่าง ๆ และส่วนทีเป็
ประกอบเข้าเป็ นตัวชิพ หรือประกอบรวมกันบน
่
แผ่นเซอร ์กิต (circuit board) ซึงเราเรี
ยกว่า
“ตัวควบคุมอุปกรณ์” (device controller)
หรือ อะแดปเตอร ์ (adapter) สาหร ับบอร ์ด
่
้
และการ ์ดต่าง ๆ ทีประกอบเป็
นคอมพิวเตอร ์นัน
เรียกว่า กลไกบนบอร ์ดคอมพิวเตอร ์ ซึง่
สามารถต่อการ ์ดต่าง ๆ ได้เป็ นจานวนมากโดย
่ ยกว่า สล็อต (slot) สาหร ับ
เสียบเข้าช่องทีเรี
้ ชอเรี
คอมพิวเตอร ์พีซส
ี ล็อตเหล่านี มี
ื่ ยกต่าง12ๆ
6.2 ต ัวควบคุมอุปกรณ์ (Device
Controller)
• การ ์ดควบคุมอุปกรณ์แต่ละชนิ ดทีเสียบลงบน
้ั ๆ แต่ละการ ์ด
บอร ์ดจะถู กต่อสายไปยังอุปกรณ์นน
้ั
้
สามารถควบคุมอุปกรณ์ได้ตงแต่
1, 2, 4, 8 ชิน
• การติดต่อระหว่างการ ์ดควบคุมกับอุปกรณ์มก
ั
่ การโอนถ่ายข้อมู ลจะ
เป็ นไปในรู ปของภาษาเครือง
กระทาในระดับบิต
• ตัวอย่าง เช่น การติดต่อระหว่างดิสก ์กับการ ์ด
ควบคุม สามารถติดต่อถึงกันได้ดว้ ยบัสข้อมู ล ใน
ระหว่างร ับส่งข้อมู ลสามารถตรวจสอบความ
ถูกต้องของข้อมู ลได้ดว้ ยการตรวจสอบผลรวม
่ ชอว่
จากบิตทีมี
ื่ า checksum ถ้าตรวจพบว่ามี 13
้
ข้อผิดพลาด (error) เกิดขึนจะท
าการแก้ไขโดย
6.2 ต ัวควบคุมอุปกรณ์ (Device
Controller)
•
่
หน้าทีของตัวควบคุ
ม
1. ตรวจสอบหาข ้อผิดพลาด
2. แปลข ้อมูลจากรูปของสายข ้อมูลไปเป็ นบล็อก
่ าเข ้าไปจัดเก็บลงในสือข
่ ้อมูลหรือจาก
เพือน
่ ้อมูลไปลงบนหน่ วยความจา
สือข
14
6.2 ต ัวควบคุมอุปกรณ์ (Device
Controller)
•
ตัวอย่างตัวควบคุมของจอภาพหรือที่
เรียกว่า การ ์ดจอ
่ งผ่านเข้ามาจะอยู ่ในรู ปของ
ข้อมู ลทีส่
่ จะน
่
สายข้อมู ลเพือที
ามาใช้ก ับหลอดภาพ
CRT ในการสร ้างสัญญาณภาพข้อมู ลที่
ร ับเข้ามาจากหน่ วยความจาจะถูกนามาใช้
ในการแยกสัญญาณแต่ละจุดบนจอภาพที่
เรียกว่า พิกเซล (pixel)
15
่ การแมพหน่ วยความจา
6.3 อินพุต/เอาต ์พุตทีใช้
(Memory-mapped I/O)
•
•
่ ตด
ตัวควบคุมแต่ละตัวจะมีรจ
ี ส
ิ เตอร ์ทีใช้
ิ ต่อกบ
ั ซีพย
ี ู
่
โดยตรงซึงระบบปฏิ
บต
ั ก
ิ ารจะเป็ นตัวประสานการ
ทางานระหว่างอุปกรณ์ตา
่ ง ๆ กับซีพย
ี ู แล้วแต่การ
้ั ๆ ในขณะที่
ร ้องขอและความจาเป็ นของอุปกรณ์นน
ซีพย
ี ู ทาการอ่านข้อมู ลจากรีจส
ิ เตอร ์ ระบบปฏิบต
ั ก
ิ าร
จะเป็ นตัวกาหนดช่วงเวลาการติดต่อให้สอดคล้องและ
้
เหมาะสมก ับสถานะของอุปกรณ์ในขณะนัน
่ นได้ช ัดคือ วีดโี อแรม
ต ัวอย่างบัฟเฟอร ์ทีเห็
่ าหน้าทีแสดง
่
(Video RAM) ของจอภาพ ซึงท
่
ภาพต่าง ๆ ออกมาซึงจะสั
งเกตได้วา
่ ถ้าขนาด
วีดโี อแรมมีมากการแสดงภาพก็จะค่อนข้าง 16
•
•
•
6.4 การแอกเซสข้อมู ลโดยตรง (DMA : Direct
Memory Access)
DMA เป็ นการร ับส่งข้อมู ลระหว่างหน่ วยความจากับอุปกรณ์
้ าได ้รวดเร็วและ
โดยตรงไม่ตอ
้ งผ่านซีพย
ี ู การร ับส่งข ้อมูลแบบนี จะท
ไม่เปลืองเวลาของซีพย
ี ู เพราะจะอาศัยแชนแนล (channel) หรือตัว
่
ควบคุม DMA (DMA Controller) แชนแนลจะทาหน้าทีแทนซี
พย
ี ู
่ ้องการร ับส่งข ้อมูลแบบ DMA แชนแนลจะส่งสัญญาณใหซ
เมือต
้ พ
ี ย
ี ู
่ ้แชนแนลทารูทน
ร ับรู ้ ซีพย
ี จ
ู ะสังให
ี รวบคุมการส่งข ้อมูล จากนั้นซีพย
ี ก
ู ็
่ อ และเมือการท
่
้ ดลง แชนแนลจะส่ง
จะไปทางานอืนต่
า DMA สินสุ
้ั าทา DMA เสร็จแล ้ว
สัญญาณบอกซีพย
ี ูได ้ร ับรู ้อีกครงว่
่
ไม่วา
่ อุปกรณ์ใดก็สามารถทีจะใช้
DMA Controller ในการ
่ ้ในการ
ร ับส่งข ้อมูลโดยอิสระจากซีพย
ี ูได ้ ถ ้าอุปกรณ์น้ันมี รจี สิ เตอร ์ทีใช
้ั
้ั
เก็บข ้อมูลระหว่างทาการร ับส่ง การถ่ายโอนข ้อมูลแต่ละครงจะท
าครงละ
้
่ อยู่ของ
ไบต ์ หรือเวิร ์ด หรือหลาย ๆ เวิร ์ด ขึนอยู
่กบั จานวนรีจส
ิ เตอร ์ทีมี
้ ปกรณ์ยงั ต ้องมี รจี ส
่
อุปกรณ์น้ัน ๆ นอกจากนี อุ
ิ เตอร ์ทีคอยท
าหน้าที่
ควบคุมการร ับส่งข ้อมูลผ่านทางแชนแนลต่าง ๆ ด ้วย
่ พย
่
ในขณะทีซี
ี ู ร ันงานอืนอยู
่และมีการกระทา DMA พร ้อม ๆ
ก ันแชนแนลจาเป็ นต้องใช้ data bus และ address bus ของ
่
หน่ วยความจาร่วมกับซีพย
ี ู ดังนั้นในกรณี นี ้ DMA จะเลียงในช่
วงเวลา
่ พย
ทีซี
ี ก
ู าลังใช ้บัสข ้อมูลและบัสแอดเดรส (เนื่ องจากซีพย
ี ม
ู ส
ี ท
ิ ธิในการ
17
ใช ้ทร ัพยากรมากกว่า DMA) ไม่ให ้ตรงกัน นั่นคือ DMA จะใช ้วิธ ี
6.5 การอินเทอร ์ร ัพท ์ซีพย
ี ู (Interrupt
Revisited)
้
• การอินเทอร ์ร ัพท ์นันสามารถเกิ
ดได้
่ พย
ตลอดเวลา ตามปกติแล ้วเมือซี
ี ก
ู าลัง
ทางานใดงานหนึ่ งอยู่ แล ้วเกิดการอินเทอร ์
่
ดจากฮาร ์ดแวร ์
ร ัพท ์เกิดขึน้ (ซึงอาจจะเกิ
หรือซอฟต ์แวร ์ก็ได ้) สัญญาณการอินเทอร ์
ร ัพท ์จะถูกส่งผ่านตามบัสข ้อมูลโดยมี
อุปกรณ์ตรวจจับสัญญาณดังกล่าวเป็ นชิพ
ตัวหนึ่ งเรียกว่า
่ ้ามี
“ต ัวควบคุมอินเทอร ์ร ัพท ์” ซึงถ
สัญญาณอินเทอร ์ร ัพท ์เข ้ามามากกว่า 1
สัญญาณ ตัวควบคุมอินเทอร ์ร ัพท ์จะต ้อง
18
6.5 การอินเทอร ์ร ัพท ์ซีพย
ี ู (Interrupt
Revisited)
่
้
• สัญญาณอินเทอร ์ร ัพท ์ทีเกิดขึนทาให้ซพ
ี ย
ี ู
่ั
และหันมา
ต้องหยุดการทางานชวคราว
ให้บริการกับอุปกรณ์ตา
่ ง ๆ ตามทีร่ ้องขอ
ลาดับการให ้บริการอุปกรณ์ตา่ ง ๆ จะถูกบันทึกใน
่ ยกว่า
ตารางทีเรี
อินเทอรร ัพท ์เวกเตอร ์ (Interrupt
้
Vector) ตารางนี จะเก็
บรวบรวมแอดเดรสต่าง ๆ
่
ของสัญญาณอินเทอร ์ร ัพท ์ทีร่ ้องขอเข ้ามาเพือ
ขอร ับบริการจากซีพย
ี ู การให ้บริการของซีพย
ี ูจะ
่
ถูกควบคุมโดยระบบปฏิบต
ั ก
ิ ารซึงจะเป็
นตัวโหลด
่ นทึกไว ้ในอินเทอร ์
ข ้อมูลแอดเดรสต่าง ๆ ตามทีบั
ร ัพท ์เวกเตอร ์แล ้วทางานไปตามวงรอบการทางาน
่ นเทอร ์ร ัพท ์ตัว
(machine cycle) จนกระทังอิ
19
6.6 หลักของอินพุต/เอาต ์พุตซอฟต ์แวร ์
(I/O Software)
• จุดประสงค ์อีกอย่างหนึ่ งของ I/O Software
้
คือใช ้ในการส่งผ่านข ้อมูลทังแบบวิ
ธก
ี ารบล็อก
่ วนใหญ่
(blocking) และการใช ้อินเทอร ์ร ัพท ์ ซึงส่
่ งผ่านข ้อมูล
จะใช ้อินเทอร ์ร ัพท ์ ซีพย
ี จ
ู ะเริมส่
่ นเทอร ์ร ัพท ์มาถึง ในระหว่างนัน
้
หลังจากทีอิ
่ั
่
System call จะหยุดชวคราวเพื
อรอให
้ซีพย
ี ูอา่ น
ข ้อมูลเข ้ามาเก็บลงในบัฟเฟอร ์ก่อน เนื่ องจาก
่ านเข ้ามาจะถูก
ระบบปฏิบต
ั ก
ิ ารไม่รู ้ว่าข ้อมูลทีอ่
่ การมีบฟ
นาไปเก็บไว ้ทีใด
ั เฟอร ์ข ้อมูลจึงเป็ น
่ าเป็ นขันต
้ ้น และยังเป็ นการบริหารงานซีพย
สิงจ
ี ูให ้
คุ ้มค่าอีกด ้วย
20
6.6 หลักของอินพุต/เอาต ์พุตซอฟต ์แวร ์
(I/O Software)
1. Programmed I/O
•
่
Programmed I/O เป็ นวิธท
ี ง่ี่ าย แต่มข
ี อ
้ จาก ัดในเรือง
่ ๆ ตามมาคือ ประสิทธิภาพในการใช้งานของซีพย
อืน
ี ู จะ
่
ลดตาลงเพราะเสี
ยเวลาในการรอให้อป
ุ กรณ์พร ้อมก่อน
จึงจะส่งข้อมู ลได้
2. Interrupt-Driven I/O
•
้
ในอุปกรณ์แต่ละประเภทจะมีตวั ควบคุมในตวั เอง ดงั นันการร
้อง
้
ขออินเทอร ์ร ัพท ์ของอุปกรณ์แต่ละประเภทสามารถเกิดขึนได้
พร ้อมๆ กน
ั ในกรณี ทมี
ี่ การร ้องขออินเทอร ์ร ัพท ์มากกว่า 1
อุปกรณ์ ระบบปฎิบต
ั ก
ิ ารจะเป็ นผู พ
้ จ
ิ ารณาให้การร ้องขอเป็ นไป
่
ตามลาด ับความสาคญ
ั ซึงระบบจะมี
รหัสความสาคญ
ั ของอุปกรณ์
แต่ละชนิ ดอยู ่แล้ว
3. I/O Using DMA
•
้ั าเป็ นต้องใช้บส
เนื่องจากการทางานของซีพย
ี ู บางครงจ
ั ร ับส่ง
่ นช่วงเวลาเดียวกน
่ ด DMA ซึงก็
่ ตอ
ข้อมู ล ซึงเป็
ั กบ
ั ทีเกิ
้ งใช้21
บส
ั
้
่
ร ับส่งข้อมู ลเช่นเดียวก ัน กรณี นีจะเลี
ยงการเกิ
ด DMA โดย
6.7 อินพุต/เอาต ์พุตซอฟต ์แวร ์เลเยอร ์
(I/O Software Layer)
อินพุต/เอาต ์พุตซอฟต ์แวร ์โดยส่วนใหญ่จะแบ่งออกเป็ น 4 เล
่
เยอร ์ ด้วยกัน แต่ละเลเยอร ์จะมีฟังก ์ช ันติดต่อระหว่างเลเยอร ์ทีอยู
่ ตด
ติดกน
ั ฟั งก ์ช ันทีใช้
ิ ต่อระหว่างเลเยอร ์จะมีความแตกต่างกันใน
แต่ละระบบปฏิบต
ั ก
ิ าร เลเยอร ์ของอินพุต/เอาต ์พุตซอฟต ์แวร ์มี
ด ังนี ้
1.
2.
3.
4.
Interrupt Handlers
ดีไวซ ์ไดร ์เวอร ์ (Device Drivers)
Device Independent I/O Software
User Space I/O Software
22
1. Interrupt Handlers
่ ดต่อกับตัว
ในเลเยอร ์แรกเป็ นเลเยอร ์ทีติ
่
ฮาร ์ดแวร ์โดยตรงซึงตามปกติ
แล ้วการติดต่อกับอุปกรณ์
ใด ๆ จะใช ้โปรแกรมเป็ นตัวติดต่อ แต่ถ ้ามีการใช ้อิน
่ อว่ามีการขัดจังหวะงานทีก
่ าลังทาอยู่ของ
เทอร ์ร ัพท ์ซึงถื
้
อุปกรณ์น้ันจะต ้องมีการกาหนดขันตอนการปฏิ
บต
ั ิ
่ ให ้งานทีก
่ าลังทาอยู่ต ้องเสียไป ซึง่
ตามลาดับ เพือมิ
้
ลาดับขันตอนดั
งกล่าวในแต่ละอุปกรณ์ก็จะแตกต่างกัน
่ การร ้องขออินเทอร ์ร ัพท ์เกิดขันงานที
้
่ พย
เมือมี
ซี
ี ท
ู าอยู่
่ั
ขณะนั้นจะถูกพักชวคราว
และทาการบันทึกสถานะ
่ ้ายการควบคุมในอุปกรณ์ทมี
ขณะนั้นเพือย
ี่ การร ้องขอ
หลังจากซีพย
ี ท
ู างานทีร่ ้องขอเสร็จก็จะกลับมาทางาน23
2. ดีไวซ ์ไดร ์เวอร ์ (Device Drivers)
24
่
เมือระบบปฏิ
บต
ั ก
ิ ารต ้องการจะติดต่อกับอุปกรณ์ใด ๆ
ระบบก็จะทาการติดต่อผ่านทางไดรเวอร ์ชนิ ดนั้นแล ้วไดรเวอร ์ก็
จะติดต่อกับอุปกรณ์จริง ๆ อีกทีหนึ่ ง การติดต่อของ
ระบบปฏิบต
ั ก
ิ ารกับไดรเวอร ์ของอุปกรณ์ใด ๆ ก็ตามจะมีรป
ู แบบ
่ ั ้อุปกรณ์น้ัน
เดียวกันหมด คือระบบปฏิบต
ั ก
ิ ารจะทาแค่สงให
่
ทางานโดยผ่านไดรเวอร ์แต่ละชนิ ดเท่านั้น โดยทีระบบไม่
จาเป็ นต ้องรู ้ว่าไดรเวอร ์นั้นจะไปทาอย่างไรกับอุปกรณ์
้ ปกรณ์ชนิ ดใหม่เข ้าไปใน
จะเห็นว่าถ ้าต ้องการติดตังอุ
ระบบคอมพิวเตอร ์ก็สามารถทาได ้ง่าย เพียงแต่นาโปรแกรมไดร
่ มากับอุปกรณ์ตด
้ ้าไปในระบบเท่านั้น
เวอร ์ทีมี
ิ ตังเข
ระบบปฏิบต
ั ก
ิ ารก็จะสามารถใช ้อุปกรณ์ดงั กล่าวได ้แล ้ว ในไดร
เวอร ์ยังมีตวั ควบคุมอุปกรณ์ (Device Controller) อีกตัวหนึ่ ง
่
่ ใ่ นตัวอุปกรณ์ทาหน้าทีร่ ับส่งคาสังระหว่
่
ซึงจะมี
รจี ส
ิ เตอร ์ทีอยู
าง
25
ตัวขับอุปกรณ์ (Device Drivers) กับตัวอุปกรณ์โดยตรง
3. Device Independent I/O Software
•
รูปแบบการติดต่อระหว่างอุปกรณ์กบั ระบบจะอยู่ในรูป
ของฟังก ์ช ันต่าง ๆ ดังนี ้
่ นลักษณะเฉพาะ
1. การอินเทอร ์เฟซทีเป็
ของดีไวซ ์ไดรเวอร ์ ความต ้องการของ
ระบบปฏิบต
ั ก
ิ ารคือ ต ้องการให ้ระบบสามารถติดต่อกับ
อุปกรณ์ด ้วยมาตรฐานเดียวกัน ไม่วา่ จะติดต่อกับดิสก ์
่
่
เครืองพิ
มพ ์ คีย ์บอร ์ด รวมถึงอุปกรณ์อน
ื่ ๆ เพือการ
่
ออกแบบระบบจะได ้ทาได ้ง่ายขึน้ โดยถ ้ามีการเพิม
อุปกรณ์ใหม่เข ้าไปในระบบ ระบบปฏิบต
ั ก
ิ ารไม่
จาเป็ นต ้องเขียนโปรแกรมติดต่อกับอุปกรณ์ใหม่น้ัน
26
้
เพียงแต่อป
ุ กรณ์ใหม่นันจะต ้องสร ้างให ้มีมาตรฐาน
3. Device Independent I/O Software
2. การจัดบัฟเฟอร ์ หน่ วยความจาบัฟเฟอร ์ถือว่ามี
ความสาคัญในการติดต่อระหว่างอุปกรณ์
เนื่ องจาก
ความสามารถของอุปกรณ์แต่ละชนิ ดมีความรวดเร็วใน
่
การทางานร ับส่งข ้อมูลทีแตกต่
างกัน
หน่ วยความจา
บัฟเฟอร ์จึงช่วยได ้ให ้การแก ้ปัญหาให ้ระบบสามารถ
ทางานได ้อย่างต่อเนื่ องไม่ต ้องเสียเวลาในการคอย
อุปกรณ์ทท
ี่ างานช ้ากว่า
27
3. Device Independent I/O Software
่ การ
3. การรายงานข้อผิดพลาด ในระหว่างทีมี
่
ติดต่อระหว่างอุปกรณ์มโี อกาสทีจะเกิ
ดข ้อผิดพลาดได ้
่ จะต ้องสามารถแสดงข ้อผิดพลาดที่
มาก ดังนั้นระบบทีดี
้ งกล่าว และสามารถแนะนาการแก ้ไขใน
เกิดขึนดั
้ ้นได ้ โดยทัวไประบบปฏิ
่
่ า
เบืองต
บต
ั ก
ิ ารจะมีฟังก ์ช ันทีท
่
หน้าทีในการตรวจสอบและรายงานข
้อผิดพลาดที่
้ ้
เกิดขึนได
4. การผู กและปล่อยอุปกรณ์ อุปกรณ์บางประเภท
้ั
เช่น CD-ROM สามารถอ่านหรือเขียนได ้ครงละ
้
อุปกรณ์เท่านั้น กลไกสาหร ับอุปกรณ์ประเภทนี จะ
28
่
่
ประกอบด ้วยฟังก ์ช ัน 2 ฟังก ์ช ันทีทาหน้าทีในการอ่าน
4. User Space I/O Software
ภายในอินพุต/เอาต ์พุตซอฟต ์แวร ์ ได้จด
ั
้ ไว้
่ สาหร ับเก็บค่าข้อมู ลต่าง ๆ เช่น Library
เนื อที
่ ใ้ ช้ได้
่
่
ผู
อมกับโปรแกรมที
Procedure เพือเชื
้ าให้เกิดความสะดวกและรวดเร็วใน
เขียนขึนท
้ งใช้สาหร ับทา
เวลาทางาน นอกจากนี ยั
่ กข้อมู ลไว้ชวคราวระหว่
่ั
่
Spooling เพือพั
างทีรอ
การส่งต่อไปยังอุปกรณ์ เช่น การทา Spooling
่
ของเครืองพิ
มพ ์
29
6. แอปพลิเคช ันอินพุต/เอาต ์พุตอินเทอร ์เฟซ
(Application I/OInterface)
30
4. User Space I/O Software
การแยกประเภทต่าง ๆ ของอุปกรณ์แบ่งตามลักษณะ ดงั นี ้
•
ลักษณะการร ับส่งข้อมู ล (Data transfer mode) อุปกรณ์ทมี
ี่
้ั
้ั
การส่งข้อมู ลครงละต
วั อ ักษร กบ
ั ครงละบล็
อกของข้อมู ล อุปกรณ์
้ แก่ ดิสก ์ เทอร ์มินอลต่าง ๆ เช่น คีย ์บอร ์ด
ประเภทนี ได้
•
วิธก
ี ารเข้าถึงข้อมู ล (Access method) การเข้าถึงข้อมู ลของ
อุปกรณ์แบบเรียงลาดบ
ั (Sequential access) หรือการเข้าถึง
้ แก่ โมเด็ม
แบบสุ่ม (Random access) อุปกรณ์เหล่านี ได้
ซีดรี อม
•
การจัดตารางการร ับส่งข้อมู ล (Transfer schedule) อุปกรณ์ทมี
ี่
การจ ัดเตรียมข้อมู ลแบบกาหนดช่วงเวลาได้ (Synchronous)
ก ับกาหนดช่วงเวลาไม่ได้ (Asynchronous) ได้แก่ เทป คีย ์บอร ์ด
เป็ นต้น
•
การใช้อป
ุ กรณ์รว่ มกน
ั (Sharing) อุปกรณ์ทสามารถใช้
ี่
รว่ มกัน
ในช่วงเวลาเดียวกน
ั ได้ (sharable) กับอุปกรณ์ทต้
ี่ องใช้ตา
่ ง
31
ช่วงเวลาก ัน(Dedicate) ได้แก่ คีย ์บอร ์ด เทป เป็ นต้น
6.8 การติดต่อระหว่างอุปกรณ์รอบข้าง
กับซีพย
ี ู
1. การพอลลิง่ (Polling)
•
•
่ สอนนักเรียน
การพอลลิง่ เปรียบเทียบได้ก ับการทีครู
ทุก ๆ 10 นาที ครู จะหยุดสอนและไล่ถามนักเรียนทีละ
่ กถามไม่ม ี
คนว่ามีปัญหาอะไรหรือไม่ ถ้านักเรียนคนทีถู
่
ข้อสงสัยก็จะเปลียนไปถามนั
กเรียนคนถ ัดไป แต่ถ ้า
้ ปัญหาจะถามครู กจ
นักเรียนคนนันมี
็ ะอนุ ญาตให้
้
่
นักเรียนคนนันถามได้
เมือถาม-ตอบเสร็
จแล้ว ครู กจ
็ ะไป
ถามนักเรียนคนถ ัดไปจนครบทุกคนแล้วครู กจ
็ ะกลับมา
่ านไปอีก 10 นาที ครู กว
ทาการสอนต่อไป และเมือผ่
็ น
กลับมาถามใหม่อก
ี ครง้ั
ข้อเสียของการพอลลิง่ คือ ถ้าอุปกรณ์ตา
่ ง ๆ ไม่
32 ค
ต้องการส่งข้อมู ลเลย ซีพย
ี ู จะเสียเวลาในการตรวจเช็
่
่
6.8 การติดต่อระหว่างอุปกรณ์รอบข้าง
กับซีพย
ี ู
2. การอินเทอร ์ร ัพท ์ (Interrupt)
•
•
่ มาก โดยเมืออุ
่ ปกรณ์ตวั
จะลดข้อเสียของการพอลลิงได้
ใดต้องการส่งข้อมู ล มันจะส่งสัญญาณผ่านทาง
่ พย
แชนแนลไปบอกซีพย
ี ู เมือซี
ี ู ร ับทราบแล้วจะหยุดงาน
่ าชวคราว
่ั
่
ทีท
เพือให้
อป
ุ กรณ์ทาการส่งข้อมูลจนกระทัง่
้ พย
่ างไว้ตอ
เสร็จสินซี
ี ู จงึ จะกลับไปทางานทีค้
่ ไป เปรียบได้
่ ณครู สอนไปเรือย
่ ๆ เมือนั
่ กเรียนคนใดจะถาม
ก ับการทีคุ
้
่
ก็ยกมือขึนเป็
นการบอกให้ครู ทราบ เมือครู
สงั เกตเห็น
่
นักเรียนยกมือก็จะเปิ ดโอกาสให้ซ ักถามได้ เมือจบแล้
วก็
่
เริมสอนต่
อไป
การติดต่อแบบอินเทอร ์ร ัพท ์ ซีพย
ี ูไม่ตอ
้ งเสียเวลาในการ
ตรวจเช็คความต้องการส่งข้อมู ลของอุปกรณ์ทุกตั33ว
6.8 การติดต่อระหว่างอุปกรณ์รอบข้าง
กับซีพย
ี ู
3. เมลบ็อกซ ์ (Mailbox)
้ ่
การติดต่อแบบนี ้
ระบบจะต้องเสียเนื อที
่ นทีส
่ าหร ับพัก
หน่ วยความจาบางส่วนเพือเป็
่ อป
ข้อมู ล เมือมี
ุ กรณ์ทต้
ี่ องการส่งข้อมู ล มันจะส่ง
ข้อมู ลไปไว้ทหน่
ี่ วยความจาส่วนนี ้
และทุก ๆ
่ าอยู ่เพือไป
่
ช่วงเวลาหนึ่ง ๆ ซีพย
ี ู จะหยุดงานทีท
่ วยความจาส่วนนี เพื
้ อดู
่ วา
ตรวจสอบทีหน่
่ มี
ข้อมู ลอยู ่หรือไม่ ถ้าไม่ม ี ซีพย
ี ู กจ
็ ะกลับไปทางาน
่ างไว้ แต่ถา้ มีมน
เดิมทีค้
ั จะร ับข้อมู ลเข้ามา
34
่
6.9 หน้าทีของ
OS ในการจัดการ
อุปกรณ์
่ นฐานของ
้
หน้าทีพื
OS ในการดู แลอุปกรณ์ตา
่ ง ๆ ในระบบ
่
คอมพิวเตอร ์ โดยทัวไปมี
ดงั นี ้ คือ
้ วิธท
1. ติดตามสถานะของอุปกรณ์ทุกชิน
ี นิ
ี่ ยมใช้คอ
ื มี UCB
้ เพือเก็
่ บข้อมู ล
(Unit Control Block) สาหร ับอุปกรณ์แต่ละชิน
่ าคญ
้ั ๆ UCB จะคล้ายกับ PCB ของ
ทีส
ั ต่าง ๆ ของอุปกรณ์นน
โปรเซส คือเป็ นโครงสร ้างข้อมู ลชนิ ดหนึ่ ง
2. กาหนดว่า อุปกรณ์ชนใดใครเป็
ิ้
นผู ใ้ ช้ จะใช้นานเท่าใด และ
่
่
่
้
เริมใช้
เมือไร
เพือให้
การใช้งานอุปกรณ์แต่ละชินเกิ
ดประโยชน์
่ ด จะต้องมีเทคนิ คในการจด
้ อ
มากทีสุ
ั อุปกรณ์ ดงั นี คื
– การยกให้ (Dedicated Device) เป็ นการกาหนดให้อป
ุ กรณ์
ถู กใช้ได้โดยโปรเซสเพียงโปรเซสเดียว
่ ๆ จะเข้ามาใช้อป
้ ได้
โปรเซสอืน
ุ กรณ์ตวั นี ไม่
– การแบ่งปั น (Shared Device) เป็ นการกาหนดให้อป
ุ กรณ์
ถู กใช้ได้โดยหลายโปรเซสร่วมกัน ไม่เป็ นของโปรเซสใด 35
่
่
6.9 หน้าทีของ
OS ในการจัดการ
อุปกรณ์
่
3. จัดสรรอุปกรณ์ (Allocate Device) เพือ
้
มอบหมายอุปกรณ์ชนนั
ิ ้ นให้
โปรเซส
4. การเรียกคืนอุปกรณ์ (Deallocate Device)
่
่
เมือโปรเซสที
ครอบครองอุ
ปกรณ์จบลง OS จะ
่ กครอบครองโดยโปรเซส
นาเอาอุปกรณ์ตา
่ งๆ ทีถู
้ นให้ก ับระบบ หมายความว่า อุปกรณ์ไม่ได้
นี คื
่ งจบสิ
่
้ อี
้ กต่อไป
ถูกครอบครองโดยโปรเซสทีเพิ
นนี
36
6.10 อุปกรณ์เสมือน (Virtual Device)
การทาอุปกรณ์เสมือน คือ การนาเอาอุปกรณ์ชนิ ด
หนึ่ งมาจาลองการทางานเป็ นอุปกรณ์อก
ี ชนิ ดหนึ่ ง
่ ้เกิดความคล่องตัวในการทางานของระบบ
เพือให
ตัวอย่างเช่น การทาแรมดิสก ์ (RAM disk) โดย
้ ส่
่ วนหนึ่งในหน่ วยความจา (RAM) ทา
กันเนื อที
เป็ นดิสก ์อีกต ัวหนึ่ง การติดต่อควบคุมแรมดิสก ์นี ้
จะเหมือนก ับการติดต่อควบคุมกับดิสก ์ธรรมดา
่ าลอง
่ าหน้าทีจ
ทุกอย่าง โดยจะผ่านโปรแกรมทีท
้
หน่ วยความจาเป็ นดิสก ์ โปรแกรมนี อาจเรี
ยกว่า
เป็ นต ัวขับอุปกรณ์เสมือนก็ได้
37
6.10 อุปกรณ์เสมือน (Virtual Device)
ข้อดี
- ทาให้ประหยัดเวลาเพราะการเข้าถึงแรมจะ
เร็วกว่าดิสก ์ แต่ถา้ หากเกิดไฟฟ้าด ับข้อมู ลต่าง ๆ
ก็จะหายไปตามธรรมชาติของแรม เราสามารถ
้ ดว้ ยการถ่ายข้อมู ลต่าง ๆ ทีอยู
่ ่ใน
แก้ปัญหานี ได้
แรมดิสก ์ลงในดิสก ์จริงเป็ นระยะ ๆ
38
6.10 อุปกรณ์เสมือน (Virtual Device)
•
การทาอุปกรณ์เสมือนอีกประเภทหนึ่งคือ
SPOOL (Simultaneous Peripheral
Operation On-Line) มักพบในคอมพิวเตอร ์
่ นการใช้อป
ระบบใหญ่ ๆ ซึงเป็
ุ กรณ์ทมี
ี่ ความเร็ว
่
สู งมาทางานแทนอุปกรณ์ทมี
ี่ ความเร็วตา
่
เช่น การส่งไฟล ์ข้อมู ลไปให้เครืองพิ
มพ ์ การ
่
่
ทางานของเครืองพิ
มพ ์จะช้ามากเมือ
เปรียบเทียบกับการทางานของซีพย
ี ู ทาให้ซพ
ี ย
ี ู
่
้ั
่
ต้องเสียเวลาในการรอเครืองพิ
มพ ์ ตงแต่
เริม
่ มพ ์เสร็จ ซึงอาจกิ
่
พิมพ ์จนกระทังพิ
นเวลานาน
39 ง
หลายนาที ถ้ามีโปรเซสหลายโปรเซสต้องการส่
6.10 อุปกรณ์เสมือน (Virtual Device)
้ ้ โดยใช ้ดิสก ์แทน
การทา SPOOL สามารถแก ้ปัญหานี ได
่
่ มพ ์
เครืองพิ
มพ ์ ดิสก ์มีการร ับส่งข ้อมูลได ้เร็วกว่าเครืองพิ
ดังนั้นจะมีโปรเซสหนึ่ งของ OS คือ SPOOLER ทา
่
่
หน้าทีจัดการเรื
องการท
า SPOOL ของระบบ โดย
่ องการส่งให้
จะร ับข้อมู ลจากโปรเซสต่าง ๆ ทีต้
่
่
เครืองพิ
มพ ์ แล้วนาไปเก็บลงในดิสก ์ก่อน เมือ
่
่
เครืองพิ
มพ ์ทางานของโปรเซสอืนเสร็
จแล้ว
้ เครืองพิ
่
SPOOLER ก็จะส่งข้อมู ลเหล่านี ให้
มพ ์
ต่อไป SPOOLER อาจร ันอยู ่บนโปรเซสเซอร ์ตัว
่ มี
่ ราคาถูกก็ได้ โดยให้โปรเซสเซอร ์ตวั นี ้
อืนที
40
่ SPOOL อย่างเดียว
ทางานเฉพาะเรือง
6.10 อุปกรณ์เสมือน (Virtual Device)
้ ้ โดยใช ้ดิสก ์แทน
การทา SPOOL สามารถแก ้ปัญหานี ได
่
่ มพ ์
เครืองพิ
มพ ์ ดิสก ์มีการร ับส่งข ้อมูลได ้เร็วกว่าเครืองพิ
ดังนั้นจะมีโปรเซสหนึ่ งของ OS คือ SPOOLER ทา
่
่
หน้าทีจัดการเรื
องการท
า SPOOL ของระบบ โดย
่ องการส่งให้
จะร ับข้อมู ลจากโปรเซสต่าง ๆ ทีต้
่
่
เครืองพิ
มพ ์ แล้วนาไปเก็บลงในดิสก ์ก่อน เมือ
่
่
เครืองพิ
มพ ์ทางานของโปรเซสอืนเสร็
จแล้ว
้ เครืองพิ
่
SPOOLER ก็จะส่งข้อมู ลเหล่านี ให้
มพ ์
ต่อไป SPOOLER อาจร ันอยู ่บนโปรเซสเซอร ์ตัว
่ มี
่ ราคาถูกก็ได้ โดยให้โปรเซสเซอร ์ตวั นี ้
อืนที
41
่ SPOOL อย่างเดียว
ทางานเฉพาะเรือง
6.10 อุปกรณ์เสมือน (Virtual Device)
42
6.10 อุปกรณ์เสมือน (Virtual Device)
43
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
ดิสก ์ (Disk)
ดิสก ์ทีใช ้งานกันในปัจจุบน
ั คือ ดิสก ์แม่เหล็ก
่ ท
่ า
(magnetic disk) เช่น ฮาร ์ดดิสก ์ ฟลอปปี ้ดิสก ์ สิงที
่ ยมใช ้สาหร ับเป็ นหน่ วยจัดเก็บข ้อมูลก็คอื
ให ้ดิสก ์เป็ นทีนิ
่ ดเก็บข ้อมูลชนิ ดอืน
่ การ
การเข ้าถึงข ้อมูลจะเร็วกว่าสือจั
้ บนดิ
่
จัดเนื อที
สก ์แม่เหล็กจะมีการจัดแบ่งออกเป็ นไซลิน
เดอร ์ (Cylinder) แต่ละไซลินเดอร ์แบ่งออกเป็ นแทร็ก
(track) และแต่ละแทร็กจะแบ่งออกเป็ นเซกเตอร ์
(sector) ถ ้าเป็ นฟลอปปี ้ดิสก ์จะมีจานวนของเซกเตอร ์จะ
อยู่ประมาณ 8 ถึง 32 เซกเตอร ์ แต่ถ ้าเป็ นฮาร ์ดดิสก ์ก็จะ
่ กทีสุ
่ ดทางด ้านตรรกะใน
เป็ นหลักร ้อยเซกเตอร ์ หน่ วยทีเล็
44
้ ่
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
บล็อกจะอยู ่เรียงกันตามลาดับในแต่ละเซกเตอร ์ โดย
่
เซกเตอร ์ 0 จะเป็ นเซกเตอร ์แรกของแทร็กแรกซึงอยู
่ทไซ
ี่
ลินเดอร ์ด้านนอกสุดของดิสก ์ การเรียงลาดับหมายเลข
่ ๆ
แทร็กและหมายเลขไซลินเดอร ์จะเรียงต่อก ันไปเรือย
จากด้านนอกสุดไปด้านในสุดของดิสก ์ จานวน เซกเตอร ์
่ ่ห่างจากจุด
ต่อแทร็กของฮาร ์ดิสก ์จะไม่คงที่ แทร็กทีอยู
่
ศู นย ์กลางของดิสก ์จะมีพนที
ื ้ ของแทร็
กมากทาให้ม ี
่ ่ใกล้จุดศู นย ์กลางของ
จานวนเซกเตอร ์มากกว่าแทร็กทีอยู
้
้ ออกเป็
่
ดิสก ์ ดังนันในดิ
สก ์สมัยใหม่จะมีการจัดแบ่งพืนที
น
2 ส่วน คือส่วนนอกจะมีจานวนเซกเตอร ์มากกว่า และใน
ส่วนในจะมีจานวนเซกเตอร ์น้อย เช่น ส่วนนอกมี 32
เซกเตอร ์ต่อแทรก ส่วนในจะมี 16 เซกเตอร ์ต่อแทร็ก (แทร็
45
่
่
กทีอยู ่นอกจะมีจานวนเซกเตอร ์มากกว่าแทร็กทีอยู ่ส่วนใน
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
1. การจัดเวลาการใช้ดส
ิ ก ์ (Disk Scheduling)
่ จะต้องมีการใช้งานทร ัพยากรต่าง ๆ ของ
ระบบปฏิบต
ั ก
ิ ารทีดี
้
ระบบอย่างมีประสิทธิภาพ การใช้งานดิสก ์ให้มป
ี ระสิทธิภาพนัน
่ ในการอ่านหรือบันทึก
สามารถพิจารณาได้จากระยะเวลาทีใช้
่
่ นนขึ
้ั นอยู
้
ข้อมู ล ซึงเวลาที
ใช้
่กบ
ั ปั จจย
ั 3 อย่างคือ
่
ระยะเวลาการค้นหา (seek time) หมายถึงระยะเวลาทีใช้
่
่
่ เซกเตอร ์ที่
ในการเคลือนที
หัวอ่
านไปยังไซลิน
เดอร ์ทีมี
ต้องการ
่ หมุนดิสก ์ (rotational laency) หมายถึง
ระยะเวลาทีใช้
่
่
ระยะเวลาทีรอคอยการหมุ
นดิสก ์เพือหาเซกเตอร
์ที่
ต้องการให้ตรงกับหัวอ่าน
ระยะเวลาการโอนย้ายข้อมู ล (transfer time) ส่วนใหญ่
่ ด
แล้วระยะเวลาในการค้นหาในดิสก ์จะมีความสาคญ
ั ทีสุ
้
ด ังนันการลดระยะเวลาในการค้
นหาจะทาให้การใช้งาน46
้ ประสิทธิภาพมากขึน
้ ซึงเรี
่ ยกวิธก
้ า การจัด
ดิสก ์นันมี
ี ารนี ว่
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
1. การจัดเวลาแบบมาก่อนได้กอ
่ น (FCFS
Scheduling)
รูปแบบมาก่อนได ้ก่อนได ้ก่อน หรือ FCFS (First Come First
้ นรูปแบบการทางานทีง่่ ายทีสุ
่ ดของการจัดเวลา
Served) นี เป็
การใช ้ดิสก ์ ตัวอย่างเช่นถ ้ามีลาดับของการเรียกใช ้ไซลินเดอร ์
เป็ น 98, 183, 37, 122, 14, 124, 65, 67 และมีหวั อ่านอยู่
่
่
่
ทีไซลิ
นเดอร ์ 53 หัวอ่านจะต ้องเคลือนที
จากไซลิ
นเดอร ์ที่ 53
่ ๆ จนกระทัง่
ไปยังไซลินเดอร ์ 98, 183, 37 เป็ นลาดับไปเรือย
่
่
้
ถึงไซลินเดอร ์ที่ 67 ดังนั้นหัวอ่านจะต ้องเคลือนที
ไปทั
งหมด
่ กษณะการเคลือนที
่
่
640 ไซลินเดอร ์ ซึงลั
ของหั
วอ่านจะเป็ นดัง
รูป 6.6
47
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
48
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
่ วอ่านเคลือนไปจากไซลิ
่
การทีหั
นเดอร ์
่
122 ไปยังไซลินเดอร ์ 14 และกลับมาทีไซ
้
ลินเดอร ์ 124 นันเป็
นปั ญหาหนึ่ งของการจัด
เวลาแบบมาก่อนได้กอ
่ น แต่ถา้ หัวอ่าน
่
่
เคลือนที
ไปยั
งไซลินเดอร ์ 37 และ 14 ก่อนที่
่
จะเคลือนไปยั
งไซลินเดอร ์ 122 และ 124 ก็จะ
่
่
ทาให้จานวนการเคลือนที
ของหั
วอ่านลดลง
่
และประสิทธิภาพของการทางานก็จะเพิม
้ วย
มากขึนด้
49
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
้ ดก่อนได้กอ
2. การจัดเวลาแบบเวลาสันสุ
่ น (SSTF
Scheduling)
้ ลก
่ วอ่านจะ
รูปแบบนี จะมี
ั ษณะการทางานทีหั
่
่ งไซลินเดอร ์ทีใกล
่
่ ดก่อน แล ้วถึงจะเคลือน
่
เคลือนที
ไปยั
้ทีสุ
่
้ ดได ้ก่อน
ไปยังไซลินเดอร ์ทีไกลออกไป
เรียกว่า เวลาสันสุ
หรือ SSTF (Shortest Seek Time First) จากตัวอย่าง
่ ้ว ไซลินเดอร ์ทีอยู
่ ่ใกล ้กับหัวอ่านปัจจุบน
ทีแล
ั (53) คือไซ
่ ดคือ 65 และไซลินเดอร ์ทีจะเคลื
่
่
่
้ทีสุ
อนต่
อไป
ลินเดอร ์ทีใกล
คือ 67, 37, 14, 122, 124 และ 183 ดังรูป 6.7 วิธก
ี าร
้ าให ้การเคลือนที
่
่
แบบนี จะท
ของหั
วอ่านเป็ นจานวน 236
่ อยกว่าวิธ ี FCFS ประมาณ 1 ใน 3 50
ไซลินเดอร ์ ซึงน้
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
51
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
่ ดขันกับวิ
้
้ อการคอยใช้บริการ
ปั ญหาทีเกิ
ธน
ี ี คื
่
ทีอาจจะไม่
ได้ร ับบริการ เช่น มีการเรียกใช้ไซลิน
่ วอ่านอยู ่ทไซลิ
เดอร ์ 14 และ 183 ในขณะทีหั
ี่
น
้ การเรียกใช้ไซลินเดอร ์ทีอยู
่ ่ใกล้ 14
เดอร ์ 14 นันมี
เข้ามา ระบบปฏิบต
ั ก
ิ ารจะให้บริการการเรียกใช้
้ั าสุดนี ก่
้ อน ทาให้ไซลินเดอร ์ที่ 180 จะต้อง
ครงล่
่ ๆ หรืออาจไม่ถูกเรียกใช้เลย
คอยต่อไปเรือย
่ ดเครือง
่ ถ้าหากว่ามีงานเข้ามาเรือย
่ ๆ
จนกระทังปิ
้
และงานนันอยู
่ใกล้ไซลินเดอร ์ของหัวอ่าน
มากกว่าไซลินเดอร ์ที่ 180
่ 52
จากต ัวอย่างถ้าเราปร ับปรุงลาด ับการเคลือน
่
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
3. การจัดเวลาแบบสแกน (SCAN Scheduling)
การจัดเวลาแบบ C-SCAN เป็ นอีกรู ปแบบ
หนึ่งของการจัดเวลาแบบ C-SCAN จะเหมือนกัน
่
่
่ วอ่านจากด้านหนึ่ งไป
ในเรืองของการเคลื
อนที
หั
่ งอีก
่ วอ่านเคลือนที
่
ยังอีกด้านหนึ่งของดิสก ์ เมือหั
ถึ
่
่
ด้านหนึ่งของดิสก ์เมือไร
หัวอ่านจะเคลือนย้
าย
กลับไปอีกด้านหนึ่งของดิสก ์ทันทีโดยไม่มก
ี าร
่
ให้บริการในระหว่างเคลือนย้
ายกลับ ด ังรู ป 6.9
53
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
54
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
ถ้ามีการเรียกใช้ไซลินเดอร ์เข้ามาและเป็ นไซ
่ ่กอ
้ จะ
ลินเดอร ์ทีอยู
่ นหน้าหัวอ่าน ไซลินเดอร ์นันก็
้ แต่ถา้ มีการเรียกใช้ไซลิน
ถูกเรียกใช้ในขณะนัน
่ ่หลังหัวอ่าน ก็จะต้องรอจนกว่าหัวอ่านจะ
เดอร ์ทีอยู
่ ปแบบการ
หมุนกลับไปอีกด้านหนึ่งของดิสก ์ ซึงรู
้ ยกว่า elevator algorithm
จัดเวลาแบบนี เรี
55
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
4. การจัดเวลาแบบซี-สแกน (CircularSCAN Scheduling)
การจัดเวลาแบบ C-SCAN เป็ นอีกรูปแบบหนึ่ ง
่
ของการจัดเวลาแบบ C-SCAN จะเหมือนกันในเรืองของ
่
่ วอ่านจากด ้านหนึ่ งไปยังอีกด ้านหนึ่งของ
การเคลือนที
หั
่ วอ่านเคลือนที
่
่ งอีกด ้านหนึ่งของดิสก ์เมือไร
่
ดิสก ์ เมือหั
ถึ
่
หัวอ่านจะเคลือนย
้ายกลับไปอีกด ้านหนึ่งของดิสก ์ทันที
่
โดยไม่มก
ี ารให ้บริการในระหว่างเคลือนย
้ายกลับ ดังรูป
6.9
56
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
57
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
5. การจัดเวลาแบบซี-ลุค (Circular-LOOK
Scheduling)
จากวิธก
ี ารทางานแบบ SCAN และ C-SCAN จะมีการ
่
่
เคลือนที
ของหั
วอ่านจากด ้านหนึ่ งของดิสก ์ไปยังอีกด ้าน
หนึ่ ง ในทางปฏิบต
ั ก
ิ แล ้วจะไม่มก
ี ารทาในลักษณะนี ้ โดย
่
่
ปกติแล ้วหัวอ่านจะเคลือนที
ไปด
้านใดด ้านหนึ่ งไกลเท่าที่
มีการขอใช ้บริการจากไซลินเดอร ์ แล ้วหัวอ่านจะ
่
่ บไปอีกด ้านหนึ่งในทันทีทน
เคลือนที
กลั
ั ใด หัวอ่านจะไม่
่
่
้ ยกว่า LOOK
เคลือนที
ไปจนสุ
ดด ้านใดด ้านหนึ่ ง วิธน
ี ี เรี
่ การ
หรือ C-LOOK เพราะหัวอ่านจะมองไซลินเดอร ์ทีมี
่
่
่ วอ่านไป ดังรูป 6.10
ขอใช ้ก่อนทีจะเคลื
อนที
หั
58
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
59
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
้ บนดิ
่
2. การจัดการเนื อที
สก ์ (Disk
Management)
การฟอร
์แมตดิสก ์ (Disk formatting)
ปกติแล ้วดิสก ์จะมีลก
ั ษณะเป็ นแผ่นทามาจากวัสดุ
ประเภทอลูมเิ นี ยมอัลลอยหรือแก ้ว โดยจะมีการเคลือบ
่ าดิสก ์มาบันทึกข ้อมูล
สารแม่เหล็กไว ้บนผิว ก่อนทีจะน
้ บนดิ
่
จะต ้องมีการจัดแบ่งเนื อที
สก ์โดยใช ้ซอฟต ์แวร ์เป็ น
่
้ ยกว่า การฟอร ์แมตระดับตา่
ตัวจัด ซึงกระบวนการนี
เรี
(low-level formatting) การฟอร ์แมตดิสก ์จะทาให ้
ดิสก ์ถูกแบ่งออกเป็ นแทร็กและเซกเตอร ์ โดยปกติแล ้วแต่
ละเซกเตอร ์จะประกอบไปด ้วย 3 ส่วน คือ ส่วนหัว
่ ขนาด 512
(header) ส่วนเก็บข ้อมูล (data area) ซึงมี
60
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
้ บนดิ
่
2. การจัดการเนื อที
สก ์ (Disk
Management)
61
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
หลังจากการทา low-level format ดิสก ์จะถูก
แบ่งออกเป็ นพาร ์ติชนั (partition) การแบ่งดิสก ์ลักษณะนี ้
่
เป็ นการแบ่งตามหลักตรรกวิทยา โดยทัวไปคอมพิ
วเตอรจะ
์
่
ใช ้เซกเตอร ์ 0 สาหร ับเก็บ master boot record ซึงจะมี
่
่
ข ้อมูลเกียวกั
บการบูตเครืองและตารางของพาร
์ติช ัน ตาราง
พาร ์ติชนั จะเป็ นข ้อมูลของเซกเตอร ์แรกและขนาดของแต่ละ
่
่ ได ้ 4 พาร ์ติชนั
พาร ์ติชนั ในเครืองเพนเที
ยมสามารถทีจะมี
้
นพาร ์ติชนั สาหร ับใช ้งาน windows
ถ ้าพาร ์ติชนั ทังหมดเป็
พาร ์ติชนั ก็จะมีชอเรี
ื่ ยกเป็ น C:, D:, E: และ F: ถ ้าพาร ์ติชนั
่ จาเป็ นทีจะต
่
ใดเป็ นพาร ์ติชนั สาหร ับบูตเครือง
้องกาหนดไว ้
ในตารางของพาร ์ติชนั ด ้วย หลังจากแบ่งพาร ์ติชนั แล ้ว
้
้
ขันตอนต่
อไปจะเป็ นขันตอนของการสร
้างไฟล ์ระบบ (file
่ ้นของไฟล ์ไว ้ใน 62
system) ระบบปฏิบต
ั ก
ิ ารจะเก็บค่าเริมต
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
Boot Block
โปรแกรม bootstrap นั้นจะถูกเก็บไว ้ในหน่ วยความจาแบบ ROM
่ งโปรเซสเซอร
่
เนื่ องจากข ้อมูลใน ROM จะมีทอยู
ี่ ่คงทีซึ
์สามารถ
่ การเปิ ดเครืองคอมพิ
่
เรียกใช ้งานได ้ทันทีเมือมี
วเตอร ์ และเนื่องจาก
ROM สามารถอ่านได ้อย่างเดียวทาให ้ไวร ัสไม่สามารถทาลายขอ้ มูล
่
ได ้ ปัญหาก็คอื ถ ้าต ้องการเปลียนแปลงโค
้ดใน bootstrap นั้นจาเป็ น
่
่ ROM ใหม่ ดังนั้นใน ROM จึงเก็บเฉพาะโปรแกรม
ทีจะต
้องเปลียน
่ าหน้าทีดึ
่ ง bootstrap ซึงเป็
่ นโปรแกรมทังหมดมาจาก
้
ส่วนเล็ก ๆ ทีท
่
ฮาร ์ดดิสก ์ ทาให ้เราสามารถเปลียนแปลงโค
้ดใน bootstrap ได ้ง่าย
กว่าการเก็บ bootstrap ไว ้ใน ROM bootstrap ในดิสก ์จะถูกเก็บ
่ ยกว่า boot block ซึงดิ
่ สก ์ทีมี
่ boot block จะ
อยู่ในพาร ์ติชนั ทีเรี
เรียกว่า boot disk หรือ system disk
่ ่ใน ROM จะทาการสังให
่ ้ disk
โปรแกรม bootstrap ทีอยู
controller อ่าน boot block มาไว ้ในหน่ วยความจาหลัก และ
63
่ าการประมวลผลโปรแกรม โปรแกรมเต็มของ bootstrap จะมี
เริมท
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
64
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
Bad Block
่ อนไหวและมี
่
เนื่ องจากดิสก ์มีชนส่
ิ ้ วนทีเคลื
ความคงทนต่อการใช ้
่ วอ่าน
งานไม่มากนัก โดยการทางานของดิสก ์นั้นจะเป็ นลักษณะทีหั
่
่
้ วของดิสก ์ ซึงท
่ าให ้มีโอกาสทีดิ
่ สก ์จะเกิดความ
เคลือนที
ไปมาอยู
่บนพืนผิ
่
่
้ั
้
เสียหายได ้จากการเคลือนที
ของหั
วอ่าน บางครงอาจเสี
ยหายทังหมด
่
้ อย ๆ คือเซกเตอร ์
จาเป็ นต ้องเปลียนดิ
สก ์ใหม่ และเหตุการณ์ทเกิ
ี่ ดขันบ่
่
เสีย (bad sector) ซึงอาจจะเสี
ยแค่เซกเตอร ์เดียวหรือหลายเซกเตอร ์
่ านมาจากเซกเตอร ์นนั้น
เซกเตอร ์เสียนั้นหมายความว่าข ้อมูลทีอ่
่ ตรงกับค่าทีได
่ ้ทาการบันทึกลงไปทีเซกเตอร
่
เป็ นค่าทีไม่
์นั้น ถ ้าความ
เสียหายนั้นเล็กน้อยอาจแค่ 2 หรือ 3 บิต ECC จะเป็ นผูแ้ ก ้ไขความ
่ างาน แต่ถ ้ามีความเสียหายมากก็จาเป็ นต ้อง
เสียหายนั้นให ้ตลอดเวลาทีท
มีวธิ ก
ี ารจัดการอย่างใดอย่างหนึ่ งกับ bad sector นั้น
ดิสก ์อาจจะมีข ้อบกพร่องมาจากโรงงานเลยเรียกว่า bad blocks
้ กจัดการได ้อยู่ 2 วิธค
่ า
ซึง่ bad blocks เหล่านี จะถู
ี อื คอนโทรลเลอร ์ทีท
65
่
้
่
่
่
หน้าทีจัดการกับพืนทีทีเสีย หรือตัวโปรแกรมระบบทาหน้าทีจัดการกับ
่ ดเก็บข้อมู ล
6.11 การจัดการสือจั
(Storage Management)
Bad Block
วิธก
ี ารใช ้เซกเตอร ์สารองแทน bad sector ทาได ้หลายวิธ ี ถ ้า
สมมติวา่ มีดส
ิ ก ์แทรกเดียว 30 เซกเตอร ์ และมีเซกเตอร ์สารอง 2 เซกเตอร ์
่ ่ controller จะจัดการกับ bad
ถ ้าเซกเตอร ์ 7 เป็ น bad sector สิงที
้
sector คือ controller จะทาการสร ้างเซกเตอร ์ 7 ขึนมาใหม่
บน
่
้
เซกเตอร ์สารอง อีกวิธห
ี นึ่ งคือทาการเลือนเซกเตอร
์ทังหมดออกไป
1
เซกเตอร ์
่
้
่ สก ์ได ้ติดตังและมี
้
ความผิดพลาดทีอาจเกิ
ดขึนหลั
งจากทีดิ
การใช ้
งานตามปกติ อาจจะเกิดจากการอ่านข ้อมูลผิดพลาด ถ ้า ECC ไม่
สามารถจัดการกับความผิดพลาดนั้นได ้หัวอ่านก็จะกลับไปอ่านข ้อมูลเดิม
้ั ่ ง บางครงการอ่
้ั
้ ยงชัวคราว
่
นั้นอีกครงหนึ
านข ้อมูลผิดพลาดอาจเกิดขึนเพี
่ วอ่านสกปรกมีฝุ่นเกาะ ถ ้าตัว controller ตรวจสอบ
โดยเกิดจากการทีหั
พบว่ามีการอ่านข ้อมูลผิดพลาดจากเซกเตอร ์นั้นหลาย ๆ ครง้ั
่
controller จะทาการย ้ายข ้อมูลจากเซกเตอร ์นั้นไปไว ้ทีเซกเตอร
์สารอง66
โดยอัตโนมัติ ตามปกติวธิ แี ก ้ปัญหาแบบแรกนั้นมักจะใช ้กับกรณี ที่