วันพุธที่ 2 พฤศจิกายน พ.ศ. 2559

บทที่ 2 โครงสร้างของระบบคอมพิวเตอร์

สรุปท้าบบทที่ 2
          ระบบคอมพิวเตอร์ ในยุคปัจจุบัน จะประกอบไปด้วยซีพียู และตัวควบคุมอุปกรณ์(Device Controller) อยู่ในจำนวนหนึ่ง ที่มีการเชื่อมโยงเข้าด้วยกันผ่านสายส่งข้อมูล หรือที่เรียนกว่าบัส(Bus)

          ตัวควบคุมอุปกรณ์ แต่ละตัวจะมีหน้าที่ควบคุมอุปกรณ์ที่ตนรับผิดชอบ เช่น ดิสก์ไอรฟ์ หรือเครื่องพิมพ์ เป็นต้น


          ซีพียูและตัวควบคุมอุปกรณ์ต่างๆ ล้วนแต่ต้องการใช้พื้นที่หน่วยความจำทั้งสิ้น

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

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

          เมื่อมีการเปิดเครื่อง เพื่อให้คอมพิวเตอร์เริ่มทำงาน เหตุการณ์ของการเปิดเครื่องคอมพิวเตอร์จะเรียกว่า การบูต (Boot)

          ครั้นเมื่อระบบปฎิบัติการได้โหลดเข้าสู่หน้าหน่วยความจำหลักเป็นที่เรียบร้อย Bootstrap Program ก็หมดหน้าที่ แล้วจะปล่อยให้ระบบปฎิบัติการเป็นตัวควบคุมดูแลระบบ ระบบปฎิบัติการก็จะรอคอยสัญญาณขัดจังหวะ หรือที่เรียกว่า การอินเตอร์รัปต์ (Interrupt)
          
          สำหรับฮาร์ดแวร์ สามารถส่งสัญญาณอินเตอร์รัปต์ผ่านทาง System Bus มายังซีพียูได้ตลอดเวลา ในขณะที่ส่วนของซอฟต์แวร์จะส่งสัญญาณอินเตอร์รัปต์ผ่านทาง System Ca;; เพื่อให้เอ็กซีคิวต์คำสั่งที่ต้องการ

          เมื่อซีพียูถูกอินเตอร์รัปต์ หมายความว่าซีพียูถูกขัดจังหวะ ดังนั้น ซีพียูก็จะหยุดทำงานที่กำลังทำอยู่ชั่วคราว เพื่อไปทำงานกับอุปกรณ์ที่ส่งสัญญาณขัดจังหวะมา ครั้นเมื่อทำงานเสร็จซีพียูก็จะกลับมาทำงานต่อจากงานเดิมที่ค้างไว้

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

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

          ตัวควบคุมแต่ละตัวจะมีหน่วยความขนาดเล็กที่เรียกว่าบัฟเฟอร์ และยังมีรีจิสเตอร์ที่ไว้สำหรับ ใช้เฉพราะงานจำนวนหนึ่ง โดยตัวควบคุมจะทำหน้าที่ในการรับส่งข้อมูลระหว่างตัวอุปกรณ์กับบัฟเฟอร์ของอุปกรณ์เหล่านั้น

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

          DMA (Direct Memory Access) เป็นวิธีการส่งข้อมูลจากอุปกรณ์ I/O ไปยังหน่วยความจำโดยตรง โดยไม่ต้องผ่านซีพียู วิธีนี้จะทำให้การส่งข้อมูลมีความรวดเร็วยิ่งขึ้น อีกทั้งยังไม่เปลืองเวลาซีพียูด้วย

          ลำดับชั้นหน่วยความจำ จะสะท้อนถึงความเร็ว และความจุของหน่วยความจำชนิดต่างๆ โดยหน่วยความจำที่มีความเร็วต่ำ มักมีราคาถูก มีความจุสูง แต่มีอัตราการเข้าถึงข้อมูลที่ช้า ในขณะที่หน่วยความจำความเร็วสูง มักมีราคาสูง แต่มีความจุต่ำ และมีอัตราการเข้าถึงข้อมูลที่รวดเร็ว

          หน่วยความจำแบบ Volatile เช่นรีจิสเตอร์ แคช และหน่วยความจำหลัก ข้อมูลที่บันทึกอยู่ในหน่วยความจำชนิดนี้ ถึงแม้จะไม่มีไฟฟ้าเลี้ยงวงจร

          หน่วยความจำแบบ Non-Volatile เช่น ดิสก์ เทป ซีดี ข้อมูลที่บันทึกอยู่ในหน่วยความจำชนิดนี้ยังคงอยู่ต่อไป ถึงแม้จะไม่มีไฟฟ้าเลี้ยงก็ตาม

          เพื่อป้องกันข้อผิดพลาดในระบบ ที่อาจส่งผลเสียหายต่อโปรแกรมที่ส่งเข้ามาประมวลผลรวมถึงตัวระบบปฎิบัติการเอง ดังนั้น ในระบบที่รองรับการทำงานหลายงาน และมีการใช้ทรัพยากรร่วมกัน จึงต้องมีการแบ่งการทำงานเป็นโหมด ซึ่งประกอบด้วย
          1.โหมดทำงานของผู้ใช้ (User Mode)
          2.โหมดทำงานของระบบ (System Mode/Monitor Mode)

          เพื่อป้องกันไม่ให้ผู้ใช้หรือโปรแกรมเข้าไปจัดการกับอุปกรณ์ I/O อย่างไม่ถูกต้องจึงมีการกำหนดให้คำสั่ง I/O ทั้งหมดเป็นคำสั่งสงวน (Privilege Instructions) นั่นหมายความว่า ผู้ใช้จะไม่สามารถสั่งการกับอุปกรณ์อินพุตและเอาต์พุตได้โดยตรง แต่ถ้าหากผู้ใช้ต้องการใช้งาน I/O จะต้องติดต่ออผ่านระบบปฎิบัติการเท่านั้นด้วยการเรียกใช้งานผ่าน System Call

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

          กรณีบางโปรแกรมในระบบ ได้ทำงานติดวงจรลูปแบบไม่มีที่สิ้นสุด จึงทำให้ไม่สามารถส่งคืนซีพียูกลับไปยังระบบปฎิบัติการ ดังนั้น เพื่อป้องกันเหตุการณ์ดังกล่าว จึงมีการใช้นาฬิกาจับเวลา ครั้นเมื่อเวลาถูกใช้งานไปเรื่อยๆ จนมีค่าเป็นศูนย์ โปรแกรมนั้นก็หลุดจากการครอบครองซีพียู ทำให้ซีพียูสามารถไปทำงานอื่นที่รอคอยอยู่ได้

          การศึกษา โครงสร้างของระบบปฎิบัติการ สามารถพิจารณาถึงส่วนสำคัญต่างๆ ดังนี้
          1.ส่วนประกอบของระบบ
          2.งานบริการของระบบปฎิบัติการ
          3.การติดต่อระหว่างโปรเซสกับระบบปฎิบัติการ