ใบงานที่ 7 การจัดการอุปกรณ์ Device Management
- รับลิงก์
- X
- อีเมล
- แอปอื่นๆ
ใบงานที่ 7 การจัดการอุปกรณ์ Device Management
การจัดการอุปกรณ์
Device Management
นาย ธนาธิป เล็กกุล รหัส 6031280003
ลักษณะของอุปกรณ์ (Device Characteristic)•อุปกรณ์อินพุต-เอ้าต์พุต (Input/Output Device)
•อุปกรณ์เก็บข้อมูล (Storage Device)
อุปกรณ์อินพุต-เอ้าต์พุต (Input/Output Device)
•อุปกรณ์อินพุต คืออุปกรณ์ที่ทำให้คอมพิวเตอร์สามารถสัมผัสและรับรู้สิ่งต่าง ๆ จากโลกภายนอกได้ เช่น เครื่องอ่านบัตร คีย์บอร์ด เมาส์
•อุปกรณ์เอ้าต์พุต คือ อุปกรณ์ที่ทำให้คอมพิวเตอร์ ควบคุมหรือส่งผลออกมาสู่โลกภายนอกได้ เช่น จอภาพ เครื่องพิมพ์
•แบ่งได้เป็น 2 ประเภทคือ
–อุปกรณ์ชนิดข้อมูลเป็นสาย (Stream)
–อุปกรณ์ชนิดข้อมูลไม่เป็นสาย (Non-Stream)
อุปกรณ์ชนิดข้อมูลเป็นสาย (Stream)
•ข้อมูลที่ส่งเข้าออกจะเรียงมาเป็นลำดับก่อนหลัง
•การแบ่งแยกข้อมูลทำได้โดยตรวจสอบลำดับของข้อมูล
•สามารถจัดการได้ง่าย
•อุปกรณ์เหล่านี้ได้แก่ คีย์บอร์ด เครื่องพิมพ์

อุปกรณ์ชนิดข้อมูลไม่เป็นสาย (Non-Stream)
•ข้อมูลที่ส่งและรับไม่ขึ้นอยู่กับลำดับการส่ง
•ต้องอาศัยข้อมูลเพิ่มเติมเพื่อที่จะแยกแยะข้อมูลแต่ละตัวและมีวิธีจัดการโดยเฉพาะ
•อุปกรณ์ชนิดนี้ได้แก่ จอภาพ
อุปกรณ์เก็บข้อมูล (Storage Device)
•เป็นอุปกรณ์เก็บข้อมูลที่คอมพิวเตอร์ใช้เก็บข้อมูลต่าง ๆ
•ข้อมูลสามารถถูกดึงหรือเรียกกลับมาใช้ได้ในภายหลัง
•แบ่งเป็น 2 ประเภทคือ
–อุปกรณ์ที่มีการเข้าถึงแบบลำดับ (Serial Access Storage Device)
–อุปกรณ์ที่มีการเข้าถึงโดยตรง (Direct Access Storage Device)
อุปกรณ์ที่มีการเข้าถึงแบบลำดับ (Serial Access Storage Device)
•การเข้าถึง (Access) ต้องเป็นไปตามลำดับ เรียงไปจนถึงตำแหน่งที่ต้องการ
•การเก็บข้อมูลจะเก็บเป็นกลุ่ม ๆ ไม่มีแอดเดรสของแต่ละกลุ่ม การอ่านต้องอ่านเข้ามาทีละกลุ่มแล้วตรวจสอบว่าเป็นกลุ่มที่ต้องการหรือไม่จนพบข้อมูล
•อุปกรณ์พวกนี้ได้แก่ เทป
อุปกรณ์ที่มีการเข้าถึงโดยตรง (Direct Access Storage Device)
•ข้อมูลจะถูกจัดไว้เป็นกลุ่มในระดับบล็อกหรือ เซกเตอร์ แต่ละกลุ่มจะมีแอสเดรสของตัวเอง
•การเข้าถึงทำได้โดยกำหนดแอดเดรสของข้อมูลกลุ่มนั้นทำให้การเข้าถึงสามารถเข้าถึงได้โดยตรงไม่ต้องผ่านข้อมูลกลุ่มอื่น
•อุปกรณ์พวกนี้ได้แก่ ดิสก์
ตัวควบคุมอุปกรณ์ (Device Controller)
•อุปกรณ์แต่ละประเภทจะประกอบด้วยกลไกต่าง ๆ และส่วนที่เป็นวงจรอิเล็กทรอนิกส์
•สำหรับส่วนที่เป็นวงจรอิเล็กทรอนิกส์เราเรียกว่าชิพ ที่ประกอบรวมกันอยู่บนเซอร์กิตบอร์ด (Circuit board) ซึ่งส่วนนี้เองที่ถูกเรียกว่า ตัวควบคุมอุปกรณ์
•ตัวควบคุมอุปกรณ์ทำหน้าที่ควบคุมการทำงานของอุปกรณ์ ตรวจสอบและแก้ไขข้อผิดพลาดเมื่อเกิดขึ้น
•ในแต่ละอุปกรณ์ก็จะมีตัวควบคุมอุปกรณ์นั้น ๆ เช่น
–ตัวควบคุมจอภาพ หรือรู้จักกันในนามของการ์ดจอภาพ
–ตัวควบคุมดิสก์ หรือรู้จักกันในนามของดิสก์คอนโทรเลอร์ (Disk Controller)
ตัวขับอุปกรณ์ (Device drivers)
•อุปกรณ์แต่ละชนิดย่อมมีลักษณะที่แตกต่างกันออกไปในหลาย ๆ อย่าง ทั้งการติดต่อรับส่งข้อมูล การควบคุมการทำงานภายในอุปกรณ์
•ถ้าเราให้ OS เป็นผู้ควบคุมทุกอุปกรณ์ ตัว OS จะต้องรู้การทำงานของอุปกรณ์แต่ละชนิดอย่างละเอียด รวมทั้งกรณีที่มีการพัฒนาอุปกรณ์ใหม่ ๆ ขึ้นมาก็จะต้องมีการแก้ไขให้ OS รู้จักอุปกรณ์ตัวใหม่อยู่ตลอดเวลา
•ด้วยความไม่สะดวกดังกล่าวผู้ออกแบบ OS จึงได้ทำการแยกเอาส่วนควบคุมอุปกรณ์ทั้งหมดออกจากระบบ โปรแกรมที่แยกตัวออกมานั้นมีหน้าที่ควบคุมการ ติดต่อกับอุปกรณ์เหล่านั้นเราเรียกว่า ตัวขับอุปกรณ์ (Device drivers)


