![]() |
|
|||||||
| Register | Community | Calendar | Search | Mark Forums Read |
![]() |
|
|
Thread Tools | Display Modes |
|
#1
|
||||
|
||||
|
Mới tìm được anh em đọc chơi
![]() Giải thích thuật giải Nhà băng Dữ liệu : - có 5 tiến trình : P0,……,P4 (Ví dụ là : 5 công ty khác nhau cần vay ) - 3 loại tài nguyên : A(10 phiên bản), B(5 phiên bản), C(7 phiên bản) =>Đây là các loại tiền mà nhà băng có. - Tại thời điểm To: Tài nguyên đang giữ(Allocation) |Tài nguyên cực đại được vay( Max) | Hệ có (Available)-tài nguyên còn ..... A B C | A B C | A B C Po: 0 1 0 | 7 5 3 | 3 3 2 P1: 2 0 0 | 3 2 2 | P2: 3 0 2 | 9 0 2 | P3: 2 1 1 | 2 2 2 | P4: 0 0 2 | 4 3 3 | Tổng loại tiền mà các công ty có (Cộng theo cột từ trên xuống của Allocation) Tổng :7 2 5 Chú ý : - Allocation tổng số các loại tiền mà các công ty đang có - Max : Tổng các loại tiền (tối đa ) mà các công ty có thể có - Hệ có : Available = ( 10 ,5 ,7 ) – ( 7, 2 ,5 ) = ( 3 ,3 ,2 ) Ta có : Need = Max – Allocation =>Số loại tiền tối đa mà các công ty có thể vay thêm. Ta có ma trận sau : Need A B C P0 7 4 3 (7,5,3) – (0,1,0) P1 1 2 2 (3,2,2) – (2,0,0) P2 6 0 0 (9,0,2) - (3,0,2) P3 0 1 1 (2,2,2) - (2,1,1) P4 4 3 1 (4,3,3) – (0,0,2) Giả sử tại thời điểm To công ty : Ta phải kiểm tra tổng số các loại tiền mà công ty cần : Need <= Work : hệ số các loại tiền có trong nhà băng. Trong thời điểm này thì chỉ có P1,P3 là thỏa điều kiện được vay trước. Giả sử P1 vay trước : Ta có bảng sau đảm bảo số tiền vay không vượt qua số tiền nhà băng cần có. Work Need(i) P(i) Allocation A B C A B C A B C 3 2 2 1 2 2 P1 2 0 0 Số tiền nhà băng cho P1 vay lúc này là (3,2,2) và nhà băng còn (2,1,0) khi này P1 sẽ bị thu hồi (vì đã vay max rồi) Vậy hệ số tiền mà nhà băng có ít nhẩt cho công ty tiếp theo vay là: Work = (3,2,2)+(2,1,0) = (5,3,2) Ta xét hệ số các loại tiền Need <=Work. Trong trường hợp này thì P1 và P4 có thể vay.Giả sử P3 vay.Và làm các bước tương tự cho các công ty còn lại ta có bảng sau Work |Need(i)| P(i)| Allocation A B C | A B C|.....|A B C 3 3 2 | 1 2 2 |. P1 |2 1 0 5 3 2 | 0 1 1 |. P3 |2 1 1 7 4 3 | 4 3 1 |. P4 |0 0 2 7 4 5 | 6 0 0 |. P2 |3 0 2 10 4 7| 7 4 3|. P0 |0 1 0 Chú ý : Hệ số các loại tiền của nhà băng cần có để cho vay (10,4,7) <= (10,5,7) các tài nguyên ban đầu Như vậy : Ở thời điểm To hệ thống nhà băng trong trạng thái an toàn vì tồn tại chuỗi an toàn : < P1 ,P3 ,P4 ,P2 ,P0 >
__________________
Có công đi nắng có ngày đen thui |
|
#2
|
||||
|
||||
|
Không hiểu nối.Có cột Allocation ở đâu.Tìm không thấy
__________________
------------------------------------- VDT
|
|
#3
|
||||
|
||||
|
sory
đã fix lại do web tự xóa mất các khoảng rống nên không còn đúng cột nữa anh em chú ý : tên cột và nội dung cột có cùng màu
__________________
Có công đi nắng có ngày đen thui |
|
#4
|
||||
|
||||
|
Work = (3,2,2)+(2,0,0) = (5,3,2)
chỗ này hình như ko đúng Sao công ty lại phải trả luôn cái vay hồi trước nữa ! cái 322 đã chứa 200 trong đó rồi mà ! đáng lẽ phải là 322 +(332-122) mới đúng chứ |
|
#5
|
||||
|
||||
|
cái vay trước đó ko phải vay à, mà vay thì phải trả chứ
khi một tiến trình vay đủ thì nó sẽ xử lý đc => khi làm xong thì tiến trình đó phải bị thu hồi hết tài nguyên mà nó chiếm giữ chứ (bao gồm tài nguyên đã chiếm trước đó và tài nguyên mới được cấp)
__________________
Có công đi nắng có ngày đen thui |
|
#6
|
||||
|
||||
|
Work = (3,2,2)+(2,0,0) = (5,3,2)
cộng sai rồi thì phải ^^ thì tổng thu hồi lại là max chứ gì nữa max= ban đầu + vay thêm còn còn lại ngân hàng thì đúng rồi 322+210 = 532 ,m cộng sai thì phải 210 chứ 200 nê |
|
#7
|
||||
|
||||
|
đã chỉnh lại một chút anh em coi cho ý kiến he
__________________
Có công đi nắng có ngày đen thui |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|