Tin học
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Thảo luận Bài 6

+86
DiepMaiNgocYen(I12A)
phanngocthinh(i12a)
NguyenTuanHai_I12A
KimHue36 (I11C)
tranthithanhuyen85 (I11C)
TranThiMyKhanh(I12A)
TranMinhTuan143(I12A)
HuynhNguyenTrungHau_I12C
nguyenthanhphongHC11TH2A
letannghia(I12A)
nguyenhuutho
TrinhThiPhuongThaoI12C
DaoQuangTri38(I12A)
trantrungnam-HC11TH2A
TranLeThanhVu_I12A
LeMInhTien(I11C)
leminhtam13(I12A)
TranHoangNhanI12C
DuongTrungQuan
caothithuhuong(102c)
NguyenThiHue48(I12A)
LacChiHao(I12A)
LuongGiaDuc(I12A)
nguyenvanhonglac_0066
NguyenHongHaiI12C
Đỗ Phan Diễm Hương I12A
Nguyen Doan Linh051(I11c)
TranTrungHienI12C
TranBinhCongLuanI12A
vothingocthuy87(I11C)
BuiDaiNghia-102C
TRANTHINHPHAT (I11C)
plminhhoangI12A
TranThiAnhDao89I12C
phuongnguyen
LeTanDat (I11C)
phamduyI12A
thailongI12C
DaoThaiHuyI12A
NguyenDucMy78(I12C)
TruongQuocTrung_I12A
TranTrungTinh(I12A)
TranHuyCuong17 (I12A)
LeThanhTung (I11C)
nguyenthaihiep (I11C)
nguyenthimao_I12A
NguyenPhuocNguyen (I12A)
nguyenthingocmai_I12A
TaThucCuongI12C
HoNgocTuan142(I12A)
LeThiMaiPhuongI12A
NguyenThiHongYen(I12A)
ĐoànMinhQuangI12A
tranvanthien27(I12C)
DoanNgocDan(I12A)
NgoPhuQuoc_I12C
TranThaoUyen127(I92C)
quicly_I111c
huynhvanhung(I12A)
NguyenNgocDuy(I12A)
letanthanh18(I12A)
NguyenHoangThangI12A
lethianhnhat_I12A
LeQuocKhanh-11H1010059
BuiPhamAnBinh(I12A)
TrinhVinhThanh (I12A)
NguyenHaThanh97 (I11C)
hoanggiangI12C
TranThiNgocQuynh(I12C)
maidangvu_I12A
HuynhMinhChanh(i91C)
huynhtamhaoI12A
Đinh Đông Dương
TranVanBao(I12A)
TranPhiLong (I11C)
hoanghaiyen
lethanhsang_I12A
LePhucHiep(102C)
quynhnhi.nguyen_I12A
phamphihung55
huynhthao.hc11th2a
NgoXuanQuoc_(102C)
PhamQuangHien_I12A
LuongHueChanh_I12A
ngophicamI12A
Admin
90 posters

Trang 6 trong tổng số 10 trang Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next

Go down

Thảo luận Bài 6 - Page 6 Empty Re: Thảo luận Bài 6

Bài gửi  NguyenDucMy78(I12C) 5/4/2012, 11:42

LeThiMaiPhuongI12A đã viết:
tranvanthien27(I12C) đã viết:
NguyenDucMy78(I12C) đã viết:
tranvanthien27(I12C) đã viết:
nguyenthingocmai_I12A đã viết:
LeThiMaiPhuongI12A đã viết:
Tiến trình Thời điểm đến(ms) CPU-Burst
P15 22
P2 10 15
P3 20 5
Dùng thuật giải Preemptive SJFS để điều phối CPU
a.Thể hiện bằng biểu đồ Gantt
b.Tính thời điểm chờ trung bình của các tiến trình

a.Biểu đồ Gantt.
Thảo luận Bài 6 - Page 6 Sjfs
Tại thời điểm 5ms P1 sẽ được cấp CPU đầu tiên
Tại thời điểm 10ms,P2 đến, do khoảng CPU của P2 nhỏ hơn P1 nên P2 tiếm quyền P1, lúc này CPU được cấp cho P2, và P2 sẽ chạy hết khoảng CPU của nó
Tại thời điểm 25ms, P3 sẽ được cấp CPU vì P3 có khoảng CPU nhỏ hơn P1
Tại thời điểm 30ms P1 sẽ thực hiện tiếp khoảng CPU còn lại của nó
b.Tính thời điểm chờ trung bình của các tiến trình
P1=(47-5)-22=42-22=20ms
P2=(25-10)-15=15-15=0ms
P3=(30-20)-5=10-5=5ms
Thời gian chờ trung bình: (20+0+5)/3=8,3ms
Các bạn bổ sung thêm nha
ví dụ lúc này tại tiến trình P2 thời điểm đến (ms) vẫn là 10 nhưng CPU-Burst (ms) là 20 thì sơ đồ Gantt vẽ thế nào đây bạn?

Theo ý của bạn sơ đồ Gantt có thể vẽ như thế này

Thảo luận Bài 6 - Page 6 Db2e40d21f04c8258319e74e49ef4cf6_43009389.sjsf
Cho mình hỏi sao lại vẽ P2 trước P1.Nếu mình vẽ P1 trước thì đúng or sai.

Theo mình nghỉ vì P2 có 10 ms CPU Burst nhỏ hơn P1 có 17 ms CPU-Burst nên P2 phải trước P1. Nếu chúng bằng nhau thì dùng thuật giải FCFS
Đúng vậy đó bạn theo thuật giải Preemptive SJFS thì tiến trình nào có khoảng CPU kế tiếp nhỏ hơn thì sẽ được ưu tiên trước, còn có khoảng CPU kế tiếp bằng nhau thì dùng thuật giải FCFS nên nếu vẽ P1 trước thì sẽ sai
Thanks all

NguyenDucMy78(I12C)

Tổng số bài gửi : 6
Join date : 16/02/2012

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Phân biệt điều phối có tiếm quyền và không tiếm quyền !!!

Bài gửi  phuongnguyen 5/4/2012, 11:43

- Điều phối không tiếm quyền là chỉ tiến hành trong tình huống 1 và 4 (tiến trình chuyển từ Running sang Waiting và khi tiến trình kết thúc công việc)
Ví dụ: Khi có nhiều người tới mua vé thì người bán vé sẽ bán cho người nào tới trước. Cho dù người tới sau mua vé ít hơn người tới trước thì vẫn bán cho người tới trước...
-Điều phối có tiếm quyền là tiến hành cả trong 4 tình huống mà bạn đưa ra .
Ví dụ: Cũng giống ví dụ trên nhưng khác ở chỗ. Ai mua ít vé hơn thì ưu tiên cho người đó( A mua 1 vé, B mua 5 vé, C mua 3 vé thì mức độ ưu tiên sẽ là A,C rồi mới tới B).

phuongnguyen

Tổng số bài gửi : 27
Join date : 17/02/2012

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Re: Thảo luận Bài 6

Bài gửi  NgoXuanQuoc_(102C) 5/4/2012, 11:50

HuynhMinhChanh(i91C) đã viết:Em chào thầy,mong thầy giải đáp giúp em :

Đề thi thầy cho như sau : Sử dụng Thuật Toán Round Robin với thời lượng 10ms để điều phối CPU
Tiến Trình Thời điểm đến (ms) CPU-Burst
P1 5 25
P2 10 15
P3 20 10

Sơ đồ Gantt bài giải :
Thảo luận Bài 6 - Page 6 20120404214458


Thảo luận Bài 6 - Page 6 20120404214458

Em có một số lý luận như sau :
- Về bài giảng trên lớp : Thầy giảng thì Round Robin điều phối CPU dựa theo nguyên lý xoay vòng, khi 1 tiến trình bị tiếm quyền, thì nó sẽ được đưa vào cuối của hàng queue . Mà cơ chế của Queue là FIFO (First In First Out).
=> P1 sau khi thực hiện xong quantum đầu tiên thì sẽ chuyển xuống cuối hàng đợi (sau P3).
Admin: Ở thời điểm 15, P1 hết thời lượng và được xếp vào cuối Ready Queue, tức là sau P2 (lúc đó P3 chưa đến), P2 ở đầu hàng chờ nên được chọn chuyển sang trang thái Running !