หน้าที่ของ OS ในการจัดการอุปกรณ์•ติดตามสถานะของอุปกรณ์ทุกชิ้น โดยจะมี UCB (Unit control block) สำหรับอุปกรณ์แต่ละชิ้นเพื่อเก็บข้อมูลที่สำคัญต่าง ๆ ของอุปกรณ์นั้น ๆ
•กำหนดการให้ใช้งานเมื่อมีการร้องขออุปกรณ์โดยมีเทคนิคอยู่ 3 ประการ
–การยกให้ (Dedicated device) เป็นการกำหนดให้อุปกรณ์ถูกใช้ได้โดยโปรเซสเพียงโปรเซสเดียว โปรเซสอื่น ๆ จะเข้ามาใช้อุปกรณ์ตัวนี้ไม่ได้
–การแบ่งปัน (Shared device) เป็นการกำหนดให้อุปกรณ์ถูกใช้ได้โดยหลายโปรเซสร่วมกัน ไม่เป็นของโปรเซสใดโปรเซสหนึ่ง
–การปลอม (Virtual device) เป็นการจำลองอุปกรณ์ชิ้นหนึ่งให้เป็นอุปกรณ์อีกชิ้นหนึ่ง
•จัดสรร (Allocate) อุปกรณ์ เพื่อมอบหมายอุปกรณ์ชิ้นนั้นให้โปรเซสที่ร้องขอ
•เรียกคืน (Deallocate) อุปกรณ์เมื่อโปรเซสที่ครอบครองอุปกรณ์ทำงานจบลง หรือต้องการคืนอุปกรณ์ให้กับระบบ
•ควบคุมและขัดจังหวะการรับส่งข้อมูลระหว่างอุปกรณ์กับซีพียู หรือหน่วยความจำ
การรับส่งข้อมูลระหว่าง CPU กับอุปกรณ์
•เมื่อโปรเซสต้องการส่งข้อมูลให้กับอุปกรณ์ต่าง ๆ ข้อมูลที่จะส่งจะถูกเก็บไว้ในหน่วยความจำ
•การส่งจะกระทำโดย CPU เป็นผู้ดึงข้อมูลมาจากหน่วยความจำและส่งไปให้อุปกรณ์ต่าง ๆ
•ในทางกลับกันเมื่ออุปกรณ์ต่าง ๆ ต้องการส่งข้อมูลให้โปรเซส ข้อมูลจะถูกส่งผ่าน CPUไปไว้ในหน่วยความจำ จากนั้นโปรเซสจึงนำข้อมูลไปใช้ได้
•วิธีการรับส่งข้อมูล มีอยู่ 3 วิธี ได้แก่
–การพอลลิ่ง (Polling)
–การอินเตอร์รัพต์ (Interrupt)
–เมลบ็อกซ์ (Mailbox)
การพอลลิ่ง (Polling)
•ลักษณะการติดต่อแบบนี้คือ ทุก ๆ ช่วงเวลาหนึ่งซีพียูจะหยุดงานที่ทำอยู่ชั่วคราวและไปตรวจเช็คที่แต่ละแชนเนลเพื่อดูว่ามีอุปกรณ์ใดต้องการส่งข้อมูลบ้างตั้งแต่ตัวแรก-ตัวสุดท้าย จนกระทั้งหมดซีพีจะกลับไปทำงานตามเดิม
การอินเตอร์รัพต์ (Interrupt)
•เมื่ออุปกรณ์ตัวใดต้องการส่งข้อมูล จะส่งสัญญาณผ่านทางแชนแนลไปบอกซีพียู เมื่อซีพียูทราบก็จะหยุดงานชั่วคราวแล้วไปรับรับส่งข้อมูลจนเสร็จสิ้น แล้วกลับไปทำงานต่อ
เมลบ็อกซ์ (Mailbox)
•ระบบจะเสียเนื้อที่ส่วนหนึ่งไปเพื่อเป็นที่พักของข้อมูลเมื่อมีอุปกรณ์บางตัวต้องการส่งข้อมูล ก็จะส่งไปเก็บไว้ในเนื้อที่ส่วนนี้ เมื่อถึงระยะเวลาหนึ่งซีพียูจะหยุดงานที่ตัวเองทำไปรับส่งข้อมูลเสร็จแล้วก็จะไปทำงานที่ค้างไว้ต่อ


