Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Hệ điều hành Unix] Tỉ lệ %CPU theo trọng số nice

    Chia sẻ CPU theo trọng số

    Trong CFS, khi nhiều tiến trình cùng tranh CPU, mỗi tiến trình nhận được phần CPU tỉ lệ với trọng số của nó:

    %CPU_i = 100 * weight_i / (tổng tất cả weight)
    

    Trong đó weight tra theo nice (bảng sched_prio_to_weight, nice 0 → 1024). Hãy tính %CPU mà mỗi tiến trình nhận được, làm tròn 2 chữ số thập phân.

    Ví dụ

    Input:

    2
    1 0
    2 0
    

    Output:

    1 50.00
    2 50.00
    

    Hai tiến trình cùng nice nên chia đôi CPU.

    • Định dạng đầu vào:

      Dòng đầu n. Mỗi dòng tiếp theo: PID nice.

    • Ràng buộc đầu vào:

      1 ≤ n ≤ 100; -20 ≤ nice ≤ 19.

    • Định dạng đầu ra:

      Với mỗi tiến trình in PID phần_trăm (2 chữ số thập phân).

    Ví dụ:

    Đầu vào:

    2
    1 0
    2 0
    

    Đầu ra:

    1 50.00
    2 50.00

    Giải thích:

    Cùng weight 1024, tổng 2048, mỗi tiến trình 100*1024/2048 = 50.00%.

    Đang tải editor...