Thảo luận Bài 6

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

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

localhost là gì

Bài gửi  HoHaiTheI12A on 28/3/2013, 22:57

TruongNhuNgoc (I22A) đã viết:Có phải Localhost là:
Địa chỉ của một máy chủ (Server) cho phép các máy trong mạng LAN có thể truy xuất thông tin theo một phương thức nào đó.
Thông thường localhost hiểu là một Server trên máy của mình dùng vào một số mục đích nhất định nào đó.
Theo mình localhost là :
host nghĩa là chủ, Local là tại địa một địa điểm hay chính là máy tính của mình. => Localhost nghĩa là một dạng thức dùng để lưu trữ dữ liệu và tương tác giữa Server - Client tại chính máy tính của bạn. Nó được dùng trong việc phát triển Website được sử dụng bởi một số ngôn ngữ. Asp, asp.net,..

HoHaiTheI12A

Tổng số bài gửi : 2
Join date : 14/03/2013
Age : 28
Đến từ : HCM

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Đề thi mẫu

Bài gửi  NguyenThiBichTram (I22A) on 28/3/2013, 23:05

Câu 1: Trình bài mô hình chuyển trạng thái của tiến trình.
Mô hình chuyển trạng thái của tiến trình:
Tiến trình P1: vào hàng đợi Job-Queue ở trạng thái New, sẽ đợi 1 khoảng thời gian của quá trình điều phối chậm (Scheduler Long Term) của hệ điều hành(HĐH) để chọn tiến trình, sau khi được O.S chọn, P1 chuyển sang hàng đợi reday quueue và ở trạng thái Ready. Lúc này P1 chỉ đợi cấp CPU và running.
Sau một khỏang thời gian running, tiến trình P2 xuất hiện. Lúc này, hệ điều hành sẽ ghi lại thông tin của P1 vào thanh PCB1 bao gồm những thông tin: con trỏ, trạng thái của P1, số hiệu của tiến trình P1, Bộ đếm P1, nội dung của P1…Và chuyển P1 sang hàng đợi Waiting và chuyển trạng thái Ready. Lúc này, P2 sẽ được cấp CPU và running. Và sau một khỏang thời gian running, P2 cũng sẽ chuyển sang hàng đợi waiting và chuyển trạng thái ready, lúc này HĐH cũng ghi lại thông tin vào thanh ghi PCB2 như đã làm ở P1. Sau đó, HĐH sẽ load lại thông tin của PCB1 và P1 sẽ tiếp tục running. Quá trình này cũng sẽ lập lại cho P2. Đển khi P1 và P2 kết thúc.

Tại một thời điểm, chỉ có một tiến trình có thể nhận trạng thái running trên một bộ xử lý
bất kỳ. Trong khi đó, nhiều tiến trình có thể ở trạng thái blocked hay ready.
Các cung chuyển tiếp trong sơ đồ trạng thái biễu diễn sáu sự chuyển trạng thái có thể xảy
ra trong các điều kiện sau :
• Tiến trình mới tạo được đưa vào hệ thống
• Bộ điều phối cấp phát cho tiến trình một khoảng thời gian sử dụng CPU
• Tiến trình kết thúc
• Tiến trình yêu cầu một tài nguyên nhưng chưa được đáp ứng vì tài nguyên chưa sẵn sàng để cấp phát tại thời điểm đó ; hoặc tiến trình phải chờ một sự kiện hay thao tácnhập/xuất.
• Bộ điều phối chọn một tiến trình khác để cho xử lý .
• Tài nguyên mà tiến trình yêu cầu trở nên sẵn sàng để cấp phát ; hay sự kiện hoặc thao tác nhập/xuất tiến trình đang đợi hoàn tất

NguyenThiBichTram (I22A)

Tổng số bài gửi : 7
Join date : 09/03/2013
Age : 26

Xem lý lịch thành viên

Về Đầu Trang Go down

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

Bài gửi  NguyenThiThom(I22A) on 28/3/2013, 23:55

TruongMinhTriet(I22B) đã viết:
NguyenHoangKimVu (I11C) đã viết:
TruongMinhTriet(I22B) đã viết:Cách 1: Dùng giải thuật RRS


Thời gian trung bình: ((0+35)+(10+25)+25)/4 = 23,75 (ms)

Cách này do e tự nghỉ ra không bít có đúng hay không nữa: e kết hợp giữa SJFS có tiến quyền với RRS.


Thời gian trung bình: (0 + 20 + 10 + 25 + 0)/4 = 13,75 (ms)

Không bít cách e hiểu và làm có đúng hay không mong thầy có e ý kiến để sửa sai, e xin cảm ơn.

Thời gian trung bình: ((0+35)+(10+25)+25)/3 = 31,67 (ms) (Chỉ có 3 tiến trình P1,P2,P3 nên chia cho 3)
Theo mình thì không thể kết hợp được SJFS và RRS, mỗi thuật giải có phương pháp khác nhau.

Làm ẩu quá đúng là chỉ có 3 tiến trình nên chia cho 3, mình nhận sai về cái này. Tuy là mỗi giải thuật có phương pháp khác nhau nhưng ở đây mình chỉ mượn ý tưởng của từng giải thuật để làm ra 1 cái giải thuật mới làm cho kết quả tốt hơn thôi. Theo mình thỉ không có giải thuật nào mà không thể kết hợp được chỉ là ta không biết cách kết chúng lại với nhau mà thôi
p/s: đây là ý kiến riêng của mình có zỳ sai thì chúng ta có thể bàn luận thêm. thank đã góp ý Very Happy
Theo mình thì 2 SJFS và RRS không thể kết hợp được, 2 thuật giải này không liên quan gì nhau.
RRS: Cho phép tiếm quyền khi tiến trình hết thời lượng cho trước.
SJFC có tiếm quyền: tiếm quyền khi tiến trình mới đến có khoảng CPU kế tiếp nhỏ hơn thời gian còn lại của tiến trình đang vận hành Very Happy

NguyenThiThom(I22A)

Tổng số bài gửi : 28
Join date : 11/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

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

Bài gửi  NguyenThiThom(I22A) on 29/3/2013, 00:13

TruongTranThanhTu(I22B) đã viết:
HuynhDucQuang(I22B) đã viết:Hình hơi to, các bạn có thể open image in new tab.