การจัดการสื่อจัดเก็บข้อมูล (Storage Management)
•สื่อจัดเก็บข้อมูลในที่นี้หมายถึงหน่วยความจำสำรอง (Secondary Storage) ที่ใช้ในการจัดเก็บข้อมูล
•ได้แก่ ดิสก์แม่เหล็ก (Magnetic disk) เช่น ฮาร์ดดิสก์ ฟล็อปปี้ดิสก์
ดิสก์ (Disk)
•การจัดเนื้อที่บนดิสก์แม่เหล็กจะมีการจัดแบ่งออกเป็น ไซลินเดอร์ (cylinder)
•ในแต่ละไซลินเดอร์จะแบ่งออกเป็นแทร็ก (track)
•ในแต่ละแทร็กจะแบ่งออกเป็นเซ็กเตอร์ (sector)
•การจัดเก็บข้อมูลลงในดิสก์นั้นจะเก็บในรูปแบบของบล็อก (Block) ขนาดของบล็อกปกติจะมีขนาด 512 Byte แต่ละบล็อกจะอยู่เรียงตามลำดับในแต่ละเซกเตอร์ โดยเซ็กเตอร์ 0 จะเป็นเซ็กเตอร์แรกของแทร็กแรกซึ่งอยู่ที่ไซลินเดอร์ด้านนอกสุดของดิสก์
•การเรียงลำดับหมายเลขแทร็กและหมายเลขไซลินเดอร์จะเรียงต่อกันไปเรื่อย ๆ จากด้านนอกสุดไปด้านในสุดของดิสก์

การจัดเวลาการใช้ดิสก์ (Disk scheduling)
•การใช้งานดิสก์ให้มีประสิทธิภาพนั้นสามารถพิจารณาได้จากระยะเวลาที่ใช้ในการอ่านหรือบันทึกข้อมูล ซึ่งเวลาที่ใช้นั้นขึ้นอยู่กับปัจจัย 3 อย่าง ดังนี้
–ระยะเวลาการค้นหา (seek time) หมายถึงระยะเวลาที่ใช้ในการเคลื่อนที่หัวอ่านไปยังไซลินเดอร์ที่มีเซ็กเตอร์ที่ต้องการ
–ระยะเวลาที่ใช้หมุนดิสก์ (rotational latency) หมายถึงที่ระยะเวลาที่รอคอยการหมุนดิสก์เพื่อหาเซ็กเตอร์ที่ต้องการให้ตรงกับหัวอ่าน
–ระยะเวลาการโอนย้ายข้อมูล (transfer time)
•ระยะเวลาการค้นหาเป็นปัจจัยที่สำคัญมากที่สุด ดังนั้นการลดระยะเวลาการค้นหาลงจะทำให้การใช้งานดิสก์มีประสิทธิภาพมากขึ้น
•เวลาในการเข้าถึงข้อมูล = เวลาค้นหา+เวลาหมุนดิสก์+เวลาถ่ายเทข้อมูล
•การจัดเวลาในการใช้ดิสก์นั้นแบ่งออกเป็น 5 แบบดังนี้
–การจัดเวลาแบบมาก่อนได้ก่อน (First come first served : FCFS)
–การจัดเวลาแบบเวลาสั้นสุดได้ก่อน (Shortest seek time first : SSTF)
–การจัดเวลาแบบสแกน (SCAN Scheduling)
–การจัดเวลาแบบซีสแกน (Circular-SCAN Scheduling)
–การจัดเวลาแบบ LOOK (Look Scheduling)
การจัดเวลาแบบมาก่อนได้ก่อน First come first served : FCFS
•เป็นรูปแบบการจัดเวลาที่ง่ายที่สุด แต่ไม่ใช่วิธีของการทำงานที่เร็วที่สุด
•เช่นถ้าลำดับการอ่านข้อมูลจากไซลินเดอร์เป็นดังนี้ 97 , 180 , 36 , 124 , 12 , 128 , 62 , 66ปัจจุบันไซลินเดอร์ 50
•ลักษณะการเคลื่อนที่ของหัวอ่านจะเคลื่อนที่ดังรูป


