OS_InputOutput

					CED 1101 Principle of Operating
                        System
 หลักการทางานเบื้องต้นของระบบ   Input/Output
 ประเภทของอุปกรณ์
 ฮาร์ดแวร์ในระบบInput/Output
 ซอฟต์แวร์ในระบบ Input/Output
 ส่วนต่อประสานในระบบ Input/Output
 I/O Subsystem




                                                2
 ระบบ                                                ่
        Input/Output เป็ นระบบการทางานที่สาคัญอย่างหนึงใน
                                        ั ิ
  คอมพิวเตอร์ ซึ่งจาเป็ นต้องมีระบบปฏิบตการเข้ามาควบคุมการ
                        ่
  ทางานของอุปกรณ์ตางๆ เพื่ออานวยความสะดวกในการรับ-ส่ง
                                   ั
  ข้อมูลระหว่างเครื่องคอมพิวเตอร์กบผูใ้ ช้

 คาว่า                            ่
         “อุปกรณ์” หมายถึงอุปกรณ์ตอพ่วง (Peripheral Device)
    ้
  ทังหมดที่เกี่ยวข้องกับการทางานในระบบ Input/Output
  นอกเหนือจาก CPU และหน่วยความจาหลัก โดยเรียกอุปกรณ์ที่ทา
          ั
  หน้าที่รบ-ส่งข้อมูลในระบบ Input/Output ว่า “อ ุปกรณ์ I/O”

                                                              3
 แนวทางหนึงที่นามาใช้ในการออกแบบระบบปฏิบตการเพื่อควบคุม
           ่                             ั ิ
                                                     ั ิ
  การทางานของอุปกรณ์ก็คือ การออกแบบระบบปฏิบตการให้เป็ น
  อิสระต่อประเภทและรูปแบบของอุปกรณ์ (Device Independent) โดย
                     ่
  จะมองอุปกรณ์ตางๆ เป็ นเพียงช่องทางสาหรับการรับ-ส่งข้อมูล
        ้      ้
  เท่านัน ไม่ตองคานึงถึงคุณลักษณะพิเศษของอุปกรณ์นนๆ ทาให้ั้
             ั ิ                            ุ
  ระบบปฏิบตการสามารถติดต่อกับอุปกรณ์ทกประเภทได้อย่างอิสระ
  และมีประสิทธิภาพ
                 ั ิ
  โดยระบบปฏิบตการจะต้องมีระบบงานสาหรับควบคุมและจัดการ
                       ่
  การใช้งานอุปกรณ์ตางๆ อย่างมีระบบ เรียกระบบงานย่อยที่
  จัดการภายใน Kernel ที่เกี่ยวข้องกับอุปกรณ์ I/O ว่า
  “I/O Subsystem”

                                                               4
 I/O                                   ั่
     subsystem เป็ นระบบงานที่ทาหน้าที่สงงาน ควบคุม และ
                                    ้           ่
  ตรวจสอบสถานะของอุปกรณ์ I/O ทังหมด เพื่อให้สวนงานอื่นๆ
               ั ิ                    ุ      ่
  ของระบบปฏิบตการสามารถเรียกใช้อปกรณ์ตางๆ ได้อย่างสะดวก




                                                          5
            OS Kernel

                    I/O Subsystem




  Device Driver         Device Driver