mình vẫn chưa hiểu lắm về thời gian chờ trung bình của thuật giải này, các bạn có thể nói rõ hơn chút về thời gian chờ trung bình. cám ơn các bạn
Thời gian chờ : P1 = (0+(11-2)); P2 = (5-4); P3 = (4-4); P4 = (7-5)
Thời gian chờ trung bình :(P1 + P2 + P3 + P4)/4 = (9 + 1 + 0 + 2)/4 = 3ms. Very Happy

NguyenThiThom(I22A)

Tổng số bài gửi : 28
Join date : 11/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

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

Bài gửi  NguyenThiThom(I22A) on 29/3/2013, 00:20

AnhDao(I22B) đã viết:
TruongTranThanhTu(I22B) đã viết:
HuynhDucQuang(I22B) đã viết:Hình hơi to, các bạn có thể open image in new tab.


mình vẫn chưa hiểu lắm về thời gian chờ trung bình của thuật giải này, các bạn có thể nói rõ hơn chút về thời gian chờ trung bình. cám ơn các bạn

chào bạn . Theo mình hỉu là thế này, mình ghi cách mình làm lun nhé
+P1 mình lấy mốc đầu của P1 sau, trừ mốc cuối của P1 trước : 11 - 9 = 9
+P2 tương tự : 5 -4 = 1
+P3 : mốc bắt đầu là 4, thời gian chờ 4 ms : 4-4=0
+P4:mốc bắt đầu là 7, thời gian chờ 5 ms : 7-5 = 2
P1 = 11 - 2 = 9. Very Happy

NguyenThiThom(I22A)

Tổng số bài gửi : 28
Join date : 11/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

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

Bài gửi  NguyenThiThom(I22A) on 29/3/2013, 00:26

NguyenThanhTung(I22B) đã viết:ví dụ về MQS
ga tàu có 2 cửa bán vé cửa sô 1 dành cho những người có công như thương bệnh binh, bà mẹ việt nam anh hùng. cửa số 2 dành cho những người bình thường như sinh viên, học sinh. lúc đó có 2 cô bán vé cho hai cửa bán vé này, nhưng một cô có việc phải về. cô còn lại ở lại bán vé nhưng cô này luôn bán vé ưu tiên cho cửa số 1 hơn là cửa số 2, mỗi lần không có khách ở ô cửa số 1 cô ta lại chạy sang cửa số 2 để bán, nhưng khi cửa số 1 có khách thì cô ta ngay lập tức qua ô cửa số 1 để bán vé cho dù ô cửa số 2 khách đang đông và đang chờ.
ví dụ về MFQS
cũng hai ô cửa bán vé trên, nhưng xảy ra trường hợp tại ô cửa số 2 một vị khách có việc gấp cần được mua vé thì vị khách này sẽ được chuyển qua ô cửa số 1 để được mua vé
Ví dụ về MQS, theo mình nghĩ thì đúng ra chỉ có 1 cô bán vé cho hai cửa bán vé này không phải
lúc đó có 2 cô bán vé cho hai cửa bán vé này, nhưng một cô có việc phải về.
Very Happy

NguyenThiThom(I22A)

Tổng số bài gửi : 28
Join date : 11/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

Các thuật giải điều phối CPU

Bài gửi  HongGiaPhu (I22A) on 29/3/2013, 01:06

1/ Thuật giải FCFS - First Come First Served (Đến trước phục vụ trước)
- Đơn giản, dễ thực hiện.
- Các tiến trình được cấp CPU từ đầu dãy tới cuối dãy trong hàng đợi Ready Queue hoạt động theo nguyên tắc FIFO (First In First Out).
- Thời gian chờ trung bình khá lớn.
Ví dụ minh hoạ: Bạn cứ hình dung hàng đợi mua vé xem phim, từng người sẽ xếp hàng chờ mua vé theo nguyên tắc ai đến trước thì được mua trước, ai đến sau thì phải đợi người đến trước mua vé xong mới được mua.

2/ Thuật giải SJFS - Shorted Job First Scheduling (Ngắn hơn chạy trước)
- Trong thuật giải này, nếu như tiến trình nào có khoảng CPU kế tiếp nhỏ hơn thì sẽ ưu tiên chạy trước, nếu như những tiến trình nào có khoảng CPU bằng nhau thì sẽ hoạt động theo nguyên tắc FIFO (First In First Out)
- Giải thuật khá tối ưu do giải thuật biết cách ước đoán khoảng CPU kế tiếp.
- SJSF không tiếm quyền (Non - Preemptive SJSF): tiến trình sẽ chạy hết khoảng CPU của nó mà không bị tiếm quyền giữa chừng.
- SJSF tiếm quyền (Preemptive SJSF): Tiến trình đến sau nếu có khoảng CPU kế tiếp (Next CPU Burst) nhỏ hơn khoảng CPU còn lại của các tiến trình trước nó thì sẽ ưu tiên chạy trước (Shorted Remaining First).
Ví dụ minh hoạ: Trong một nhà ga, có một vị khách A đến trước mua 9 vé (Next CPU Burst) cùng lúc, trong khi người bán vé đang bán cho vị khách A được 2 vé thì có vị khách B đến sau mua 7 vé, do số vé của vị khách B nhỏ hơn vị khách A nên người bán vé chủ động bán vé cho vị khách B, do đó vị khách A sẽ chờ, trong khi bán cho vị khách B được 3 vé, thì lại có vị khách C lại mua số lượng 3 vé, do số vé của vị khách C nhỏ hơn số vé còn lại của vị khách A (còn lại 7 vé) lẫn vị khách B (còn lại 4 vé) nên vị khách B sẽ cùng vị khách A chờ cho người bán vé bán cho vị khách C, tương tự như vậy với các vị khách đến sau. Tuy nhiên nếu như số lượng vé của người đến sau bằng với số lượng vé hoặc bằng số lượng vé của các người đi mua trước thì người bán vé sẽ phục vụ ai đến trước mua trước.