ข้อเสียแบบ SSTF
•การคอยใช้บริการที่อาจจะไม่ได้รับการบริการ เช่น มีการเรียกใช้ไซเลนเดอร์ 12 และ 180 ในขณะที่หัวอ่านอยู่ที่ ไซเลนเดอร์ 12 นั้นมีการเรียกใช้ ไซเลนเดอร์ที่อยู่ใกล้ 12 เข้ามา ซึ่งการขอเรียกใช้ไซเลนเดอร์ที่ใกล้ 12 ก่อน ซึ่ง ไซเลนเดอร์ 180 ต้องคอยก่อน
•การจัดแบบ SSTF ยังไม่ใช่วิธีการดีที่สุด สามารถปรับวิธีการลดการเคลื่อนที่หัวอ่านให้น้อยลงได้อีก ดังตัวอย่าง

การจัดเวลาแบบเวลา SCAN
•รูปแบบการทำงานจะเป็นลักษณะของการที่หัวอ่านจะเริ่มอ่านที่ด้านใดด้านหนึ่งของดิสก์ (ต้องทราบทิศทาง) และจะเคลื่อนที่ไปยังอีกด้านหนึ่ง และจะให้บริการก็ต่อเมื่อหัวอ่านเคลื่อนที่ไปถึงที่ไซลินเดอร์นั้น
•เช่นถ้าลำดับการอ่านข้อมูลจากไซลินเดอร์เป็นดังนี้ 97 , 180 , 36 , 124 , 12 , 128 , 62 , 66จากลำดับที่ให้มาถ้าเริ่มต้นหัวอ่านอยู่ที่ไซลินเดอร์ที่ 50 ถ้าหัวอ่านเคลื่อนที่ต่อไปยังไซลินเตอร์ 0
•ตัวอย่าง : จงเรียงลำดับการเคลื่อนที่ของหัวอ่านพร้อมทั้งวาดรูปประกอบ



การจัดการเนื้อที่บนดิสก์ (Disk Management)
•OS ยังมีหน้าที่ที่เกี่ยวข้องกับการจัดการเนื้อที่บนดิสก์ เช่น การฟอร์แมตดิสก์ การกู้คืนดิสก์ส่วนที่เสียหาย นอกเหนือจากการจัดเวลาการใช้ดิสก์
•การฟอร์แมตดิสก์ (Disk formatting)
–การฟอร์แมตดิสก์เป็นขบวนการจัดแบ่งเนื้อที่บนดิสก์โดยใช้ซอฟต์แวร์เป็นตัวจัด กระบวนการนี้มีชื่อเรียกเป็นทางการว่า Low-Level formatting
–การฟอร์แมตดิสก์จะทำให้ดิสก์แบ่งออกเป็นแทร็กและเซ็กเตอร์






อุปกรณ์เสมือน
•คือการนำเอาอุปกรณ์ชนิดหนึ่งมาจำลองการทำงานเป็นอุปกรณ์อีกชนิดหนึ่ง เพื่อให้เกิดความคล่องตัวในการทำงานของระบบ
•ตัวอย่างของการทำอุปกรณ์เสมือนคือการทำแรมดิสก์ (RAM Disk)
•อีกวิธีที่นิยมคือการทำสพูล SPOOL (Simultaneous Peripheral Operation On-Line)
การทำสพูล SPOOL
•เป็นการใช้อุปกรณ์ที่มีความเร็วสูงมาทำงานแทนอุปกรณ์ที่มีความเร็วต่ำ
•เช่นการใช้ดิสก์แทนเครื่องพิมพ์ เนื่องจากดิสก์มีการรับส่งข้อมูลได้รวดเร็วกว่าเครื่องพิมพ์มากหลายเท่า
•โดยมีโปรเซสหนึ่งของ OS ชื่อ SPOOLER ทำหน้าที่จัดการเรื่องการทำ SPOOL ของระบบ

- รับลิงก์
- X
- อีเมล
- แอปอื่นๆ
ความคิดเห็น
แสดงความคิดเห็น