- Tiếp theo P2 thực hiện xong phần quantum (10ms) đầu tiên và sẽ chuyển xuống hàng đợi (sau P1 ở trên).
Admin: Ở thời điểm 25 khi P2 hết thời lượng, HĐH sẽ chọn P1 vì P1 ở đầu hàng chờ (khi P3 đến ở thời điểm 20, P1 đã trong đó rồi, nên P3 xếp sau P1) !

- Vậy tiếp theo sẽ là P3 (?!). Thực hiện quantum đầu tiên. Thực hiện xong 10 ms , nhưng do CPU-Burst là 10ms . Nên P3 đã thực hiện xong, và không chuyển xuống cuối queue nữa.
Vậy vòng Round Robin thứ 2 sẽ tiếp tục với 2 Tiến Trình P1, P2. Và cứ thế quá trình Round-Robin lặp lại đến khi cả P1,P2 đều xử lý xong tiến trình của riêng mình.

Nếu theo lý luận của em, thì em đã làm khác so với bài giải của thầy, em nghĩ e có chỗ nào đó bị sai, mong thầy và các bạn giải đáp thắc mắc trên của em, và cho em biết lỗi sai của em nằm ở đâu, để em có thể hoàn thiện kiến thức hơn.

Cảm ơn thầy về bài giảng hôm nay.

Admin
Xem kỹ giải thích trên. Mọi người hay sai chính ở chỗ em nêu !

Cám ơn Thầy rất nhiều, vấn đề này em chỉ hiểu lơ mơ, giờ thì hiểu rõ hơn rồi...
NgoXuanQuoc_(102C)
NgoXuanQuoc_(102C)

Tổng số bài gửi : 42
Join date : 17/02/2011
Age : 36

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Re: Thảo luận Bài 6

Bài gửi  LeThiMaiPhuongI12A 5/4/2012, 11:53

TranThiNgocQuynh(I12C) đã viết:
LeThiMaiPhuongI12A đã viết:
Tiến trình Thời điểm đến(ms) CPU-Burst
P15 22
P2 10 15
P3 20 5
Dùng thuật giải Preemptive SJFS để điều phối CPU
a.Thể hiện bằng biểu đồ Gantt
b.Tính thời điểm chờ trung bình của các tiến trình

a.Biểu đồ Gantt.
Thảo luận Bài 6 - Page 6 Sjfs
Tại thời điểm 5ms P1 sẽ được cấp CPU đầu tiên
Tại thời điểm 10ms,P2 đến, do khoảng CPU của P2 nhỏ hơn P1 nên P2 tiếm quyền P1, lúc này CPU được cấp cho P2, và P2 sẽ chạy hết khoảng CPU của nó
Tại thời điểm 25ms, P3 sẽ được cấp CPU vì P3 có khoảng CPU nhỏ hơn P1
Tại thời điểm 30ms P1 sẽ thực hiện tiếp khoảng CPU còn lại của nó
b.Tính thời điểm chờ trung bình của các tiến trình
P1=(47-5)-22=42-22=20ms
P2=(25-10)-15=15-15=0ms
P3=(30-20)-5=10-5=5ms
Thời gian chờ trung bình: (20+0+5)/3=8,3ms
Các bạn bổ sung thêm nha

Bạn ơi, cho mình hỏi:
Tại thời điểm 20ms, lẽ ra tiến trình P2 sẽ bị tiếm quyền bởi tiến trình P3, nhưng do khoảng thời gian dùng CPU còn lại của P2 là 5ms bằng với khoảng thời gian dùng CPU của tiến trình P3 là 5ms, mà tiến trình P2 đến trước so với tiến trình P3. Theo thuật giải FCFS, HDH sẽ cấp tiếp CPU cho tiến trình P2.
Mình hiểu như vậy có đúng chưa ? Bạn góp ý cho mình với.
mình giải thích thiếu ý này, cảm ơn bạn đã góp ý nhé Smile
Biểu đồ Gantt:
Thảo luận Bài 6 - Page 6 58875826



Được sửa bởi LeThiMaiPhuongI12A ngày 5/4/2012, 12:21; sửa lần 3.

LeThiMaiPhuongI12A

Tổng số bài gửi : 12
Join date : 15/02/2012
Age : 34
Đến từ : Long An

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Re: Thảo luận Bài 6

Bài gửi  NgoXuanQuoc_(102C) 5/4/2012, 11:58

huyentran_I11C đã viết:Chào mọi người..
Mình có cách hiểu về 2 giải thuật FCFS và RRS .. mọi người tham khảo và Thầy xem qua giúp e, có gì sai sửa dùm e, để e học sau này.


FCFS (đến trước - phục vụ trước)


Thảo luận Bài 6 - Page 6 441281

Ta chú ý:
  • thời điểm là thời gian bắt đầu 1 tiến trình
    tiến trình có thể không theo thứ tự (đến trước thì phục vụ trước).
    khoảng CPU ngầm hiểu là thời gian thực hiện

-->>> ta lấy thời điểm làm mốc

Thảo luận Bài 6 - Page 6 441282

RRS gần giống FCFS

đến trước cũng phục vụ trước nhưng giới hạn thời lượng CPU - time Quantun (ta có thể hiểu ngầm là thời gian CPU thực hiện tối đa cho 1 tiến trình

Thảo luận Bài 6 - Page 6 441283

Ta chú ý: đến trước phục vụ trước + thực hiện trong time quantum. Như vậy thực hiện P1, P2 .. P4

Thảo luận Bài 6 - Page 6 441284

Thời gian chờ:
P1 = 0 + 57 + 24
P2 = 20
P3 = 37 + 40 +17
P4 = 57+40
Thời gian chờ trung bình = (P1 + P2 + P3 + P4 )/4 = 73ms

- Mình đọc bài này thấy cách hiểu và trình bày của bạn này khá hay, nhưng vẫn chưa trả lời nên mình up lại mong Thầy và các bạn hướng dẫn giúp mình.
- Cám ơn Thầy và mọi người rất nhiều Very Happy
NgoXuanQuoc_(102C)
NgoXuanQuoc_(102C)

Tổng số bài gửi : 42
Join date : 17/02/2011
Age : 36

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Shortest-Job-First Scheduling-SJFS(ngắn hơn-chạy trước)

Bài gửi  TranThiAnhDao89I12C 5/4/2012, 12:07

-Tiến trình có khoảng CPU kế tiếp nhỏ hơn thì được chạy trước. Trong trường hợp bằng nhau,dùng thuật giải FCFS(Đến trước phục vụ trước).
-Là Giải thuật khá tối ưu, nhưng phải biết cách ước đoán khoảng CPU kế tiếp. Ước đoán dựa vào lịch sử của tiến trình.
-SJFS không tiếm quyền(Non-Preemptive SJFS): Tiến trình hiện thời được thực hiện đến hết khoảng CPU của nó.
-SJFS có tiếm quyền(Preemptive SJFS): Tiến trình mới có Next CPU Burst nhỏ hơn khoảng thời gian CPU còn lại của tiến trình đang vận hành sẽ được chọn thay thế(Shortest-Remaining-First.)

Ví Dụ:
Trường hợp mua vé tàu.Người mua 7 vé ít nhất được ưu tiên,đã xuất 3 vé, có 1 người đến mua 3 vé thì người mua 3 vé được ưu tiên mua, người mua 7 vé không được mua.Nếu còn 4 vé mà có 1 người nữa đến mua thì người mua 7 vé được mua vì anh mua 7 vé đến trước(cùng thời gian đến nhưng đến trước được ưu tiên.)

TranThiAnhDao89I12C

Tổng số bài gửi : 25
Join date : 17/02/2012

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Các đặc điểm của tiến trình

Bài gửi  TranThiAnhDao89I12C 5/4/2012, 12:09

Các đặc điểm của tiến trình
a) Tính hướng xuất / nhập của tiến trình ( I/O-boundedness):
Khi một tiến trình nhận được CPU, chủ yếu nó chỉ sử dụng CPU đến khi phát sinh một yêu cầu nhập xuất ? Hoạt động của các tiến trình như thế thường bao gồm nhiều lượt sử dụng CPU , mỗi lượt trong một thời gian khá ngắn.
b) Tính hướng xử lý của tiến trình ( CPU-boundedness):
Khi một tiến trình nhận được CPU, nó có khuynh hướng sử dụng CPU đến khi hết thời gian dành cho nó ? Hoạt động của các tiến trình như thế thường bao gồm một số ít lượt sử dụng CPU , nhưng mỗi lượt trong một thời gian đủ dài.
c) Tiến trình tương tác hay xử lý theo lô :
Người sử dụng theo kiểu tương tác thường yêu cầu được hồi đáp tức thời đối với các yêu cầu của họ, trong khi các tiến trình của tác vụ được xử lý theo lô nói chung có thể trì hoãn trong một thời gian chấp nhận được.
d) Độ ưu tiên của tiến trình :
Các tiến trình có thể được phân cấp theo một số tiêu chuẩn đánh giá nào đó, một cách hợp lý, các tiến trình quan trọng hơn ( có độ ưu tiên cao hơn) cần được ưu tiên hơn.
e) Thời gian đã sử dụng CPU của tiến trình :
Một số quan điểm ưu tiên chọn những tiến trình đã sử dụng CPU nhiều thời gian nhất vì hy vọng chúng sẽ cần ít thời gian nhất để hoàn tất và rời khỏi hệ thống . Tuy nhiên cũng có quan điểm cho rằng các tiến trình nhận được CPU trong ít thời gian là những tiến trình đã phải chờ lâu nhất, do vậy ưu tiên chọn chúng.
f) Thời gian còn lại tiến trình cần để hoàn tất :
Có thể giảm thiểu thời gian chờ đợi trung bình của các tiến trình bằng cách cho các tiến trình cần ít thời gian nhất để hoàn tất được thực hiện trước. Tuy nhiên đáng tiếc là rất hiếm khi biết được tiến trình cần bao nhiêu thời gian nữa để kết thúc xử lý.

