K-tube


การจัดการ Process Management



การศึกษาเรื่องโปรเซส เป็นหัวใจของการทำความเข้าใจของระบบคอมพิวเตอร์ที่มีผู้ใช้หลายคน ( multiuser computer system ) คำว่าโปรเซสถูกใช้ครั้งแรกโดยผู้ออกแบบระบบมัลติกส์ ( multics ) ในทศวรรษ 1690 มีการให้ความหมายของคำว่า "โปรเซส" ไว้หลายความหมายเช่น

- โปรแกรมที่กำลังถูกเอ็กซีคิ้ว
- กิจกรรมที่มีการทำงานสัมพันธ์กัน
- สิ่งที่ถูกมอบหมายไปให้โปรเซสเซอร์ได้
- หน่วยซึ่งถูกส่งต่อได้ ( dispatchable )
ยังไม่มีความหมายใดที่เป็นที่ยอมรับกันทุกคน แต่ความหมายที่ว่า โปรเซส คือ "โปรแกรมที่กำลังถูกเอ็กซีคิ้ว" นั้นถูกใช้บ่อยมากที่สุด ดังนั้นจึงเอาความหมายนี้เป็นความหมายของคำว่า โปรเซส เราอาจเปรียบเทียบโปรแกรมเหมือนกับรถยนต์ที่จอดนิ่งอยู่ที่พร้อมที่จะวิ่งไป ในระบบหลายโปรแกรม ( multiprogramming ) โปรเซสอาจเปรียบกับรถยนต์ที่วิ่งออกจากจุดเริ่มต้น ถ้ามีหลายโปรเซสอยู่ในระบบก็เหมือนกับการที่เรามีรถหลายคันที่จะต้องออกวิ่งไปพร้อม ๆ กัน ตัวซีพียูเปรียบได้กับคนขับรถ ถ้าซีพียูมีตัวเดียวก็เหมือนกับคนขับรถมีเพียงคนเดียว ดังนั้นเมื่อรถหลายคันออกวิ่งการที่คนขับคนเดียวจะพารถหลายๆ คันวิ่งไปต้องขับรถทีละคันให้วิ่งเดินหน้าไปทีละนิด เวียนเปลี่ยนไปจนครบทุกคัน จนถึงจุดหมายปลายทาง ( โปรแกรมสิ้นสุดลง ) นั้นคือเราสามารถมีโปรเซสหลายๆ โปรเซสทำงานไปพร้อมๆ กันได้โดยมีซีพียูเพียงตัวเดียว
1 องค์ประกอบของโปรเซส
1. หมายเลขโปรเซส (Process id)
2. โค้ดโปรแกรม (Program code)
3. ข้อมูล (Data)
4. บล็อกควบคุมโปรเซส (Process control block)
    4.1 พอยเตอร์ (Pointer)
    4.2 สถานะของโปรเซส (Process state)
    4.3 หมายเลขโปรเซส (Program id)
    4.4 ตัวนับจำนวน (Program counter)
    4.5 รีจิสเตอร์ (Register)
    4.6 ข้อมูลการจัดเวลาของซีพียู (CPU scheduling information)
    4.7 ข้อมูลการจัดการหน่วยความจำ (Memory management information)
    4.8 ข้อมูลแอ็กเคาต์ (Account information)
    4.9 ข้อมูลสถานะอินพุต/เอาต์พุต (I/O status information)
pointer process state
process id
process counter

registers

list of open files
:::
:::
5. PSW (Program status word)
6. คุณสมบัติของโปรเซส (Properties of process)
    6.1 ลำดับความสำคัญของโปรเซส (Priority)
    6.2 อำนาจหน้าที่ของโปรเซส (Authority)
    6.3 คุณสมบัติอื่นที่ระบบปฏิบัติการกำหนดให้มี

2 สถานะของโปรเซส
สถานะของโปรเซสแบ่งได้ 6 สถานะ
1. สถานะเริ่มต้น (New : The process is being created.)
2. สถานะพร้อม (Ready : The process is waiting to be assigned to a processor.)
3. สถานะรัน (Running : Instructions are being executed.)
4. สถานะรอ (Wait : The process is waiting for some event to occur.)
5. สถานะบล็อก (Block : The process is blocked for some event to occur.)
6. สถานะสิ้นสุด (Terminate : The process has finished execution.)

สถานะของโปรเซสแบ่งได้อีกแบบมี 4 สถานะ
1. สถานะพร้อม (ready state) คือสถานะที่โปรเซสพร้อมที่จะใช้ซีพียูทันทีที่ระบบปฏิบัติการมอบหมายให้ ในสถานะนี้ไม่มีการรันของโปรเซส
2. สถานะรัน (running state) คือสถานะที่โปรเซสกำลังครอบครองซีพียูอยู่ มีการรันของโปรเซสจริงๆ เพราะโปรเซสใช้ซีพียูเอ็กซีคิ้วคำสั่ง หรือโค้ดโปรแกรมของโปรเซสนั้น
3. สถานะติดขัด (blocked state) คือสถานะที่โปรเซสหยุดรอเหตุการณ์ใดเหตุการณ์หนึ่งให้เกิดขึ้น โปรเซสไม่จำเป็นต้องใช้ซีพียูและยังไม่พร้อมที่จะครอบครองซีพียู ซึ่งจะทำให้โปรเซสอื่นเข้ามาครอบครองซีพียูในช่วงนี้ได้
4. สถานะพัก (suspend state) คือสถานะที่โปรเซสไม่มีการทำงานใดๆ หยุดนิ่งอย่างสมบูรณ์ ไม่มีการรอการใช้ซีพียูหรือเหตุการณ์ใดๆ ให้เกิดขึ้น






งานศูนย์ข้อมูลสารสนเทศ วิทยาลัยสารพัดช่างฉะเชิงเทรา CHPC@2021


Generated 0.019269 sec.