28/01/2564 ระบบปฏิบัติการ นายเมธา อินทร์หอม เลขที่ 5

 นายเมธา อินทร์หอม

การจัดการอุปกรณ์
Device Management

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

การจัดการเนื้อที่บนดิสก์ (Disk Management)

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

อุปกรณ์เสมือน

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

ความคิดเห็น