Device Controller     Device Controller



    Device A              Device B




                                          6
 อุปกรณ์ตอพ่วงที่ใช้งานในระบบคอมพิวเตอร์โดยทัวไปสามารถแบ่ง
          ่                                   ่
  ได้ 3 ประเภท คือ
      1. อุปกรณ์ที่ใช้งานเฉพาะทาง (Dedicated Device)
      2. อุปกรณ์ที่ใช้งานร่วมกัน (shared Device)
      3. อุปกรณ์เสมือน (virtual Device)




                                                              7
 Dedicated                       ู
           Device เป็ นอุปกรณ์ที่ถกกาหนดให้ทางานได้เพียง 1 งาน
               ่
  ในช่วงเวลาหนึงเท่านัน้

 ตัวอย่างเช่น                                                   ่
                Tape Drive, เครื่องพิมพ์ และ Plotter เป็ นต้น เนืองจาก
                   ุ
  เป็ นอุปกรณ์ที่ย่งยากหากจะกาหนดให้หลายโปรเซสทางานพร้อมกัน
         ้
  ดังนัน ข้อเสียของอุปกรณ์ประเภทนี้ คือ ในช่วงของการ Execute
                                  ั
  งาน อุปกรณ์จะถูกจัดสรรให้กบโปรเซสผูใ้ ช้เพียง 1 โปรเซสเท่านัน     ้
  ซึ่งเป็ นการใช้งานอุปกรณ์ได้ไม่เต็มประสิทธิภาพ


                                                                         8
 Shared                       ู
        Device เป็ นอุปกรณ์ที่ถกกาหนดให้ทางานได้หลายโปรเซส
  พร้อมกันในช่วงเวลาหนึง ่

 ตัวอย่างเช่น                    ั
               disk และอุปกรณ์จดเก็บข้อมูลอื่นๆ แบบเข้าถึงโดยตรง
  (Direct Access Storage Device : DASD) เป็ นต้น ซึ่งสามารถใช้งาน
  ร่วมกันได้หลายโปรเซสในเวลาเดียวกันด้วยวิธีการแทรกหรือสลับ
                            ั ิ
  การร้องขอ โดยระบบปฏิบตการจะต้องมีกลไกการควบคุมล่วงหน้า
  เพื่อตัดสินใจว่าการ้องขอของโปรเซสใดจะถูกดาเนินการก่อนเป็ น
  ลาดับแรก
                                                                    9
 Virtual                                                 ิ
         Device เป็ นการจัดประเภทอุปกรณ์ที่รวมคุณสมบัตระหว่าง
  Dedicated Device และ Shared Device โดยพิจารณาจากการ
                         ิ
  เปลี่ยนแปลงคุณสมบัตในการทางานจากอุปกรณ์ประเภท Dedicated
  Device ไปเป็ น Shared Device ซึ่งเป็ นการทาอุปกรณ์เสมือน เช่น
                ั
  เครื่องพิมพ์จดเป็ นอุปกรณ์ประเภท Dedicated Device ที่สามารถ
                           ิ
  เปลี่ยนแปลงคุณสมบัตให้เป็ นอุปกรณ์ประเภท Shared Device เพื่อให้
  สามารถใช้งานได้หลายโปรเซสในเวลาเดียวกันผ่านทาง spooling
  program


                                                                    10
 อุปกรณ์ตอพ่วงต่างๆ
          ่                ่
                       ที่ตอผ่าน USB Port จะมี USB controller เป็ นตัว
                                     ั ิ
  ประสานการทางานระหว่างระบบปฏิบตการ Device Driver และ Application ซึ่ง
            ุ
  อนุญาตให้อปกรณ์หลายๆ ตัวสามารถแลกเปลี่ยนข้อมูลระหว่างกันภายใน
  ระบบคอมพิวเตอร์โดยใช้ USB Connection เดียวกัน โดย USB controller จะ
                       ั                 ึ้ ่ ั
  กาหนด Bandwidth ให้กบแต่ละอุปกรณ์ขนอยูกบลาดับความสาคัญดังนี้
                                                       ั
   „ ลาดับความสาคัญสูง (highest Priority) ถูกกาหนดให้กบการส่งผ่านข้อมูล
                                           ี
     แบบ Real Time ซึ่งไม่อนุญาตให้มการ Interrupt ในขณะกาลังถ่าย
     โอนข้อมูล เช่น วิดโี อ และข้อมูลเสียงเป็ นต้น
                                                         ั
   „ ลาดับความสาคัญปานกลาง (Medium Priority) ถูกกาหนดให้กบอุปกรณ์ที่
                 ี                     ้         ่
     อนุญาตให้มการ Interrupt ได้บางครังโดยไม่สงผลกระทบต่อการใช้งาน
                    ้
     อุปกรณ์ เช่น แปนพิมพ์ และ joystick เป็ นต้น
                       ่                                  ั
   „ ลาดับความสาคัญตาสุด (Lowest Priority) ถูกกาหนดให้กบการส่งผ่าน
     ข้อมูลจานวนมาก เช่น เครื่องพิมพ์ และ สแกนเนอร์ เป็ นต้น

                                                                          11
 สามารถแบ่งประเภทของอุปกรณ์ I/O        ในระบบคอมพิวเตอร์ตาม
                                 ่
  ลักษณะการใช้งานได้เป็ น 3 กลุมดังนี้
   „ อุปกรณ์ที่ใช้สาหรับบันทึกข้อมูล (Storage Device) เช่น disk และ
     Tape
                ่
   „ อุปกรณ์ที่ชวยในการส่งผ่านข้อมูล (Transmission Device) เช่น
     Network, Card และ Modem
                  ่                         ั
   „ อุปกรณ์ที่ชวยในการติดต่อระหว่างผูใ้ ช้กบเครื่องคอมพิวเตอร์
                                              ้
     (Human Interface Device) เช่น จอภาพ, แปนพิมพ์ และเมาส์

                                                                      12
 อุปกรณ์แต่ละประเภทจะมีตวควบคุมอุปกรณ์เฉพาะ
                         ั                         ซึ่งเป็ น
  แผงวงจรอิเล็กทรอนิกส์ที่ประกอบเข้าเป็ นตัว chip หรือรวมกันบน
  แผ่น Circuit Board
 การติดต่อระหว่างอุปกรณ์กบตัวควบคุมอุปกรณ์จะอยู่ในรูปแบบ
                            ั
  ของภาษาเครื่องและถ่ายโอนข้อมูลในระดับบิต




                                                                 13
 นอกจากนีการเชื่อมต่ออุปกรณ์
          ้                            I/O ต่างๆ เข้ากับระบบคอมพิวเตอร์
                  ่
  จาเป็ นต้องมีสวนเชื่อมต่อที่เป็ นมาตรฐานเพื่อใช้ในการติดต่อสื่อสารระหว่าง
                          ั             ้
  เครื่องคอมพิวเตอร์กบอุปกรณ์ดวยการส่งสัญญาณไปตามสายผ่านส่วน
              ้          ่ ่                        ิ
  เชื่อมต่อนันๆ โดยมีสวนเชือมต่อมาตรฐานที่นยมใช้งานโดยทัวไปดังนี้่
   „ Port เป็ นช่องสื่อสารที่สร้างมาพร้อมกับตัวเครื่องคอมพิวเตอร์ มัก
                                                ้
       เชื่อมต่อกับอุปกรณ์เพียงตัวเดียวเท่านัน เช่น Serial Port, Parallel Port และ
       Mouse Port เป็ นต้น
                                           ั              ่        ุ
   „ Bus เป็ นช่องทางการสื่อสารที่ได้รบความนิยม เนืองจากมีคณสมบัตที่         ิ
                                                            ่
       เรียกว่า “Daisy chain” ซึ่งเป็ นความสามารถในการเชือมต่ออุปกรณ์ได้
       หลายประเภทโดยใช้สายหรือจุดเชื่อมต่อเดียวกัน

                                                                                     14
                                                                             Disk




                                                              SCSI Bus
                                                                             Disk
 Monitor               Processor
                                                                             Disk
                                      Cache                                  Disk
