วันเสาร์ที่ 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

พื้นฐานระบบคอมพิวเตอร์และระบบปฏิบัติการ

แบบทดสอบ

1. คอมพิวเตอร์สามารถแบ่งออกได้เป็นกี่ประเภท
ก. 4 ประเภท
ข. 5 ประเภท
ค. 6 ประเภท
ง. 7 ประเภท

เฉลย ง. 7 ประเภท
ประเภทของคอมพิวเตอร์อาจแบ่งเป็น 7 ประเภทดังนี้
- คอมพิวเตอร์ระดับยิ่งใหญ่ หรือซุปเปอร์คอมพิวเตอร์
- คอมพิวเตอร์ระดับใหญ่ หรือเมนเฟรมคอมพิวเตอร์
- คอมพิวเตอร์ระดับเล็ก หรือมินิคอมพิวเตอร์
- คอมพิวเตอร์ส่วนบุคคลหรือ พีซี
- คอมพิวเตอร์ขนาดสมุดบันทึก หรือโน็ตบุค
- คอมพิวเตอร์ที่ทำหน้าที่เลขาส่วนตัว หรือพีดีเอ
- คอมพิวเตอร์เครือข่ายหรือ เน็ต

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

2. ระบบคอมพิวเตอร์ประกอบไปด้วยองค์ประกอบกี่ด้าน
ก. 3 ด้าน
ข. 4 ด้าน
ค. 5 ด้าน
ง. 6 ด้าน

เฉลย ค. 5
ระบบคอมพิวเตอร์ควรจะประกอบไปด้วยองค์ประกอบ 5 ส่วน คือ
- ฮาร์ดแวร์
- ซอฟต์แวร์
- บุคลากร
- ข้อมูล
- กระบวนการทำงาน

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

3. ฮาร์ดแวร์สามารถแบ่งออกได้เป็นกี่หน่วย
ก. 2 หน่วย
ข. 4 หน่วย
ค. 6 หน่วย
ง. 8 หน่วย

เฉลย ข. 4 หน่วย
- หน่วยรับข้อมูลหรืออินพุต
- หน่วยประมวลผล กลาง หรือพีซี
- หน่วยเก็บข้อมูล
- หน่วยแสดงข้อมูลหรือเอาต์พุต

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

4. ซอฟต์แวร์สามารถแบ่งออกได้เป็นฃกี่กลุ่มใหญ่
ก. 3 กลุ่มใหญ่
ข. 4 กลุ่มใหญ่
ค. 5 กลุ่มใหญ่
ง. 6 กลุ่มใหญ่

เฉลย ก. 3 กลุ่มใหญ่ คือ
- ซอฟต์แวร์ระบบ
- ซอฟต์แวร์สำเร็จรูป
- ซอฟต์แวร์ประยุกต์

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

5. ข้อใดกล่าวถูกต้องเกี่ยวกับยุค ค.ศ. 1945 – 1955 ของคอมพิวเตอร์
ก. มีความซับซ้อนมากขึ้นใช้คุณลักษณะเวอร์ชวลแมชชีน มีการสื่อสารข้อมูล มีการสนับสนุนระบบการจัดการฐานข้อมูล
ข. เป็นยุคคอมพิวเตอร์พื้นฐาน เป็นหลอดสุญญากาศแบบธรรมดา ยังไม่มีระบบปฏิบัติการและเครื่องยังมีขนาดใหญ่มาก
ค. เป็นยุคทรายซิสเตอร์ ที่ช่วยให้คอมพิวเตอร์มีความหน้าเชื่อถือมากขึ้น
ง. เริ่มมีการคิดค้นที่ทำให้คอมพิวเตอร์มีขนาดเล็กลง และมีการพัฒนาภาษาขั้นสูง และมีระบบปฏิบัติการที่ดีขึ้นมาอีก

เฉลย ข. เป็นยุคคอมพิวเตอร์พื้นฐาน เป็นหลอดสุญญากาศแบบธรรมดา ยังไม่มีระบบปฏิบัติการและเครื่องยังมีขนาดใหญ่มาก

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

6. ข้อใดกล่าวไม่ถูกต้องเกี่ยวกับยุคที่ 4 (ค.ศ. 1980 – ปัจจุบัน) ของคอมพิวเตอร์
ก. มีการใช้โปรแกรมประยุกต์ต่างๆ
ข. เป็นยุคทรานซิสเตอร์
ค. มีอินพุต/เอาท์พุต
ง. มีระบบช่วยในการตัดสินใจ

เฉลย ข. เป็นยุคทรานซิสเตอร์
ยุคที่ 2 (ค.ศ. 1955 – 1964 ) เป็นยุคทรานซิสเตอร์
ยุคที่ 4 (ค.ศ. 1980 – ปัจจุบัน) มีความซับซ้อนมากขึ้น ใช้ระบบปฏิบัติการแบบ multi-mode ใช้คุณลักษณะเวอร์ชวลแมชชีน มีการสื่อสารข้อมูล มีการสนับสนุนระบบการจัดการฐานข้อมูล ระบบจัดการสารสนเทศ มีอินพุต/เอาท์พุต มีการใช้โปรแกรมประยุกต์ต่างๆ มีระบบช่วยในการตัดสินใจ รวมถึงการติดต่อระยะไกล ข้ามประเทศข้ามทวีปโดยใช้เครือข่ายอินเตอร์เน็ต

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

7. ระบบย่อยอินพุต/เอาต์พุตประกอบด้วย
ก. ไดร์เวอร์สำหรับดีไวซ์ที่มีรูปเฉพาะ
ข. อินเทอร์เฟซพื้นฐานของดีไวซ์ไดร์เวอร์
ค. การจัดการหน่วยความจำที่รวมทั้งบัพเพอร์ ,แคช และสพูล
ง. ถูกทุกข้อ

เฉลย ง. ถูกทุกข้อ
ระบบย่อยอินพุต/เอาต์พุตประกอบด้วย
- การจัดการหน่วยความจำที่รวมทั้งบัพเพอร์ ,แคช และสพูล
- อินเทอร์เฟซพื้นฐานของดีไวซ์ไดร์เวอร์
- ไดร์เวอร์สำหรับดีไวซ์ที่มีรูปเฉพาะ

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

8. System Calls จัดเป็นกี่กลุ่มหลัก
ก. 3 กลุ่ม
ข. 5 กลุ่ม
ค. 7 กลุ่ม
ง. 9 กลุ่ม

เฉลย ข. 5 กลุ่ม
System Calls จัดเป็น 5 กลุ่มหลักคือ
- การควบคุมโปรเซส
- การจัดการกับไฟล์
- การจัดการดีไวซ์
- การบำรุงรักษาข้อมูล
- การติดต่อสื่อสาร

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

9. หน้าที่หลักของระบบปฏิบัติการสามารถแบ่งออกได้เป็นกี่หลัก
ก. 2 หลัก
ข. 3 หลัก
ค. 4 หลัก
ง. 5 หลัก

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

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

10. คอมพิวเตอร์ส่วนบุคคลเริ่มปรากฏตัวครั้งแรกเมื่อปี ค.ศ. ใด
ก. ค.ศ.1970
ข. ค.ศ.1974
ค. ค.ศ.1977
ง. ค.ศ.1979

เฉลย ก. ค.ศ.1970
คอมพิวเตอร์ส่วนบุคคลนี้เริ่มปรากฏตัวครั้งแรกเมื่อปี ค.ศ.1970 ตั้งแต่ระบบปฏิบัติการ CP/M พัฒนาต่อมาเป็น DOS

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