JavaScript is required

Giao dịch Ti đọc và ghi đối tượng A ký hiệu là Ri(A) và Wi( A). Anh/chị hãy xem xét khả năng tuần tự hoá của lịch trình đọc và ghi các giao dịch sau: R1(A) R2(B) W1(A) W2(B) R1(B) R2(C) W1(B) W1(C)?

A.

Tuần tự hoá được.

B.

B.Không tuần tự được.

C.

C.Chỉ là nối tiếp.

D.

D.Có xung đột.

Trả lời:

Đáp án đúng: B


Lịch trình cho trước là: R1(A) R2(B) W1(A) W2(B) R1(B) R2(C) W1(B) W1(C). Để kiểm tra tính tuần tự hóa, ta cần tìm các xung đột ghi-ghi (Write-Write - WW), đọc-ghi (Read-Write - RW), và ghi-đọc (Write-Read - WR) giữa các giao dịch. 1. **Kiểm tra xung đột giữa T1 và T2:** * R1(A) ... W1(A): Không có xung đột với T2 vì các thao tác trên A của T1 xảy ra trước bất kỳ thao tác nào của T2 trên A. * R2(B) ... W2(B): Không có xung đột với T1 vì các thao tác trên B của T2 xảy ra trước bất kỳ thao tác nào của T1 trên B. * R1(B) ... W1(B): Có xung đột đọc-ghi (RW) giữa R1(B) và W2(B) vì R1(B) xảy ra sau W2(B). * W1(A) và R2(B), W2(B), R2(C): không có xung đột trực tiếp. * W1(B) và R2(C): không có xung đột trực tiếp. * W1(C): không có xung đột trực tiếp. 2. **Phân tích xung đột:** * Có xung đột RW giữa T2 (W2(B)) và T1 (R1(B)), nên không thể đổi chỗ T1 và T2 một cách tùy ý mà vẫn giữ nguyên kết quả. * Do tồn tại xung đột, lịch trình này không tuần tự hóa được. Vậy, lịch trình này không tuần tự hóa được.

Câu hỏi liên quan