Graphic          Bridge/Memory
Controller          Controller        Memory
                                                                SCSI
                                                              Controller


                                   PCI BUS

             IDE Disk Controller          Expansion Bus
                                                                         Keyboard
                                            Controller

                Disk       Disk
                                                       Expansion Bus
                Disk       Disk

                                              Parallel Port              Serial Port



                                                                                       15
 การติดต่อระหว่าง                                              ั ิ
                          CPU กับอุปกรณ์ I/O ต่างๆ จะมีระบบปฏิบตการเป็ นตัว
  ประสานการทางานและกาหนดช่วงเวลาการติดต่อกับอุปกรณ์ให้สอดคล้อง
                                                 ้
  และเหมาะสมกับสถานะของอุปกรณ์ในขณะนัน โดย CPU จะติดต่อกับอุปกรณ์
     ่                    ่
  เมือต้องการส่งคาสังและข้อมูล รวมถึงการตรวจสอบสถานะการทางานของ
              ่                             ั้              ่
  อุปกรณ์ผานทางหน่วยควบคุมอุปกรณ์นนๆ ซึ่งจะใช้คาสัง I/O Instruction ใน
                                                   ่
  การรับ-ส่งข้อมูลกับหน่วยควบคุมอุปกรณ์ผานทาง Port คาสัง I/O  ่
                     ้
  Instruction เหล่านีจะทาให้เกิดการเปลี่ยนแปลงค่า Register บางตัวในหน่วย
                       ั้                      ้
  ควบคุมอุปกรณ์นน และการเปลี่ยนแปลงนีจะทาให้หน่วยควบคุมอุปกรณ์สง         ั่
            ุ                    ่                        ้
  การให้อปกรณ์ที่เชื่อมต่ออยูทางานตามข้อกาหนดของผูผลิตและกลไก
  มาตรฐานของอุปกรณ์นนๆ        ั้

                                                                              16
                      CPUc




                      I/O Bus




I/O Port   I/O Port

   I/O Interface                Device


  I/O Controller




                                         17
วิธีการรับ-ส่งข้อมูลระหว่าง CPU กับอุปกรณ์ I/O สามารถทาได้
5 วิธี คือ
    1. poling
    2. Programmed I/O
    3. Interrupt
    4. Memory-mapped I/O (MMIO)
    5. Direct Memory Access (DMA)

                                                             18
                               ิ
poling เป็ นวิธีการที่ CPU ใช้ตดต่อกับอุปกรณ์ I/O เพื่อรับ-ส่งข้อมูลหรือติดต่อ
                                   ่