3/ Điều phối theo vòng Robin (RRS - Round Robin Scheduling)
- Đây chính là kĩ thuật chia thời gian , kiểu điều phối tương tự kiểu FCFS, các tiến trình vẫn theo nguyên tắc đến trước thì được phục vụ trước, tuy nhiên mỗi tiến trình chỉ vận hành trong một khoảng thời gian nhất định mà hệ điều hành cấp trong khoảng 10 - 100ms. Do vậy, sau khoảng thời gian này, tiến trình đang vận hành sẽ bị tiếm quyền và đưa vào cuối hàng chờ Ready, tiến trình kế tiếp nó được dịch lên đầu tiên và vận hành.
Ví dụ minh hoạ: Trong một cửa hàng Game có một máy chơi game, các Gamer nếu muốn chơi game sẽ mua các thẻ để chơi game với thời gian chơi khác nhau ví dụ như thẻ game 10 phút thẻ game 30 phút, thẻ game 120 phút. Tuy nhiên chủ hàng (CPU) quy định mỗi người chỉ được ngồi chơi trên máy trong khoảng 20 phút, sau khoảng thời gian này, dù người chơi vẫn còn thời gian chơi trên thẻ thì cũng phải nhường máy cho người kế tiếp chơi và ra cuối hàng đợi, dĩ nhiên nếu có người chơi chơi với thẻ game thời gian 10 phút, thì người đến sau sẽ được chơi sớm hơn 10 phút, tương tự cho các người chơi đang xếp hàng sau.

4/ Điều phối hàng chờ nhiều mức (MQS - Multilevel Queue Scheduling)
- Trong điều phối này thì hàng chờ Ready sẽ được phân cấp thành nhiều mức với các độ ưu tiên khác nhau.
- Độ ưu tiên của các tiến trình: Tiến trình hệ thống > Tiến trình tương tác > Tiến trình tương tác có sửa > Tiến trình lô (Batch) - Tiến trình sinh viên.
. Các hàng chờ sẽ có thuật giản điều phối riêng. Mức tiến trình tương tác (Interactive) chạy ở mặt trước (Foreground) sẽ có độ ưu tiên cao nhật trong khi các mức tiến trình lô (Batch) vận hành trong mặt chìm (Background).
- Quan hệ tương tác giữa các mức:
a/ Ưu tiên cố định: Các tiến trình sẽ luôn chạy với nguyên tắc nếu ưu tiên cao thì được chạy trước, các tiến trình sẽ chạy mức cao rồi xuống mức dưới, tuy nhiện nếu đang chạy mức dước mà nếu như có tiến trình mức cao hơn xuất hiện thì tiến trình mức dưới sẽ bị tiếm quyền cho tiến trình ở mức cao hơn.
Ví dụ minh hoạ: Trong một khu tị nạn phân phát thức ăn cho người nghèo khó, có 5 cửa phân phát thức ăn với 5 độ ưu tiên khác nhau. Cửa 1 với độ ưu tiên cao nhất dành cho họ hàng, thân nhân với người phát thức ăn. Cửa 2 với độ ưu tiên thứ nhì dành cho những người có công với đất nước, những người lính, thương binh. Cửa 3 dành cho những người già. Cửa thứ 4 dành cho phụ nữ. Cửa 5 dành cho thanh niên, nam giới. Với 5 cửa này người phân phát thức ăn sẽ cung cấp thức ăn theo độ ưu tiên, tại một thời điểm chỉ phục vụ 1 cửa, phục vụ cửa độ ưu tiên cao hơn sẽ tới độ thấp hơn, tuy nhiên nếu như người phát thức ăn đang phục vụ cung cấp thức ăn cho thanh niên, trong khi đó cửa 1 có người xuất hiện thì người phát thức ăn sẽ quay lại cửa 1 phục vụ tiếp, cứ như vậy tiếp tục.
b/ Phân bổ theo tỉ lệ thời lượng: CPU sẽ dành một khoảng thời gian đa số cho Foreground ví dụ khoảng 80%, cho Background 20%.

5/ Điều phối hàng chờ nhiều mức có điều tiết
- Hoạt động như MQS tuy nhiên trình điều phối này có thể linh động điều tiết tiến trình sang các mức khác, ví dụ như những tiến trình CPU sẽ đôi lúc hướng mức dưới và những tiến trình hướng I/O đôi lúc lại hướng lên trên.
- Các thông số đặc trưng:
a/ Số mức (số hàng chờ).
b/ Thuật giải điều phối cho mỗi mức.
c/ Phương thức nâng cấp tiến trình.
d/ Phương thức hạ cấp tiến trình.
e/ Phương thức chọn hàng chờ (chọn mức) cho tiến trình mới.
Ví dụ minh hoạ: Cùng với ví dụ phát thức ăn trong khu tị nạn trên, một số thanh niên ở cửa số 5 có thể được ưu tiên chuyển lên cửa 2 do có thể thân nhân có công với đất nước, trong khi có thể một số người già ở cửa 3 nhường cho một số phụ nữ yếu ở cửa 4 đi lên. farao



HongGiaPhu (I22A)

Tổng số bài gửi : 25
Join date : 10/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

Phân biệt thuật giải MQS với thuật giải MFQS

Bài gửi  VanNhatDongGiang(I22A) on 29/3/2013, 01:22

Giống nhau: MQS (Điều phối hàng chờ nhiều mức) và MFQS (Điều phối hàng chờ nhiều mức có điều tiết) cùng sử dụng nhiều mức hàng chờ với độ ưu tiên khác nhau, mỗi hàng chờ có thể sử dụng thuật toán riêng, ví dụ Round-Robin (RRS) hoặc FCFS.

Khác nhau: MFQS cho phép điều chuyển tiến trình từ hàng chờ này sang hàng chờ kia (hạ cấp độ hay nâng cấp độ ưu tiên), nghĩa là linh hoạt hơn MQS.


VanNhatDongGiang(I22A)

Tổng số bài gửi : 6
Join date : 12/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

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

Bài gửi  HongGiaPhu (I22A) on 29/3/2013, 01:37

TruongTranThanhTu(I22B) đã viết:
HuynhDucQuang(I22B) đã viết:Hình hơi to, các bạn có thể open image in new tab.


mình vẫn chưa hiểu lắm về thời gian chờ trung bình của thuật giải này, các bạn có thể nói rõ hơn chút về thời gian chờ trung bình. cám ơn các bạn

