วันศุกร์ที่ 5 มกราคม พ.ศ. 2561

ใบงาน 8 โครงสร้างของระบบปฏิบัติการ


บทที่8
โครงสร้างของระบบปฏิบัติการ
จัดทำโดย นาย สราวุฒิ เชื้อกสิกรรม รหัสนักศึกษา 6031280064

โครงสร้างของระบบปฏิบัติการ
Operating System Structure



       โครงสร้างของระบบปฏิบัติการ

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

      ระดับชั้นการทำงานของ OS

ระดับชั้นการทำงานของโปรแกรมต่างๆ ในแง่ผู้ใช้ เราอาจแบ่งได้ออกเป็น 3 ระดับ
1.) โปรแกรมทั่วไปหรือผู้ใช้เอง
2.) ระบบปฏิบัติการ (OS)
      3.) ฮาร์ดแวร์ของเครื่องคอมพิวเตอร์


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

ระดับชั้นการทำงานของโปรแกรม

ระดับชั้นภายในตัวระบบปฏิบัติการ

ระดับชั้นแรกสุด เป็นระดับชั้นที่ต่ำที่สุดมีชื่อเรียกว่า เคอร์เนล (Kernel) เป็นชั้นที่มีหน้าที่รับผิดชอบงานต่าง ๆ ของโปรเซสของระบบปฏิบัติการเท่านั้น
  เคอร์เนลประกอบด้วยส่วนย่อย ๆ พื้นฐาน 3 ส่วน คือ  1. ตัวส่ง (dispatcher) มีหน้าที่จัดการส่งโปรเซสเข้าไปให้ซีพียู  2. ตัวจัดการอินเตอร์รัพต์ขั้นแรก (first-level interrupt handler) มีหน้าที่วิเคราะห์การอินเตอร์รัพต์ที่ เกิดขึ้น และเลือกใช้รูทีนที่เหมาะสมกับอินเตอร์รัพต์นั้นๆ  3. ตัวควบคุมมอนิเตอร์ (monitor control) มีหน้าที่ควบคุมดูแลการเข้าถึงมอนิเตอร์ต่าง ๆ ของระบบ


ระดับชั้นภายในตัวระบบปฏิบัติการ

            การทำงานของของเคอร์เนล                                 ต้องการความเร็วในการทำงานสูงมากเพราะเป็นงานขั้นพื้นฐานและมีการ   ทำงานบ่อยมาก    ดังนั้น เคอร์เนลมักจะถูกเขียนขึ้นด้วยภาษาแอสเซมบลี้ และเป็นส่วนที่ขึ้นอยู่กับฮาร์ดแวร์ของเครื่อง 


ความสัมพันธ์ของเคอร์เนลและฮาร์ดแวร์

                         เคอร์เนลยังมีหน้าที่อื่นๆ อีก เช่น จัดการเรื่องการเข้าจังเหวะของโปรเซส (process synchronization) และการติดต่อระหว่างโปรเซส (process communication) 


ระดับชั้นภายในตัวระบบปฏิบัติการ

ชั้นที่ 2 ผู้จัดการหน่วยความจำ (memory manager)

                                          มีหน้าที่จัดการเกี่ยวกับหน่วยความจำของระบบ เช่น การทำหน่วยความจำเหมือนระบบหน้า เป็นต้น

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


ชั้นที่ 2 ผู้จัดการหน่วยความจำ (memory manager)

ชั้นที่ 2 ผู้จัดการหน่วยความจำ (memory manager)


               มีหน้าที่จัดการเกี่ยวกับหน่วยความจำของระบบ เช่น การทำหน่วยความจำเหมือนระบบหน้า เป็นต้น

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

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


     ชั้นที่ 3 ระบบ ควบคุมอินพุต-เอาต์พุต (input-output control system) หรือ IOCS
                            จะมีหน้าที่จัดการงานทางด้านอินพุตเอาพุตของระบบในชั้นนี้ยังคงมีลักษณะขึ้นอยู่กับฮาร์ดแวร์อยู่บ้าง เพราะการติดต่อกับอุปกรณ์อินพุต-เอาต์พุตต้องทราบโครงสร้างและการทำงานของอุปกรณ์นั้นๆด้วย  ซึ่งส่วนนี้เป็นหน้าที่ของตัวขับอุปกรณ์ (device driver)
                               นอกจากนี้ IOCS ยังต้องอาศัยรูทีนบางอย่างทั้งจากเคอร์เนล และผู้จัดการหน่วยความจำในการทำงานของมันอีกด้วย
