Hoc Tap

Learning
 
HomeHome  ­FAQFAQ  ­SearchSearch  ­RegisterRegister  ­MemberlistMemberlist  ­UsergroupsUsergroups  ­Log inLog in  
Post new topic   Reply to topicShare | 
 

 Huong dan On thi Tot nghiep

View previous topic View next topic Go down 
AuthorMessage
To Tuan
Admin


Number of posts: 187
Age: 55
Registration date: 2007-05-08

PostSubject: Huong dan On thi Tot nghiep   13/4/2009, 10:29

Những nội dung trọng tâm:

- Lý thuyết: So sánh Đa luồng với Đa tiến trình, Những ích lợi của công nghệ Đa luồng, Nguyên lý Tập luồng (Thread Pools), Mục đích của Đồng bộ hoá công việc các tiến trình, Đoạn tương tranh, Loại trừ tương hỗ, Hai ứng dụng của Semaphore (đèn hiệu), Lập trình Bài toán Sản xuất-Tiêu thụ dùng semFull-semEmpty-CritSec, Bốn tình huống ra quyết định của trình điều phối CPU, Phân biệt Preemptive Scheduling với Non-Preemptive Scheduling, Điều phối hàng chờ nhiều mức (MQS), Điều phối hàng chờ nhiều mức có điều tiết (MFQS).

- Bài tập: Sử dụng Visual C++ 6.0 để tạo một tập luồng (bằng hàm CreateThread) và đánh thức chúng khi cần thiết (bằng hàm ResumeThread), Lập trình đồng bộ hoá với Semaphore, Thuật giải điều phối CPU (Preemptive SJFS, Round-Robin): Biểu đồ Gantt và tính thời gian chờ trung bình của các tiến trình.


Last edited by To Tuan on 26/7/2009, 09:02; edited 2 times in total
Back to top Go down
View user profile http://totuan.one-forum.net
thaonguyen



Number of posts: 7
Registration date: 2008-06-05

PostSubject: Re: Huong dan On thi Tot nghiep   15/4/2009, 14:45

Thầy ơi cho em hỏi: theo như biểu đồ Gant của câu 3 thì thời gian chờ của P3 là 60-45=15 (đáp án lại là 22) chứ ạh. Không fải em tính vậy có sai ko ạh?

Admin
- Các bạn cho ý kiến thêm!
- Chú ý: Gantt có 2 chữ T, cũng như phải viết hệ điều hành Windows chứ không phải là Window.
Back to top Go down
View user profile
diemphucnguyen



Number of posts: 8
Registration date: 2009-03-20

PostSubject: Re: Huong dan On thi Tot nghiep   16/4/2009, 13:40

Thời điểm đến của P3 là 45 nhưng tới thời điểm 60 mới được thực hiện nên thời gian chờ là 60 - 45 = 15

Sau khi thực hiện trong thời lượng là 20ms, P3 bị tiếm quyền và đến thời điểm 87 mới được thực hiện tiếp, nên thời gian chờ là 87-80 = 7

Nên tổng cộng thời gian chờ của P3 sẽ là : (60-45) + (87-80) = 22ms

Admin
Dùng từ "tiếm quyền" đúng quá. Hiểu môn của thày rồi đấy!
Back to top Go down
View user profile
thaonguyen



Number of posts: 7
Registration date: 2008-06-05

PostSubject: Re: Huong dan On thi Tot nghiep   16/4/2009, 16:26

Mình thấy sai rồi, nhìn kỹ lại bài mới thấy mình chưa cộng khoảng thời gian chờ bị P1 tiếm quyền. Hi vọng thi ko bị sai xót như vậy!

Admin
Sai sót ≠ Xót xa !
Back to top Go down
View user profile
khongaica



Number of posts: 1
Registration date: 2009-04-18

PostSubject: Re: Huong dan On thi Tot nghiep   18/4/2009, 14:43

Một cách tính Thời Gian Chờ (TGC) cho tiến trình khác:

Cho tập n tiến trình cần được tính TGC: P(i) = (T(i), CB(i)) với 1 <= i <= n
trong đó P(i) : tiến trình thứ i

T(i): thời điểm đến của P(i)

CB(i): khoảng CPU của P(i)



Giả sử trong quá trình thực thi (được CPU điều phối), P(i) được phân ra thực thi thành m lần có thứ tự : P(i,1), P(i,2), ..., P(i,m) với m >= 1


Gọi T(i,j) là thời điểm các lần P(i,j) được HĐH cấp phép thực thi (1 <= j <= m)
Gọi T'(i,j) là thời điểm các lần P(i,j) bị HĐH tiếm quyền hoặc thực hiện xong


Ta có :
TGC(i) = (T(i,1) - T(i)) + (T(i,2) - T'(i,1)) + (T(i,3) - T'(i,2)) + ... + (T(i,m) - T'(i, m-1))

= - T(i) - (T'(i,1) - T(i,1)) - (T'(i,2) - T(i,2) - ... - (T'(i, m-1) - T(i, m-1)) + T(i,m)

= - T(i) - { Sigma(j từ 1 đến (m-1)) của (T'(i,j) - T(i,j)) } + T(i,m)

= - T(i) - { Sigma(j từ 1 đến (m-1)) của (T'(i,j) - T(i,j))} + T(i,m) + T'(i,m) - T'(i,m)

= T'(i,m) - T(i) - {Sigma(j từ 1 đến m) của (T'(i,j) - T(i,j))}



Mà ta dễ dàng thấy được CB(i) = {Sigma(j từ 1 đến m) của (T'(i,j) - T(i,j))}


Vậy TGC(i) = T'(i,m) - T(i) - CB(i)

*** Nghĩa là TGC của tiến trình P(i) thì bằng thời điểm P(i) thực thi xong trừ cho thời điểm đến của P(i) và khoảng CPU của P(i) affraid
-----------------------------------------------------------------
Áp dụng thử:

Tiến trình


Thời điểm đến (ms)


CPU-Burst (ms)


P1


5


47


P2


23


15


P3


45


28





Biểu đồ Gantt





TGC(1) = 87 - 5 - 47 = 35 ms
TGC(2) = 40 - 23 - 15 = 2 ms
TGC(3) = 95 - 45 - 28 = 22 ms
----------------------------------------------------

Cách tính này càng hiệu quả khi P(i) bị tiếm quyền càng nhiều lần!
Back to top Go down
View user profile
 

Huong dan On thi Tot nghiep

View previous topic View next topic Back to top 
Page 1 of 1

Permissions of this forum:You cannot reply to topics in this forum
Hoc Tap :: Môn học HĐH :: Hệ Điều Hành-
Post new topic   Reply to topic