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.

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

C.

Chỉ là nối tiếp.

D.

Có xung đột.

Trả lời:

Đáp án đúng: B


Lịch trình cho thấy các giao dịch T1 và T2 thực hiện các thao tác đọc và ghi trên các đối tượng dữ liệu A, B và C. Để xác định khả năng tuần tự hóa, ta cần kiểm tra xem có tồn tại một thứ tự tuyến tính của các giao dịch sao cho kết quả của việc thực thi lịch trình tương đương với việc thực thi các giao dịch theo thứ tự đó hay không. Phân tích: - R1(A) ... W1(A): Giao dịch T1 đọc và sau đó ghi đối tượng A. - R2(B) ... W2(B): Giao dịch T2 đọc và sau đó ghi đối tượng B. - R1(B) ... W1(B): Giao dịch T1 đọc và sau đó ghi đối tượng B. - R2(C) ... W1(C): Giao dịch T2 đọc và sau đó ghi đối tượng C. Kiểm tra xung đột ghi-ghi (Write-Write Conflict): - W1(A) và W2(B) không xung đột trực tiếp. - W1(B) và W2(B) có thể gây xung đột nếu không có thứ tự cụ thể. - W1(C) chỉ do T1 ghi. Kiểm tra xung đột đọc-ghi (Read-Write Conflict) và ghi-đọc (Write-Read Conflict): - R1(A) và W1(A): Không xung đột. - R2(B) và W2(B): Không xung đột. - R1(B) và W1(B): Không xung đột. - R2(C) và W1(C): Không xung đột. Xét thứ tự T1 -> T2: Lịch trình có thể tuần tự hóa theo thứ tự này, vì T1 hoàn thành các thao tác trên A và B trước khi T2 bắt đầu các thao tác của mình. Xét thứ tự T2 -> T1: Lịch trình có thể tuần tự hóa theo thứ tự này, vì T2 hoàn thành các thao tác trên B và C trước khi T1 bắt đầu các thao tác của mình. Như vậy, lịch trình này tuần tự hóa được.

Câu hỏi liên quan