TranThiAnhDao89I12C

Tổng số bài gửi : 25
Join date : 17/02/2012

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Re: Thảo luận Bài 6

Bài gửi  plminhhoangI12A 5/4/2012, 12:11

Điều phối hàng chờ nhiều mức(MQS)
-Hàng chờ Ready được phân cấp thành nhiều mức có độ ưu tiên khác nhau.
-Mỗi hàng chờ có thuật giải điều phối riêng.
-Quan hệ giữa các mức.
-Ưu tiên cố định:xong hết các tiến trình mức trên rồi mới chuyển xuống mức dưới.Đang chạy tiến trình mức dưới mà xuất hiện tiến trình mức mới cao hơn,tiến trình mức dưới sẽ bị tiếm quyền cho tiến trình mới có độ ưu tiên cao hơn.
-Phân bố theo tỉ lệ thời lượng:vd 80% thời lượng CPU dành cho Foreground,20% dành cho Background.
Điều phối hàng chờ nhiều mức có điều tiết(MFQS)
-Như MQS nhưng cho phép điều tiết tiến trình sang mức khác.
-MFQS đặc trưng bởi các thông số:
  • Số mức(số hàng chờ).

  • Thuật giải điều phối cho mỗi mức.

  • Phương thức nâng cấp tiến trình.

  • Phương thức hạ cấp tiến trình.

  • Phương thức chọn hàng chờ cho tiến trình mới.

plminhhoangI12A

Tổng số bài gửi : 19
Join date : 22/02/2012

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Các thuật giải căn bản trong điều phối CPU

Bài gửi  TranThiAnhDao89I12C 5/4/2012, 12:12

1. Trình bày thuật giải điều phối FCFS.
Đến trước - Phục vụ trước (First-Come, First-Served Scheduling - FCFS)
- Đơn giản, dễ thực hiện.
- Các tiến trình trong Ready Queue được cấp CPU từ đầu dãy đến cuối dãy theo quy tắc FIFO (First-In, First-Out).
- Thời gian chờ trung bình khá lớn.

2. Trình bày thuật giải điều phối PS.
- Mỗi tiến trình được cấp một số nguyên (Priority Number) dùng để ấn định Độ ưu tiên.
- CPU luôn dành cho tiến trình với độ ưu tiên cao hơn (Priority Number nhỏ hơn  Độ ưu tiên cao hơn ) với 2 phương án:
Có tiếm quyền ( Preemptive )
Không tiếm quyền ( Non-Preemptive )
- SJFS là trường hợp đặc biệt của PS với độ ưu tiên:
P= ( Khoảng CPU kế tiếp )

3. Trình bày thuật giải điều phối SJFS.
Ngắn hơn-Chạy trước (Shortest-Job-First Scheduling-SJFS)
- Đúng hơn phải được gọi là Shortest-Next-CPU-Burst, nghĩa là tiến trình có Khoảng CPU kế tiếp nhỏ hơn thì được chạy trước. Trong trường hợp bằng nhau, dùng thuật giải FCFS.
- Là giải thuật khá tối ưu, nhưng phải biết cách ước đoán khoảng CPU kế tiếp.
- SJFS không tiếm quyền (Non-Preemptive SJFS): Tiến trình hiện thời được thực hiện đến hết khoảng CPU của nó.
- SJFS có tiếm quyền (Preemptive SJFS): Tiến trình mới có Next CPU Burst nhỏ hơn khoảng thời gian CPU còn lại của tiến trình đang vận hành sẽ được chọn thay thế (Shortest Remaining First).

4. Trình bày thuật giải điều phối RRS.
- Như điều phối kiểu FCFS nhưng cho phép tiếm quyền khi tiến trình đang chạy bị hết thời lượng.
- Mỗi tiến trình được cấp 1 thời lượng CPU (Time Quantum), thường từ 10-100 mili giây. Sau khoảng thời gian này, nó bị tiếm quyền và được đưa vào cuối hàng chờ Ready. Tiến trình đầu tiên trong hàng chờ Ready được chọn kế tiếp.
- Nếu có n tiến trình và thời lượng là q , mỗi tiến trình nhận 1/n thời gian CPU bao gồm các đoạn không quá q đơn vị thời gian.

5. Trình bày thuật giải điều phối MQS.
- Hàng chờ Ready được phân cấp thành nhiều mức có độ ưu tiên khác nhau, ví dụ: Mức các tiến trình tương tác (Interactive) chạy ở mặt trước ( Foreground ) có độ ưu tiên cao nhất và Mức các tiến trình lô ( Batch ) vận hành trong hậu trường (Background ) .
- Mỗi hàng chờ có thuật giải điều phối riêng, ví dụ: Foreground dùng RRS, Background dùng FCFS.
- Quan hệ giữa các mức:
Ưu tiên cố định: Xong hết các tiến trình mức trên rồi mới chuyển xuống mức dưới. Đang chạy tiến trình mức dưới mà xuất hiện tiến trình mới mức cao hơn, tiến trình mức dưới sẽ bị tiếm quyền cho tiến trình mới có độ ưu tiên cao hơn ( Hệ Solaris 2 dùng cách này ) .
Phân bổ theo tỉ lệ thời lượng: ví dụ: 80% thời lượng CPU dành cho Foreground, 20 % cho Background.

TranThiAnhDao89I12C

Tổng số bài gửi : 25
Join date : 17/02/2012

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Re: Thảo luận Bài 6

Bài gửi  thailongI12C 5/4/2012, 12:52