Điều phối này hoạt động theo độ ưu tiên có khoảng CPU kế tiếp nhỏ thì chạy trước (so với khoảng CPU trước đó hoặc so với khoảng CPU còn lại của các tiến trình trước đó)
Trong hình tiến trình P1 sẽ chạy đầu tiên (không chờ) chạy được 2 khoảng CPU thì nhường tiến trình P2 do có khoảng CPU bằng 4, lúc này khoảng CPU của tiến trình P1 chỉ còn lại 5, tiếp tục như vậy so sánh với các mức CPU của các tiến trình khác.
Ta thấy:
- Tiến trình P1 tại mức 2 phải ngừng công việc (do khoảng CPU lớn hơn tiến trình P2, 7 so với 4) và phải tới mức 11, tiến trình P1 mới hoạt động trở lại, thì có phải là tiến trình P1 phải chờ 9 ms (do 11 - 2) mới vận hành trở lại.
- Tương tự tiến trình P2 kết thúc ở mức 4 và hoạt động lại ở mức 5 như vậy tiến trình P2 chờ 1 ms mới vận hành lại.
- Tiến trình P3 sẽ có thời gian chờ bằng 0 do P3 có mức thời điểm 4 và vận hành tại mức 4 luôn và hoàn tất luôn công việc do chỉ có khoảng CPU bằng 1 (khoảng CPU nhỏ nhất trong các tiến trình) nên không cần phải chờ.
- Cuối cùng tiến trình P4 vận hành tại thời điểm 5 mà phải tới mức 7 mới được vận hành, vậy tiến trình P4 chờ 2 ms.
=> Vậy thờ gian chờ trung bình: (9 (P1) + 1 (P2) + 0 (P3) + 2 (P4)) / 4 = 3ms. farao

HongGiaPhu (I22A)

Tổng số bài gửi : 25
Join date : 10/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

[b]4 tình huống ra quyết định của trình điều phối[/b]

Bài gửi  tranvanminh82(I22A) on 29/3/2013, 07:56

-các tình huống ra quyết định của trình điều phối:
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à không có tiếm quyền:
Giống nhau:
- Được dùng trong điều phối CPU (chọn tiến trình trong Ready Queue để cấp thời gian CPU (chuyển sang trạng thái Running)).
Khác nhau:
-không tiếm quyền: sơ đồ chỉ điều chỉ tiến hành trong tình huống 1 và 4 ,tình huoosg 2 và 3 không điều phối được. 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.
-có tiếm quyền: sơ đồ điều phối tiến hành trong cả 4 tình huống.(ta có thể lấy tiến trình nào cũng được)

tranvanminh82(I22A)

Tổng số bài gửi : 11
Join date : 10/03/2013
Age : 28

Xem lý lịch thành viên

Về Đầu Trang Go down

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

Bài gửi  NguyenCaoTri (I22B) on 29/3/2013, 08:14

TranVuSang (I22B) đã viết:Giả sử hàng chờ Ready có các tiến trình sau:

Sử dụng thuật giải RRS với thời lượng = 20ms
Biểu đồ Gantt:


Thời gian chờ trung bình:[ 57 + 15 + ( 17 + 33 + 4 ) + ( 27 + 33 ) ] / 4 = 46,5ms

Giải thích: ...

Cái này mình tự thêm vào thời gian xuất hiện của các tiến trình mong Thầy và các bạn cho ý kiến. Thank
Sao mình ra kết quả khác!

Sơ đồ Gantt:



Thời gian chờ = Thời điểm kết thúc - Thời điểm bắt đầu - CPU Burst

T1 = 90 – 0 – 53 = 37(ms)
T2 = 57 – 25 – 17 = 15(ms)
T3 = 162 – 40 – 68 = 54(ms)
T4 = 134 – 50 – 24 = 60(ms)
Ttb=(37+15+54+60) = 166/4 = 41,22(ms)

Giải thích:

Thời điểm t=77 thì cấp CPU cho P1 (không phải P4)
vì:

Khi t=40 thì P1 hết thời lượng CPU (P1 còn 13ms CPU Burst) và P1 quay về hàng chờ Ready chờ cấp CPU

khi t=50 thì P4 mới đến

NguyenCaoTri (I22B)

Tổng số bài gửi : 43
Join date : 09/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

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

Bài gửi  NguyenCaoTri (I22B) on 29/3/2013, 08:23

Trình bày thuật giải điều phối CPU với hàng chờ nhiều mức theo hình sau?



Sơ đồ điều phối hàng chờ Ready có 03 hàng chờ với 03 mức ưu tiên khác nhau
- Độ 0 dùng giải thuật RRS với thời lượng 08ms có độ ưu tiên cao nhất.
- Độ 1 dùng giải thuật RRS với thời lượng 16ms có độ ưu tiên thứ 2.
- Độ 3 dùng giải thuật FCFS có độ ưu tiên thấp nhất.

Khi có tiến trình mới được sinh ra thì tất cả được xếp vào hàng đợi Độ 0 có mức ưu tiên cao nhất. Nếu Tiến trình xong thì đi ra(kết thúc).
Trong quá trình xử lý nếu Tiến trình chiếm nhiều CPU quá hoặc xử lý lâu quá thì được chuyển xuống mức dưới với ưu tiên thứ 2 (Độ 1), nếu Tiến trình vẫn tiếp tục chiếm nhiều CPU quá hoặc xử lý lâu quá thì Tiến trình tiếp tục được chuyển xuống mức dưới với ưu tiên thứ 3 (Độ 2). Các quá trình chuyển từ Độ 0 xuống Độ 1 hoặc Độ 1 xuống Độ 2 gọi là hạ cấp tiến trình.
Tiến trình chỉ được phép hạ cấp từ Độ 0 xuống Độ 1 mà không có chiều ngược lại.
Ngoài ra, còn có nâng cấp tiến trình từ Độ 2 lên Độ 1 cho những tiến trình chờ quá lâu mà chưa được cấp CPU.

Admin
Rất tốt !

NguyenCaoTri (I22B)

Tổng số bài gửi : 43
Join date : 09/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

VD MINH HỌA VỀ ĐIỀU PHỐI HÀNG CHỜ NHIỀU MỨC(frm Thay)

Bài gửi  NguyenVanLanh (I22A) on 29/3/2013, 09:01

Nhà ga Hòa Hưng có 5 cửa vào ra:
cửa 1 cho khách hàng hệ thống.
cửa 2 cho những người thương binh, người có công.
cửa 3 cho người già sức yếu.
cửa 4 cho người bình thường
cửa 5 cho sinh viên.

NguyenVanLanh (I22A)

Tổng số bài gửi : 21
Join date : 08/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

VD MINH HỌA VỀ ĐIỀU PHỐI HÀNG CHỜ NHIỀU MỨC CÓ ĐIỀU TIẾT

Bài gửi  NguyenVanLanh (I22A) on 29/3/2013, 10:27

