Skip to main content

Trắc nghiệm: Tiến trình và lập lịch CPU

Phần nặng bài tập nhất của đề thi. Mỗi câu tính toán đều có sơ đồ Gantt và các bước ra số trong phần Chi tiết.

Chưa vững lý thuyết thì đọc Các thuật toán lập lịch tiến trình trước, trong đó có ví dụ tính tay cho FCFS, SJF và Round Robin.

Công thức phải thuộc
  • Turnaround time = thời điểm hoàn thành − thời điểm đến
  • Waiting time = turnaround time − burst time
  • Hoà nhau trong SJF: ưu tiên tiến trình đến trước. Hoà trong SRTF: giữ tiến trình đang chạy.

Chương 3–5: Tiến trình, luồng và lập lịch CPU

54 câu · đã làm 0

Chọn đáp án là biết đúng/sai ngay, bấm “Chi tiết” để xem giải thích.

  1. Câu 1fork()Cuối kỳ HĐH – SPKT

    Kết quả của chương trình sau là gì?

    main( )
    {
        int a = 10;
        if ((fork( ) == 0))
            a++;
        printf ("%d\n", a );
    }
  2. Câu 2Tiêu chí lập lịchCuối kỳ HĐH – SPKT

    Một thuật toán lập lịch tối ưu để giảm thiểu thời gian chờ trung bình của một tập hợp tiến trình là _____

  3. Câu 3SRTFCuối kỳ HĐH – SPKT

    Sử dụng thuật toán lập lịch SJF – preemptive cho các tiến trình theo thông tin dưới bảng. Thời gian chờ trung bình là bao nhiêu?

    Process   Arrival Time   Burst Time
    P1        0              7
    P2        2              4
    P3        4              1
    P4        5              4
  4. Câu 4SJFCuối kỳ HĐH – SPKT

    Sử dụng thuật toán lập lịch SJF – non-preemptive cho các tiến trình theo thông tin dưới bảng. Thời gian chờ trung bình là bao nhiêu?

    Process   Arrival Time   Burst Time
    P1        0              7
    P2        2              4
    P3        4              1
    P4        5              4
  5. Câu 5Round RobinCuối kỳ HĐH – SPKT

    Nếu khoảng thời gian quantum (time-slice) được sử dụng trong thuật toán lập lịch Round-robin nhiều hơn thời gian tối đa cần thiết để thực hiện bất kỳ tiến trình nào, thì thuật toán sẽ

  6. Câu 6PriorityCuối kỳ HĐH – SPKT

    Xem xét tập các tiến trình với thời gian đến, thời gian nổ CPU và mức độ ưu tiên (0 là mức ưu tiên cao nhất). Không có quy trình nào có thời gian bùng nổ I/O. Thời gian chờ của tiến trình P1 khi dùng lập lịch ưu tiên có trưng dụng là bao nhiêu?

    Process   Arrival Time   Burst Time   Priority
    P1        0              11           2
    P2        5              28           0
    P3        12             2            3
    P4        2              10           1
    P5        9              16           4
  7. Câu 7SRTFCuối kỳ HĐH – SPKT

    Xem xét các tiến trình CPU sau với thời gian đến và Burst Time, ngoại trừ tiến trình P4. Nếu thời gian chờ trung bình trên tất cả các tiến trình là 2 mili giây và thuật toán Shortest Remaining Time First được sử dụng, hãy tìm giá trị của x.

    Process   Arrival Time   Burst Time
    P1        0              5
    P2        1              1
    P3        3              3
    P4        4              x
  8. Câu 8Tiêu chí lập lịchCuối kỳ HĐH – SPKT

    Tiêu chí nào sau đây không phải là tiêu chí tối ưu hóa trong thiết kế thuật toán lập lịch tiến trình CPU?

  9. Câu 9SRTFCuối kỳ HĐH – SPKT

    Hệ điều hành sử dụng thuật toán lập lịch Shortest Remaining Time First (SRTF). Tổng thời gian chờ đợi cho tiến trình P2 là bao nhiêu?

    Process   Execution time   Arrival time
    P1        20               0
    P2        25               15
    P3        10               30
    P4        15               45
  10. Câu 10SRTFCuối kỳ HĐH – SPKT

    Hệ điều hành sử dụng thuật toán lập lịch Shortest Remaining Time First (SRTF). Turnaround time trung bình cho các tiến trình này là bao nhiêu?

    Process   Arrival Time   Burst Time
    P1        0              5
    P2        1              3
    P3        2              3
    P4        4              1
  11. Câu 11ThroughputCuối kỳ HĐH – SPKT

    Xét một tập hợp n nhiệm vụ với thời gian chạy đã biết r1, r2, …, rn sẽ được chạy trên máy đơn xử lý. Thuật toán lập lịch CPU nào sau đây sẽ dẫn đến throughput (thông lượng) tối đa?

  12. Câu 12Trạng thái tiến trìnhCuối kỳ HĐH – SPKT

    Biểu đồ chuyển đổi trạng thái tiến trình có các cung: NEW → READY, READY → RUNNING, RUNNING → READY, RUNNING → BLOCKED, BLOCKED → READY, RUNNING → TERMINATED. Biểu đồ này là đại diện của ….

  13. Câu 13ThreadCuối kỳ HĐH – SPKT

    Điều nào sau đây không được chia sẻ bởi tất cả các thread trong một tiến trình?

    • I. Program Counter
    • II. Stack
    • III. Registers
    • IV. Address space
  14. Câu 14SJFCuối kỳ HĐH – SPKT

    Trên hệ thống sử dụng lập lịch SJF non-preemptive, các tiến trình có thời gian chạy dự kiến là 5, 18, 9 và 12 đang nằm trong hàng đợi sẵn sàng. Chúng nên được chạy theo thứ tự nào để giảm thiểu thời gian chờ đợi?

  15. Câu 15ThreadCuối kỳ HĐH – SPKT

    Điều nào sau đây không được chia sẻ bởi các thread của cùng một tiến trình?

  16. Câu 16Chọn nhiềuStarvationCuối kỳ HĐH – SPKT

    Thuật toán lập lịch nào sau đây có thể gây starvation? (chọn tất cả đáp án đúng)

  17. Câu 17Tiêu chí lập lịchCuối kỳ HĐH – SPKT

    Khái niệm nào mô tả tổng thời gian để thực hiện xong một tiến trình cụ thể?

  18. Câu 18Tiêu chí lập lịchCuối kỳ HĐH – SPKT

    Phát biểu nào đúng về tiêu chí tối ưu của thuật toán lập lịch?

  19. Câu 19Multilevel QueueCuối kỳ HĐH – SPKT

    Trong Multilevel Queue Scheduling, loại tiến trình nào có độ ưu tiên cao nhất?

  20. Câu 20Chọn nhiềuLập lịch CPUCuối kỳ HĐH – SPKT

    CPU bắt buộc phải lập lịch lại khi tiến trình rơi vào trường hợp nào? (chọn tất cả đáp án đúng)

  21. Câu 21Lập lịch CPUCuối kỳ HĐH – SPKT

    Thuật toán lập lịch nào sau đây là preemptive?

  22. Câu 22SJFCuối kỳ HĐH – SPKT

    Cho hai phát biểu về Shortest-Job-First (SJF):

    • S1: Nó cho thời gian chờ trung bình nhỏ nhất
    • S2: Nó có thể gây starvation

    Phát biểu nào sau đây là sai?

  23. Câu 23SRTFCuối kỳ HĐH – SPKT

    Dùng thuật toán lập lịch SJF preemptive (SRTF), thời gian chờ trung bình của ba tiến trình trong bảng là bao nhiêu?

    Process   Arrival time   Burst Time
    P0        0 ms           9 ms
    P1        1 ms           4 ms
    P2        2 ms           9 ms
  24. Câu 24Tiến trìnhCuối kỳ HĐH – SPKT

    Mỗi tiến trình trong hệ điều hành đều có _____ của riêng nó.

  25. Câu 25Tiến trìnhCuối kỳ HĐH – SPKT

    Một tiến trình có thể bị kết thúc vì lý do nào?

  26. Câu 26Trạng thái tiến trìnhCuối kỳ HĐH – SPKT

    Tiến trình ở trạng thái ready nghĩa là gì?

  27. Câu 27IPCCuối kỳ HĐH – SPKT

    Interprocess communication là gì?

  28. Câu 28fork()Cuối kỳ HĐH – SPKT

    Tiến trình chạy đoạn mã dưới đây. Tổng số tiến trình con được tạo ra là bao nhiêu?

    for (i = 0; i < n; i++)
        fork();
  29. Câu 29fork()Cuối kỳ HĐH – SPKT

    Xét đoạn mã dưới đây. Gọi u, v là hai giá trị do tiến trình cha in ra, x, y là hai giá trị do tiến trình con in ra. Phát biểu nào đúng?

    if (fork() == 0) {
        a = a + 5;
        printf("%d, %d\n", a, &a);
    } else {
        a = a - 5;
        printf("%d, %d\n", a, &a);
    }
  30. Câu 30Tiến trìnhCuối kỳ HĐH – SPKT

    Ngăn xếp (stack) của một tiến trình không chứa thứ nào sau đây?

  31. Câu 31System callCuối kỳ HĐH – SPKT

    System call nào được tiến trình cha dùng để biết tiến trình con đã kết thúc?

  32. Câu 32PCBCuối kỳ HĐH – SPKT

    Địa chỉ của lệnh kế tiếp mà tiến trình hiện tại sẽ thực thi được cung cấp bởi thành phần nào?

  33. Câu 33Hàng đợiCuối kỳ HĐH – SPKT

    Trong các hàng đợi của tiến trình, cái nào không tồn tại?

  34. Câu 34Hàng đợiCuối kỳ HĐH – SPKT

    Khi tiến trình phát ra một yêu cầu I/O thì điều gì xảy ra?

  35. Câu 35PCBCuối kỳ HĐH – SPKT

    Process Control Block (PCB) chứa thứ nào sau đây?

  36. Câu 36Trạng thái tiến trìnhCuối kỳ HĐH – SPKT

    Điều gì định nghĩa trạng thái của một tiến trình?

  37. Câu 37Trạng thái tiến trìnhCuối kỳ HĐH – SPKT

    Cặp nào sau đây đều là trạng thái của một tiến trình?

  38. Câu 38IPCCuối kỳ HĐH – SPKT

    Hai mô hình giao tiếp giữa các tiến trình (IPC) là gì?

  39. Câu 39Trạng thái tiến trìnhCuối kỳ HĐH – SPKT

    Hành động nào chuyển tiến trình từ trạng thái waiting sang trạng thái ready?

  40. Câu 40IPCCuối kỳ HĐH – SPKT

    Trong cài đặt liên kết truyền thông (communication link) giữa các tiến trình, đâu là liên kết logic?

  41. Câu 41fork()Cuối kỳ HĐH – SPKT

    Đầu ra tại LINE A của chương trình dưới đây là gì?

    int value = 5;
    
    int main()
    {
        pid_t pid;
        pid = fork();
    
        if (pid == 0) {          /* child process */
            value += 15;
            return 0;
        }
        else if (pid > 0) {      /* parent process */
            wait(NULL);
            printf("PARENT: value = %d", value);   /* LINE A */
            return 0;
        }
    }
  42. Câu 42fork()Cuối kỳ HĐH – SPKT

    Xác định giá trị của pid tại các dòng A, B, C, D. Giả sử pid thật của cha là 2600 và của con là 2603.

    pid = fork();
    
    if (pid < 0) {               /* error occurred */
        fprintf(stderr, "Fork Failed");
        return 1;
    }
    else if (pid == 0) {         /* child process */
        pid1 = getpid();
        printf("child: pid = %d", pid);     /* A */
        printf("child: pid1 = %d", pid1);   /* B */
    }
    else {                       /* parent process */
        pid1 = getpid();
        printf("parent: pid = %d", pid);    /* C */
        printf("parent: pid1 = %d", pid1);  /* D */
        wait(NULL);
    }
  43. Câu 43Chọn nhiềuThreadCuối kỳ HĐH – SPKT

    Thành phần nào của trạng thái chương trình được chia sẻ giữa các thread trong một tiến trình đa luồng? (chọn tất cả đáp án đúng)

  44. Câu 44fork()Cuối kỳ HĐH – SPKT

    Đoạn mã dưới đây tạo ra bao nhiêu tiến trình và bao nhiêu luồng (tính cả tiến trình ban đầu)?

    pid_t pid;
    pid = fork();
    
    if (pid == 0) {          /* child process */
        fork();
        thread_create( . . .);
    }
    
    fork();
  45. Câu 45Trạng thái tiến trìnhCuối kỳ HĐH – SPKT

    Tiến trình có bao nhiêu trạng thái?

  46. Câu 46Trạng thái tiến trìnhCuối kỳ HĐH – SPKT

    Khi tiến trình được cấp CPU và tài nguyên thì nó chuyển từ trạng thái nào sang trạng thái nào?

  47. Câu 47Trạng thái tiến trìnhCuối kỳ HĐH – SPKT

    Tiến trình đang ở trạng thái Running không thể chuyển sang trạng thái nào sau đây?

  48. Câu 48Trạng thái tiến trìnhCuối kỳ HĐH – SPKT

    Tiến trình đang Running và hết hạn thời gian được cấp (time slice expired) thì chuyển sang trạng thái nào?

  49. Câu 49FCFSCuối kỳ HĐH – SPKT

    Tính thời gian chờ của P1, P2, P3, P4 khi dùng thuật toán FCFS (các tiến trình cùng đến tại thời điểm 0).

    Tiến trình   Thời gian xử lý
    P1           8
    P2           4
    P3           6
    P4           2
  50. Câu 50SJFCuối kỳ HĐH – SPKT

    Tính thời gian chờ của P1, P2, P3, P4 khi dùng SJF non-preemptive.

    Tiến trình   Thời gian xử lý   Thời gian đến
    P1           8                 0
    P2           4                 3
    P3           6                 5
    P4           2                 9
  51. Câu 51SRTFCuối kỳ HĐH – SPKT

    Tính thời gian chờ của P1, P2, P3, P4 khi dùng SJF preemptive (SRTF).

    Tiến trình   Thời gian xử lý   Thời gian đến
    P1           8                 0
    P2           4                 3
    P3           6                 5
    P4           2                 9
  52. Câu 52Round RobinCuối kỳ HĐH – SPKT

    Tính thời gian chờ của P1, P2, P3, P4 khi dùng Round Robin với quantum = 3 (các tiến trình cùng đến tại thời điểm 0).

    Tiến trình   Thời gian xử lý     quantum = 3
    P1           8
    P2           4
    P3           6
    P4           2
  53. Câu 53Multilevel Feedback QueueCuối kỳ HĐH – SPKT

    Tính thời gian chờ của P1, P2, P3, P4 với Multilevel Feedback Queue: hàng 1 quantum = 2, hàng 2 quantum = 4, hàng 3 FCFS (các tiến trình cùng đến tại thời điểm 0).

    Tiến trình   Thời gian xử lý      Hàng 1: quantum = 2
    P1           8                    Hàng 2: quantum = 4
    P2           4                    Hàng 3: FCFS
    P3           7
    P4           2
  54. Câu 54fork()Cuối kỳ HĐH – SPKT

    Khi dùng fork() để tạo tiến trình mới, thành phần nào thật sự được chia sẻ giữa tiến trình cha và tiến trình con?