nguyenthingocmai_I12A đã viết:
ví dụ lúc này tại tiến trình P2 thời điểm đến (ms) vẫn là 10 nhưng CPU-Burst (ms) là 20 thì sơ đồ Gantt vẽ thế nào đây bạn?
Tiến trình Thời điểm đến(ms) CPU-Buzst
P1 5 22
P2 10 20
P3 20 5

Sơ đồ Gantt

Thảo luận Bài 6 - Page 6 0e43c40c12ee414a7300488033497f89_43013644.db2e40d21f04c8258319e74e49ef4cf6

Tại thời điểm 5s,P1 được cấp CPU đầu tiên
Tại thời điểm 10s,P2 sẽ tiếm quyền P1 do CPU-Buzst của P2(20-10=10) < CPU-Buzst của P1(22-5=17)
Tại thời điểm 20s,P3 sẽ tiếm quyền P2 do CPU-Buzst của P3(5) < CPU-Buzst của P2(10) và P3 sẽ chạy hết khoảng CPU của nó.
Tại thời điểm 25s,P2 sẽ được cấp CPU do CPU-Buzst của P2 < CPU-Buzst của P1,P2 sẽ chạy hết khoảng CPU của nó.
Tại thời điểm 35s,P1 sẽ thực hiện tiếp khoảng CPU còn lại của nó.

Tính thời gian chờ trung bình của các tiến trình::
Thời gian chờ của các tiến trình:
P1=(52-5)-22=25ms
P2=(35-10)-20=5ms
P3=(25-20)-5=0ms
Thời gian chờ trung bình:(25+5+0)/3=10ms

Mình làm như vậy có đúng không mọi ng?

thailongI12C

Tổng số bài gửi : 35
Join date : 17/02/2012

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Bài tập về RRS

Bài gửi  lethanhsang_I12A 5/4/2012, 13:04

Một hệ thống có 3 tiến trình, với thời điểm đến và tg sử dụng CPU như sau

Tiến Trình Thời Điểm Đến Khoảng CPU (ms)
P1 3 35
P2 10 20
P3 25 15

Hãy dùng thuật giải Round Robin (RRS) với thời lượng 10ms để điều phối CPU.
a/Thể hiện bằng biểu đồ Gantt?
b/Tính thời gian chờ trung bình của các tiến trình?

Bài làm:

Mình vẽ và làm theo cách hiểu của mình, các bạn tham khảo góp ý giúp mình nhé.

a/ Biểu đồ gant:
Thảo luận Bài 6 - Page 6 B0e907af244e877d27410da050ae6c5a_43014947.gantt1
- Ở thời điểm 3ms tiến trình P1 vào hệ thống và được sử dụng CPU với thời lượng 10ms.Sau khoảng thời gian 10ms (lúc này là thời điểm 13ms) P1 bị tiếm quyền và được đưa vào cuối hàng chờ Ready.Trong hàng chờ hiện tại có 2 tiến trình P1 và P2( P2 đã vào hàng chờ ở thời điểm 10ms).
- Ở thời điểm 13ms tiến trình P2 đã vào hệ thống và được sử dụng CPU với thời lượng 10ms.Sau khoảng thời gian 10ms (lúc này là thời điểm 23ms) P2 bị tiếm quyền và được đưa vào cuối hàng chờ Ready.
- Ở thời điểm 23ms tiến trình P1 trong hàng chờ Ready vào hệ thống được sử dụng CPU với thời lượng 10ms.Sau khoảng thời gian 10ms (lúc này là thời điểm 33ms) P1 bị tiếm quyền và được đưa vào cuối hàng chờ Ready.Trong hàng chờ hiện tại có 3 tiến trình P1, P2, P3( P3 đã vào hàng chờ ở thời điểm 25ms).
- Ở thời điểm 33ms tiến trình P2 trong hàng chờ vào hệ thống được sử dụng CPU với thời lượng 10ms.Sau khoảng thời gian 10ms (lúc này là thời điểm 43ms) P2 đã sử dụng hết khoảng CPU và thoát ra ngoài.
- Ở thời điểm 43ms tiến trình P3 đã vào hệ thống và được sử dụng CPU với thời lượng 10ms.Sau khoảng thời gian 10ms (lúc này là thời điểm 53ms) P3 bị tiếm quyền và được đưa vào cuối hàng chờ Ready.Trong hàng chờ hiện tại chỉ còn P1 và P3
- Ở thời điểm 53ms tiến trình P1 trong hàng chờ Ready vào hệ thống được sử dụng CPU với thời lượng 10ms.Sau khoảng thời gian 10ms (lúc này là thời điểm 63ms) P1 bị tiếm quyền và được đưa vào cuối hàng chờ Ready.
- Ở thời điểm 63ms tiến trình P3 trong hàng chờ vào hệ thống đã sử dụng hết khoảng CPU và thoát ra ngoài ở thời điểm 68ms.Trong hàng chờ hiện tại chỉ còn tiến trình P1.
- Ở thời điểm 68ms tiến trình P1 trong hàng chờ vào hệ thống đã sử dụng hết khoảng CPU và thoát ra ngoài ở thời điểm 73ms.

b/ Thời gian chờ trung bình
  • Thời gian chờ của các tiến trình:
    T1 = (73-3)-35 = 70 -35 = 35(ms)
    T2 = (43-10)-20 = 33-20 = 13(ms)
    T3 = (68-25)-15 = 43-15 = 28(ms)

  • Thời gian chờ trung bình = (35+13+28)/3=76/3 = 25,33(ms)


Mong thầy và các bạn cho ý kiến
lethanhsang_I12A
lethanhsang_I12A

Tổng số bài gửi : 22
Join date : 15/02/2012
Age : 34
Đến từ : Đồng Nai

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty 5 tiêu chí điều phối CPU

Bài gửi  phamduyI12A 5/4/2012, 13:15

Năm tiêu chí điều phối CPU:
+ Công suất CPU (CPU Utilisation): Thực tế đạt từ 40% - 90% thời gian CPU. CPU càng bận càng tốt.
+ Thông suất hệ thống (Throughput): Số TT hoàn tất trong 1 đơn vị thời gian, ví dụ: 1 TT / giờ, 10 TT / giây.
+ Tổng thời gian làm việc (Turnaround Time): Kể từ khi bắt đầu đến khi kết thúc tiến trình (Bao gồm tổng thời gian chờ tại Ready Queue, tổng thời gian sử dụng CPU, tổng thời gian I/O, …).
+ Thời gian chờ (Waiting Time): Tổng thời gian chờ tại Ready Queue.
+ Thời gian đáp ứng (Response Time): Thời gian kể từ khi người dùng đặt yêu cầu cho đến khi có phản hồi đầu tiên.

phamduyI12A

Tổng số bài gửi : 20
Join date : 19/02/2012
Age : 34
Đến từ : TPHCM

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Re: Thảo luận Bài 6

Bài gửi  nguyenthingocmai_I12A 5/4/2012, 14:31

tranvanthien27(I12C) đã viết:
nguyenthingocmai_I12A đã viết:
LeThiMaiPhuongI12A đã viết:
Tiến trình Thời điểm đến(ms) CPU-Burst
P15 22
P2 10 15
P3 20 5
Dùng thuật giải Preemptive SJFS để điều phối CPU
a.Thể hiện bằng biểu đồ Gantt
b.Tính thời điểm chờ trung bình của các tiến trình

a.Biểu đồ Gantt.
Thảo luận Bài 6 - Page 6 Sjfs
Tại thời điểm 5ms P1 sẽ được cấp CPU đầu tiên
Tại thời điểm 10ms,P2 đến, do khoảng CPU của P2 nhỏ hơn P1 nên P2 tiếm quyền P1, lúc này CPU được cấp cho P2, và P2 sẽ chạy hết khoảng CPU của nó
Tại thời điểm 25ms, P3 sẽ được cấp CPU vì P3 có khoảng CPU nhỏ hơn P1
Tại thời điểm 30ms P1 sẽ thực hiện tiếp khoảng CPU còn lại của nó
b.Tính thời điểm chờ trung bình của các tiến trình
P1=(47-5)-22=42-22=20ms
P2=(25-10)-15=15-15=0ms
P3=(30-20)-5=10-5=5ms
Thời gian chờ trung bình: (20+0+5)/3=8,3ms
Các bạn bổ sung thêm nha
ví dụ lúc này tại tiến trình P2 thời điểm đến (ms) vẫn là 10 nhưng CPU-Burst (ms) là 20 thì sơ đồ Gantt vẽ thế nào đây bạn?

