Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Download
Standard view
Full view
of .
Look up keyword
Like this
13Activity
0 of .
Results for:
No results containing your search query
P. 1
Tuan4_Dong Bo Hoa Tien Trinh

Tuan4_Dong Bo Hoa Tien Trinh

Ratings: (0)|Views: 966|Likes:
Published by taodung

More info:

Published by: taodung on Jun 17, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/11/2014

pdf

text

original

 
1
1
Nguyên lý h
đ
i
u hành
Nguy
nH
iChâuKhoangngh
thôngtinTr 
ườ
ng
Đạ
ih
cngngh
2
Đồ
ng b
hóa ti
ế
n trình
3
Ví d
ụ đồ
ng b
hóa (1)
Ti
ế
n trình ghi
:
while (true) {while (counter==SIZE) ;buf[in] = nextItem;in = (in+1) % SIZE;counter++;}buf: Buffer SIZE: c
c
abuffer counter: Bi
ế
nchung
Ti
ế
n trình
đọ
c
:
while (true) {while (counter==0) ;nextItem= buf[out];out = (out+1) % SIZE;counter--;}
Đ
âylà
bài toán vùng 
đệ
m có gi 
ớ 
i h
n
4
Ví d
ụ đồ
ng b
hóa (2)
counter++register 
1
= counter;register 
1
= register 
1
+ 1;counter = register 
1
;
counter--register 
2
= counter;register 
2
= register 
2
-1;counter = register 
2
;
ctoánt
++ và--th
ể đượ
ci
đặ
tnh
ư
sau:P Q th
nh
n
đượ
ccácgiát
khácnhauc
acounter t
ing1 th
i
đ
i
mn
ế
unh
ư đ
o
nxanh
đỏ
th
chi
nxenk
nhau.
5
Ví d
ụ đồ
ng b
hóa (3)
Gi
s
P vàQ th
chi
nsong songv
inhauvàgiát
c
acounter 5:register 
1
= counter;// register 
1
=5register 
1
= register 
1
+ 1;// register 
1
=6register 
2
= counter;// register 
2
=5register 
2
= register 
2
-1;// register 
2
=4counter = register 
1
;// counter=6 !!counter = register 
2
;// counter=4 !!
6
Ví d
ụ đồ
ng b
hóa (4)
L
i: Chophép
Q
đồ
ng th
i thao tác trênbi
ế
n chung counter 
. S
al
i:register 
1
= counter;// register 
1
=5register 
1
= register 
1
+ 1;// register 
1
=6counter = register 
1
;// counter=6register 
2
= counter;// register 
2
=6register 
2
= register 
2
-1;// register 
2
=5counter = register 
2
;// counter=5
 
2
7
T
ươ
ng tranh và
đồ
ng b
nhhu
ngxu
thi
nkhinhi
uti
ế
ntrìnhngthao ctrênd
li
uchungvàk
ế
tqu
cácthao tác
đ
óph
thu
cvàoth
t
th
chi
nc
acácti
ế
ntrìnhtrênd
li
uchungg
i
tìnhhu 
ng t 
ươ 
ng tranh
(
race condition
)
Để
tránhcnhhu
ngt
ươ
ngtranh, cti
ế
ntrìnhc
n
đượ
c
đồ
ng b
theom
tph
ươ
ngth
cnào
đ
ó
V
n
đề
nghiênc
u:
 Đồ
ngb
acti
ế
ntrình
8
Khái ni
m v
ề đ
o
n mã g
ă
ng (1)
Thu
tng
: Critical section
Thu
tng
ti
ế
ngVi
t:
 Đ
o
nmãg
ă
ng,
đ
o
nt
ih
n.
Xétm
th
n
ti
ế
ntrình
0
,
1
, ...,
n
, m
iti
ế
ntrìnhcóm
t
đ
o
nmãl
nhg
i
đ
o
ng
ă
ng, kýhi
u
CS 
, n
ế
unh
ư
trong
đ
o
ny, cácti
ế
ntrìnhthao ctrêncbi
ế
nchung,
đọ
cghifile... (t
ngquát: thao táctrênd
li
uchung)
9
Khái ni
m v
ề đ
o
n mã g
ă
ng (2)
Đặ
c
đ
i
mquant
ngmàh
n
ti
ế
ntrìnhyc
ncólà: Khim
tti
ế
ntrình
th
chi
n
đ
o
n
CS 
thìkhôngti
ế
ntrình
 j 
okhác
đượ
cphépth
chi
n
CS 
 j 