Nhà ga Hoà Hưng khi bán vé thì cho tất cả các khách hàng mua vé điều thông qua cửa 1(độ 0), mua vé xong thì khách hàng ra ngoài.Trong quá trình bán vé do số lượng khách hàng mua vé cao dẫn đến tình trạng kẹt vé và do số lượng khách đông có nhiều già trẻ khác nhau nên ban quản lý chuyển các khách hàng tuổi cao cùng với số lượng khách ở cưả chính(độ 0) xuống cửa phụ sau đó. Khi đó khách hàng vẫn còn đông, người bán vé bán ko xuễ hoặc một trong các máy in hóa đơn mua vé cho khác hàng bị hư thì ban quản lý tiếp tục cho chuyển các khách hàng xuống cửa phụ thấp hơn nữa(độ 2).

NguyenVanLanh (I22A)

Tổng số bài gửi : 21
Join date : 08/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

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

Bài gửi  NgT.KimHuyen(I22A) on 29/3/2013, 12:58

NguyenCaoTri (I22B) đã viết:
TranVuSang (I22B) đã viết:Giả sử hàng chờ Ready có các tiến trình sau:

Sử dụng thuật giải RRS với thời lượng = 20ms
Biểu đồ Gantt:


Thời gian chờ trung bình:[ 57 + 15 + ( 17 + 33 + 4 ) + ( 27 + 33 ) ] / 4 = 46,5ms

Giải thích: ...

Cái này mình tự thêm vào thời gian xuất hiện của các tiến trình mong Thầy và các bạn cho ý kiến. Thank
Sao mình ra kết quả khác!

Sơ đồ Gantt:



Thời gian chờ = Thời điểm kết thúc - Thời điểm bắt đầu - CPU Burst

T1 = 90 – 0 – 53 = 37(ms)
T2 = 57 – 25 – 17 = 15(ms)
T3 = 162 – 40 – 68 = 54(ms)
T4 = 134 – 50 – 24 = 60(ms)
Ttb=(37+15+54+60) = 166/4 = 41,22(ms)

Giải thích:

Thời điểm t=77 thì cấp CPU cho P1 (không phải P4)
vì:

Khi t=40 thì P1 hết thời lượng CPU (P1 còn 13ms CPU Burst) và P1 quay về hàng chờ Ready chờ cấp CPU

khi t=50 thì P4 mới đến


Nếu dùng thuật giải RRS thì P1 sử dụng CPU sau 20ms nó bị P2 tiếm quyền chứ sao nó lại chạy tiếp vậy bạn... với các thông số của đề thì nó giống với vd trong sách về RRS mà???

Admin
- Mãi đến mi-li giây thứ 25, P2 mới đến thì sao mà tiềm quyền P1 ở mi-li giây thứ 20 được ?
- Giống với ví dụ trong tài liệu nhưng có Thời điểm đến rõ ràng !

NgT.KimHuyen(I22A)

Tổng số bài gửi : 15
Join date : 10/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

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

Bài gửi  VoMinhThang(I22B) on 29/3/2013, 13:46

NgT.KimHuyen(I22A) đã viết:
NguyenCaoTri (I22B) đã viết:
TranVuSang (I22B) đã viết:Giả sử hàng chờ Ready có các tiến trình sau:

Sử dụng thuật giải RRS với thời lượng = 20ms
Biểu đồ Gantt:


Thời gian chờ trung bình:[ 57 + 15 + ( 17 + 33 + 4 ) + ( 27 + 33 ) ] / 4 = 46,5ms

Giải thích: ...

Cái này mình tự thêm vào thời gian xuất hiện của các tiến trình mong Thầy và các bạn cho ý kiến. Thank
Sao mình ra kết quả khác!

Sơ đồ Gantt:



Thời gian chờ = Thời điểm kết thúc - Thời điểm bắt đầu - CPU Burst

T1 = 90 – 0 – 53 = 37(ms)
T2 = 57 – 25 – 17 = 15(ms)
T3 = 162 – 40 – 68 = 54(ms)
T4 = 134 – 50 – 24 = 60(ms)
Ttb=(37+15+54+60) = 166/4 = 41,22(ms)

Giải thích:

Thời điểm t=77 thì cấp CPU cho P1 (không phải P4)
vì:

Khi t=40 thì P1 hết thời lượng CPU (P1 còn 13ms CPU Burst) và P1 quay về hàng chờ Ready chờ cấp CPU

khi t=50 thì P4 mới đến


Nếu dùng thuật giải RRS thì P1 sử dụng CPU sau 20ms nó bị P2 tiếm quyền chứ sao nó lại chạy tiếp vậy bạn... với các thông số của đề thì nó giống với vd trong sách về RRS mà???
Có thể do bạn chưa hiểu thuật giải này lăm, bạn thử đọc lại trong tài liệu + forum 1 lần nữa, nếu có gì không hiểu bạn cứ pm mình Very Happy

VoMinhThang(I22B)

Tổng số bài gửi : 41
Join date : 11/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

Re:Re NguyenHoangThien(I22B)

Bài gửi  NguyenVanLanh (I22A) on 29/3/2013, 14:46

AnhDao(I22B) đã viết:
BuiTrongHung41(I11C) đã viết:Một hệ thống có 3 tiến trình với thời điểm đến và thời gian sử dụng CPU như sau:

Tiến trình Thời điểm đến (ms) CPU-Burst (ms)
P1 5 34
P2 17 23
P3 24 9
Dùng thuật giải Round-Robin với thời lượng 10 ms để đ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.

Giải:
a. Biểu đồ Gantt

---| P1 | P1 | P2 | P3 | P1 | P2 | P1 | P2|
5 15 25 35 44 54 64 68 71
b. Thời gian chờ trung bình của các tiến trình:
T(tb)= (T1+T2+…+Tn)/n
T1= (5 – 5)+(15-5)+(44-35)+(64-54)=29
T2=(25-15)+(54-44)+(68-64)=24
T3=(35-25)=10
T(tb)=(29+24+10)/3=21ms

Chào bạn , theo cách của mình tính thì thế này :
P1 = 5 + (44-25) + (64-54) = 34
P2 = 25 + (54-35) + (68-64)=48
P3=35
Vậy T(tb) = (34 + 48 + 35 ) / 3 = 39 ms

Cho mjh y kiến. T(tb) cua 2 ban hinh như sai thi fai...
Theo mjh la:
T1=64-30-5=29
T2=68-20-17=31
T3=35-24=11
T(tb)=(29+31+11)/3=23.67