Theo ý của bạn sơ đồ Gantt có thể vẽ như thế này

Thảo luận Bài 6 - Page 6 Db2e40d21f04c8258319e74e49ef4cf6_43009389.sjsf
Bạn vẽ sơ đồ này không đúng lắm thì phải, theo mình nghĩ là như sau:
Thảo luận Bài 6 - Page 6 Db2e40d21f04c8258319e74e49ef4cf6_43009389.sjsf

nguyenthingocmai_I12A

Tổng số bài gửi : 26
Join date : 17/02/2012

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Re: Thảo luận Bài 6

Bài gửi  tranvanthien27(I12C) 5/4/2012, 14:36

nguyenthingocmai_I12A đã viết:
tranvanthien27(I12C) đã viết:
nguyenthingocmai_I12A đã viết:
LeThiMaiPhuongI12A đã viết:
Tiến trình Thời điểm đến(ms) CPU-Burst
P15 22
P2 10 15
P3 20 5
Dùng thuật giải Preemptive SJFS để điều phối CPU
a.Thể hiện bằng biểu đồ Gantt
b.Tính thời điểm chờ trung bình của các tiến trình

a.Biểu đồ Gantt.
Thảo luận Bài 6 - Page 6 Sjfs
Tại thời điểm 5ms P1 sẽ được cấp CPU đầu tiên
Tại thời điểm 10ms,P2 đến, do khoảng CPU của P2 nhỏ hơn P1 nên P2 tiếm quyền P1, lúc này CPU được cấp cho P2, và P2 sẽ chạy hết khoảng CPU của nó
Tại thời điểm 25ms, P3 sẽ được cấp CPU vì P3 có khoảng CPU nhỏ hơn P1
Tại thời điểm 30ms P1 sẽ thực hiện tiếp khoảng CPU còn lại của nó
b.Tính thời điểm chờ trung bình của các tiến trình
P1=(47-5)-22=42-22=20ms
P2=(25-10)-15=15-15=0ms
P3=(30-20)-5=10-5=5ms
Thời gian chờ trung bình: (20+0+5)/3=8,3ms
Các bạn bổ sung thêm nha
ví dụ lúc này tại tiến trình P2 thời điểm đến (ms) vẫn là 10 nhưng CPU-Burst (ms) là 20 thì sơ đồ Gantt vẽ thế nào đây bạn?

Theo ý của bạn sơ đồ Gantt có thể vẽ như thế này

Thảo luận Bài 6 - Page 6 Db2e40d21f04c8258319e74e49ef4cf6_43009389.sjsf
Bạn vẽ sơ đồ này không đúng lắm thì phải, theo mình nghĩ là như sau:
Thảo luận Bài 6 - Page 6 Db2e40d21f04c8258319e74e49ef4cf6_43009389.sjsf

Thấy sơ đồ của bạn cũng giống sơ đồ của mình mà

tranvanthien27(I12C)

Tổng số bài gửi : 62
Join date : 15/02/2012
Age : 34
Đến từ : Tuy Hòa - Phú Yên

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Re: Thảo luận Bài 6

Bài gửi  nguyenthingocmai_I12A 5/4/2012, 14:40

phamduyI12A đã viết:
nguyenthingocmai_I12A đã viết:
LeThiMaiPhuongI12A đã viết:
Tiến trình Thời điểm đến(ms) CPU-Burst
P15 22
P2 10 15
P3 20 5
Dùng thuật giải Preemptive SJFS để điều phối CPU
a.Thể hiện bằng biểu đồ Gantt
b.Tính thời điểm chờ trung bình của các tiến trình

a.Biểu đồ Gantt.
Thảo luận Bài 6 - Page 6 Sjfs
Tại thời điểm 5ms P1 sẽ được cấp CPU đầu tiên
Tại thời điểm 10ms,P2 đến, do khoảng CPU của P2 nhỏ hơn P1 nên P2 tiếm quyền P1, lúc này CPU được cấp cho P2, và P2 sẽ chạy hết khoảng CPU của nó
Tại thời điểm 25ms, P3 sẽ được cấp CPU vì P3 có khoảng CPU nhỏ hơn P1
Tại thời điểm 30ms P1 sẽ thực hiện tiếp khoảng CPU còn lại của nó
b.Tính thời điểm chờ trung bình của các tiến trình
P1=(47-5)-22=42-22=20ms
P2=(25-10)-15=15-15=0ms
P3=(30-20)-5=10-5=5ms
Thời gian chờ trung bình: (20+0+5)/3=8,3ms
Các bạn bổ sung thêm nha
ví dụ lúc này tại tiến trình P2 thời điểm đến (ms) vẫn là 10 nhưng CPU-Burst (ms) là 20 thì sơ đồ Gantt vẽ thế nào đây bạn?
mình vận chưa hiểu lắm, thời điểm đếm của p3 là 20 nhưng tại sao nó lại nằm ở 25ms??? bạn giải thích dùm mình nhé,cảm ơn nhìu!!!
Thời điểm đến của P2 là 10, của P3 là 20 và tại thời điểm 20 thì lúc này P2 đã chạy được 10ms còn 5ms nữa là xong. Trong khi đó tại thời điểm đến của P3 là 20 cũng có 5ms đáng ra thì P3 sẽ tiếm quyền của P2 nhưng bạn chú ý tới phần lưu ý của thấy: "Trường hợp bằng nhau thì sẽ dùng thuật toán đến trước - phục vụ trước (FCFS)". chính vì vậy mà P2 sẽ được chạy luôn tới hết rồi P3 mới được chạy.

nguyenthingocmai_I12A

Tổng số bài gửi : 26
Join date : 17/02/2012

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Re: Thảo luận Bài 6

Bài gửi  nguyenthingocmai_I12A 5/4/2012, 14:49

NguyenDucMy78(I12C) đã viết:
tranvanthien27(I12C) đã viết:
nguyenthingocmai_I12A đã viết:
LeThiMaiPhuongI12A đã viết:
Tiến trình Thời điểm đến(ms) CPU-Burst
P15 22
P2 10 15
P3 20 5
Dùng thuật giải Preemptive SJFS để điều phối CPU
a.Thể hiện bằng biểu đồ Gantt
b.Tính thời điểm chờ trung bình của các tiến trình

a.Biểu đồ Gantt.
Thảo luận Bài 6 - Page 6 Sjfs
Tại thời điểm 5ms P1 sẽ được cấp CPU đầu tiên
Tại thời điểm 10ms,P2 đến, do khoảng CPU của P2 nhỏ hơn P1 nên P2 tiếm quyền P1, lúc này CPU được cấp cho P2, và P2 sẽ chạy hết khoảng CPU của nó
Tại thời điểm 25ms, P3 sẽ được cấp CPU vì P3 có khoảng CPU nhỏ hơn P1
Tại thời điểm 30ms P1 sẽ thực hiện tiếp khoảng CPU còn lại của nó
b.Tính thời điểm chờ trung bình của các tiến trình
P1=(47-5)-22=42-22=20ms
P2=(25-10)-15=15-15=0ms
P3=(30-20)-5=10-5=5ms
Thời gian chờ trung bình: (20+0+5)/3=8,3ms
Các bạn bổ sung thêm nha
ví dụ lúc này tại tiến trình P2 thời điểm đến (ms) vẫn là 10 nhưng CPU-Burst (ms) là 20 thì sơ đồ Gantt vẽ thế nào đây bạn?

Theo ý của bạn sơ đồ Gantt có thể vẽ như thế này

