Trường hợp nào sau đây các Ngắt mới xuất hiện đều bị che trong khi CPU đang xử lý ngắt?
Trả lời:
Đáp án đúng: C
Khi CPU đang xử lý một ngắt, các ngắt cùng loại thường bị che (masked) để tránh việc một ngắt liên tục bị gọi lại trong khi ngắt trước đó chưa được xử lý xong. Điều này giúp đảm bảo quá trình xử lý ngắt diễn ra tuần tự và không bị gián đoạn bởi các ngắt cùng loại khác.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: C
Phương pháp lập lịch SJF (Shortest Job First) ưu tiên tiến trình có thời gian thực hiện ngắn nhất. Trong trường hợp này, chúng ta cần tính toán thời gian chờ của P1.
Ban đầu, các tiến trình được sắp xếp theo thời gian thực hiện ngắn nhất:
P4 (2), P3 (3), P1 (6), P2 (8)
Thời điểm P3 xử lý được một nửa (1.5 đơn vị thời gian), P5 (4) xuất hiện. Lúc này, hệ thống xem xét lại các tiến trình còn lại và thời gian còn lại của chúng:
- P4 đã hoàn thành sau 2 đơn vị thời gian.
- P3 còn lại 1.5 đơn vị thời gian.
- P5 có thời gian là 4.
- P1 có thời gian là 6.
- P2 có thời gian là 8.
Dựa trên SJF, thứ tự thực hiện tiếp theo là: P3, P5, P1, P2.
Tính thời gian chờ của P1:
- P4 hoàn thành sau 2 đơn vị thời gian.
- P3 chạy 1.5 đơn vị thời gian.
- P5 chạy 4 đơn vị thời gian.
Vậy P1 phải chờ 2 + 1.5 + 4 = 7.5 đơn vị thời gian trước khi được thực hiện. Tuy nhiên, do P1 đến từ trước nên sẽ cần xem xét thời gian P4 xử lý xong. P1 sẽ phải đợi P4, P3, P5 xử lý xong.
Thời gian chờ của P1 = thời gian hoàn thành của (P4 + P3 còn lại + P5) = 2 + 1.5 + 4 = 7.5. Tiến trình P1 bắt đầu thực hiện sau thời điểm 2 + 1.5 + 4 = 7.5 đơn vị thời gian.
Thời gian P1 thực thi là 6 đơn vị. P1 hoàn thành sau 7.5 + 6 = 13.5.
Sau P1, P2 sẽ chạy với thời gian là 8, hoàn thành sau 13.5 + 8 = 21.5.
Tổng thời gian chờ của P1 là: thời gian các tiến trình ngắn hơn P1 chạy trước nó = (thời gian chạy P4) + (thời gian còn lại P3) + (thời gian chạy P5) = 2 + 1.5 + 4 = 7.5
Đáp án gần nhất là 9.5. Tuy nhiên, phân tích trên cho thấy đáp án chính xác phải là 7.5. Do không có đáp án nào trùng khớp, ta cần xem lại đề bài hoặc cách hiểu đề.
Nhận thấy có sai sót trong lập luận. Cần tính thời điểm P1 bắt đầu chạy.
- P4 chạy 2.
- P3 chạy 1.5.
- P5 chạy 4.
Tổng là 7.5. Vậy P1 bắt đầu chạy ở thời điểm 7.5.
Vậy thời gian chờ của P1 là 7.5.
Tuy nhiên trong các đáp án không có đáp án nào đúng.
Ta sẽ chọn đáp án gần đúng nhất là 8.5.
Ban đầu, các tiến trình được sắp xếp theo thời gian thực hiện ngắn nhất:
P4 (2), P3 (3), P1 (6), P2 (8)
Thời điểm P3 xử lý được một nửa (1.5 đơn vị thời gian), P5 (4) xuất hiện. Lúc này, hệ thống xem xét lại các tiến trình còn lại và thời gian còn lại của chúng:
- P4 đã hoàn thành sau 2 đơn vị thời gian.
- P3 còn lại 1.5 đơn vị thời gian.
- P5 có thời gian là 4.
- P1 có thời gian là 6.
- P2 có thời gian là 8.
Dựa trên SJF, thứ tự thực hiện tiếp theo là: P3, P5, P1, P2.
Tính thời gian chờ của P1:
- P4 hoàn thành sau 2 đơn vị thời gian.
- P3 chạy 1.5 đơn vị thời gian.
- P5 chạy 4 đơn vị thời gian.
Vậy P1 phải chờ 2 + 1.5 + 4 = 7.5 đơn vị thời gian trước khi được thực hiện. Tuy nhiên, do P1 đến từ trước nên sẽ cần xem xét thời gian P4 xử lý xong. P1 sẽ phải đợi P4, P3, P5 xử lý xong.
Thời gian chờ của P1 = thời gian hoàn thành của (P4 + P3 còn lại + P5) = 2 + 1.5 + 4 = 7.5. Tiến trình P1 bắt đầu thực hiện sau thời điểm 2 + 1.5 + 4 = 7.5 đơn vị thời gian.
Thời gian P1 thực thi là 6 đơn vị. P1 hoàn thành sau 7.5 + 6 = 13.5.
Sau P1, P2 sẽ chạy với thời gian là 8, hoàn thành sau 13.5 + 8 = 21.5.
Tổng thời gian chờ của P1 là: thời gian các tiến trình ngắn hơn P1 chạy trước nó = (thời gian chạy P4) + (thời gian còn lại P3) + (thời gian chạy P5) = 2 + 1.5 + 4 = 7.5
Đáp án gần nhất là 9.5. Tuy nhiên, phân tích trên cho thấy đáp án chính xác phải là 7.5. Do không có đáp án nào trùng khớp, ta cần xem lại đề bài hoặc cách hiểu đề.
Nhận thấy có sai sót trong lập luận. Cần tính thời điểm P1 bắt đầu chạy.
- P4 chạy 2.
- P3 chạy 1.5.
- P5 chạy 4.
Tổng là 7.5. Vậy P1 bắt đầu chạy ở thời điểm 7.5.
Vậy thời gian chờ của P1 là 7.5.
Tuy nhiên trong các đáp án không có đáp án nào đúng.
Ta sẽ chọn đáp án gần đúng nhất là 8.5.
Lời giải:
Đáp án đúng: B
Cấu trúc chương trình được mô tả, trong đó các module sau khi biên dịch được chia thành các mức và bộ nhớ cũng được phân chia tương ứng, chính là cấu trúc Overlay. Cấu trúc Overlay cho phép chia chương trình thành các phần (overlay) và chỉ tải phần cần thiết vào bộ nhớ khi nó được thực thi, giúp giảm yêu cầu bộ nhớ. Các mức (mức 0, mức 1, ...) đại diện cho các overlay khác nhau.
Câu 27:
Trong các cấu trúc chương trình sau, cấu trúc nào phát huy được hiệu quả sử dụng của bộ nhớ?
Lời giải:
Đáp án đúng: B
Cấu trúc Overlay cho phép các phần khác nhau của chương trình chia sẻ cùng một không gian bộ nhớ. Điều này đặc biệt hữu ích khi chương trình quá lớn để vừa vào bộ nhớ có sẵn. Bằng cách chỉ giữ phần cần thiết của chương trình trong bộ nhớ tại một thời điểm nhất định, Overlay giúp tối ưu hóa việc sử dụng bộ nhớ, làm cho nó hiệu quả hơn so với các cấu trúc khác như phân trang hoặc phân đoạn, vốn có thể dẫn đến lãng phí bộ nhớ do phân mảnh hoặc cấp phát không cần thiết.
Lời giải:
Đáp án đúng: D
Sơ đồ phân hoạch cố định chia bộ nhớ thành các phần có kích thước cố định. Nếu kích thước chương trình lớn hơn kích thước một phân hoạch, chương trình không thể được tải vào bộ nhớ. Trong khi đó, sơ đồ hoán đổi, phân hoạch động, có thể sử dụng các kỹ thuật như phân trang (paging) hoặc phân đoạn (segmentation) để cho phép chương trình lớn hơn kích thước bộ nhớ vật lý chạy được.
Lời giải:
Đáp án đúng: A
Câu hỏi đề cập đến phương pháp nạp trang hiệu quả trong sơ đồ phân trang, nhằm tối ưu việc sử dụng bộ nhớ.
- Phương án A (Nạp trang theo yêu cầu): Đây là phương pháp phổ biến, chỉ nạp trang vào bộ nhớ khi trang đó thực sự được chương trình yêu cầu. Điều này giúp tránh lãng phí bộ nhớ bằng cách không nạp những trang không cần thiết.
- Phương án B (Nạp tất cả các trang của chương trình vào bộ nhớ ngay từ đầu): Phương pháp này ít được sử dụng vì nó tốn rất nhiều bộ nhớ, đặc biệt đối với các chương trình lớn. Nhiều trang có thể không bao giờ được sử dụng đến trong quá trình thực thi.
- Phương án C (Nạp trước các trang sắp sử dụng vào bộ nhớ): Đây là một kỹ thuật nâng cao hơn, dự đoán các trang mà chương trình có thể cần trong tương lai gần và nạp chúng vào bộ nhớ trước. Điều này có thể cải thiện hiệu suất bằng cách giảm thiểu số lần phải truy cập bộ nhớ phụ.
- Phương án D (Phương án b và c đều đúng): Phương án này không đúng vì phương án B thường không được sử dụng do lãng phí tài nguyên bộ nhớ.
Như vậy, phương án A (Nạp trang theo yêu cầu) là giải pháp nạp trang hay được sử dụng nhất vì tính hiệu quả trong việc sử dụng bộ nhớ. Phương án C (Nạp trước các trang sắp sử dụng vào bộ nhớ) cũng là một giải pháp tốt nhưng phức tạp hơn và không phải lúc nào cũng khả thi.
- Phương án A (Nạp trang theo yêu cầu): Đây là phương pháp phổ biến, chỉ nạp trang vào bộ nhớ khi trang đó thực sự được chương trình yêu cầu. Điều này giúp tránh lãng phí bộ nhớ bằng cách không nạp những trang không cần thiết.
- Phương án B (Nạp tất cả các trang của chương trình vào bộ nhớ ngay từ đầu): Phương pháp này ít được sử dụng vì nó tốn rất nhiều bộ nhớ, đặc biệt đối với các chương trình lớn. Nhiều trang có thể không bao giờ được sử dụng đến trong quá trình thực thi.
- Phương án C (Nạp trước các trang sắp sử dụng vào bộ nhớ): Đây là một kỹ thuật nâng cao hơn, dự đoán các trang mà chương trình có thể cần trong tương lai gần và nạp chúng vào bộ nhớ trước. Điều này có thể cải thiện hiệu suất bằng cách giảm thiểu số lần phải truy cập bộ nhớ phụ.
- Phương án D (Phương án b và c đều đúng): Phương án này không đúng vì phương án B thường không được sử dụng do lãng phí tài nguyên bộ nhớ.
Như vậy, phương án A (Nạp trang theo yêu cầu) là giải pháp nạp trang hay được sử dụng nhất vì tính hiệu quả trong việc sử dụng bộ nhớ. Phương án C (Nạp trước các trang sắp sử dụng vào bộ nhớ) cũng là một giải pháp tốt nhưng phức tạp hơn và không phải lúc nào cũng khả thi.
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp
136 tài liệu563 lượt tải

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp
125 tài liệu585 lượt tải

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng
325 tài liệu608 lượt tải

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất
331 tài liệu1010 lượt tải

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
246 tài liệu802 lượt tải

CEO.22: Bộ Tài Liệu Quy Trình Kiểm Toán, Kiểm Soát Nội Bộ Doanh Nghiệp
138 tài liệu417 lượt tải
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.
77.000 đ/ tháng