Trạng thái của tiến trình tại một thời điểm được xác định bởi hoạt động hiện thời của tiến trình tại thời điểm đó. Trong quá trình sống, một tiến trình thay đổi trạng thái do nhiều nguyên nhân như : phải chờ một sự kiện nào đó xảy ra, hay đợi một thao tác nhập/xuất hoàn tất, buộc phải dừng hoạt động do đã hết thời gian xử lý...
Tại một thời điểm, một tiến trình có thể nhận một trong các trạng thái sau đây :
New : tiến trình đang được tạo lập.
Ready : tiến trình chờ được cấp phát CPU để xử lý
Running : các chỉ thị của tiến trình đang được xử lý.
Waiting : tiến trình chờ được cấp phát một tài nguyên, hay chờ một
sự kiện xảy ra .
Terminated : tiến trình hoàn tất xử lý.
Tại một thời điểm, chỉ có một tiến trình có thể nhận trạng thái Running trên một bộ xử lý bất kỳ. Trong khi đó, nhiều tiến trình có thể ở trạng thái Waiting hay Ready.
- Tất cả các tiến trình mới tạo lập đều được chuyển sang trạng thái NEW –trạng thái đầu tiên , sau đó đưa vào hàng đợi job queue, hệ điều hành sẽ sử dụng điều phối chậm (long-term scheduler) và không tiếm quyền để lựa chọn một tiến trình thích hợp nhất trong hàng đợi job queue để chuyển nó sang trang thái Ready và đưa tiến trình này vào hàng đợi Ready Queue.
- Những tiến trình đang ở trạng thái sẵn sang Ready được sếp vào hàng đợi Ready Queue, ở trạng thái này hệ điều hành sẽ sử dụng trình điều phối nhanh(Short- Term scheduler) và có tiếm quyền để lựa chọn tiến trình thích hợp giao CPU cho nó và chuyển nó sang trạng thái Runing. Tiến trình sau khi giao CPU thì rời khỏi hàng đợi Ready queue (tiến trình đó vẫn có thể quay trở lại hàng đợi này nếu nó chưa thục thi
xong).
- Tiến trình được giao CPU nếu đã thực thi hoàn tất thì kết thúc và chuyển sang trạng thái terminated sau đó trả lại CPU cho hệ thống , việc chuyển trạng thái này được hệ điều hành sử dụng trình điều phối chậm không tiềm quyền .
- Tiến trình được giao CPU nhưng chưa thực thi xong công việc và bị tiếm quyền thì sẽ bị chuyển từ trạng thái Runing sang trạng thái Ready và quay trở về cuối hàng đợi Ready queue để đợi đến lượt giao CPU kế tiếp , tiến trình chuyển trạng thái xong trả lại CPU cho hệ điều hành .
- Tiến trình được giao CPU nhưng chưa hoàn tất công việc của mình vì phải chờ đợi sự xuất hiện của sự kiện hay IO nào đó thì sẽ được hệ điều hành chuyển sang trạng thái waiting và chuyển nó vào hàng đợi Waiting queue , việc chuyển sang trạng thái này được hệ điều hành sử dụng trình điều phối chậm không tiếm quyền .
- Những tiến trình ở trạng thái Waiting(nằm trong hàng đợi Waiting queue) sau khi sự kiện hay IO mà nó chờ xuất hiện thì lập tức nó được hệ điều hành chuyển nó sang trạng thái sẵn sàng Ready và đưa nó vào hàng đợi Ready queue để sẵn sàng cho lần cấp CPU kế tiếp .
copy from : http://cdth10a.forumbuild.com/viewtopic.php?f=8&t=54
Bác nào quân tâm đến trang tự động lấy tin PM
Bookmarks