วันอังคารที่ 9 มกราคม พ.ศ. 2561

งานที่ 7

การจัดการอุปกรณ์
Device Management
นาย ปัณณรุจน์ อมรสิทธิ์สิริ รหัส 6031280004

ลักษณะของอุปกรณ์ (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 ของระบบ






อ้างอิง

http://chantra.sru.ac.th/OS.html


ไม่มีความคิดเห็น:

แสดงความคิดเห็น