ขอทราบสถานะการทางาน เช่น เมือ CPU ส่งสัญญาณออกไปถามสถานะการ
                        ั ่           ั
ทางานของอุปกรณ์ตวหนึง อาจะได้รบการตอบกลับดังนี้
      oCommand Ready หมายถึง อุปกรณ์พร้อมที่จะรบคาสังให้ทางาน
                                                            ่
      oBusy หมายถึง อุปกรณ์ไม่พร้อมที่จะรับคาสังใหม่ เนืองจากกาลังทางานอยู่
                                               ่        ่
      oError หมายถึง อุปกรณ์ขดข้อง จึงไม่สามารถรับคาสังใดๆ ได้
                             ั                            ่
                            ี้
การรับ-ส่งข้อมูลด้วยวิธีนอาจทาให้เกิดสถาวะการรอคอยที่เรียกว่า
                                            ้ ่
“Busy-Wait Cycle” ซึ่งเป็ นช่วงเวลาที่เกิดขึนเมือ CPU ต้องรอผลการ
ทางานเป็ นเวลานาน เช่น การอ่านหรือบันทึกข้อมูลลงดิสก์ จึงไม่สามารถ
                                             ้
ทางานอื่นได้ และต้องรอจนกว่าช่วงเวลานีจะสิ้นสุดลง ทาให้ CPU ต้อง
เสียเวลาในการทางานอย่างอื่น

                                                                                 19
 Programmed  I/O เป็ นวิธีการรับ-ส่งข้อมูลระหว่าง CPU กับอุปกรณ์ I/O
                                ้
  ด้วยการให้ CPU ทางานตามขันตอนในโปรแกรมที่สร้างไว้ โดยโปรแกรมนีจะ    ้
                       ่
  ประกอบด้วยชุดคาสังสาหรับควบคุมการทางาน 4 คาสัง ดังนี้่
       ่
   คำสัง                                 คำอธิบำย
Control                                        ้
           ใช้ควบคุมอุปกรณ์ I/O ให้ทางานตามที่ตองการ
Test           ั่
           ใช้สงการให้ CPU ตรวจสอบสถานะของอุปกรณ์ I/O และ I/O Module ซึ่งทา
           หน้าที่ควบคุมการย้ายข้อมูล
Read           ั่                              ้
           ใช้สงการให้ I/O Module รับข้อมูลที่ปอนเข้ามาจากอุปกรณ์ I/O มาวางไว้ใน
           Buffer แล้วส่งต่อให้ CPU หรือหน่วยความจาผ่านทาง Data Bus
Write          ั่                                                   ั
           ใช้สงการให้ I/O Module รับข้อมูลจาก Data Bus และส่งไปให้กบอุปกรณ์ I/O
                                                                                   20
 Interrupt              ่
            เป็ นวิธีที่ชวยให้ CPU มีเวลาในการทางานอย่างอื่นแทนที่
  จะต้องรอให้การถ่ายโอนข้อมูลเสร็จเรียบร้อยก่อน โดยใช้หลักการ
                                               ่
  interrupt การทางานของ CPU กล่าวคือ เมืออุปกรณ์ I/O ต้องการ
  รับ-ส่งข้อมูลก็จะส่งสัญญาณ Interrupt ไปขัดจังหวะการทางานของ
                                           ้ ุ
  CPU เพื่อเป็ นการแจ้งให้ทราบว่าขณะนีอปกรณ์พร้อมที่จะรับ-ส่ง
                 ่             ั
  ข้อมูลแล้ว เมือ CPU ได้รบสัญญาณ Interrupt ก็จะหยุดการทางาน
         ั ่                            ุ          ่
  ปั จจุบนชัวคราว เพื่อให้บริการแก่อปกรณ์ I/O ที่สงสัญญาณ
  Interrupt


                                                                     21
                     CPU
                                                                    I/O Controller
 Device driver สั่งให้อุปกรณ์ I/O เริ่ มต้นทางาน
                                                         เตรี ยมความพร้อมของอุปกรณ์ I/O
         CPU ตรวจสอบการ Interrupt

CPU ได้รับสัญญาณ Interrupt และส่ งการควบคุม
           ไปยัง Interrupt handler
                                                   ส่ งสัญญาณ Interrupt จาออุปกรณ์ I/O ไปยัง CPU


  Interrupt handler ประมวลผลข้อมูลที่ได้รับ




