1 / 29

Advanced Operating System Operating System Technology

Advanced Operating System Operating System Technology. SECONDARY STORAGE STRUCTURE. โครงสร้างของหน่วยเก็บข้อมูลสำรอง. โครงสร้างของดิสก์ (Disk Structure). ดิสก์ในปัจจุบันมีหลายประเภท ที่ใช้งานกันอยู่ทั่วไปคือ ดิสก์แม่เหล็ก (Magnetic disk) เช่น ฮาร์ดดิสก์ ฟล็อปปี้ดิสก์ Handy drive

sibyl
Télécharger la présentation

Advanced Operating System Operating System Technology

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Advanced Operating System Operating System Technology SECONDARY STORAGE STRUCTURE โครงสร้างของหน่วยเก็บข้อมูลสำรอง

  2. โครงสร้างของดิสก์ (Disk Structure) • ดิสก์ในปัจจุบันมีหลายประเภท ที่ใช้งานกันอยู่ทั่วไปคือ ดิสก์แม่เหล็ก (Magnetic disk) เช่น ฮาร์ดดิสก์ ฟล็อปปี้ดิสก์ Handy drive • การจัดเนื้อที่บนดิสก์แม่เหล็กจะมีการจัดแบ่งออกเป็นไซลินเดอร์(Cylinder) • ในแต่ละไซลินเดอร์จะแบ่งออกเป็นแทร็ก (Track) • ในแต่ละแทร็กจะแบ่งออกเป็นเซ็กเตอร์ (sector) • ถ้าเป็นแผ่นฟล็อปปี้ดิสก็จะมีเซ็กเตอร์ประมาณ 8 ถึง 32 เซ็กเตอร์ • ฮาร์ดดิสก์มีจำนวนเซ็กเตอร์หลายร้อยเซ็กเตอร์ • หน่วยเล็กที่สุดทางด้านตรรกะในการอ้างอิงถึงเนื้อที่บนดิสก์คือ บล็อก (Logical block)

  3. โครงสร้างของดิสก์ (Disk Structure) • ขนาดของ บล็อกจะมีขนาด 512 ไบต์ หรืออาจจะกำหนดให้ 1 บล็อกให้มีขนาด 1024 ไบต์ก็ได้ • บล็อกจะอยู่เรียงกันตามลำดับในแต่ละเซ็กเตอร์ โดยเซ็กเตอร์ 0 จะเป็นเซ็กเตอร์แรกของแทร็กแรกที่อยู่ไซลินเดอร์ด้านนอกสุดของดิสก์ • จำนวนเซ็กเตอร์ต่อแทร็กนั้นไม่คงที่ • ดิสก์สมัยใหม่จะมีการจัดแบ่งพื้นที่ออกเป็น 2 ส่วนคือ • ส่วนนอกจะมีจำนวนเซ็กเตอร์มาก • ส่วนในจะมีจำนวนเซ็กเตอร์น้อย

  4. โครงสร้างของดิสก์ (Disk Structure)

  5. โครงสร้างของดิสก์ (Disk Structure)

  6. Hard Disks • Platters range from .85” to 14” (historically) • Commonly 3.5”, 2.5”, and 1.8” • Range from 30GB to 3TB per drive • Performance • Transfer Rate – theoretical – 6 Gb/sec • Effective Transfer Rate – real – 1Gb/sec • Seek time from 3ms to 12ms – 9ms common for desktop drives • Average seek time measured or calculated based on 1/3 of tracks • Latency based on spindle speed • 1 / (RPM / 60) = 60 / RPM • Average latency = ½ latency (From Wikipedia)

  7. Hard Disk Performance • Access Latency = Average access time = average seek time + average latency • For fastest disk 3ms + 2ms = 5ms • For slow disk 9ms + 5.56ms = 14.56ms • Average I/O time = average access time + (amount to transfer / transfer rate) + controller overhead • For example to transfer a 4KB block on a 7200 RPM disk with a 5ms average seek time, 1Gb/sec transfer rate with a .1ms controller overhead = • 5ms + 4.17ms + 0.1ms + transfer time = • Transfer time = 4KB / 1Gb/s * 8Gb / GB * 1GB / 10242KB = 32 / (10242) = 0.031 ms • Average I/O time for 4KB block = 9.27ms + .031ms = 9.301ms

  8. The First Commercial Disk Drive 1956 IBM RAMDAC computer included the IBM Model 350 disk storage system 5M (7 bit) characters 50 x 24” platters Access time = < 1 second

  9. Solid-State Disks • Nonvolatile memory used like a hard drive • Many technology variations • Can be more reliable than HDDs • More expensive per MB • Maybe have shorter life span • Less capacity • But much faster • Busses can be too slow -> connect directly to PCI for example • No moving parts, so no seek time or rotational latency

  10. Magnetic Tape • Was early secondary-storage medium • Evolved from open spools to cartridges • Relatively permanent and holds large quantities of data • Access time slow • Random access ~1000 times slower than disk • Mainly used for backup, storage of infrequently-used data, transfer medium between systems • Kept in spool and wound or rewound past read-write head • Once data under head, transfer rates comparable to disk • 140MB/sec and greater • 200GB to 1.5TB typical storage

  11. Disk Structure • Disk drives are addressed as large 1-dimensional arrays of logical blocks, where the logical block is the smallest unit of transfer • Low-level formatting creates logical blocks on physical media • The 1-dimensional array of logical blocks is mapped into the sectors of the disk sequentially • Sector 0 is the first sector of the first track on the outermost cylinder • Mapping proceeds in order through that track, then the rest of the tracks in that cylinder, and then through the rest of the cylinders from outermost to innermost • Logical to physical address should be easy • Except for bad sectors • Non-constant # of sectors per track via constant angular velocity

  12. Disk Attachment • Host-attached storage accessed through I/O ports talking to I/O busses • SCSI itself is a bus, up to 16 devices on one cable, SCSI initiatorrequests operation and SCSI targetsperform tasks • Each target can have up to 8 logical units(disks attached to device controller) • FC is high-speed serial architecture • Can be switched fabric with 24-bit address space – the basis of storagearea networks(SANs) in which many hosts attach to many storage units • I/O directed to bus ID, device ID, logical unit (LUN)

  13. การจัดตารางของดิสก์ (Disk Scheduling) • หนึ่งในความรับผิดชอบของระบบปฏิบัติการ คือ ต้องใช้ฮาร์ดแวร์อย่างมีประสิทธิภาพสำหรับดิสก์ (disk drive) • คือ มีเวลาในการเข้าถึงอย่างรวดเร็ว (fast access time) และ disk bandwidth • เวลาในการเข้าถึง มี 2 องค์ประกอบหลัก คือ • เวลาในการค้นหา (seek time)คือ เวลาที่แขนของดิสก์เคลื่อนหัวอ่านไปสู่ไซเรนเดอร์ที่มีเซกเตอร์ที่ต้องการ • เวลาในการหมุนหัวอ่าน (rotational latency)คือ เวลาในการรอคอยที่เพิ่มขึ้นสำหรับดิสก์ในการหมุนเซกเตอร์ที่ต้องการมาสู่หัวอ่าน

  14. การจัดตารางของดิสก์ (Disk Scheduling) • disk bandwidthคือ จำนวนไบต์ทั้งหมดที่ถูกโอนย้ายมา จากเวลาทั้งหมดตั้งแต่การร้องขอบริการครั้งแรกจนถึงการโอนย้ายครั้งสุดท้ายเสร็จสิ้น • สามารถปรับปรุงทั้งเวลาในการเข้าถึง และ bandwidth โดยการจัดตารางบริการของการร้องขอรับ-ส่งข้อมูลของดิสก์ในลำดับที่ดี • ถ้าดิสก์ (disk drive) และตัวควบคุม (controller) ว่าง การร้องขอจะได้รับบริการทันที • ถ้าไม่ว่าง การร้องขอใหม่จำเป็นต้องนำไปไว้ในแถวคอย (disk queue) สำหรับระบบ multiprogramming ที่มีหลายกระบวนการ แถวคอยของดิสก์อาจมีการร้องขออยู่หลายตัว • เมื่อการร้องขอหนึ่งได้รับบริการแล้ว ระบบปฏิบัติการจึงมีโอกาสที่จะเลือกการร้องขอใหม่มาให้บริการถัดไป

  15. การจัดตารางแบบมาก่อน-ได้ก่อน (FCFS Scheduling) • รูปแบบที่ง่ายที่สุดของการจัดตารางของดิสก์ คือ มาก่อน-ได้ก่อน (first-come, first-served;FCFS) พิจารณาตัวอย่าง ถ้าแถวคอยของดิสก์ มีการร้องขอการรับส่งข้อมูลของบล็อคบนไซเรนเดอร์ดังนี้ • 98 , 183 , 37 , 122 , 14 , 124 , 65 , 67 • ถ้าหัวอ่านเริ่มต้นที่ไซเรนเดอร์ที่ 53 มันจะเริ่มเคลื่อนในครั้งแรกจาก 53 ไป 98 แล้วจึงไป 183 , 37 , 122 , 14 , 124 , 65 และสุดท้ายที่ 67 สำหรับการเคลื่อนย้ายหัวอ่านทั้งหมด 640 ไซเรนเดอร์

  16. การจัดตารางแบบมาก่อน-ได้ก่อน (FCFS Scheduling)

  17. การจัดตารางแบบมาก่อน-ได้ก่อน (FCFS Scheduling) • ปัญหาของการจัดตารางวิธีนี้ • จากการเหวี่ยงกว้างจาก 122 ไป 14 แล้วกลับมา 124 • ถ้าการร้องขอสำหรับไซเรนเดอร์ 37 และ 14 ได้รับบริการต่อกัน ก่อนหรือหลังการร้องขอที่ 122 และ 124 การเคลื่อนย้ายหัวอ่านทั้งหมดน่าจะลดลงอย่างมาก • ดังนั้นสมรรถนะ (performance) ควรจะได้รับการปรับปรุง

  18. การจัดตารางแบบเวลาในการค้นหาสั้นที่สุดได้ก่อน (SSTF Scheduling) • เลือกการร้องขอที่มีเวลาในการค้นหาน้อยที่สุดจากตำแหน่งปัจจุบันของหัวอ่าน (Shortest Seek Time First; SSTF) • เลือกการร้องขอที่ใกล้ที่สุดกับตำแหน่งปัจจุบันของหัวอ่าน • จากตัวอย่างที่แล้ว 98 , 183 , 37 , 122 , 14 , 124 , 65 , 67 • การร้องขอที่ใกล้กับตำแหน่งเริ่มต้นของหัวอ่านที่สุด (53) คือที่ไซเรนเดอร์ 65 • เคลื่อนมาที่ไซเรนเดอร์ 65 การร้องขอที่ใกล้ที่สุดถัดไปคือที่ไซเรนเดอร์ 67 จากนั้นการร้องขอที่ไซเรนเดอร์ 37 จะใกล้กว่า 98 ดังนั้น 37 จะได้รับบริการถัดไป ต่อมาเราบริการการร้องขอที่ไซเรนเดอร์ 14 แล้วเป็น 98 , 122 , 124 และสุดท้ายที่ 183

  19. การจัดตารางแบบเวลาในการค้นหาสั้นที่สุดได้ก่อน (SSTF Scheduling)

  20. การจัดตารางแบบเวลาในการค้นหาสั้นที่สุดได้ก่อน (SSTF Scheduling) • การเคลื่อนย้ายหัวอ่านทั้งหมดมีเพียง236 ไซเรนเดอร์เท่านั้น น้อยกว่า 1 ใน 3 ของระยะทางของวิธี FCFS วิธีนี้ทำให้สมรรถนะได้รับการปรับปรุงอย่างมาก • การจัดตารางแบบ SSTF เหมือนกับ SJF มันอาจจะเกิดปัญหาการแช่เย็น (starvation) การร้องขออาจมาถึงที่เวลาต่าง ๆ กัน • สมมติว่าเรามีการร้องขอ 2 ตัวในแถวคอย สำหรับไซเรนเดอร์ 37และ 186 และขณะที่กำลังบริการการร้องขอจาก 37 • การร้องขอใหม่ใกล้ 37มาถึงการร้องขอใหม่นี้จะได้รับบริการเป็นรายถัดไป ทำให้การร้องขอที่ 186 ต้องรอก่อน • ในขณะที่การร้องขอนี้กำลังได้รับบริการ การร้องขออีกตัวที่ใกล้ 37มาถึงอีก เป็นเหตุให้การร้องขอสำหรับไซเรนเดอร์ 186 จะต้องรออย่างไม่สิ้นสุด สิ่งนี้จะเป็นการเพิ่มแถวคอยการร้องขอให้ยาวขึ้น

  21. การจัดตารางแบบเวลาในการค้นหาสั้นที่สุดได้ก่อน (SSTF Scheduling) • ถึงแม้ว่าวิธี SSTF จะปรับปรุงมาจาก FCFS แต่มันยังไม่ดีที่สุด จากตัวอย่าง • สามารถทำได้ดีกว่าโดยการเคลื่อนหัวอ่านจาก 53 ไป 37 ถึงแม้ว่า 37 จะไม่ใกล้ที่สุด จากนั้นไป 14 ก่อนจะกลับไป 65 , 67 , 98 , 122 , 124 และ 183 • วิธีเป็นการลดการเคลื่อนย้ายหัวอ่านทั้งหมดเหลือ 208 ไซเรนเดอร์

  22. การจัดตารางแบบกวาด (SCAN Scheduling) • วิธีแบบกวาด (SCAN) แขนของดิสก์เริ่มต้นที่จุดสิ้นสุดจุดหนึ่งของดิสก์ (A) และเคลื่อนไปยังจุดสิ้นสุดอื่น (B)การบริการการร้องขอจะทำได้เมื่อมันมาถึงในแต่ละไซเรนเดอร์ จนกระทั่งมันไปถึงจุดสิ้นสุดอื่นของดิสก์ (B) ที่จุดสิ้นสุดอื่น (B) ทิศทางของการเคลื่อนของหัวอ่านจะถูกย้อนกลับและให้บริการต่อไป หัวอ่านจะกวาดไปข้างหน้าและข้างหลังผ่านดิสก์ไปเรื่อย ๆ พิจารณาตัวอย่างเดิม • ก่อนจะใช้วิธีจัดตารางแบบกวาด กับการร้องขอบนไซเรนเดอร์ 98 , 183 , 37 , 122 , 14 , 124 , 65 และ 67 เราจำเป็นต้องรู้ทิศทางของการเคลื่อนหัวอ่านก่อน โดยถ้าตอนนี้ตำแหน่งปัจจุบันของหัวอ่านคือ 53 ถ้าแขนของดิสก์กำลังเคลื่อนไปทาง 0 หัวอ่านจะบริการ 37 และจากนั้นเป็น 14 ที่ไซเรนเดอร์ 0 แขนจะย้อนกลับและจะเคลื่อนผ่านจุดสิ้นสุดอื่นของดิสก์ (ที่ไม่ใช่ 0) การบริการการร้องขอจะทำที่ 65 , 67 , 98 , 122 , 124 และ 183

  23. การจัดตารางแบบกวาด (SCAN Scheduling)

  24. การจัดตารางแบบกวาด (SCAN Scheduling) • ถ้าการร้องขอที่พึ่งจะมาอยู่ในแถวคอยหน้าของหัวอ่าน มันก็จะได้รับบริการเกือบจะทันที ส่วนการร้องขอที่พึ่งจะมาถึงหลังหัวอ่าน ก็จะต้องรอจนกระทั่งแขนเคลื่อนไปถึงจุดสิ้นสุดของดิสก์แล้วย้อนกลับมาอีกครั้ง

  25. การจัดตารางแบบกวาดเป็นวง (C-SCAN Scheduling) • วิธีการกวาดเป็นวง (Circular SCAN:C-SCAN) คือ การเปลี่ยนแปลงของการกวาดซึ่งถูกออกแบบมาเพื่อจัดการกับเวลารอคอยที่มากกว่า 1 รูปแบบ • แบบกวาดเป็นวงจะเคลื่อนหัวอ่านจากจุดสิ้นสุดจุดหนึ่ง (A) ของดิสก์ไปสู่อีกจุดหนึ่ง (B) ที่มีความหนาแน่นของการร้องขอมากกว่า และมันจะกลับไปสู่จุดเริ่มต้นของดิสก์ในทันที โดยไม่บริการการร้องขอใด ๆ ในขากลับนี้ • การจัดตารางแบบกวาดเป็นวงนี้เป็นสิ่งจำเป็นสำหรับการจัดการกับไซเรนเดอร์แบบวงกลม ซึ่งล้อมรอบจากไซเรนเดอร์สุดท้ายไปสู่ไซเรนเดอร์แรก

  26. การจัดตารางแบบกวาดเป็นวง (C-SCAN Scheduling)

  27. การจัดตารางแบบ LOOK (LOOK Scheduling) • จะเห็นว่า ทั้งแบบกวาดและกวาดเป็นวงจะเคลื่อนแขนดิสก์ไปทั่วทั้งดิสก์ ในทางปฏิบัติ ไม่มีวิธีไหนที่เอาไปใช้จริงได้ • ในความเป็นจริงแขนดิสก์จะไปไกลเพียงแค่การร้องขอสุดท้ายเท่านั้นในแต่ละทิศทาง จากนั้นมันก็จะย้อนกลับไปอีกทางทันที โดยไม่ต้องไปจุดสิ้นสุดของดิสก์ การทำเช่นนี้เรียกว่า LOOK และ C-LOOK เพราะมันมองการร้องขอก่อนจะเคลื่อนไปยังทิศทางที่ได้

  28. การจัดตารางแบบ C-LOOK (C-LOOK Scheduling)

  29. การเลือกวิธีการจัดตารางของดิสก์(Selection of a Disk-Scheduling Algorithm) • วิธี SSTF ดูจะธรรมดาและความเป็นไปได้ตามธรรมชาติ • วิธี SCAN และ C-SCAN ใช้ได้ดีสำหรับระบบที่มีภาระหนักบนดิสก์ • สมรรถนะขึ้นอยู่กับจำนวนและชนิดของการร้องขอ • วิธีการจัดตารางของดิสก์ในระบบปฏิบัติการควรจะถูกเขียนเป็นโมดูลที่แยกกัน โดยอนุญาตให้แทนที่ด้วยวิธีที่ต่างกันได้ถ้าจำเป็น • วิธี SSTF หรือ LOOK น่าจะเป็นทางเลือกที่มีเหตุผลเหมาะสำหรับการนำไปใช้จริง

More Related