Thảo luận Bài 6 - Page 6 Db2e40d21f04c8258319e74e49ef4cf6_43009389.sjsf
Cho mình hỏi sao lại vẽ P2 trước P1.Nếu mình vẽ P1 trước thì đúng or sai.
Nếu bạn vẽ P1 trước P2 thì sẽ sai. P2 vẽ trước P1 vì khoảng CPU kế tiếp của P2 nhỏ hơn P1, mà theo thuật toán SJFS có tiếm quyền thì khoảng CPU kế tiếp nào nhỏ thì được cấp CPU trước.

nguyenthingocmai_I12A

Tổng số bài gửi : 26
Join date : 17/02/2012

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Re: Thảo luận Bài 6

Bài gửi  HoNgocTuan142(I12A) 5/4/2012, 18:59

sau một hồi tìm hiểu thì mới hiểu vòng Robin, vì đây là một phần rất quan trọng trong nội dung môn học và nhất là chiếm 2 điểm trong bài thi. afro
trong bài trước mình làm sai vòng Robin nên bị ae ném đá giữ quá Razz Razz Razz Razz vì vậy xin phép Edit lại bài trước
vì hơi lười nên mình soạn trong Word rồi chụp hình nên các bạn thông cảm Razz

1. Thuật giải đến trước – phục vụ trước FCFS (First come – First Served Scheduling):
Thảo luận Bài 6 - Page 6 3ebe6de3fc62b95f5ab19bd220e51eb7_43000575.1
- Thời gian chờ:
Thời gian chờ của mỗi tiến trình:
P1=0
P2=(24-1)=23
P3=(27-2)=25
Thời gian chờ trung bình: (0+23+25)/3=16 ms
2. Giải thuật ngắn hơn chạy trước SJFS (Shortest Job First Scheduling) không tiếm quyền (Non-Preemptive):
Thảo luận Bài 6 - Page 6 1f6dba0c9a80a55c771f157dd83509c8_43000577.2
- Thời gian chờ:
Thời gian chờ của mỗi tiến trình:
P1=0
P2=(8-2)=6
P3=(7-4)=3
P4=(12-6)=6
Thời gian chờ trung bình: (0+6+3+6)/4=3.75 ms
CHÚ Ý PHẦN QUAN TRỌNG (100% RA THI) lol! lol! lol! lol!

3. Giải thuật ngắn hơn chạy trước SJFS (Shortest Job First Scheduling) có tiếm quyền (Preemptive):
Thảo luận Bài 6 - Page 6 742dfaeb1a70e519d5cbe69448c72c94_43000581.3
Giải thích:
1) Tại thời điểm 5ms tiến trình P1 (CPU-Burst=22ms) xuất hiện, tiến trình P1 thực thi được khoảng 5ms thì tiến trình P2 (CPU-Burst=15ms) đến.
2) Tiến trình P1 phải nhường CPU lại cho tiến trình P2 (nghĩa là tiến trình P1 còn lại 17ms chưa được thực thi), tiến trình P2 thực thi được 15ms thì tiến trình P3 (CPU-Burst=5ms) đến (nghĩa là P2 còn 5ms chưa được thực thi) lúc này CPU-Burst của P2 còn lại và CPU-Burst của P3 bằng nhau và bé hơn CPU-Burst của P1, nên tiến trình nào nhỏ hơn và đến trước thì làm trước.
3) Tiến trình P2 làm tiếp 5ms còn lại.
4) CPU được nhường cho tiến trình P3 (CPU-Burst=5ms). Sau khi tiến trình P3 thực thi xong thì không có tiến trình nào tới nữa. quay lại thực hiện tiếp tiến trình P1 (còn 17ms).
5) Sơ đồ Gantt hoàng chỉnh cho bài toán trên.
- Thời gian chờ:
Thời gian chờ của mỗi tiến trình:
P1=(17-5)-22=20
P2=(25-10)-15=0ms
P3=(30-20)-5=5ms
Thời gian chờ trung bình: (20+0+5)/3=8.33ms

4. Giải thuật điều phối theo vòng Robin RRS (Round Robin Scheduling):

Thảo luận Bài 6 - Page 6 1fc51efd030a4e7e5e77ab6a9a5ab159_43030457.1
Thảo luận Bài 6 - Page 6 13aabd71b25e8c4206cb9292c56aca11_43030459.2
Thảo luận Bài 6 - Page 6 40ab4b202ec36e73cdad65c0effb06db_43030460.3
Thời gian chờ của mỗi tiến trình:
P1=(55-5)-25=25
P2=(50-10)-15=25ms
P3=(45-20)-10=15ms
Thời gian chờ trung bình: (25+25+15)/3= 21.6 ms
thầy đúng Razz Razz Razz Razz Razz
HoNgocTuan142(I12A)
HoNgocTuan142(I12A)

Tổng số bài gửi : 33
Join date : 22/02/2012
Age : 34
Đến từ : Quãng Ngãi

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Các thuật giải điều phối

Bài gửi  TRANTHINHPHAT (I11C) 5/4/2012, 21:27



1/ Thuật giải điều phối FCFS:

Đến trước – Phục vụ trước (First-Come, first-Served Scheduling - FCFS)
- Đơn giản, dễ thực hiện
- Các tiến trình trong Ready Queue được cấp CPU từ đầu dãy đến cuối dãy theo quy tắc FIFO (First-In, First-Out)
- Thời gian chờ trung bình khá lớn.

2/ Thuật giải điều phối PS:
- Mỗi tiến trình được cấp một số nguyên (Priority Number) dùng để ấn định Độ ưu tiên.
- CPU luôn dành cho tiến trình với độ ưu tiên cao hơn với 2 phương án:
o Có tiếm quyền (Preemptive)
o Không tiếm quyền (Non-Preemptive)
- SJFS là trường hợp đặc biệt của PS với độ ưu tiên: P = (Khoảng CPU kế tiếp).

3/ Thuật giải điều phối SJFS:
Ngắn hơn – chạy trước (Shortest-Job-First Scheduling - SJFS)
-
Đúng hơn phải gọi là Shortest-Next-CPU-Burst, nghĩa là tiến trình có
Khoảng CPU kế tiếp nhỏ hơn thì được chạy trước. Trong trường hợp bằng
nhau, dùng thuật giải FCFS.
- Là giải thuật khá tối ưu, nhưng phải biết cách ước đoán khoảng CPU kế tiếp.
- SJFS không tiếm quyền (Non-Preemptive SJFS): Tiến trình hiện thời được thực hiện đến hết khoảng CPU của nó.
-
SJFS có tiếm quyền (Preemptive SJFS): Tiến trình mới có Next CPU Burst
nhỏ hơn khoảng thời gian CPU còn lại của tiến trình đang vận hành sẽ
được chọn thay thế (Shortest Remaining First).

4/ Thuật giải điều phối RRS:
- Như điều phối FCFS nhưng cho phép tiếm quyền khi tiến trình đang chạy bị hết thời lượng.
-
Mỗi tiến trình được cấp 1 thời lượng CPU (Time Quantum), thường từ 10 –
100 ms (mili giây). Sau khoảng thời gian này, nó bị tiếm quyền và được
đưa vào cuối hàng chờ Ready. Tiến trình đầu tiên trong hàng chờ Ready
được chọn kế tiếp.
- Nếu có n tiến trình và thời lượng là q, mỗi tiến trình nhận 1/n thời gian CPU bao gồm các đoạn không quá q đơn vị thời gian.

5/ Thuật giải điều phối MQS:
- Hàng chờ Ready được phân cấp thành nhiều mức độ ưu tiên khác nhau.
o
Ví dụ: Mức các tiến trình tương tác (Interactive) chạy ở mặt trước
(Foreground) có độ ưu tiên cao nhất và Mức các tiến trình lô (Batch) vận
hành trong hậu trường (Background).
- Mỗi hàng chờ có thuật giải điều phối riêng.
o Ví dụ: Foreground dùng RRS, Background dùng FCFS.
- Quan hệ giữa các mức:
o
Ưu tiên cố định: Xong hết các tiến trình trên rồi mới chuyễn xuống mức
dưới. Đang chạy tiến trình mức dưới mà sản xuất hiện tiến trình mới mức
cao hơn, tiến trình mức dưới sẽ bị tiếm quyền cho tiến trình mới có độ
ưu tiên cao hơn (Hệ Solaris 2 dùng cách này).
o Phân bổ theo tỷ lệ thời lượng: ví dụ: 80% thời lượng CPU dành cho Foregroupnd, 20% cho Background.

