... nguyên.
monitor <tên monitor >
{
<khai bao cac bien dung chung cho cactientrinh su dung monitor >
condition <các biến điều kiện>;
/ /cac phuong thuc doc quyen
}
Cấu trúc tiếntrình ... % 5);
}
monitor dp
{
enum {thinking, hungry, eating} state[5];// cac bien dung chung
condition self[5]; / /cac bien dieu kien
/ /cac pt doc quyen khi su dung monitor
void pickup(int i);
void putdown(int ... có giá trị 0.
Cấu trúc chương trình sử dụng biến khóa để đồngbộ có dạng sau:
while (TRUE) / /tien trinh có thể truy xuất miền găng nhiều lần
{
while (lock == 1); // wait
lock = 1;
critical-section...
... biến taikhoan .Mỗi tiếntrình
muốn rút một khoản tiền tienrut từ tài khoản bằng đoạn mã sau:
if (taikhoan - tienrut >=0)
taikhoan = taikhoan - tienrut;
else
error(« khong the rut tien ! »);
Giả ... nguyên dùng chung được gọi là miền găng
Trong ví dụ trên, đoạn mã :
if (taikhoan - tienrut >=0)
taikhoan = taikhoan - tienrut;
của mỗi tiếntrình tạo thành một miền găng.
27
Cấu trúc một chương ... nguyên.
monitor <tên monitor >
{
<khai bao cac bien dung chung cho cactientrinh su dung monitor >
condition <các biến điều kiện>;
/ /cac phuong thuc doc quyen
}
Cấu trúc tiến trình...
... biến taikhoan .Mỗi tiếntrình
muốn rút một khoản tiền tienrut từ tài khoản bằng đoạn mã sau:
if (taikhoan - tienrut >=0)
taikhoan = taikhoan - tienrut;
else
error(« khong the rut tien ! »);
Giả ... nguyên dùng chung được gọi là miền găng
Trong ví dụ trên, đoạn mã :
if (taikhoan - tienrut >=0)
taikhoan = taikhoan - tienrut;
của mỗi tiếntrình tạo thành một miền găng.
27
non_critical_section();
}
Giải ... nguyên.
monitor <tên monitor >
{
<khai bao cac bien dung chung cho cactientrinh su dung monitor >
condition <các biến điều kiện>;
/ /cac phuong thuc doc quyen
}
Cấu trúc tiến trình...
... các mâ
u
l
section).
T
n
-
t
ien
r
t
aikhoan
nếu có thể
h
trong miề
u
t tien
à
P
2
muốn r
ú
a
n - ti
e
ử
lý mà hệ t
h
ợ
c kết quả
l
a
ikhoan đư
ợ
ý
, nó sẽ kh
ô
=
0)-vì đã
k
á
trị ...
dụng socket để liênlạc theo mô hình client-serveur. Trong mô hình này, server sử dụng
lời gọi hệ thống listen và accept để nối kết với client, sau đó , client và server có thể trao
đổi thông ... hai phương thức liênlạc trong thực tế : liênlạc thư tín
(socket đóng vai trò bưu cục) vàliênlạc điện thoại (socket đóng vai trò tổng đài) .
1. Các cơ chế trao đổi thông tin : tình huống sử...
... thiết lập
lock = true
void Swap(boolean &a,
boolean &b) {
boolean temp = a;
a = b;
b = temp;
}
Biến chia sẻ (khởi tạo là false)
bool lock;
bool key;
Process P
i
do {
key ... process này.
40
Khoa KTMT
Nhận xét
Khi S.value ≥ 0: số process có thể thực thi wait(S) mà
không bị blocked = S.value
Khi S.value < 0: số process đang đợi trên S là S.value
Atomic và ... busy waiting sẽ rất thấp.
44
Khoa KTMT
Caực baứi toaựn ủong bo (kinh ủieồn)
Bounded Buffer Problem
Readers and Writers Problem
Dining-Philosophers Problem
2
Khoa KTMT
Nội dung
Đặt vấn đề...
... 3
Khoa KTMT V c Lungũ Đứ
Các Cơ Chế Liên Lạc
Signal : Không truy n c d li uề đượ ữ ệ
Các tín hi u c g i i b i?khi nh n thì x lý ra sao?ệ đượ ử đ ở ậ ử
1
Khoa KTMT V c Lungũ Đứ
Chương ... minh
Send(destination,message):gởimộtthôngđiệpđếndestination
Receive(source,message):nhậnmộtthôngđiệptừsource
4
Khoa KTMT V c Lungũ Đứ
Các Cơ Chế Liên Lạc
Pipe
Truyền dữ liệu không cấu trúc
5
Khoa KTMT V c Lungũ Đứ
Các Cơ Chế Liên Lạc
Shared Memory
Mâu ... truy xuất => nhu cầu đồngbộ hoá
13
Khoa KTMT V c Lungũ Đứ
Giải pháp
Hai tiếntrình cần trao đổi thông tin về diễn tiến
xử lý
P1
P2
Job1;
Job2;
14
Khoa KTMT V c Lungũ Đứ
Mô hình tổ chức phối...
...
+++=−=
+++=−=
+++=
)()(
)()(
)()(
4321
3'''
4321
2''
4321
'
zkzkzkzki
zkzkzkzki
zkzkzkzki
iiii
iiii
iiii
ACDCCCBCk
EJ
Q
zy
BCACDCCCk
EJ
M
zy
CCBCACDCkzy
(3.48)
T
ừ
các
đ
i
ề
u ki
ệ
n biên vàcác ph
ươ
ng trình (3-47), (3-48) ta ...
Đến nay, đà có rất nhiều công trình lớn nghiên cứu về dao động công trình;
trong đó các nhà khoa học của các nớc XHCN nh Liên Xô (xem [3],[26]) Ba Lan,
Tiệp Khắc, CHDC Đức (xem [15], [12], ... cơ học kết cấu nói chung (xem chơng IV của tài liệu [3]).
Trong khuôn khổ của tài liệu giáo khoa, giáo trình này sẽ chỉ đề cập đến những vấn
đề rất cơ bản của lý thuyết dao động công trình;...
... vector độ dàilà mvà nKhởitao1. Gọi Work va Finish la hai vector độ dai la m va n. Khơi tạo
Work := Available
Finish[i] := false, i = 1,…, n
2 Tìm i thỏa2. Tìm i thoa
(a) Finish [i] = false
(b) Need
i
... banker (tt)
á á
n:
số process,
m:
số loại tài nguyên
Các cấu trúc dữ liệu
Available:
vector độ dài
maabe
ec o độ da
Available[
j
] =
k
loại tài nguyên
R
j
có
k
instance sẵn sàng
Max:
ma ... và
C
(7
instance)instance).
Sơ đồ cấp phát trong hệ thống tại thời điểm
T
0
Allocation Max Available Need
ABC ABC ABC ABC
P
0
010 753 332 743
P
1
200 322 122
P 3 0 2 9 0 2 6 0 0
P
2
3...
... wake-up
Semaphore
Monitor
11
Semaphores
wait(S):
S.value ;
if (S.value < 0) {
add this process to S.L;
bl kblock;
}
signal(S):signal(S):
S.value++;
if (S.value <= 0){if (S.value 0) {
remove a process P from ... tra và cập nhật một biến trong một thao tác đơn
(atomic)
bool TestandSet(bool &target)
{
n
Shared data:
bool lock = false;
{
bool rv = target;
target = true;
n
Process P
i
while (1)
{
return ... process hoàn trả tài nguyên
Cáctácvuyêucầu (request) và hoàntrả (release) đềulà
Cac tac vụ yeu cau (request) va hoan tra (release) đeu la
system call. Ví dụ
– request/release device
– open/close...