NguyenVanLanh (I22A)

Tổng số bài gửi : 21
Join date : 08/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

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

Bài gửi  NguyenCaoTri (I22B) on 29/3/2013, 14:49

NguyenCaoTri (I22B) đã viết:Trình bày thuật giải điều phối CPU với hàng chờ nhiều mức theo hình sau?



Sơ đồ điều phối hàng chờ Ready có 03 hàng chờ với 03 mức ưu tiên khác nhau
- Độ 0 dùng giải thuật RRS với thời lượng 08ms có độ ưu tiên cao nhất.
- Độ 1 dùng giải thuật RRS với thời lượng 16ms có độ ưu tiên thứ 2.
- Độ 3 dùng giải thuật FCFS có độ ưu tiên thấp nhất.

Khi có tiến trình mới được sinh ra thì tất cả được xếp vào hàng đợi Độ 0 có mức ưu tiên cao nhất. Nếu Tiến trình xong thì đi ra(kết thúc).
Trong quá trình xử lý nếu Tiến trình chiếm nhiều CPU quá hoặc xử lý lâu quá thì được chuyển xuống mức dưới với ưu tiên thứ 2 (Độ 1), nếu Tiến trình vẫn tiếp tục chiếm nhiều CPU quá hoặc xử lý lâu quá thì Tiến trình tiếp tục được chuyển xuống mức dưới với ưu tiên thứ 3 (Độ 2). Các quá trình chuyển từ Độ 0 xuống Độ 1 hoặc Độ 1 xuống Độ 2 gọi là hạ cấp tiến trình.
Tiến trình chỉ được phép hạ cấp từ Độ 0 xuống Độ 1 mà không có chiều ngược lại.
Ngoài ra, còn có nâng cấp tiến trình từ Độ 2 lên Độ 1 cho những tiến trình chờ quá lâu mà chưa được cấp CPU.

Admin
Rất tốt !

Em cám ơn Thầy đã khen thưởng. Chúc Thầy nhiều sức khoẻ ạ.

NguyenCaoTri (I22B)

Tổng số bài gửi : 43
Join date : 09/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

MFQS tiếp

Bài gửi  tranngochuy(I22B) on 29/3/2013, 15:16

dangthihoangly(I12A) đã viết:*Multilevel Queue Scheduling - MQS

-Hàng chờ Ready được phân cấp thành nhiều mức có độ ưu tiên khác nhau.
VD:Mức các tiến trình tương tác chạy ở mặt trước 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.
-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 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 cao hơn,tiến trình mức dưới sẽ bị tiếm quyền do tiến trình mới có độ ưu tiên cao hơn.
+Phân bổ theo tỉ lệ thời lượng.

* Multilevel Feedback Queue Scheduling - MFQS

-Như MSQ nhưng cho phép điều tiết tiến trình sang mức khác.
VD:Những tiến trình hướng CPU được đưa xuống mức dưới
-MFQS đạc trưng bởi các thông số:
+Số mức.
+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.

Ví dụ: Trong ga Hòa Hưng có 5 ô cửa bán vé, những người mua vé xếp hàng vào 5 cửa. Có 5 loại khách hàng với 5 loại ưu tiên khác nhau. Chỉ có 1 cô nhân viên bán vé thôi.
+ cửa 1: cửa hệ thống: cho những người trong ngành hoặc thân nhân của những người trong ngành đường sắt.
+ cửa 2: cho thương binh, Mẹ VNAH.
+ cửa 3: cho những người bình thường, khách vảng lai.
+ cửa 4: khách có độ ưu tiên thấp hơn.
+ cửa 5: cho Sinh viên.
Với MQS: chỉ 1 cô bán vé chạy từ cửa này sang cửa kia, cửa nào có khách thì chạy sang cửa đó.
Với MFQS: có điều phối nếu có sự ưu tiên, đẩy bớt tiến trình từ cửa này sang cửa kia, giúp cho hoạt động được tốt hơn.
ĐỘ ƯU TIÊN HẠ TỪ TRÊN XUỐNG, KHÔNG CÓ SỰ ƯU TIÊN TỪ MỨC DƯỚI ĐI NGƯỢC LÊN MỨC TRÊN
///BẠN COI THỬ ĐÁP ÁN NÀY:
* Multilevel Queue Scheduling:
+Được chia thành nhiều Queue riêng biệt.
  • Foreground ( Chứa các interactive process )
    Background( Chứa các background )

+ Mỗi hàng chờ có thuật giải điều phối riêng
  • Foreground: RR
    Background

+ Quan hê giữa các mức
  • lập lịch với mức độ ưu tiên
    Phân chia thời gian: mỗi Queue nhận được một lượn thời gian CPU nào đó mà có thể lập dịch các tiến trình của nó.

+ Tiến trình trong Queue có mức độ ưu tiên thấp hơn chỉ có thể chạy khi Queue có mức ưu tiên thấp hơn rỗng.
+ Tiến trình có mức ưu tiên cao hơn khi vào Ready Queue không ảnh hưởng đến tiến trình đang chạy có mức ưu tiên thấp hơn.
vd: Việc phuc56 vụ khách trong nhà hàng:
+ Thực khách sẽ đến gọi thức ăn nước uống.
+mỗi thức ăn và nước uống đều có time chuẩn bị là # nhau
+time đợi trung bình của khách là khác nhau.
+Nếu khách hàng thân quen hoặc đặt bàn trước thì chúng ta ưu tiên trước ( lập lịch với mức độ ưu tiên )
+Còn lại thường thì các nhà hàng sẽ phục vụ theo kiểu FCFS đến trước phục vụ trước..


tranngochuy(I22B)

Tổng số bài gửi : 15
Join date : 25/03/2013
Age : 26
Đến từ : 12H1010050

Xem lý lịch thành viên

Về Đầu Trang Go down

VD SJFS

Bài gửi  tranngochuy(I22B) on 29/3/2013, 15:39

nguyenvankhoa59(122B) đã viết:Giả sử có 4 tiến trình p1, p2, p3 và p4:
Thời điểm Tiến trình Khoảng CPU(ms)
0 p1 10
2 p2 6
4 p3 3
6 p4 7

- Biểu đồ Gantt:

| p1 | p2 | p3 | p2 | p4 | p1 |
0 2 4 7 11 18 26

