บทที่2 Computer System Structures

posted on 18 Aug 2008 05:08 by 490702464037
การทำงานของระบบคอมพิวเตอร์ (Computer System Operation)

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

แสดงระบบคอมพิวเตอร์ยุคใหม่

 หน้าที่โดยทั่วไปของสัญญาณขัดจังหวะ

·         สัญญาณขัดจังหวะจะส่งการควบคุมไปยัง Interrupt service routine ผ่านทางตารางสัญญาณขัดจังหวะ

·         สถาปัตยกรรมของสัญญาณขัดจังหวะ จะต้องบันทึกตำแหน่งของชุคำสั่งที่ถูกขัดจังหวะไว้

·         สัญญาณขัดจังหวะที่เข้าสู่ระบบจะถูก Disable ถ้ามีการทำงานของสัญญาณขัดจังหวะตัวอื่นอยู่ก่อนแล้ว เพื่อป้องกันการสูญหายของสัญญาณขัดจังหวะ

·         ในระบที่ซับซ้อนขึ้นอาจยอมให้มรการขัดจังหวะซ้อนๆ กันได้โดยเรียงตามศักดิ์ สัญญาณที่มีศักดิ์สูงกว่าอาจขัดจังหวะสัญญาณที่มีศักดิ์ต่ำกว่า แต่ถ้ามีศักดิ์เท่ากันต้องรออินเตอร์รัปต์พร้อมกันไม่ได้

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

·         แทร็ป คือ Software generated interrupt ซึ่งเกิด Error หรือไม่ก็เกิดจากการร้องขอของโปรแกรมของผู้ใช้

 โครงสร้างของการรับส่งข้อมูล (I/O Structure)การขัดจังหวะการรับ ส่งข้อมูล

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

การรับ-ส่งข้อมูลแบบสัมพันธ์

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

·         ในการรอรับส่งข้อมูลเสร็จมี2วิธี

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

2.เครื่องจักรที่ไม่มีชุคำสั่งดังกล่าว อาจจะมี wait loop

·         ถ้าซีพียูต้องรอให้รับส่งข้อมูลเสร็จงานก่อนเสมอ แสดงว่าต้องมีการร้องของของ I/Oอยู่หนึ่งตัวที่เด่นอยู่ตลอดเวลา ดังนั้นเมื่อเกิดสัญญาณกรขัดจังหวะการรับส่งข้อมูล ระบบปฏิบัติการจะรู้ทันทีว่า ดีไวซ์กำลังถูกขัดจังหวะ แต่ไม่สามารถประมวลผล I/O device หลายๆตัวพร้อมกันได้

·         ตัวอย่างของระบบนี้คือ ระบบปฏิบัติการ MS-DOS เวลาสั่งพิมพ์ ต้องรอเสร็จงานก่อนจึงจะทำงานต่อไปได้

การรับส่งข้อมูลแบบไม่สัมพันธ์

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

·         คำสั่งร้องขอระบบปฏิบัติการ อนุญาตให้โปรแกรมของผู้ใช้รอคอยให้รับบส่งข้อมูลเสร็จ

·         ตารางที่ระบบปฏิบัติการใช้เก็บบันทึกของอุปกรณ์รับส่งข้อมูลแต่ละตัว คือ Device status table ซึ่งใช้แสดงชนิดของอุปกรณ์ ที่อยู่ และสถานะ (ว่าง กำลังทำงาน หรือเสีย)

โครงสร้างของ DMA (Direct Memory Access Structure)

·         ใช้สำหรับอุปกรณ์รับส่งข้อมูลที่มีความเร็วสูง เช่น เทป จานเม่เหล็ก หรือข่ายงานสื่อสาร อาจมีความเร็วในการส่งข้อมูลได้ใกล้เคียงกับความเร็วของหน่วยความจำ

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

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

โครงสร้างของหน่วยเก็บข้อมูล (Storage Structures)

                หน่วยความจำหลักหรือเมนโมรีอย่างถาวร แต่ทำไม่ได้ด้วยเหตุผล 2 ประการ

1.       หน่วยความจำหลักเล็กเกินไปที่จะเก็บโปรแกรมและข้อมูลที่จำเป็นทั้งหมดอย่างถาวร

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

ลำดับของหน่วยเก็บข้อมูล (Storage Hierarchy)

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

                เมนโมรี แคช และรีจิสเตอร์ คือ Volatile storage แต่จานแม่เหล็กออปติคัลดิสก์ และเทปแม่เหล็กเป็น Nonvolatile storage ส่วนอิเล็กทรอนิกส์ดิสก์เป็นแบบชั่วขณะและถาวร

แสดงลำดับชั้นของอุปกรณ์เก็บข้อมูล

การป้องกันของฮาร์ดแวร์ (Hardware Protection)

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

การทำงานแบบ 2ช่วง (Dual Mode Operation)

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

การป้องกันของการรับ-ส่งข้อมูล (I/O Protection)

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

การป้องกันของหน่วยความจำ (Memory Protection)

                การป้องกันนี้ทำได้โดยรีจิสเตอร์ 2 ตัว เรียกว่า ฐาน และขอบเขต

·         รีจิสเตอร์ฐาน จะเก็บค่าตำแหน่งสุดท้ายที่ยอมให้ใช้ได้ในเมนโนรี

·         รีจิสเตอร์ขอบเขต จะเก็บขนาดของเนื้อที่ทั้งหมดของงาน

แสดงการป้องกันพื้นที่ของฮาร์ดแวร์ด้วยรีจิสเตอร์ฐานและขอบเขต

การป้องกันของหน่วยประมวลผลกลาง (CPU Protection)

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

สถาปัตยกรรมของระบบโดยทั่วไป (General System Architecture)

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

edit @ 18 Aug 2008 05:49:05 by

Comment

Comment:

Tweet

#2 By (182.52.27.26|182.52.27.26) on 2014-08-07 11:56

ขอบคุนมากคับ สรุปละเอียดดีคับ

#1 By ol0ol (58.8.249.11) on 2009-09-10 21:54