6/ Thuật giải điều phối MFQS:
-
MQS nhưng cho phép điều tiết tiến trình sang mức khác, ví dụ: những
tiến trình hướng CPU được đưa xuống mức dưới, trong khi tiến trình hướng
I/O hoặc chờ lâu được chuyển lên trên.
- MFQS đặc trưng bởi các thông số:
o Số mức (Số hàng chờ)
o Thuật giải điều phối cho mỗi mức
o Phương thức nâng cấp tiến trình
o Phương thức hạ cấp tiến trình
o Phương thức chọn hàng chờ (chọn mức) cho tiến trình mới.

TRANTHINHPHAT (I11C)

Tổng số bài gửi : 52
Join date : 29/08/2011
Age : 35
Đến từ : THU DAU MOT, BINH DUONG

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty 4 tình huống ra quyết định của trình điều phối. Phân biệt điều phối có Tiếm quyền với điều phối không tiếm quyền

Bài gửi  hoanggiangI12C 5/4/2012, 21:30

1. Khi tiến trình chuyển từ Running sang Waiting(chờ I/O, chờ tiến trình con)
2. Khi tiến trình chuyển từ Running sang Ready ( do ngắt xảy ra)
3. khi tiến trình chuyển từ Waiting sang Ready( khi kết thúc I/O)
4. Khi tiến trình kết thúc công việc
* phân biệt điều phối có tiếm quyền với điều phối không tiếm quyền
Sơ đồ điều phối chỉ tiến hành trong tình huống khi tiến trình chuyển từ Running sang Waiting(chờ I/O, chờ tiến trình con) và khi tiến trình chuyển từ Running sang Ready(do ngắt xảy ra) được gọi là điều phối không tiếm quyền(Non-Preemptive): Tiến trình giữ CPU cho đến khi kết thúc bình thường hoặc chuyển sang trạng thái Waiting. Dùng khi máy không có Timer.
Sơ đồ điều phối tiến hành trong cả 4 tình huống được gọi là điều phối có tiếm quyền(Preemptive)

hoanggiangI12C

Tổng số bài gửi : 24
Join date : 15/02/2012

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty 4 tình huống ra quyết định của trình điều phối, phân biệt điều phối không tiếm quyền và có tiếm quyền.

Bài gửi  BuiDaiNghia-102C 5/4/2012, 21:52

a) Bốn tình huống ra quyết định của trình điều phối:
Trình điều phối tiến trình có nhiệm vụ xem xét và quyết định khi nào thì dừng tiến trình hiện tại để thu hồi CPU và chuyển CPU cho tiến trình khác, và khi trình điều phối có CPU nó sẽ chọn ra tiến trình nào trong số các tiến trình ở trạng thái ready để cấp CPU cho nó.Mục đích nhằm tận dụng tối đa công suất của CPU. Các tình huống ra quyết định của CPU:
o Khi tiến trình chuyển từ Running sang Waiting ( I/O or event wait ).
o Khi tiến trình chuyển từ Running sang Ready ( do xảy ra ngắt – Interrupt ).
o Khi tiến trình chuyển từ Waiting sang Ready ( I/O or event completion ).
o Khi tiến trình kết thúc công việc.
b) Phân biệt điều phối có tiếm quyền và điều phối không có tiếm quyền.
- Điều phối có tiếm quyền: cho phép 1 tiến trình khi nhận được CPU sẽ có quyền độc chiếm đến khi hoàn tất xử lý hoặc tự nguyện giải phóng CPU.
Vd: quyết định điều phối CPU sẽ xảy ra trong các trường hợp sau:
+ Khi tiến trình chuyển từ trạng thái đang xử lý ( running ) sang trạng thái waiting do phải chờ một thao tác nhập xuất hay chờ một tiến trình con kết thúc,….
+ Khi tiến trình kết thúc.
……..
- Điều phối không tiếm quyền: ngược lại so với điều phối tiếm quyền. Điều phối tiếm quyền cho phép tạm dừng hoạt động của một tiến trình đang sẵn sàng xử lý. Khi một tiến trình nhận được CPU, nó vẫn được sử dụng CPU đến khi hoàn tất hoặc tự nguyện giải phóng CPU, nhưng 1 tiến trình khác có độ ưu tiên có thể dành quyền sử dụng CPU của tiến trình ban đầu. Như vậy tiến trình có thể tạm dừng bất cứ lúc nào mà không được báo trước, để tiến trình khác xử lý.
Vd: Các quyết định điều phối xảy ra khi:
+ Chờ một thao tác nhập xuất hay một tiến trình con kết thúc
+ Xảy ra ngắt.
+ Thao tác nhập xuất hoàn tất.
+ Khi tiến trình kết thúc.

BuiDaiNghia-102C

Tổng số bài gửi : 5
Join date : 21/02/2012

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Tiểu sử về Henry Laurence Grantt

Bài gửi  vothingocthuy87(I11C) 5/4/2012, 22:03

Tiểu sử
Henry Laurence Gantt (sinh 1861 - mất 23 tháng 11 năm 1919) là một kĩ sư cơ khí và cố vấn dự án người Mỹ, nổi tiếng với việc phát triển sơ đồ Gantt năm 1910. Sơ đồ Gantt được sử dụng rộng rãi trong những công trình lớn như đập Hoover hay hệ thống đường quốc lộ liên bang Mỹ và ngày nay vẫn là một công cụ quan trọng trong quản lý dự án.
Henry Gantt sinh tại quận Calvert, Maryland, Hoa Kỳ. Ông tốt nghiệp trường McDonogh năm 1878 và trường cao đẳng Johns Hopkins rồi làm thầy giáo và người vẽ đồ án trước khi trở thành kĩ sư cơ khí. Năm 1887 ông cùng Frederick W. Taylor quản lý công ty thép Midvale và công ty thép Bethlehem cho đến năm 1893. Sau này, khi làm cố vấn dự án, ngoài sơ đồ Gantt, ông còn thiết kế hệ thống thưởng năng suất - trong đó nhân viên có năng suất vượt định mức sẽ được thưởng phần trăm. Ngoài ra, ông còn phát triển một số phương pháp đo đạc hiệu suất và năng suất nhân viên.
Đóng góp
Henry Gantt đã có nhiều đóng góp cho môn khoa học quản lý, đáng nói nhất bao gồm:
- Sơ đồ Gantt: Đến ngày nay, sơ đồ Gantt vẫn được coi là một công cụ quản lý quan trọng. Sơ đồ Gantt biểu thị thời gian biểu của dự án dùng để quản lý, lên kế hoạch và kiểm soát tiến độ công việc trong dự án. PERT (Program Evaluation and Review Technique - Phương pháp ước lượng và xem xét chương trình) là một biến thể của sơ đồ Gantt.
- Hiệu suất công nghiệp: Hiệu suất công nghiệp có thể được nâng cao bằng cách phân tích một cách khoa học mọi khía cạnh của công việc. Công tác quản lý công nghiệp là cải tiến hiệu suất bằng cách hạn chế tối đa rủi ro.
- Hệ thống thưởng năng suất: Henry Gantt thưởng phần trăm quản lý viên tương ứng với năng suất vượt định mức nhân viên dưới quyền họ đạt được.
- Trách nhiệm xã hội của doanh nghiệp: Henry Gantt tin rằng doanh nghiệp phải có trách nhiệm với xã hội.

vothingocthuy87(I11C)

Tổng số bài gửi : 14
Join date : 01/09/2011

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Re: Thảo luận Bài 6