CPU ย้อนกลับมาประมวลผลงานเดิมที่ทาค้างอยู่
          ก่อนที่จะถูกขัดขังหวะ


                                                                                                   22
   MMIO เป็ นวิธีการรับ-ส่งข้อมูลโดยการส่ง (map) Register ของตัว Device controller และ Buffer
    ของอุปกรณ์ ซึ่งใช้สาหรับเก็บข้อมูลการทางานของอุปกรณ์ไปไว้ในพื้นที่ของหน่วยความจาหลัก
         ้ ่                                                                     ู
    ดังนัน เมือมีการรับ-ส่งข้อมูลผ่าน ตัวควบคุมอุปกรณ์ จึงสามารถนาข้อมูลที่ถกเก็บอยูใน   ่
                                   ั                                               ิ
    หน่วยความจาหลักไปใช้งานได้ทนที Device controller แต่ละตัวจะมี Register ที่ใช้ตดต่อกับ CPU
    โดยตรง 2 ประเภท คือ
      1. Status Register ทาหน้าที่ควบคุมสถานะของอุปกรณ์ I/O โดยระบบปฏิบติกการจะ            ั
                                                    ่       ่ ุ
        กาหนดให้ Busy bit ของ Register สถานะมีคาเป็ น 1 เมือมีอปกรณ์ไม่ว่าง และมีคา  ่
                   ่
        เป็ น 0 เมืออุปกรณ์ว่าง
     2. Command Register ทาหน้าที่ควบคุมการทางานของอุปกรณ์ I/O โดยระบบปฎิบติ           ั
                                                      ่ ่       ่
        การจะกาหนดให้ Read bit ของ Register คาสังมีคาเป็ น 1 เมือมีการอ่านข้อมูลจาก
                        ่           ่     ี
        อุปกรณ์ และมีคาเป็ น 0 เมือไม่มการอ่านข้อมูลจากอุปกรณ์ กาหนดค่า Write bit
                          ่ ี ่             ่             ้                        ่
        ของ Register คาสังให้มคาเป็ น 1 เมือมีการบันทึขอมูลลงบนอุปกรณ์ และมีคาเป็ น 0
            ่    ี
        เมือไม่มการบันทึกข้อมูลลงอุปกรณ์ และกาหนดค่า Command Ready bit ของ
                      ่                ่      ่ ุ                                ่
        Register คาสัง มีค่าเป็ น 0 เมือมีคาสังให้อปกรณ์ทางาน และมีค่าเป็ น 0 เมือ
        อุปกรณ์ทางานเสร็จเรียบร้อย

                                                                                                 23
                                       ั          ้
    DMA เป็ นวิธีการรับ-ส่งข้อมูลที่ได้รบการพัฒนาขึนมาเพื่อหลีกเลี่ยงปั ญหาความล่าช้าที่
          ้ ่
    เกิดขึนเมือมีการรับ-ส่งข้อมูลปริมาณมากในคราวเดียวกัน การรับ-ส่งข้อมูลด้วยวิธีนเี้ ป็ น
    การดาเนินการระหว่างหน่วยความจาหลักและอุปกรณ์ I/O โดยตรงผ่านทางตัวควบคุม
    DMA (DMA Controller) ซึ่งไม่จาเป็ นต้องผ่าน CPU จึงทาให้การรับ-ส่งข้อมูลเป็ นไปด้วย
                     ่                ้
    ความรวดเร็ว เนืองจาก CPU ไม่ตองเสียเวลารอการทางานของอุปกรณ์ I/O ทาให้ CPU
    ถูกใช้งานได้อย่างเต็มที่ DMA Controller จะทาการถ่ายโอนข้อมูลขนาด X Byte จากอุปกรณ์
    ไปยังหน่วยความจาหลัก โดยการส่งสัญญาณ interrupt ไปขัดจังหวะการทางานของ CPU
       ่
    เมือ CPU ตอบกลับการขัดจังหวะแล้ว DMA Controller จะทาการยึดครองบัส และเริ่มต้น
    กระบวนการถ่ายโอนข้อมูล โดยในระหว่างนี้ CPU สามารถประมวลผลงานอื่นๆ ต่อไปได้
                        ้                                            ้
    แต่สามารถเรียกใช้ขอมูลสาหรับการประมวลผลจาก Cache ได้เท่านัน ไม่สามารถดึงข้อมูล
                                  ่
    จากหน่วยความจาสารองได้ เนืองจาก DMA Controller ทาการยึดครองบัสอยู่นนเอง เมือ  ั่    ่
                                                                                ั
    การถ่ายโอนข้อมูลเสร็จสิ้น DMA Controller จะส่งสัญญาณ interrupt ไปแจ้งให้กบ CPU
    ทราบ

                                                                                             24
                                              1.ตัวขับอุกรณ์ได้รับคาสัง
                                                                      ่
                                              ให้ถ่ายโอนข้อมูลจากดิสก์
                                                                                     CPU
                                              ไปยัง Buffer ที่ตาแหน่ง X
                                               2.ตัวขับอุปกรณ์ส่งคาสั่งไปยัง