ตัวอย่างเช่น เคอร์เนลจัดหา  รูทีนที่เหมาะสมกับการเกิดอินเตอร์รัพต์จากอุปกรณ์อินพุต-เอาต์พุต ให้ IOCS ทำงานหรือ IOCS เรียกใช้รูทีนผู้จัดการหน่วยความจำให้ช่วยหาเนื้อที่ในหน่วยความจำเพื่อใช้ทำบัฟเฟอร์ของอุปกรณ์ต่างๆ 
ชั้นที่ 3 ระบบ ควบคุมอินพุต-เอาต์พุต

(input-output control system) หรือ IOCS

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


ชั้นที่ 4 ผู้จัดการไฟล์ (file manager)

มีหน้าที่จัดการงานต่างๆ ที่เกี่ยวกับไฟล์ เช่น การเก็บไฟล์ลงดิสก์ การหาไฟล์ การอ่านข้องมูลของไฟล์ เป็นต้นผู้จัดการไฟล์นี้สามารถถูกออกแบบให้ไม่ขึ้นกับฮาร์ดแวร์ (hardware independent) ผู้จัดการไฟล์จะจะติดต่อกับฮาร์ดแวร์โดยเรียกผ่านรูทีนต่างๆของ เคอร์เนล ผู้จัดการหน่วยความจำและ IOCS
                                 ชั้นที่ ผู้จัดการไฟล์ (file manager)

       



ชั้นที่ 5 ตัวคิวระยะสั้น (short-term scheduler)

ชั้นที่ 5 ตัวคิวระยะสั้น (short-term scheduler)
เป็นระดับชั้นแรกที่มีลักษณะไม่ขึ้นอยู่กับฮาร์ดแวร์โดยสมบูรณ์มีหน้าที่จัดคิวของโปรเซสในสถานะพร้อม (ready state) เมื่อใดที่ส่วนนี้ทำงานมันจะคัดเลือกเอาโปรซสที่เหมาะที่สุดในคิวของสถานะพร้อม เพื่อให้โปรเซสนั้นเข้าไปครอบครองซีพียูที่ว่างอยู่ โดยเรียกใช้ตัวส่งในส่วนของเคอร์เนล
เป็นระดับชั้นแรกที่มีลักษณะไม่ขึ้นอยู่กับฮาร์ดแวร์โดยสมบูรณ์มีหน้าที่จัดคิวของโปรเซสในสถานะพร้อม (ready state) เมื่อใดที่ส่วนนี้ทำงานมันจะคัดเลือกเอาโปรซสที่เหมาะที่สุดในคิวของสถานะพร้อม เพื่อให้โปรเซสนั้นเข้าไปครอบครองซีพียูที่ว่างอยู่ โดยเรียกใช้ตัวส่งในส่วนของเคอร์เนล

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

ชั้นที่ 6 ผู้จัดการทรัพยากร (resource manager)
การสลับชั้นของตัวจัดคิดระยะสั้นและผู้จัดการทรัพยากร

ชั้นที่ 7 ตัวจัดคิวระยะยาว (long-term scheduler)
เป็นชั้นของระบบปฏิบัติที่เริ่มมีความใกล้ชิดกับผู้ใช้และห่างไกลกับฮาร์ดแวร์ของเครื่องมากขึ้นมีหน้าที่จัดการและควบคุมโปรเซสต่างๆ ทั้งหมดในระบบเช่นสร้างโปรเซสต่าง ๆ ใหม่เข้ามาในระบบและยุติโปรเซสเมื่อโปรเซสทำงานเสร็จสิ้นลงการทำงานของตัวจัดคิวระยะยาวต้องใช้รูทีนต่างๆ ในชั้นที่ 1 ถึง 6 ช่วยในการทำงาน
ชั้นที่ ตัวจัดคิวระยะยาว (long-term scheduler)

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


ชั้นที่ 8 เชลล์ (shell) หรือผู้แปลคำสั่ง (command interpreter

ระดับชั้นต่างๆ ของโปรแกรม


อ้างอิง
http://www.chantra.sru.ac.th/OS.html 



ไม่มีความคิดเห็น:

แสดงความคิดเห็น