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] Tra trọng số CFS theo nice

    Trọng số (weight) trong CFS

    Bộ lập lịch CFS (Completely Fair Scheduler) của Linux gán cho mỗi tiến trình một trọng số (weight) phụ thuộc nice value, lưu trong bảng sched_prio_to_weight[] của nhân. Mỗi mức nice giảm 1 thì trọng số tăng khoảng 1.25 lần. Vài giá trị mốc:

    nice weight
    -20 88761
    -5 3121
    0 1024
    5 335
    19 15

    Trọng số càng lớn thì tiến trình nhận được càng nhiều CPU. Cho danh sách tiến trình, in trọng số CFS của từng tiến trình.

    Ví dụ

    Input:

    2
    1 0
    2 5
    

    Output:

    1 1024
    2 335
    
    • Đị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 weight.

    Ví dụ:

    Đầu vào:

    2
    1 0
    2 5
    

    Đầu ra:

    1 1024
    2 335

    Giải thích:

    nice 0 → weight 1024; nice 5 → weight 335 theo bảng sched_prio_to_weight.

    Đang tải editor...