โปรแกรมจำลองการทำงานของโปรเซส

SOSIM by Prof.Luiz Paulo Maia
SOSIM by Prof.Luiz Paulo Maia

นั่งอ่านหนังสือ
ระบบปฏิบัติการ (Operating System)
ของ รศ.ดร.กฤษดา ขันกสิกรรม
พบบทที่ 9 การใช้งานโปรแกรมโซซิม (SOSIM)
โปรแกรมนี้นักศึกษา CS ป.โท ทำเป็นผลงาน Thesis
มีหน้าที่จำลองการทำงานของ process
แสดง Running, Ready และ Waiting ใน Process Manager
และการจองหน่วยความจำใน Memory Manager
ผู้ใช้สามารถสร้าง Process ขึ้นมา แล้วส่งในระบบ
จะเห็นการทำงานในแต่ละ State
และสร้าง Process ขึ้นมาได้ 3 แบบ

 

ประเภทของ Process มีดังนี้
1. CPU = ใช้ Central Processing Unit อย่างเดียว
2. IO = ใช้ CPU เป็นรอง แต่ใช้ IO เป็นหลัก มีหลายแบบ
3. MIX = ใช้ CPU ปานกลาง ไปพร้อมกับ IO

ต.ย. 1 โปรเซสเดียว
[สร้าง] Process แบบ CPU
Priority = 0, Max. frames =5
[ผล]
มี Process เดียว ก็สลับไปมาระหว่าง
Ready และ Running
และไม่ต้องเข้าคิวกับใคร จึงอยู่ที่ Ready = 0 เสมอ
[ล้าง Process ออก]
เข้า Process, Select, Delete
แล้วสั่ง Run ใหม่จะพบว่าไม่มีอะไรอยู่ใน Processor Manager

ต.ย. 2 โปรเซส CPU และ IO2
[สร้าง] Process แบบ CPU
แล้วสร้าง Process แบบ IO2
Priority = 0, Max. frames =5 เหมือนกันทั้ง 2 Process
[ผล]
มี Process CPU แทบจะครอง CPU
ส่วน Process IO2 ได้ทำงานใน CPU 1 ครั้ง
แล้วกับไปรอใน Waiting State ให้ CPU ทำงานให้เสร็จ 5 ครั้ง
แล้ว Process IO2 จึงจะได้ทำงาน 1 ครั้ง แล้วกลับมารอเหมือนเดิม
ใน Ready Process ที่ครองอยู่ก็คือ CPU
และมี Ready ระดับ 0 คือไม่มีใครมารอในคิวนาน ๆ

ต.ย. 3 โปรเซส CPU และ Mix1 และ IO2
[สร้าง] Process แบบ CPU
แล้วสร้าง Process แบบ Mix1
แล้วสร้าง Process แบบ IO2
Priority = 0, Max. frames =5 เหมือนกันทั้ง 2 Process
[ผล]
มี Process CPU แทบจะครอง CPU
ส่วน Process Mix1 ได้ทำงานใน CPU 2 ครั้ง เมื่อเข้า Ready ก่อนไป Wait
ส่วน Process IO2 ได้ทำงานใน CPU 1 ครั้ง แล้วไป Wait เลย
ทั้ง Mix1 และ IO2 จะรอใน Waiting State 5 ครั้ง เท่ากัน
แต่ Mix1 ได้ทำงานกับ CPU มากกว่า IO2 เมื่ออยู่ใน Ready state
[ดู Log]
หากดูการทำงานใน Log
จะพบว่า Boost คือ กำลัง
กำหนดให้ IO2 เป็น +2 แต่ Mix2 มี +1
ยิ่งบวกมากขึ้น ก็ยิ่งรอนานขึ้น

ต.ย. 4 โปรเซส IO1 และ IO2
[สร้าง] Process แบบ IO1
แล้วสร้าง Process แบบ IO2
Priority = 0, Max. frames =5 เหมือนกันทั้ง 2 Process
[ผล]
เมื่อ IO1 ทำงานเสร็จก็จะไปรอ
เมื่อ IO2 ทำงานเสร็จก็จะไปรอเช่นกัน
ทิ้งให้ CPU ว่าง ไม่มีใครใช้งาน

http://www.thaiall.com/os/os03.htm

มีรายละเอียดอีกมาก
เช่น การจัดการหน่วยความจำแบบ Pre-Paging หรือ Demand Paging
การดู Statistics หรือ PCB เป็นต้น
ถ้าสนใจก็เข้าโฮมเพจ SOSIM
ของ Prof.Luiz Paulo Maia as part of his M.Sc. thesis
in Federal University of Rio de Janeiro (NCE/UFRJ), Brazil, in 2001 (2544).
http://www.training.com.br/sosim/indexen.htm

ทำความสะอาด RAM แก้ปัญหาเครื่อง Hang

วันหนึ่งไม่นานมานี้
พบว่า เครื่องคอมพิวเตอร์มีปัญหา (ทำที่บ้านด้วยตนเองได้เลยครับ)
ระยะหลังเครื่องคอมพิวเตอร์ที่ใช้งานเริ่มช้าลง
แฮงค์บ่อย แล้ววันหนึ่งคิดจะลงโปรแกรมขนาด 5GB
แค่คัดลอกลงไปวางยังไม่ได้เลย .. ก็มีทางเลือกหลายทางครับ

คาดว่า RAM น่าจะมีปัญหา เพราะเพื่อนเคยเล่าว่า
ถอด RAM มาทำความสะอาดด้วยยางลบ มักช่วยได้

สรุปว่าผมเลือกทำความสะอาด RAM
1. ดึงปลั๊กไฟ และสายทุกเส้นออก
2. ถอดฝาครอบคอมพิวเตอร์ออกให้เห็นด้านใน
3. ถอด RAM ออกจากเครื่อง
4. นำยางลบไปถูบริเวณแผงทองแดง ที่เป็นจุดเชื่อมต่อ
5. ติดตั้ง RAM กลับเข้าที่เดิม
6. ใช้ไดลมเป่าภายในเครื่อง เพื่อทำความสะอาด
7. ใส่เจลระบายความร้อนบนหน้าสัมผัส CPU กับ FAN
8. ใช้สเปรย์ ทำความสะอาด CPU

back
back
mainboard
mainboard
ram1
ram1
ram2
ram2
ram3
ram3
ram5
ram5
ram4
ram4