Please enable JavaScript.
Coggle requires JavaScript to display documents.
การจัดการโพรเซส - Coggle Diagram
การจัดการโพรเซส
-
-
-
แนวคิดเรื่องโพรเซส
ระบบคอมพิวเตอร์ในยุคแรก ๆ มีการทำงานในลักษณะแบบโมโนโปรแกรมมิ่ง (Mono programming) คือ จะมีเพียงโพรเซสเดียวเท่านั้นที่ทำงานได้ในเวลาหนึ่ง ต่อมามีการพัฒนาโดยมีการแบ่งงานหรือโปรแกรมออกเป็นส่วนย่อย และทำงานแตกต่างกัน เรียกโปรแกรมส่วนย่อยเหล่านี้ว่า กระบวนการ หรือ โพรเซส (Process)
โพรเซสคือ กลุ่มของช่องหน่วยความจำ (Memory cells) ซึ่งเปลี่ยนไปตามกฎเกณฑ์หนึ่ง โดยที่กฎเกณฑ์เหล่านี้เรียกว่า โปรแกรม
โปรแกรมจะกลายเป็นโพรเซสเมื่อเรารันไฟล์นั้นขึ้นมาและถูกโหลดขึ้นสู่หน่วยความจำโดยหน่วยความจำ Stack เป็นพื้นที่ที่ถูกจองไว้ให้โปรแกรมที่ถูกเรียกใช้งานสำหรับเก็บฟังก์ชัน ตัวแปร และพารามิเตอร์ต่าง ๆ ของโปรแกรม ส่วนพื้นที่ Heap เป็นหน่วยความจำชั่วคราว
-
คุณสมบัติของโพรเซส
-
โพรเซสที่มีความสำคัญมากระบบปฏิบัติการจะให้สิทธิพิเศษมากกว่าโพรเซสที่มีความสำคัญน้อย เป็นสิ่งที่บ่งบอกว่าโพรเซสนั้น ๆ สามารถทำอะไรได้บ้าง ใช้อุปกรณ์อะไรได้บ้าง
เงื่อนไขข้อยกเว้น
การสิ้นสุดของโพรเซส
ถ้าผู้รับหรือผู้ส่งเมสเสจสิ้นสุดก่อนเมสเสจจะเอกซิคิวต์ ในสภาวะแบบนี้ทำให้เมสเสจจะถูกกำจัด
ทำให้ผู้รับไม่ได้รับเมสเสจ หรือผู้ส่งไม่ได้ส่งเมสเสจ
การสูญหายของเมสเสจ
เมสเสจจากโพรเซส P ที่ส่งไปยังโพรเซส Q อาจจะสูญหายระหว่างทางของการสื่อสารก็ได้ ซึ่งอาจจะเป็นข้อผิดพลาดด้านฮาร์ดแวร์หรือสายสื่อสาร
การดำเนินการของโพรเซส
-
- ระบบปฏิบัติการบางตัüยอมให้โพรเซสแม่จบลง โดยที่โพรเซสลูกไม่ต้องจบลงตามไปด้วย ในกรณีนี้โพรเซสลูกก็จะไม่มีโพรเซสแม่
- โดยทั่วไป เมื่อโพรเซสแม่จบลง โพรเซสต่าง ๆ ที่อยู่ภายใต้ตัวมันก็จะจบลงตามไปด้วย
- โพรเซสย่อยที่เกิดขึ้น เรียกว่า โพรเซสลูก (Child process)
- โพรเซสที่ให้กำเนิด เรียกว่า โพรเซสแม่ (Parent process)
- นอกจากนั้นโพรเซสที่ถูกสร้างขึ้นก็สามารถสร้างโพรเซสย่อยได้
- การทำงานของระบบปฏิบัติการก็ถือว่าเป็นงานของระบบ ดังนั้นจะมีการสร้างโพรเซสขึ้นเหมือนกัน
- เมื่อผู้ใช้ส่งงานให้กับระบบเพื่อทำงาน ระบบปฏิบัติการจะทำการสร้างโพรเซสสำหรับงานนั้นขึ้นมา
-
การปรับอัตรา
การจัดบัฟเฟอร์ในการสร้างลิงค์ เป็นการกำหนดเส้นทางข้อมูลและลิงค์มีความจุที่เป็นตัวเลขแสดงจำนวนเมสเสจที่สามารถเก็บไว้ชั่วคราวได้ คุณสมบัตินี้อาจจะมองว่าเป็นคิวของเมสเสจที่ผูกติดลิงค์ก็ได้การสื่อสารระหว่างโพรเซสนั้นอาจเป็นแบบทางตรงหรือทางอ้อมก็ได้ ข่าวสารจะถูกแลกเปลี่ยนโดยกระบวนการสื่อสาร ซึ่งอยู่ในกองซ้อนชั่วคราว (Temporary queue)มี 3วิธีดังนี้
ความจุค่าศูนย์ (Zero capacity) จะมีข่าวสารอยู่ในกองซ้อนได้เพียงชุดเดียวเท่านั้น ในกรณีนี้ผู้ส่งจะต้องบล็อกรอจนกระทั่งผู้รับได้รับข่าวสารเรียบร้อยแล้วจึงจะทำอย่างอื่นได้
ความจุค่าจำกัด (Bounded capacity) รองรับข่าวสารได้มากถึง n จำนวนเท่าความจุถ้ามีข่าวสารใหม่เข้ามาและกองซ้อนยังไม่เต็ม ก็จะเก็บไว้ในกองซ้อน ฝั่งที่ส่งก็ไม่จำเป็นต้องหยุดรอ แต่ถ้ากองซ้อนหรือสายการเชื่อมโยงเต็ม ที่ส่งจำเป็นต้องหยุดรอจนกระทั่งมีพื้นที่ว่างในกองซ้อนจึงจะสามารถวางข่าวสารได้
ความจุค่าไม่จำกัด (Unbounded capacity) ขนาดของกองซ้อนมีค่าเป็นอนันต์ ดังนั้นจึงสามารถรองรับข่าวสารได้ทั้งหมดโดยผู้ส่งไม่จำเป็นต้องหยุดรอ