kkkkkkkkkkkkkkkk
Trang 1>» Ky thuat knoa
Trang 2Nguyên tac ctia ky that knda
‹ Trước khi một giao tác mu6n thao
lác (đọc/ohi) lên một đơn vị dữ liệu
A, thi T phai phat ra yéu cau xin knoa
A (Lock{A)) goi dén 66 phan cap
ohat khoa (Lock Manager}
e Néu yéu câu xin khóa được chấp
thuận, Thị T mới được thao tac |én A,
ngược lại thị T phải chờ
e Sau khi thao †óc xong với một đơn vị
dữ liệu A, giao †óc T, phải phat ra lén
Giải phóng A [Unlock{A]]
Trang 3Nguyên tac ctia ky thuat khoa
-‹ Mộ† yêu câu xin khóa một đơn vị
dữ liệu A, chỉ được bộ cập phat
khóo chấp †huận nêu A chwa bi
khóa bởi một giao tac nao khóc |
A dang tu do}
Trang 4Nhan xet
- Khi sử dụng kỹ thuật khóo, cóc van
dé bat thuong trong truy xuat dong thời không thể xõðy xœ
‹ Ví dụ : vẫn đê mất dữ liệu đỡ cập
Nhat
Trang 5Lock{A] Chờ
Lock{A] Read(A) A=A+20 1/2
Write (A] Unlock(A}
Read(A) A=A+10 Write(A]
Unlock{A]
EEN
Trang 6se nến
KỆ SE HT
Ẩn
fe £
m
thuy "
=
oe BS
e Van dé khdéa séng (Live Lock
im 172
Lock(A]
Read(A)}
Ock(A)
hờ Unlock{A]
ac giao tac khac Ock(A)
Ock(A)
lêp tục chờ
Trang 7Cóc vân đề củo kỹ thuật khóo
e Van dé khoa chét (Dead Lock)
Lock(A)
Lock(B}
Lock(B}
Cho
Lock{A]
Chờ
Trang 8Giai quyét van dé khéa chét
- Ngăn ngừo khóo chét
Mọi giao tac T phải xin khóa tát cả CÓC đơn vị dữ liệu mò minh sẽ †ho tác, nêu được chap thuận tất cả
thi sẽ thao †óc, ngược lại phải giải phóng các khóa đỗ được cấp trên CÓC đơn vị dữ liệU
Trang 9Giai quyét van dé khéa chét
e Phat hi€n khdoa chét
> XAy dung dé thi che (Waiting Graph)
G
: Mỗi gioo tác T lờ một nút của đồ thi G
- Nếu có gido †éc T; phó† ra yêu câu khó đươn vị dữ liệu A, vÒ phai che do A da bi
khóa trước đó bởi một gido Tóc T„ thì vẽ Cung nôi TT, (biêu diên việc T, phải cho’ J;
- Nếu G xuất hiện chu trình => khóa chết xãy
ra
Trang 10Kỹ thuật khóa đọc/viê†
s lrước khi đọc dđ.v.d.| A ohai yeu
câu xin khóa A đề đọc
Read Lock(A)
‹ Trước khi viêt lên đ.v.d.l A phải yêU câu xin khóa A đề viét
Write_Lock(A)}
e Sau khi thao tac xong voi d.v.d.lA, ohai giải phóng A
Unlock(A)
Trang 11Bảng †ương thích
Read Lock Yes No Write Lock No No
Trang 12Nghi thức khóa 2 gioi đoạn
2PL - TWwo Phose Locking
e Dinh nghia : Mét giao †óc T được gọi lò thỏa nghi thức khóa 2 giai đoạn, nêu kê từ unlock dau tién,
không có một yêu câu xin khéo
(Lock) nao khac
e Vi du
Trang 13
Begin Transaction Begin Transaction
Ral) lll a
Read_ Lock(B) Read_ Lock(B)
TT er ng n5 7
PB Cee
Unlock(B)
comme
fo an
Không thỏa 2PL Thỏa 2PL
Trang 14
Định ly
‹ Một lịch S được lập †ừ n giao tac
thỏa nghi thức khóa 2 gioi đoạn Thì
khả tuân †ự
Trang 15Nghi thức khóa 2 gioi đoạn
nghiem ngat (strict — 2PL)
Trang 16Nghi thức khóa trên đữ liệu
ohan capo
Trang 17SC
RL Y N Y N
WL Warn-R Warn-VW