องค์ประกอบของโปรเซส
1. หมายเลขโปรเซส ( ID : Process)
2. โค้ดโปรแกรม (Program Code)
3. ข้อมูล (Data)
4. บล็อกควบคุมโปรเซส (Process Control Block)
5. PSW (Program Status Word)
6. คุณสมบัติของโปรเซส
สถานของโปรเซส ( Process State)
·
ในขณะที่โปรเซสกำลังถูกประมวลผลอยู่นั้น โปรเซสอาจมีการเปลี่ยนสถานะก็ได้ การกำหนดสถานะของโปรเซสจะเป็นไปตามกิจกรรมที่กำลังดำเนินการอยู่ในนขณะนั้น แต่ละโปรเซสอาจมีสถานะต่อไปนี้
การจัดเวลาโปรเซส
· ดังที่เคยกล่าวมาแล้วในการที่จะประมวลผลโปรเซสหลาย ๆ โปรเซสพร้อมกัน เราจำเป็นต้องจัดเวลาในการประมวลผลแต่ละโปรเซสให้ดี ๆ เพราะหากเป็นโปรเซสที่มีขนาดใหญ่จะใช้เวลามากซึ่งทำให้โปรเซสอื่นรอนาน ดังนั้น จึงมีการจัดเวลาให้แต่ละโปรเซส โดยจะแบ่งช่วงเวลาที่แต่ละจะประมวลผลแต่ละโปรเซสให้เท่ากัน ระยะเวลาที่กำหนดนี้เรียกว่า เวลาควอนตัม ซึ่งเมื่อมีโปรเซสใดที่ครองเวลาในการประมวลผลนานกว่าเวลาควอนตัมระบบปฏิบัติการ จะเปลี่ยนให้โปรเซสอื่นที่ต่อคิวอยู่เข้ามาทำงานแทน ส่วนโปรเซสที่ยังไม่เสร็จก็จะถูกนำไปต่อคิวใหม่ โดยโปรเซสใหม่ที่เข้าไปแทนจะเปลี่ยนจากสถานะพร้อมเป็นสถานะรัน ส่วนโปรเซสเดิมจะเปลี่ยนจากสถานะรันเป็นพร้อม ยกเว้นว่าจะทำงานเสร็จจึงจะเปลี่ยนเป็นสภาวะสิ้นสุด
โอเปอเรชั่นบนโปรเซส
· โปรเซสต่างๆ ในระบบที่สามารถประมวลผลได้พร้อม ๆ กัน จะต้องมีการสร้างและลบโปรแกรมตลอดเวลา โดยระยยปฏิบัติการจะเป็นตัวสร้างโปรเซส รวมทั้งส่งให้สิ้นสุดโปรเซสด้วยกลไก ดังนี้
· การสร้างโปรเซส
· การสิ้นสุดของโปรเซส
· การติดต่อระหว่างโปรเซส
โครงสร้างพื้นฐาน
ในการส่งข้อความ หรือ แมสเสจ ( Message) นั้นจะต้องมีการโปรเซสอย่างน้อย 2 โปรเซสที่จะติดต่อกัน โดยโปรเซสที่ต้องการแมสเสจะต้องส่งคำร้องไปยังโปรเซสนั้น เมื่อโปรเซสได้รับคำร้องแล้วจึงส่งแมสเสจไปให้โปรเซสที่ร้องขอซึ่งขนาดของแมสเสจอาจจะไม่เท่ากัน ในการติดต่อกันจะมีการ สร้างลิงค์ขึ้นมาระหว่างโปรเซส มีทั้งลิงค์ทางกายภาพ (เช่น การแชร์หน่วยความจำ,บัน, หรือเน็ตเวิร์ด) และลิงค์ทางลอจิก
ปัญหาการทำงานของโปรเซส
¨ The Dining Philosophers Problemเป็นปัญหาในการเกิด Deadlock อันเนื่องมาจากการใช้ทรัพยากรที่มีจำกัดร่วมกัน
¨ The Readers Writers Problemในการอ่านและเขียนข้อมูลลงในอุปกรณ์บันทึกข้อมูล ปัญหาจะเกิดขึ้นเมื่อมีความต้องการอ่านและเขียนข้อมูลพร้อม ๆ กัน เพราะหากมีการเขียนแสดงว่ามีการเปลี่ยนแปลงข้อมูล
¨ The Sleeping Barber Problem เป็นการจำลองการประมวลผล
อัลกอริทึมจัดตารางเวลา
( Scheduling Algorithms)
· การจัดตารางการทำงานตามลำดับความสำคัญ ( Priority Scheduling)
· การจัดตารางการทำงานแบบมาก่อนได้ก่อน
(First Come, First Served Scheduling / FCFS)
· การจัดตารางการทำงานแบบงานที่สั้นที่สุดได้ก่อน
(Shortest-Job-First Scheduling / SJF)
· การจัดตารางการทำงานแบบเวียนเทียน
(Round Robin Scheduling /RR)
· การจัดตารางการทำงานแบบคอยหลายระดับ
(Multilevel Queue Scheduling)
· การจัดตารางการทำงานแบบจัดลำดับหลายระดับแบบเลื่อนชั้นได้
(Multilevel Feedback Queue Scheduling)
วัตถุประสงค์ของการจัดตารางการทำงานของหน่วยประมวลผลกลาง
1. มีความยุติธรรมในแต่ละโปรเซส ในการใช้ทรัพยากรร่วมกัน
2. ต้องใช้ประมวลผลกลางให้เต็มที่ไม่มีเวลาว่าง
3. พยายามส่งผ่านให้ได้จำนวนโปรเซสมากที่สุดต่อหน่วยเวลา
4. มีจำนวนการตอบรับของผู้ใช้ต่อหน่วยเวลามีจำนวนมากที่สุด
5. การจัดงานที่เหมือนกันจะได้รันในเวลาที่เร็วขึ้น
6. มีการใช้ทรัพยากรที่สมดุลย์ โดยเครื่องจะสงวนทรัพยากรได้ ในกรณีที่ระบบกำลังทำงาน
เกณฑ์การวิเคราะห์ประสิทธิภาพ
· ในการจัดการกระบวนการโปรเซส จะต้องมีวิธีการสับหลีกโปรเซสสลับไปมา
ซึ่งจะมีผลต่อประสิทธิภาพ โดยรวมของระบบ ดังนั้น จึงมีเกณฑ์ในการพิจารณา
ประสิทธิภาพของกระบวนการ โปรเซสดังต่อไปนี้
1. CPU Utilization คือ การใช้สอยหน่วยประมวลผลกลาง
2. Throughput คือ ปริมาณงานต่อหน่วยเวลา
3. Turnaround Time คือ เวลาต่อรอบของงาน
4. Waitng Time คือ เวลารอคอยต่อรอบในการโปรเซสงานต่าง ๆ
5. Response Time คือ เวลาตอบสนอง
|