Logo Head Picture  free e- mail 
 thaimail 
 hotmail 
 yahoo 
 siam2you 
 thammasat
 Home  Visual Basic Active Server Page  JavaScript   Network   Other 
 Plug and Play

โดย ณัฐพล มงคลประดิษฐ์

        สถาปัตยกรรม จุดประสงค์ของ Plug and Play คือการที่คอมพิวเตอร์ สามารถกำหนดการเปลี่ยนแปลง โดยอัตโนมัติ เมื่อมีอุปกรณ์ใหม่ได้ถูกใส่ หรือถอดออกโดยที่ผู้ใช้ไม่ต้องเข้าไปยุ่งเกี่ยว หรือพูดง่ายๆ ก็คือเสียบ (Plug) อุปกรณ์เข้าไป แล้วสามารถเล่น (Play) ได้ทันที การที่ระบบจะเป็น Plug and Play โดยสมบูรณ์นั้น จะต้องมีหลักการทำงาน ดังต่อไปนี้

  • อุปกรณ์ต้องแยกตัวเอง และบอกคุณสมบัติ ของตัวเอง (Devices Self-Identify and Self-Specify)
    อุปกรณ์ที่เป็น Plug and Play ต้องสามารถแยกตัวเอง ออกจากอุปกรณ์ตัวอื่นได้ และรู้ความสามารถ และความต้องการ resource ของตัวเอง ข้อมูลเหล่านี้ จะช่วยให้ระบบปฏิบัติการ สามารถตัดสินใจ กำหนดค่าResourceต่างๆ ให้กับอุปกรณ์นั้น พร้อมทั้ง Load Driver ที่เหมาะสมให้ด้วย ยกตัวอย่าง Resource ซึ่งมี Interrupt Request (IRQ), Input/Output (I/O) Ports, Direct Memory Access (DMA), Memory
  • ระบบสามารถเปลี่ยนแปลงตนเองได้อย่างยืดหยุ่น (Dynamic Configuration Changes)
    ระบบที่เป็น Plug and Play ต้องอนุญาตให้อุปกรณ์ ใส่เข้ามาในระบบได้ทุกเวลา ผู้ใช้ไม่จำเป็นต้องปิดเครื่อง แล้วเปิดเครื่องใหม่
  • เข้ากันได้กับอุปกรณ์และระบบที่มีอยู่ (Compatible with Existing Systems and Peripherals)
    สถาปัตยกรรม Plug and Play จะต้องเข้ากันได้ กับอุปกรณ์ และระบบเก่าที่มีอยู่ โดยอุปกรณ์ที่ไม่ใช่ Plug and Play จะได้สิทธิในการใช้ Resource ก่อนอุปกรณ์ที่เป็น Plug and Play เพื่อกันปัญหาในการใช้ Resource อันเดียวกัน
  • ไม่ขึ้นอยู่กับระบบปฏิบัติการ และHardware (Independent of Operating System and Hardware)
    สถาปัตยกรรม Plug and Play ได้เปิดกว้างให้กับทุกคนใช้ ไม่ขึ้นกับระบบปฏิบัติการ หรือ Hardware ใดๆ

ขบวนการทำงาน ตัวอย่างขบวนการทำงานของ ISA (Industry Standard Architecture) Adapters

  1. ปรับสถานะการทำงานของ ISA cards ให้อยู่ใน configuration mode
  2. ซอฟแวร์ที่เป็น plug and play จะส่งคำสั่งผ่าน I/O port ไปยัง ISA card ที่เป็น plug and play ซึ่งคำสั่งนี้จะไปสั่งให้ cards อยู่ในสถานะที่ยอม ให้ซอฟแวร์กำหนดค่าต่างๆได้ สถานะนี้จะเรียกว่า configuration mode
  3. กำหนดค่า handle ให้ plug and play ISA card แต่ละอัน
  4. การที่ card แต่ละอัน ใช้ I/O port เดียวกัน ในตอนปรับสถานะการทำงานเริ่มต้น ซอฟแวร์จำเป็นที่จะต้องแยก card แต่ละอันออกจากกัน โดยการกำหนดค่า handle ให้ เพื่อที่จะติดต่อกับ card แต่ละอันได้อย่างถูกต้อง
  5. อ่านค่าความต้องการ และความสามารถในการใช้ resource ของแต่ละ card ์
  6. card แต่ละอัน จะเก็บตารางค่า resource ไว้บนตัวมัน ค่า resource ซึ่งมี Interrupt Request (IRQ), Input/Output (I/O) Ports, Direct Memory Access (DMA), Memory เช่น Network card มีความสามารถที่จะใช้ IRQ 5, 7, 9 และ I/O 220-22F, 300-301, 340-35F ซอฟแวร์จะอ่านค่าต่างๆ เหล่านี้เก็บไว้
  7. กำหนดค่า resource ให้แต่ละ card
  8. เมื่อค่า resource ถูกอ่านมาจาก card จนหมดแล้ว ซอฟแวร์จะกำหนดค่า resourceให้ card แต่ละอันที่ไม่ซ้ำกัน เพราะถ้าค่าซ้ำกัน card จะไม่ทำงาน
  9. ปรับสถานะการทำงานของ cards ให้ทำงานได้ตามปรกติ

        หลังจากเสร็จสิ้น การทำงานข้างต้นแล้ว card จะถูกปรับสถานะ ให้สามารถทำงาน ได้ตามปรกติ เมื่อไรก็ตาม ที่มีการใส่ card อันใหม่ เข้ามาในระบบ ต้องมีการทำงาน ตั้งแต่เริ่มต้นใหม่สำหรับ card อันนั้น