5. DMA Controller                              ตัวควบคุมดิสก์ให้ถ่ายโอนข้อมูล
ถ่ายโอนข้อมูลที่ได้รับ                         จานวน C byte จากดิสก์ไปยัง         Cache
ไปยัง Buffer ตาแหน่ง X                         Buffer ที่ตาแหน่ง X

6.เมื่อถ่ายโอนข้อมูลเสร็ จสิ้ น        DMA/Bus/
DMA Controller จะส่ ง                                                   CPU Memory Bus          Memory X Buffer
                                  Interrupt Controller
สัญญาณ Interrupt ไปแจ้ง
ให้ CPU ทราบ

                                                   PCI Bus

                                                              3.ตัวควบคุมดิสก์เริ่ มกระบวนการ
                        IDE Disk Controller                   ถ่ายโอนข้อมูลด้วยวิธีการ DMA
                                                              4.ตัวควบคุมดิสก์ทาการส่ งข้อมูล
                                                              ไปยัง DMA Controller
                         Disk         Disk

                         Disk         Disk
                                                                                                             25
 โครงสร้างของซอฟต์แวร์ที่ใช้ควบคุมการทางานของอุปกรณ์เกิด
                  ้                   ั ิ
  จากแนวคิดที่ตองการให้ระบบปฏิบตการสามารถติดต่อกับอุปกรณ์
  ทุกประเภทด้วยมาตรฐานเดียวกัน ซึ่งใช้วิธีการแบ่งการทางาน
                    ้                     ั
  ออกเป็ นระดับชัน (layer) ตามหน้าที่ที่รบผิดชอบ โดยแต่ละชันมี ้
                      ้      ู                      ้        ่
  หน้าที่ให้บริการชันที่อยู่สงกว่า และใช้บริการจากชันที่อยู่ตากว่า ซึ่ง
  การทางานของอุปกรณ์ I/O ก็อาศัยแนวคิดนีเ้ ช่นกัน แต่อาจมี
  รายละเอียดแตกต่างกันไปตามประเภทของอุปกรณ์



                                                                          26
             โปรเซสของผูใ้ ช้




Device Independent OS Software   Layer 3


         Device Driver           Layer 2


      Interrupt Handler          Layer 1




       ฮาร์ดแวร์ (อุปกรณ์ I/O)




                                           27
 Interrupt             ้ ้                       ่
         Handler ระดับชันนีทาหน้าที่ในการจัดการเมือเกิดการขัดจังหวะการ
                                             ้
  ทางานของอุปกรณ์ โดยจะมีการกาหนดลาดับขันตอนการดาเนินการของแต่
  ละอุปกรณ์แตกต่างกัน

 Device                      ้                    ่
           Driver เป็ นระดับชันที่ทาหน้าที่แปลงคาสังและข้อมูลต่างๆ ของ
         ้               ่                           ่   ่
  ระดับชันบนสุดให้อยูในรูปแบบที่เหมาะสมกับกลุมคาสังของอุปกรณ์นน        ั้
  รวมถึงการจัดการเกี่ยวกับ Buffer ของอุปกรณ์

 Device                                       ้
           Independent OS Software เป็ นระดับชันบนสุดติดต่อกับโปรเซสผูใ้ ช้ใน
                              ั          ่       ่        ่
  ระดับ Logical โดยทาหน้าที่จดการคาสังให้อยูในรูปแบบทัวไปเพื่อให้โปรเซส
  ผูใ้ ช้สามารถเรียกใช้งานได้อย่างสะดวก


                                                                                28
   ปั จจุบนอุปกรณ์ I/O มีความแตกต่างกันในหลายๆ ด้าน และมาจากหลายผูผลิต ส่งผล
           ั                                                          ้
    ให้มาตรฐานการใช้งานอุปกรณ์แต่ละประเภทมีความแตกต่างกันด้วย เราเรียกมาตรฐานที่
                                 ั ิ
    ใช้ในการติดต่อระหว่างระบบปฏิบตการกับอุปกรณ์ว่า “ส่วนต่อประสาน
    (Interface)”

   ระบบปฏิบตการจะมี Interface มาตรฐานในการใช้งานแต่ละอุปกรณ์ที่แตกต่างกัน
               ั ิ
    โดยมีระบบย่อย I/O Subsystem ซึ่งเป็ นส่วนหนึงของ Kernel ใน
                                                       ่
                ั ิ            ู                                  ั
    ระบบปฏิบตการทาหน้าที่ดแลการติดต่อระหว่างตัวควบคุมอุปกรณ์กบระบบปฏิบตการ      ั ิ
    การโดยใช้ไดร์เวอร์เป็ นตัวควบคุม อุปกรณ์แต่ละประเภทจะมีไดรเวอร์เป็ นของตนเอง ซึ่งใน
    ระดับชัน Device driver ของโปรแกรม driver จะช่วยซ่อนรายละเอียดความ
            ้
    แตกต่างของตัวควบคุมอุปกรณ์เอาไว้จากโปรแกรม kernel ของระบบปฏิบตการ       ั ิ
                                                             ั ิ
    เพื่อให้การติดต่อระหว่างอุปกรณ์ประเภทต่างๆ กับระบบปฏิบตการใช้มาตรฐานเดียวกัน


                                                                                          29
                                         Kernel