- Thời gian chạy trung bình:
p1=18-2=16
p2=7-4=3
p3=4-4=0
p4=11-6=5
Vậy T(tb)=(16+3+0+5)/4=6 (ms)
bản chất của thuật giải là tiến trình mới có khoảng CPU kế tiếp nhỏ hơn khoảng thời gian của CPU còn lại của tiến trình đang vận hành sẽ được chọn thay thế. Như ở bài toán trên p1 ở thời điểm 0 được thực hiện đầu tiên, tới thời điểm 2 p2 xuất hiện và có khoảng CPU kế tiếp = 6 nhỏ hơn p1 khoảng thời gian của CPU còn lại=8 nên p2 được thực hiện
tới thời điểm 4 p3 xuất hiện và có khoảng CPU kế tiếp = 3 nhỏ hơn p2 có khoảng thời gian của CPU còn lại=4 nên p3 được thực hiện.
tới thời điểm 6 p4 xuất hiện và có khoảng CPU kế tiếp=7 và hiện tại p3 có khoảng thời gian CPU còn lại là nhỏ nhất =1 nên p3 được thực hiện xong, tiếp p2 có khoảng thời gian CPU còn lại là nhỏ nhất =4 nên p2 được thực hiện xong, tiếp đến p4 có khoảng thời gian CPU còn lại là nhỏ nhất =7 nen p4 được thực hiện xong và cuối cùng còn lại p1 được thực hiện đến hết.
//VD: SJFS
anh A đến phòng vé gas tàu mua 7 vé nhưng đã mua được 2 vé...anh B xuất hiện mua 4vé..vì anh B mua ít nên anh A đã nhường cho anh B mua trước...anh A trở ra uống cafe trong khi chờ đợi anh B mua vé xong...trong khi anh B mua 2 vé thì anh C xuất hiện ..C mua chỉ 1 vé nên anh B đã nhường cho C mua trước...cứ như thế nếu không còn người nào ít hon nữa thì C mua xong thì B mua Và A mua...

tranngochuy(I22B)

Tổng số bài gửi : 15
Join date : 25/03/2013
Age : 26
Đến từ : 12H1010050

Xem lý lịch thành viên

Về Đầu Trang Go down

Thảo luận bài 6

Bài gửi  NguyenThiNgocHuyen (I22B) on 29/3/2013, 15:58

Câu 1: Trình bày 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 tiếm quyền và điều phối không tiếm quyền?

Trả lời:
* 4 tình huống ra quyết định của trình điều phối:
1.Khi tiến trình từ trạng thái Running sang trạng thái Waiting
- Khi một tiến trình A nào đó đang phải nhập xuất dữ liệu thì CPU sẽ được HĐH cung cấp cho 1 tiến trình B khác để tránh tình trạng CPU "rãnh rỗi" .
- trong tình huống này, tiến trình A đang nhập xuất không sử dụng CPU nên sẽ không có việc tiến trình A bị HĐH "lấy lại" CPU đồng nghĩa với việc không có tiếm quyền.

2. Khi tiến trình từ trạng thái Running sang trạng thái Ready
- Khi một tiến trình A nào đó sử dụng CPU làm việc quá thời gian cho phép của HĐH thì HĐH sẽ đòi lại CPU và cấp cho một tiến trình B nào đó đang chờ được cấp CPU để làm việc mà không cần biết tiến trình A đã hoàn tất công việc với CPU hay chưa.
- Trong tình huống này, rõ ràng là tiến trình A bị HĐH "đòi" lại CPU khi công việc đang dang dở nên ta nói rằng tiến trình A bị HĐH tiếm quyền.

3. Khi tiến trình từ trạng thái Waiting sang trạng thái Ready
- Khi một tiến trình A nào đó đã hoàn thành việc nhập xuất dữ liệu và trở về trạng thái chờ với 0 hoặc nhiều tiến trình khác thì HĐH sẽ kiểm tra một hoặc nhiều tiến trình đang ở trạng thái chờ đó. Nếu thấy tiến trình chờ nào phù hợp thì, HĐH sẽ cấp CPU cho tiến trình đó làm việc.
- Trong tình huống này, ta thấy các tiến trình đang trong trạng thái chờ luôn "bị động" bởi không biết lúc nào HĐH sẽ cấp phát CPU và cho chuyển sang trạng thái hoạt động trở lại. Do đó, trong tình huống này, tiến trình bị HĐH tiếm quyền.

4. Khi tiến trình kết thúc công việc
- Khi tiến trình A nào đó đã hoàn thành xong công viêc của mình với CPU thì tiến trình A sẽ "chủ động" trả lại CPU cho HĐH và HĐH sẽ tiếp tục lựa chọn một tiến trình B nào đó phù hợp và cấp CPU cho tiến trình B làm việc.
- Trong tình huống này, tiến trình A đã "chủ động" trả CPU cho HĐH mà không đợi HĐH "đòi" lại CPU. Điều này cho thấy trong tình huống này, tiến trình A không bị HĐH tiếm quyền.

* Phân biệt điều phối tiếm quyền và điều phối không tiếm quyền:
- Giống nhau:
Cùng do HĐH điều phối, đối tượng được điều phối là các tiến trình...
- Khác nhau:
+Khi tiến trình được điều phối không tiếm quyền thì nó sẽ "chủ động" chuyển trạng thái mà không có sự can thiệp của HĐH
+Khi tiến trình được điều phối tiếm quyền thì nó sẽ "bị động" chuyển trạng thái do sự can thiệp của HĐH

Trên đây là phần trả lời theo những gì em hiểu đươc từ bài giảng của thầy, nếu có gì thiếu sót và chưa đúng thì mong thầy và các bạn cùng góp ý để em và các bạn cùng học tốt môn học này hơn.
Chân thành cảm ơn thầy và các bạn! Very Happy

NguyenThiNgocHuyen (I22B)

Tổng số bài gửi : 13
Join date : 13/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

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

Bài gửi  TranBinhCongLuanI12A on 29/3/2013, 16:02