M
iti
ế
ntrình
ph
i“xinphép(entrysection) tr 
ướ
ckhith
chi
n
CS 
thôngo(exit section)cho các ti
ế
n trình khác saukhith
chi
nxong
CS 
.
10
Khái ni
m v
ề đ
o
n mã g
ă
ng (3)
C
utrúcchungc
a
để
th
chi
n
đ
o
ng
ă
ng
CS 
.do {
Xinphép(
ENTRY 
) th
chi
n
CS 
; // Entry sectionTh
chi
n
CS 
;Thôngo(
EXIT 
)
đ
ãth
chi
nxong
CS 
; // Exit sectionPh
nmãl
nhkhác(
REMAIN 
); // Remainder section
} while (TRUE);
11
Khái ni
m v
ề đ
o
n mã g
ă
ng (4)
Vi
ế
tl
ic
utrúcchungc
a
đ
o
nmãg
ă
ng:do {
ENTRY 
; // Entry sectionTh
chi
n
CS 
;// Critical section
EXIT 
; // Exit section
REMAIN 
; // Remainder section
} while (TRUE);
12
Gi
i pháp cho
đ
o
n mã g
ă
ng
Gi
iphápcho
đ
o
nmãg
ă
ngc
nth
amãn3
đ
i
uki
n:
Lo
itr 
l
nnhau(mutual exclusion): N
ế
u
đ
angth
chi
n
CS 
thì
 j 
khôngth
th
chi
n
CS 
 j 
 j 
.
Ti
ế
ntri
n(progress): N
ế
ukhôngti
ế
ntrình
nàoth
chi
n
CS 
và
m
ti
ế
ntrình
 j 
1
,
 j 
2
, ...,
 jm
mu
nth
chi
n
CS 
 j 
1
,
CS 
 j 
2
, ...,
CS 
 jm
thìch
ỉ 
cácti
ế
ntrìnhkhôngth
chi
n
REMAIN 
 jk 
(
=1,...,
m
) m
i
đượ
cxemtth
chi
n
CS 
 jk 
.
Ch
gi
ih
n(bounded waiting):
sau khi 
m
tti
ế
ntrình
cóyêuc
uo
CS 
tr 
ướ 
c khi 
yêuc
u
đ
ó
đượ
cch
pnh
n, s
l
ncácti
ế
ntrình
 j 
(v
i
)
đượ
cphépth
chi
n
CS 
 j 
ph
ib
gi
ih
n.
 
3
13
Ví d
: gi
i pháp c
a Peterson
Gi
s
2 ti
ế
ntrình
0
1
v
ihai
đ
o
ng
ă
ngt
ươ
ng
ng
CS 
0
CS 
1
S
d
ngm
tbi
ế
nnguyên
turn
v
igiát
kh
it
o0 ho
c1 vàm
ngboolean
flag 
[2]
turn
cógiát
ngh
 ĩ 
a
đượ
cphépth
chi
n
CS 
(
=0,1)
n
ế
uflag[i] làTRUE thìti
ế
ntrình
đ
ãs
nsàng
để
th
chi
n
CS 
14
Ví d
: gi
i pháp c
a Peterson
l
nhc
a
:do {flag[i] = TRUE;turn = j;while (flag[j] && turn == j) ;
CS 
;flag[j] = FALSE;
REMAIN 
;} while (1);
15
Ch
ng minh gi
i pháp Peterson
Xemch
ngminh gi
iphápc
aPetersonth
amãn3
đ
i
uki
nc
a
đ
o
nmãg
ă
ngtronggiáotrình(trang196)
Gi
iphápki
uPeterson”:
Ph
ct
pkhis
l
ượ
ngti
ế
ntnht
ă
ngn
Khóki
msoát
16
Semaphore
17
Thông tin tham kh
o
EdsgerWybeDijkstra(ng
ườ
i HàLan) phátminh rakháini
msemaphore trong khoah
c máy tính vào n
ă
m1972
Semaphore
đượ
c s
d
ngl
n
đầ
utiêntrongcu
nch“Theoperating system”c
aôngEdsgerWybeDijkstra(1930-2002)
18
Đị
nh ngh
 ĩ 
a
Semaphore làm
tbi
ế
nnguyên, n
ế
ukhôngnh
đế
ntoánt
kh
it
o, ch
ỉ 
cóth
truyc
pthôngqua hai toánt
nguyên t 
wait (ho
cP) signal (ho
cV).
P: proberenki
mtra(ti
ế
ngLan)
V: verhogent
ă
ngn(ti
ế
ngLan)
cti
ế
ntrìnhcóth
s
ử 
ụ 
ng chung 
semaphore
ctoánt
nguyênt
ố để đả
mb
okhôngx
yrat
ườ
ngh
pnh
ư
d
ụ đồ
ngb
hóa
đ
ãnêu

Activity (13)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Danh Dũng liked this
xuan07t2 liked this
dangtan89 liked this
vanbich1990 liked this
nhuyit08a liked this
nhuyit08a liked this
phongltp liked this

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->