บทที่ 2
โครงสร้างของระบบคอมพิวเตอร์ และโครงสร้างของระบบปฏิบัติการ
ระบบคอมพิวเตอร์ในยุคปัจจุบันจะประกอบไปด้วยซีพียูเเละตัวควบคุบอุปกรณ์(Device controller) อยู่จำนวนหนึ่งที่มีการเชื่อมโยงเข้าด้วยกันผ่ายสายส่งข้อมูลที่เรียกกันว่าบัส(Bus)
ตัวควบคุมอุปกรณ์ เเต่ละตัวมีหน้าทีควบคุมอุปกรณ์ที่ตนรับผิดชอบ เช่น ดิสก์ ไดรฟ์ หรือเครื่องพิมพ์ เป็นต้น
ซีพียูเเละตัวควบคุมอุปกรณ์ต่างๆล้วนเเต่ต้องการใช้พื้นที่หน่วยความจำทั้งสิ้น
พื้นที่หน่วยความจำ เป็นพื้นที่ส่วนกลางที่อนุญาตให้อุปกรณ์อื่น เเละโปรเเกรมต่างๆเข้าใช้งานร่วมกันได้ โดยจะผ่านสายส่งข้อมูลที่เรียกว่าบัส
ทั้งซีพียูเเละตัวควบคุมอุปกรณ์ต่างๆสามารถทำงานพร้อมกันได้ ด้วยสาเหตุนี้ จึงต้องมีตัวควบคุมหน่วยความจำ(Memory controller)ที่รับผิดชอบหน้าทีการควบคุมเพื่อป้องกันการเข้าถึงหน่วยความจำให้เป็นไปอย่างถูกต้อง
เมื่อมีการเปิดเครื่อง เพื่อให้คอมพิวเตอร์เริ่มทำงาน เหตการณ์ของการเปิดเครื่องคอมพิวเตอร์จะเรียกว่าการบูต(Boot)
ครั้นเมื่อระบบปฏิบัติการให้โหลดเข้าสู่หน่วยความจำหลักเป็นที่เรียบร้อยเเล้ว Bootstrap Program
ก็หมดหน้าที่เเล้วจะปล่อยให้ระบบปฏิบัตืการณ์เป็นตัวควบคุมดูเเลระบบ ระบบปฏิบัติการก็จะรอคอยสัญญาณขัดจังหวะ หรือที่เรียกว่า การอินเตอร์รัปต์ (Interrupt)
สำหรับฮาร์ดเเวร์ สามารถส่งสัญญาณอินเตอร์รัปต์ผ่านทาง System Bus มายังซีพียูได้ตลอดเวลา
ในขณะที่ส่วนของซอฟต์เเวร์จะส่งสัญญาณอินเตอร์รัปต์ผ่านทาง System Call เพื่อเอ็กซีคิวต์คำสั่งต้องการ
เมื่อซีพียูถูกอินเตอร์รัปต์ หมายความว่าซีพียูถูกขัดจังหวะ ดังนั้น ซีพียูก็จะหยุดทำงานที่กำลังทำอยู่ชั่วคราว เพื่อไปทำงานกับอุปกรณ์ที่ส่งสัญญาณขัดจังหวะมา ครั้นเมื่อทำงานเสร็จซีพียูก็จะกลับมาทำงานต่อจากงานเดิมที่ค้างไว้
อินเตอร์รัปต์เวกเตอร์ ประกอบด้วยหมายเลขอินเตอร์รัปต์ เเละตำเเหน่งเเอดเดรสของ
รูทีนอินเตอร์รัปต์ เพื่อเป็นข้อมูลให้ซีพียูรู้ตำเเหน่งของอุปกรณ์ที่จะเข้าไปจัดการ
คอมพิวเตอร์ใช้งานทั่วไป จะประกอบด้วยซีพียู และมีตัวควบคุมอุปกรณ์จำนวนหนึ่งที่เชื่อมถึงผ่านบัส โดยปกติแล้วตัวควคุมแต่ละตัวจะรับผิดชอบอุปกรณ์ที่เชื่อมอยู่หนึ่งอุปกรณ์
ตัวควบคุมแต่ละตัวจะมีหน่วยความจำขนาดเล็กที่เรียกว่าบัฟเฟอร์ และยังมีรีจิสเตอร์ที่ไ้สำหรับใช้เฉพาะงานอยู่จำนวนหนึ่ง โดยตัวควบคุมจะทำหน้าที่ในการรับส่งข้อมูลระหว่างตัวอุปกรณ์กับบัฟเฟอร์ของอุปกรณ์เหล่านั้น
เมื่อการใช้งาน 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. การติดต่อระหว่างโปรเซสกันระบบปฎิบัติการ