NguyenThiBichTram (I22A) đã viết:Câu 1: Trình bài mô hình chuyển trạng thái của tiến trình.
Mô hình chuyển trạng thái của tiến trình:
Tiến trình P1: vào hàng đợi Job-Queue ở trạng thái New, sẽ đợi 1 khoảng thời gian của quá trình điều phối chậm (Scheduler Long Term) của hệ điều hành(HĐH) để chọn tiến trình, sau khi được O.S chọn, P1 chuyển sang hàng đợi reday quueue và ở trạng thái Ready. Lúc này P1 chỉ đợi cấp CPU và running.
Sau một khỏang thời gian running, tiến trình P2 xuất hiện. Lúc này, hệ điều hành sẽ ghi lại thông tin của P1 vào thanh PCB1 bao gồm những thông tin: con trỏ, trạng thái của P1, số hiệu của tiến trình P1, Bộ đếm P1, nội dung của P1…Và chuyển P1 sang hàng đợi Waiting và chuyển trạng thái Ready. Lúc này, P2 sẽ được cấp CPU và running. Và sau một khỏang thời gian running, P2 cũng sẽ chuyển sang hàng đợi waiting và chuyển trạng thái ready, lúc này HĐH cũng ghi lại thông tin vào thanh ghi PCB2 như đã làm ở P1. Sau đó, HĐH sẽ load lại thông tin của PCB1 và P1 sẽ tiếp tục running. Quá trình này cũng sẽ lập lại cho P2. Đển khi P1 và P2 kết thúc.

Tại một thời điểm, chỉ có một tiến trình có thể nhận trạng thái running trên một bộ xử lý
bất kỳ. Trong khi đó, nhiều tiến trình có thể ở trạng thái blocked hay ready.
Các cung chuyển tiếp trong sơ đồ trạng thái biễu diễn sáu sự chuyển trạng thái có thể xảy
ra trong các điều kiện sau :
• Tiến trình mới tạo được đưa vào hệ thống
• Bộ điều phối cấp phát cho tiến trình một khoảng thời gian sử dụng CPU
• Tiến trình kết thúc
• Tiến trình yêu cầu một tài nguyên nhưng chưa được đáp ứng vì tài nguyên chưa sẵn sàng để cấp phát tại thời điểm đó ; hoặc tiến trình phải chờ một sự kiện hay thao tácnhập/xuất.
• Bộ điều phối chọn một tiến trình khác để cho xử lý .
• Tài nguyên mà tiến trình yêu cầu trở nên sẵn sàng để cấp phát ; hay sự kiện hoặc thao tác nhập/xuất tiến trình đang đợi hoàn tất
Hình vẽ tiến trình phải bổ sung hàng đợi ở New, Ready và Running nữa mới đầy đủ Smile

TranBinhCongLuanI12A

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

Xem lý lịch thành viên http://www.2dollarmayman.com

Về Đầu Trang Go down

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

Bài gửi  TranVuSang (I22B) on 29/3/2013, 16:33

NguyenCaoTri (I22B) đã viết:
TranVuSang (I22B) đã viết:Giả sử hàng chờ Ready có các tiến trình sau:

Sử dụng thuật giải RRS với thời lượng = 20ms
Biểu đồ Gantt:


Thời gian chờ trung bình:[ 57 + 15 + ( 17 + 33 + 4 ) + ( 27 + 33 ) ] / 4 = 46,5ms

Giải thích: ...

Cái này mình tự thêm vào thời gian xuất hiện của các tiến trình mong Thầy và các bạn cho ý kiến. Thank
Sao mình ra kết quả khác!

Sơ đồ Gantt:



Thời gian chờ = Thời điểm kết thúc - Thời điểm bắt đầu - CPU Burst

T1 = 90 – 0 – 53 = 37(ms)
T2 = 57 – 25 – 17 = 15(ms)
T3 = 162 – 40 – 68 = 54(ms)
T4 = 134 – 50 – 24 = 60(ms)
Ttb=(37+15+54+60) = 166/4 = 41,22(ms)

Giải thích:

Thời điểm t=77 thì cấp CPU cho P1 (không phải P4)
vì:

Khi t=40 thì P1 hết thời lượng CPU (P1 còn 13ms CPU Burst) và P1 quay về hàng chờ Ready chờ cấp CPU

khi t=50 thì P4 mới đến
Cảm ơn bạn đã góp ý, cái này hình như mình nhằm rồi, trong Slides thì các tiến trình có thời điểm đến là như nhau mà mình cứ tưởng là nó luân phiên. Có cái này mình không hiểu mong bạn và các bạn thảo luận dùm mình. Tại thời điểm t=40 thì P1 trả CPU và P2 Running vậy P1 sẽ được xếp vào đâu? theo bạn là Ready nhưng vào thời điểm t=40 thì P3 cũng xuất hiện vậy P3 được xếp vào Ready trước hay P1 được xếp vào Ready trước? Nếu là P3 thì bạn đúng còn nếu là P1 thì sao? Nếu vào thời điểm t=40 mà P1 được xếp vào Waiting thì kết quả sẽ ra sao? P1 nếu xếp vào Waiting thì sẽ chờ khoảng bao lâu mới được xếp lại Ready? Nếu sau 10ms nó mới được xếp vào Ready thì lúc này P4 đã xuất hiện rồi.

Với lại biểu đồ Gantt phải vẽ như thế nào cho đúng vậy các bạn. Tại vì trong Slides thì biểu đồ Gantt ở FCFS khác với ở SJFS và cũng khác luôn so với RRS vậy biểu đồ Gantt chuẩn là biểu đồ nào vậy?

Cái này mình chưa hiểu mong các bạn và Thầy giải thích dùm mình. Thank


Được sửa bởi TranVuSang (I22B) ngày 29/3/2013, 16:50; sửa lần 1.

TranVuSang (I22B)

Tổng số bài gửi : 53
Join date : 09/03/2013
Age : 27

Xem lý lịch thành viên

Về Đầu Trang Go down

Các thuật giải căn bản trong điều phối CPU

Bài gửi  Dao Duy Thanh(I22B) on 29/3/2013, 16:45

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.

Dao Duy Thanh(I22B)

Tổng số bài gửi : 16
Join date : 13/03/2013
Age : 26

Xem lý lịch thành viên

Về Đầu Trang Go down

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

Bài gửi  VoMinhThang(I22B) on 29/3/2013, 16:54

Dao Duy Thanh(I22B) đã viết: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.

Bài của bạn cũng chi tiết nhưng theo mình thì có thêm ví dụ sẽ dễhiểu hơn:star:

VoMinhThang(I22B)

Tổng số bài gửi : 41
Join date : 11/03/2013

Xem lý lịch thành viên

Về Đầu Trang Go down

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

Bài gửi  Sponsored content Today at 22:20


Sponsored content


Về Đầu Trang Go down

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

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


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