ส่วนประกอบ ถ้าต้องการให้ระบบการทำงานเป็น plug and play อย่างสมบูรณ์ การทำงานต้องเกิดขึ้นกับ ส่วนประกอบต่างๆ ทุกส่วนดังต่อไปนี้

  • BIOS
  • Operating System
  • Bus Enumerators
  • Hardware Tree and Registry
  • Resource Arbitrator
  • Configuration Manger
  • Applications

        BIOS--- เพื่อต้องการเป็น plug and play โดยสมบูรณ์ BIOS ต้องมีความสามารถ กำหนดค่าให้อุปกรณ์ รอบข้างขณะเริ่มเปิดเครื่อง และแจ้งเหตุการณ์ที่เกิดขึ้น ไปยังระบบปฏิบัติการ ขณะที่กำลังเปิดเครื่อง BIOS ต้องสามารถแยกแยะ (Isolating) อุปกรณ์รอบข้าง และกำหนดค่าเริ่มต้น (Initializing) ให้กับอุปกรณ์ต่างๆ ที่ต่ออยู่บน system board อุปกรณ์เช่น Programmable Interrupt Controller, DMA Controller, System Video Controller, Floppy Controller และอื่นๆ นอกจากนี้ BIOS ยังต้องรักษาข้อมูล การกำหนดค่าของอุปกรณ์ และแจ้งไปยังระบบปฏิบัติการ หลังจากการตรวจเช็ค การทำงานปรกติของอุปกรณ์ (Power On Self Test) เรียบร้อยแล้ว สุดท้าย BIOS ต้องแจ้งเหตุการณ์ ที่มีการเปลี่ยนแปลง เช่นการเชื่อมต่อ Notebook เข้ากับ docking station ให้กับระบบปฏิบัติการทราบ ทำให้ผู้ใช้ ไม่จำเป็นต้องปิดเครื่อง และเปิดเครื่องใหม่ทุกครั้ง เมื่อมีเหตุการเช่นนี้เกิดขึ้น หลังจากนั้น ระบบปฏิบัติการ ก็จะแจ้งให้ application และ driver ทราบอีกที

        Operating System--- ระบบปฏิบัติการที่เป็น Plug and Play จำเป็นต้องมีส่วนประกอบ ดังต่อไปนี้ Bus Enumerator, Hardware Tree, Configuration Manager และ Resource Arbitrator

        Bus Enumerators--- Bus Enumerators เป็น Driver ประเภทใหม่ มีหน้าที่ในการสร้าง Hardware Tree ซึ่ง Hardware Tree นี้ จะเป็นตัวอธิบายความสัมพันธ์ ระหว่าง Buses และ Devices ว่า Device ไหนอยู่บน Bus อะไร Bus Enumerators ถูกออกแบบมา ให้รู้จักสถาปัตยกรรมของ Bus แต่ละแบบ เพื่อที่จะแยกแยะอุปกรณ์ แต่ละตัวที่อยู่บน Bus ได้ และอ่านค่าความต้องการ resource และกำหนดค่าต่างๆ ของอุปกรณ์ตามที่ Configuration Manager สั่ง Bus Enumerators อาจจะใช้ BIOS หรือ Drivers ที่มีอยู่เพื่อเข้าถึง Hardware ได้ยกตัวอย่าง Driverเช่น PCI.VXD, EISA.VXD, ISAPNP.VXD หลังจากเข้าถึงอุปกรณ์ต่างๆ ได้แล้ว Bus Enumerators จะกำหนดค่า ให้อุปกรณ์แต่ละตัวที่อยู่บน Bus นั้นๆ

        Hardware Tree--- จะเก็บข้อมูล เกี่ยวกับค่าที่กำหนดให้กับ อุปกรณ์ขณะปัจจุบัน โดยจะบันทึกอยู่ใน RAM ข้อมูลเหล่านี้ จะดึงมาจาก Registry ซึ่งเป็นฐานข้อมูล ของระบบปฏิบัติการอีกที Hardware Tree จะถูกสร้างทุกครั้ง ที่เปิดเครื่อง และจะถูกแก้ไขข้อมูลใหม่ เมื่อมีการกำหนดค่าใหม่ ให้กับอุปกรณ์

        Resource Arbitrator--- ทำหน้าทีเป็นตัวกำหนดค่า resource ให้กับอุปกรณ์ต่างๆ เพื่อป้องกันการใช้ resource ค่าเดียวกัน หลังจากนั้นแล้ว ระบบปฏิบัติการจะเก็บค่านั้น ไว้ใน Registry และแจ้งไปยัง Driver

        Configuration Manger--- ทำหน้าที่เป็นตัวประสานงาน กับทุกๆ ส่วนที่เกี่ยวข้อง กับการกำหนดค่าให้กับอุปกรณ์ มันจะรับรายการอุปกรณ์จาก BIOS หลังจากเปิดเครื่องใหม่ๆ และมันจะรับรู้สถานะการเปลี่ยนแปลง เช่นมีอุปกรณ์เพิ่มเข้ามาในระบบจาก BIOS และ Bus Enumerator หลังจากนั้น มันจะสื่อสารไปยังส่วนต่างๆ เช่น แจ้งไปยัง Drivers และ Applications เพื่อไม่ให้ติดต่อใช้งาน กับอุปกรณ์ที่ถูกถอดออกจากระบบ

        Drivers--- ตัว Driver ที่เป็น Plug and Play ต้องมีความสามารถในการ Load and Unload ออกจากระบบ เมื่อมีการใส่ หรือถอดอุปกรณ์ ออกจากระบบ เพื่อการใช้หน่วยความจำ อย่างมีประสิทธิภาพ Driver ยังต้องสื่อสาร กับส่วนอื่นๆ เช่น Configuration Manager เมื่อมัน Load เข้ามาในระบบ และอยู่ในสถานะที่จะถูกกำหนด Resource ผ่านไปยังอุปกรณ์ต่างๆ, สื่อสารกับ Application เมื่ออุปกรณ์นั้นถูกเรียกใช้ ตัวอย่างที่เห็นง่ายๆ คือ การใส่PCMCIA Card PCMCIA Socket Enumerator จะรู้ว่ามี Card อันใหม่ใส่เข้ามามันจะแจ้งไปยัง Configuration Manger หลังจากนั้น Driver ของCard นี้จะถูก Load เข้ามา และอุปกรณ์จะถูกกำหนดค่า Resourceโดยอัตโนมัติ

        Devices--- ที่สำคัญอย่างยิ่ง คืออุปกรณ์ต้องเป็น Plug and Play เพราะอุปกรณ์นั้น ต้องสามารถกำหนดความต้องการ Resource และความสามรถที่จะใช้ Resource นั้นได้

        Application--- โปรแกรมต้องมีความสามารถ สื่อสารกับ Driver ทำให้รู้ว่าอุปกรณ์นั้น ยังอยู่ในระบบ ก่อนที่จะเรียกใช้อุปกรณ์นั้น เพื่อป้องกันข้อผิดพลาด

        บทสรุป โดยส่วนใหญ่ พวกเราจะเข้าใจผิดว่า Plug and Play นั้น ถูกกำหนดมาโดยบริษัทใด บริษัทหนึ่ง และส่วนประกอบ มีแค่ระบบปฏิบัติการเท่านั้น จริงๆ แล้ว Plug and Play เป็นสถาปัตยกรรมแบบเปิด ไม่ขึ้นกับบริษัทใดๆ และไม่ขึ้นกับระบบปฏิบัติการ หรือ Hardware ของบริษัทใดบริษัทหนึ่ง และเพื่อการเป็น Plug and Play โดยสมบูรณ์ ส่วนประกอบก็ไม่ใช่มีเฉพาะ ระบบปฏิบัติการที่เป็น Plug and Play เท่านั้น ยังมีส่วนประกอบอื่นๆ ที่สำคัญเช่นกัน เช่น BIOS, Driver, Application และอุปกรณ์ที่เป็น Plug and Play



Memo - Link
thaisound thaimuzic thaimusic thaialbums oohmusic listen Pantip joinware thaiware byxtream commart pcsiam siam2000
Copyright © 2001.Memo Wil@keo everything that I like Co.,Ltd.