Bài gửi  TranBinhCongLuanI12A 5/4/2012, 22:39

Thảo luận Bài 6 - Page 6 Fcfs_muabankinhdoanh_net

hoanghaiyen đã viết:Chào bạn LePhucHiep(102C) bạn ví dụ bài tập và bài giải khá công phu nhưng bạn có thể giải thích rõ hơn được không ,bài giải chưa cụ thể lắm, cám ơn
Chúc bạn học tốt môn hệ điều hành của thầy
Giải thích:
Thuật toán này là tiến trình nào vào trước thì xử lý cho đến hết rồi mới xử lý tiến trình tiếp theo.
Bạn để ý thời điểm vào của tiến trình và thời gian xử lý của CPU.
- Tại thời điểm 0: tiến trình P1 vào và CPU xử lý đến khi nào hết tiến trình P1 thì mới xử lý tiến trình tiếp theo, trong trường hợp này là 5ms. Tiến trình P1 vừa vào đã được xử lý nên thời gian chờ = 0ms
- Sau khi xử lý xong P1, CPU xử lý tiếp tiến trình P2. Tiến trình P2 vào ở thời điểm thứ 1 nhưng đợi tới giây thứ 5 mới được xử lý => Thời gian chờ của P2 = 5 - 1 = 4ms
- Sau khi xong P2 được xử lý hết, tiến trình P3 được đưa vào xử lý. Tiến trình P3 vào ở thời điểm thứ 2 nhưng đợi tới giây thứ 7 mới được xử lý => thời gian chờ của P3 = 7-2 = 5
Thời gian chờ trung bình = (0 + 4 + 5)/3 = 3ms

TranBinhCongLuanI12A

Tổng số bài gửi : 51
Join date : 20/02/2012
Age : 36

http://www.2dollarmayman.com

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Re: Thảo luận Bài 6

Bài gửi  TranBinhCongLuanI12A 5/4/2012, 22:55

LeThiMaiPhuongI12A đã viết:
Tiến trình Thời điểm đến(ms) CPU-Burst
P15 22
P2 10 15
P3 20 5
Dùng thuật giải Preemptive SJFS để điều phối CPU
a.Thể hiện bằng biểu đồ Gantt
b.Tính thời điểm chờ trung bình của các tiến trình

a.Biểu đồ Gantt.
Thảo luận Bài 6 - Page 6 Sjfs
Tại thời điểm 5ms P1 sẽ được cấp CPU đầu tiên
Tại thời điểm 10ms,P2 đến, do khoảng CPU của P2 nhỏ hơn P1 nên P2 tiếm quyền P1, lúc này CPU được cấp cho P2, và P2 sẽ chạy hết khoảng CPU của nó
Tại thời điểm 25ms, P3 sẽ được cấp CPU vì P3 có khoảng CPU nhỏ hơn P1
Tại thời điểm 30ms P1 sẽ thực hiện tiếp khoảng CPU còn lại của nó
b.Tính thời điểm chờ trung bình của các tiến trình
P1=(47-5)-22=42-22=20ms
P2=(25-10)-15=15-15=0ms
P3=(30-20)-5=10-5=5ms
Thời gian chờ trung bình: (20+0+5)/3=8,3ms
Các bạn bổ sung thêm nha

Khi làm bài này thì gặp trường hợp ở giây thứ 20, lúc này tiến trình P3 vào đồng thời thời lượng CPU-Burst của P2 = P3 = 5ms. Như vậy P2 phải ngưng xử lý để nhường CPU cho P3 rồi mới tiếp tục tới P2, P1 chứ?
Theo cách mình hiểu như vậy đúng hay sai? mọi người góp ý giúp!

TranBinhCongLuanI12A

Tổng số bài gửi : 51
Join date : 20/02/2012
Age : 36

http://www.2dollarmayman.com

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Bài tập thêm

Bài gửi  lethanhsang_I12A 5/4/2012, 22:58

Ti?n Trình Th?i Ði?m Ð?n Kho?ng CPU (ms)
P1 3 37
P2 10 20
P3 24 14
Dùng thuật toán RRS với thời lượng 10ms dùng CPU
a) Vẽ biểu đồ Gantt
b) Tính thời gian trung bình

Giải:

a. Thể hiện bằng biểu đồ Gantt
Thảo luận Bài 6 - Page 6 Gantt
b. Tính thời gian chờ trung bình của các tiến trình
- Thời gian chờ của các tiến trình:
P1 = (74 – 3 – 37) = 34 ms
P2 = (43 – 10 – 20) = 13 ms
P3 = (67 – 24 – 14) = 29 ms
- Thời gian chờ trung bình = (34+13+29) / 3= 25,3 ms
lethanhsang_I12A
lethanhsang_I12A

Tổng số bài gửi : 22
Join date : 15/02/2012
Age : 34
Đến từ : Đồng Nai

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Re: Thảo luận Bài 6

Bài gửi  PhamQuangHien_I12A 6/4/2012, 01:32

nguyenthingocmai_I12A đã viết:
phamduyI12A đã viết:
nguyenthingocmai_I12A đã viết:
LeThiMaiPhuongI12A đã viết:
Tiến trình Thời điểm đến(ms) CPU-Burst
P15 22
P2 10 15
P3 20 5
Dùng thuật giải Preemptive SJFS để điều phối CPU
a.Thể hiện bằng biểu đồ Gantt
b.Tính thời điểm chờ trung bình của các tiến trình

a.Biểu đồ Gantt.
Thảo luận Bài 6 - Page 6 Sjfs
Tại thời điểm 5ms P1 sẽ được cấp CPU đầu tiên
Tại thời điểm 10ms,P2 đến, do khoảng CPU của P2 nhỏ hơn P1 nên P2 tiếm quyền P1, lúc này CPU được cấp cho P2, và P2 sẽ chạy hết khoảng CPU của nó
Tại thời điểm 25ms, P3 sẽ được cấp CPU vì P3 có khoảng CPU nhỏ hơn P1
Tại thời điểm 30ms P1 sẽ thực hiện tiếp khoảng CPU còn lại của nó
b.Tính thời điểm chờ trung bình của các tiến trình
P1=(47-5)-22=42-22=20ms
P2=(25-10)-15=15-15=0ms
P3=(30-20)-5=10-5=5ms
Thời gian chờ trung bình: (20+0+5)/3=8,3ms
Các bạn bổ sung thêm nha
ví dụ lúc này tại tiến trình P2 thời điểm đến (ms) vẫn là 10 nhưng CPU-Burst (ms) là 20 thì sơ đồ Gantt vẽ thế nào đây bạn?
mình vận chưa hiểu lắm, thời điểm đếm của p3 là 20 nhưng tại sao nó lại nằm ở 25ms??? bạn giải thích dùm mình nhé,cảm ơn nhìu!!!
Thời điểm đến của P2 là 10, của P3 là 20 và tại thời điểm 20 thì lúc này P2 đã chạy được 10ms còn 5ms nữa là xong. Trong khi đó tại thời điểm đến của P3 là 20 cũng có 5ms đáng ra thì P3 sẽ tiếm quyền của P2 nhưng bạn chú ý tới phần lưu ý của thấy: "Trường hợp bằng nhau thì sẽ dùng thuật toán đến trước - phục vụ trước (FCFS)". chính vì vậy mà P2 sẽ được chạy luôn tới hết rồi P3 mới được chạy.
cho mình hỏi tại thời điểm 20ms của Tiến trình P3 sao không vẽ vào biểu đồ gantt-->số 25 trên biểu đồ là tổng của (20+5) hay la (15+10) vậy mình thắc mắc ko hiểu chỗ này cho lắm mong các bạn giải đáp dùm

PhamQuangHien_I12A

Tổng số bài gửi : 62
Join date : 22/02/2012
Age : 35
Đến từ : Quãng Ngãi

Về Đầu Trang Go down

Thảo luận Bài 6 - Page 6 Empty Re: Thảo luận Bài 6

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Trang 6 trong tổng số 10 trang Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết