วันเสาร์ที่ 13 มิถุนายน พ.ศ. 2552

โปรเซส และ Thread (Process and Thread)


แบบทดสอบ
1. ข้อใดไม่ใช่องค์ประกอบของโปรเซส
ก. โค้ดโปรแกรม
ข. PCB
ค. PSI
ง. หมายเลขโปรเซส

เฉลย ค. PSI
ที่ถูกคือ PSW เป็นตัวควบคุมลำดับการเอ็กซิคิวต์คำสั่งของโปรเซสและเก็บข้อมูลเกี่ยวกับสถานะของโปรเซส ที่อยู่ของคำสั่งที่จะเอ็กซิคิวต์ต่อไป

ที่มา : หนังสือระบบปฏิบัติการ (Operating Systems) หน้า 49

2. ข้อใดเรียงลำดับสถานะของโปรเซสได้ถูกต้อง
ก. New->Ready->Wait->Running->Block->Terminate
ข. New->Ready->Wait->Block->Running->Terminate
ค. New->Ready->Running->Block->Wait->Terminate
ง. New->Ready->Running->Wait->Block->Terminate

เฉลย ง. New->Ready->Running->Wait->Block->Terminate
สถานะเริ่มต้น (New) เป็นสถานะที่เริ่มต้นสร้างโปรเซส
สถานะพร้อม (Ready) เป็นสถานะที่พร้อมจะครอบครองซีพียูในทันทีที่ระบบปฏิบัติการมอบหมายงานให้ สถานะนี้จะยังไม่มีการรันโปรเซสเพียงหยุดนิ่งอยู่เท่านั้น
สถานะรัน (Running) เป็นสถานะที่โปรเซสที่ครอบครองซีพียูอยู่แล้วมีการรันโปรเซสนั้นโดยการเอ็กซิคิวต์คำสั่งในโปรแกรมของโปรเซส
สถานะรอ (Wait) เป็นสถานะที่โปรเซสกำลังรอเหตุการณ์บางอย่างให้เกิดขึ้นก่อน
สถานะบล็อก (Block) เป็นสถานะที่อาจจะต้องการใช้อุปกรณ์อินพุต/เอาต์พุต หรือเกิดอินเทอร์รัพต์ระหว่างที่รันโปรเซส จะต้องรอให้มีการจัดการอุปกรณ์อินพุต/เอาต์พุต หรือเกิดอินเทอร์รัพต์ให้เรียบร้อยก่อนจะกลับไปสถานะรันได้ต่อไป
สถานะสิ้นสุด (Terminate) เป็นสถานะที่หยุดนิ่งอันเนื่องมาจากการที่โปรเซสถูกเอ็กซิคิวต์หมดทุกคำสั่งในโปรแกรมแล้ว

ที่มา : หนังสือระบบปฏิบัติการ (Operating Systems) หน้า 49

3. รูปแบบของเมลล์บ็อกซ์สามารถแบ่งออกเป็นกี่แบบ
ก. 2
ข. 3
ค. 4
ง. 5

เฉลย ข.3
รูปแบบการใช้เมลล์บ็อกซ์มี 3 แบบคือ
- เมลล์บ็อกซ์แบบคิว
- เมลล์บ็อกซ์แบบไปป์
- เมลล์บ็อกซ์แบบสแต็ก

ที่มา : หนังสือระบบปฏิบัติการ (Operating Systems) หน้า 60

4. ความจุแบบใดที่ทำให้คิวมีขนาดคงที่เป็น n
ก. ความจุศูนย์
ข. ความจุแบบมีขอบเขต
ค. ความจุไม่มีขอบเขต
ง. ไม่มีข้อใดถูก

เฉลย ข. ความจุแบบมีขอบเขต
ความจุแบบมีขอบเขต ความจุแบบนี้จะทำให้คิวมีขนาดคงที่เป็น n ดังนั้นจะมีแมสเสจได้สูงสุด n แมสเสจที่เก็บในคิวได้

ที่มา : หนังสือระบบปฏิบัติการ (Operating Systems) หน้า 62

5. คุณสมบัติของ Mutual Exclusion มีกี่ประการ
ก. 2
ข. 4
ค. 6
ง. 8

เฉลย ข. 4
คุณสมบัติ 4 ประการของ Mutual Exclusion มีดังนี้
- จะต้องไม่มีโปรเซส 2 โปรเซสอยู่ใน Critical Region พร้อมกัน
- จะต้องไม่มีสมมุติฐานและข้อจำกัดเกี่ยวกับความเร็ว และจำนวนซีพียูมาเกี่ยวข้อง
- จะต้องไม่มีโปรเซสใดๆ ภายนอก Critical Region ที่บล็อกการทำงานของโปรเซสอื่น
- จะต้องไม่มีโปรเซสใดที่รอการเข้า Critical Region ตลอดเวลา

ที่มา : หนังสือระบบปฏิบัติการ (Operating Systems) หน้า 67

6. การแก้ปัญหา Mutual Exclusion with busy waiting มีกี่วิธี
ก. 3
ข. 5
ค. 7
ง. 9
เฉลย ข. 5
การแก้ปัญหา Mutual Exclusion with busy waiting มี 5 วิธีดังนี้
- Disable Interrupt
- Lock Variable
- Strict Alternation
- Peterson's Solution
- TSL Intruction

ที่มา : หนังสือระบบปฏิบัติการ (Operating Systems) หน้า 69

7. Thread อาจจะแบ่งตามการระดับการสนับสนุนได้กี่แบบ
ก. 2
ข. 4
ค. 6
ง. 8
เฉลย ก. 2
Thread อาจจะแบ่งตามการระดับการสนับสนุนได้ 2 แบบ คือ
- User Thread
- Kernel Thread

ที่มา : หนังสือระบบปฏิบัติการ (Operating Systems) หน้า 89

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

เฉลย ก. พอยเตอร์
พอยเตอร์ จะเป็นองค์ประกอบของโปรเซส สำหรับชี้ตำแหน่งของโปรเซสที่อยู่ในหน่วยความจำ และตำแหน่งของรีซอร์สที่โปรเซสครอบครองอยู่
Thread เป็นหน่วยพื้นฐานของการจัดสรรการใช้ประโยชน์ซีพียู ที่ประกอบด้วย
- หมายเลข Thread (thread ID) เป็นหมายเลข Thread ในโปรเซส
- ตัวนับ เพื่อติดตามให้ทราบคำสั่งต่อไปที่จะเอ็กซิคิวต์
- ชุดของรีจีสเตอร์ เพื่อเก็บค่าตัวแปรที่ทำงานอยู่
- สแต็ก (Stack) เพื่อเก็บประวัติการเอ็กซิคิวต์

ที่มา : หนังสือระบบปฏิบัติการ (Operating Systems) หน้า 48 และ 87

9. ข้อใดกล่าวไม่ถูกต้องเกี่ยวกับข้อได้เปรียบของ multithreaded
ก. การเอื้อประโยชน์ของสถาปัตยกรรมมัลติโปรเซสเซอร์
ข. ความประหยัด
ค. การแชร์รีซอร์ส
ง. ความเร็ว

เฉลย ง. ความเร็ว
ข้อได้เปรียบของ multithreaded
การที่ระบบปฏิบัติการสนับสนุนระบบ multithreaded ทำให้มีข้อได้เปรียบใน 4 กลุ่มหลักๆ ดังนี้
- การตอบสนอง
- การแชร์รีซอร์ส
- ความประหยัด
- การเอื้อประโยชน์ของสถาปัตยกรรมมัลติโปรเซสเซอร์

ที่มา : หนังสือระบบปฏิบัติการ (Operating Systems) หน้า 88-89

10. การยกเลิกที่ Thread อื่นสั่งให้ target thread หยุดทันที เป็นการยกเลิก Thread แบบใด
ก. การยกเลิกแบบ Asynchronous
ข. การยกเลิกแบบ Deferred
ค. การยกเลิกแบบ multithreaded
ง. การยกเลิกแบบ Pthread

เฉลย ก. การยกเลิกแบบ Asynchronous
การยกเลิกแบบ Asynchronous เป็นการยกเลิกที่ Thread อื่นสั่งให้ target thread หยุดทันที

ที่มา : หนังสือระบบปฏิบัติการ (Operating Systems) หน้า 92

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

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