Software




                                   Kernel I/O Subsystem


            SCSI    Keyboard   Mouse                 PCI Bus   Floppy   ATAPI
           Device    Device    Device       …        Device    Device   Device
           Driver    Driver    Driver                 driver   Driver   Driver

            SCSI    Keyboard   Mouse                 PCI Bus   Floppy   ATAPI
           Device    Device    Device       …        Device    Device   Device
           Driver    Driver    Driver                Driver    driver   Driver
Hardware




            SCSI    Keyboard   Mouse                 PCI Bus   Floppy   ATAPI
           Device    Device    Device       …        Device    Device   Device
           Driver    Driver    Driver                Driver    driver   Driver

                                                                                 30
 จากลักษณะการทางานต่างๆ    ของโปรแกรมประยุกต์ ระบบ
 Input/Output จะทาหน้าที่ควบคุมการรับ-ส่งข้อมูลเพื่อประสานการ
 ทางานอย่างเป็ นระบบตามประเภทของอุปกรณ์ที่ทาการติดต่อ ซึ่ง
 แบ่งอุปกรณ์ออกเป็ น 3 ประเภทหลัก คือ
    1. Block and Character Device
    2. Synchronous and Asynchronous Device
    3. Network Device




                                                                31
 I/O                                               ั ิ
       Subsystem เป็ นระบบย่อยของ Kernel ในระบบปฏิบตการที่ทา
                                      ่
  หน้าที่ควบคุมการทางานของอุปกรณ์ตางๆ ในระบบ Input/Output
         ้
  รวมทังจัดเตรียมบริการต่างๆ ที่สนับสนุนการทางานของอุปกรณ์
  ได้แก่ การจัดตารางอุปกรณ์ (I/O Scheduling) การใช้งาน Buffer
  Cache และ Spooling รวมไปถึงการจัดการกับข้อผิดพลาดต่างๆ ที่
           ้
  อาจเกิดขึน




                                                                32
 เป็ นบริการที่สาคัญ ที่ชวยควบคุมการใช้งานอุปกรณ์ตางๆ อย่างเป็ น
                          ่                        ่
  ระบบ โดยการบันทึกข้อมูลการทางานของอุปกรณ์ I/O แต่ละตัวไว้ใน
  ตารางที่เรียกว่า “Device-Status Table” ซึ่งประกอบด้วยข้อมูลต่างๆ
  ได้แก่ ประเภทของอุปกรณ์, ตาแหน่ง และสถานะของอุปกรณ์ เมือมี ่
                          ้          ั ิ
  สัญญาณ Interrupt เกิดขึน ระบบปฏิบตการจะตรวจสอบว่าสัญญาณ
              ้                    ้                    ั้
  Interrupt นันมาจากอุปกรณ์ใด และชีไปยังตารางอุปกรณ์นน เพื่อ
  ตรวจสอบสถานะว่าพร้อมทางานหรือไม่ ถ้าพร้อมจะทาการปรับปรุงค่า
                ู                            ้        ี
  ในตารางให้ถกต้องตามสัญญาณ Interrupt นัน กรณีที่มคิวของอุปกรณ์
                   ั ิ                                     ่
  รออยู่ ระบบปฏิบตการก็จะทางานตามการร้องขอถัดไป เมือทางานเสร็จ
  ก็จะคืนการควบคุมเพื่อกลับไปประมวลผลงานเดิม

                                                                     33
 I/O  Subsystem มีการนาเทคนิคการแก้ปัญหาในเรื่องของความ
  แตกต่างทางด้านความเร็วในการรับ-ส่งข้อมูลระหว่าง CPU กับ
  อุปกรณ์ I/O โดยการใช้งาน Buffer, Cache และ Spooling เพื่อช่วย
                        ี
  จัดเก็บข้อมูลในขณะที่มการถ่ายโอนข้อมูล มีรายละเอียดดังนี้




                                                                  34
 Buffer          ั        ่
         เป็ นที่พกข้อมูลชัวคราวเพื่อส่งข้อมูลจากคอมพิวเตอร์ไปยัง
                                                         ่
  อุปกรณ์ หรือส่งข้อมูลจากอุปกรณ์มายังคอมพิวเตอร์ เนืองจากอัตรา
                                          ั
  ความเร็วในการทางานแต่ละอุปกรณ์กบ CPU ไม่เท่ากัน คอมพิวเตอร์จึง
                                                    ่ ่
  จาเป็ นต้องมีหน่วยความจาสารองเก็บพักข้อมูลไว้กอนชัวคราว เพื่อให้
                                            ่
  กระบวนการถ่ายโอนข้อมูลมีความต่อเนือง และช่วยเพิ่มประสิทธิภาพใน
  การทางานให้กบระบบ ั
 ข้อดีของการใช้งาน Buffer คือ
             ุ     ี
   „ ช่วยให้อปกรณ์มความเร็วในการรับ-ส่งข้อมูลสูงกว่า เพราะไม่เสียเวลารอ
                              ี
     การทางานของอุปกรณ์ที่มความเร็วตา ่
               ุ      ี
   „ ช่วยให้อปกรณ์ที่มความเร็วในการรับ-ส่งข้อมูลต่างกันสามารถทางาน
           ่ ั
     ควบคูกนได้อย่างมีประสิทธิภาพ
                                ้
   „ ช่วยในการสารองข้อมูล เพื่อปองกันการสูญหายของข้อมูล

                                                                          35
 Cache เป็ นหน่วยความจาความเร็วสูงที่อยู่ระหว่าง CPU และ
  หน่วยความจาหลัก ซึ่งช่วยเพิ่มความเร็วในการดึงข้อมูลจาก
  หน่วยความจา โดยการนาเอาข้อมูลบางส่วนมาไว้ใน Cache
     ่                                       ้ ี ้
  เนืองจากการอ่านข้อมูลใน Cache เร็วกว่า แต่ถาไม่มขอมูลใน Cache
  ก็จะไปอ่านในหน่วยความจา




                                                                  36
 Spooling           ั           ่
            เป็ นที่พกข้อมูลชัวคราวสาหรับจัดเก็บข้อมูลที่จะถูกส่งออก
  ไปยังอุปกรณ์ เพื่อแก้ปัญหาของอุปกรณ์ที่ไม่สามารถสลับการ
  ทางานหรือทางานพร้อมกันระหว่างโปรเซสได้ เช่น ในการใช้งาน
                                   ั่                 ั ิ
  เครื่องพิมพ์ร่วมกัน ในขณะที่สงพิมพ์งาน ระบบปฏิบตการจะใช้
                                                              ่
  Spooling เข้ามาจัดการข้อมูล เพื่อจัดเก็บข้อมูลตามลาดับที่สงเข้า
                  ั                   ั
  โดยทาหน้าที่จดลาดับคิวงานให้กบเครื่องพิมพ์ ขณะที่งานต่างๆ
  เก็บอยู่ใน Spooling ผูใ้ ช้สามารถควบคุมการทางานผ่านทาง
              ั ิ              ่
  ระบบปฏิบตการได้ เช่น สังยกเลิกพิมพ์ เป็ นต้น


                                                                       37
 เนืองจากระบบปฏิบตการทาหน้าที่เป็ นตัวกลางในการประสานการ
     ่            ั ิ
  ทางานระหว่างอุปกรณ์และโปรแกรมประยุกต์ของผูใ้ ช้ ทาให้
             ั ิ
  ระบบปฏิบตการมีความสามารถในการจัดการกับข้อผิดพลาดที่อาจ
        ้
  เกิดขึนกับอุปกรณ์ เพื่อให้ระบบยังคงทางานต่อไปได้ เช่น
  ข้อผิดพลาดที่เกิดกับเครื่องพิมพ์กรณีที่กระดาษหมด หรือการรับ-
                                                              ้
  ส่งข้อมูลในเครือข่ายติดขัด ซึ่งข้อผิดพลาดเพียงเล็กน้อยเช่นนีไม่
                                                     ่
  ควรทาให้การทางานของระบบหยุดชะงัก ระบบโดยทัวไปจะจัดการ
                        ้              ่
  กับข้อผิดพลาดเหล่านีให้ในระดับหนึง เช่น แจ้งข้อผิดพลาดให้
  โปรเซสของผูใ้ ช้ทราบและบอกสาเหตุตลอดจนแนวทางแก้ไข เป็ นต้น
                                                                    38
CED 1101 Principle of Operating System




                                         39

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:274
posted:8/21/2011
language:Thai
pages:39