2014-10-19 22 views
6

trong thuật toán vòng tròn ưu tiên dựa trên, khi quy trình ưu tiên cao hơn (giả sử P1) đến trong quá trình ưu tiên thấp hơn (P2), P2 phải được xử lý trước và P1 được xử lý thay thế. đúng?Thuật toán xoay vòng ưu tiên dựa trên hệ điều hành: được ưu tiên này chưa?

sau đó những gì nếu, sau một thời gian lượng tử cụ thể (ví dụ. 10ms)

  • được P1 tiếp tục xử lý? (Từ P1 có một ưu tiên cao hơn)

  • hoặc P1 được ưu tiên và lên lịch công văn P2 (vì trong round robin, sau một thời gian lượng tử, công việc cần phải được bật)

tôi nghĩ rằng ý nghĩ thứ hai là đúng, nhưng cuốn sách làm tôi bối rối. (khái niệm hệ điều hành ver quốc tế. Tập thể dục 5,8)

thanks a lot

Trả lời

4

Điều này phụ thuộc. Làm thế nào điều này được thực hiện trong Round Robin bình thường, nơi không có ưu tiên thì chúng ta nên preempt P2. Nhưng điều này có ưu tiên cho nó, mà chúng ta làm trước, nhưng với bất kỳ quá trình nào xảy ra để có ưu tiên cao nhất tiếp theo (để giữ cho mọi thứ đơn giản).

Giả sử rằng nó được thực hiện theo cách này:

  • Processes chỉ preempted qua lát thời gian của Round Robin
  • ưu tiên sẽ chỉ đơn giản là được dựa trên thứ tự các quá trình được thực hiện trong RR (để tránh các vấn đề đói)

Điều này có thể khác với sách của bạn, ví dụ như nó có thể tăng mức độ ưu tiên của quy trình dựa trên thời gian của hàng đợi. có thể giống nhau quá trình). Nhưng cách tôi định nghĩa ở trên tập trung nhiều hơn vào việc chia sẻ công bằng của Round Robin. Trong trường hợp này, P1 được đặt trước và chúng tôi di chuyển đến P2, giống như cách RR bình thường hoạt động.

Nhưng hãy chuyển sang ví dụ tốt hơn cho biết chúng tôi có P1 (priority = high), P2 (priority = low)P3 (priority = med). Và sau đó nhập hàng đợi theo thứ tự: P1, P2, P3. Sau đó, từ cách tôi đã xác định Mức độ ưu tiên RR sẽ thực hiện điều này:

P1 -> [high] Notice the priority simply changes the ordering 
P3 -> [med] But each still has the same time slice. 
P2 -> [low] 
P1 
P3 
P2 

Mỗi lần có một lát thời gian N. Chắc chắn có nó không có vẻ ưu tiên đang chơi một yếu tố lớn ở đây, RR là tập trung hơn vào. Nhưng khi số lượng quá trình trong hàng đợi sẵn sàng lớn (và có lẽ là lát thời gian lớn), thì nó sẽ đóng một số bit của một yếu tố lớn hơn.

+1

cảm ơn rất nhiều. nó thực sự đã giúp tôi. – HyunsooKim

+0

Tôi gặp vấn đề tương tự, trong trường hợp vòng xoay có liên quan đến ưu tiên. Tôi không bị thuyết phục bởi lời giải thích của giáo viên, nói rằng 'P1',' P2', 'P3' có cùng thời gian đến và ưu tiên của chúng là: 'P3> P2> P1'. Thứ tự lập lịch trình vòng tròn là 'P3 -> P2 -> P1 -> P3 -> P2 -> .... 'Tôi tin rằng đây là trình tự logic nhưng giáo viên của tôi không quan tâm đến điều này và tuyên bố rằng ưu tiên sẽ không có có hiệu lực đối với lịch trình round robin và thứ tự sẽ là 'P1-> P2-> P3-> P1 ... ' – Abrar