Thảo luận Bài 6

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

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

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 không tiếm quyền và điều phối có tiếm quyền

Bài gửi  NguyenThiNgocPhuoc(122A) on 8/4/2013, 02:21

* 4 tình huống ra quyết định của trình điều phối CPU:
1 - Khi tiến trình chuyển từ Running ---> Waiting (Chờ I/O, chờ tiến trình con).
2 - Khi tiến trình chuyển từ Running ---> Ready (Do ngắt xảy ra).
3 - Khi tiến trình chuyển từ Waiting ---> Ready (Khi kết thúc I/O).
4 - Khi tiến trình kết thúc công việc.

+ Sơ đồ điều phối chỉ tiến hành trong tình huống 1 và 4 đượ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 khi chuyển sang trạng thái Waiting.
+ 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)

* Phân biệt điều phối có tiếm quyền và không tiếm quyền:
+ Giống nhau: Cùng đ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:
- Preemptive Scheduling thì điều phối CPU có tiếm quyền.
- Non-Preemptive Scheduling thì điều phối CPU không tiếm quyền.[b]

NguyenThiNgocPhuoc(122A)

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

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

Về Đầu Trang Go down

Phân biệt thuật giải MSQ với thuật giải MFSQ

Bài gửi  PhanNgocThoai(I22B) on 8/4/2013, 16:37

Điều phối hàng chờ 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. Ví dụ: Foreground dùng RRS, Background dung 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). Ví dụ: Mua vé ở ga Hòa Hưng, cửa trước dành cho thương binh, bà mẹ VN anh hùng, cửa 2 dành cho sinh viên _ học sinh, nhưng chỉ có một cô nhân viên bán vé. cô nhân viên bán vé ở cửa trước xong mới bán ở cửa 2. nếu cửa trước có người đến cô nhân viên phải quay lại bán vé.
- Phân bổ theo tỉ lượng thời lượng:
ví dụ: 80% thời lượng CPU dành cho Foreground, 20% cho Background. cô nhân viên phải luân phiên bán vé giữa hai cửa nhưng phải ưu tiên cửa trước.

PhanNgocThoai(I22B)

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

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

Về Đầu Trang Go down

Phân biệt Semaphore và Mutex

Bài gửi  VoMinhDien(I22B) on 9/4/2013, 14:05

Giống nhau:
cả mutex và semaphore đều được sử dụng để quản lý việc truy xuất của những process tới 1 tài nguyên (thường là vùng nhớ) được shared bởi các process này.
khác nhau:
- semaphore:
+ tại một thời điểm có nhiều hơn 1 process được truy cập vào tài nguyên dùng chung được semaphore quản lý. (số lượng process này được giới hạn ở một số lượng nhất định-một số hữu hạn process được truy cập vào vùng tài nguyên dùng chung này).
- mutex:
+ tại một thời điểm chỉ có được 1 process được truy cập vào tài nguyên này, nếu tài nguyên này đã được chiếm giữ thì process khác phải chờ để tới lượt.
+ khi tài nguyên này được "chiếm giữ" bởi 1 process thì mutex này sẽ được thiết lập trạng thái là false để các process khác không được action vào.

VoMinhDien(I22B)

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

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

Về Đầu Trang Go down

Câu 3: Phân biệt thuật giải MFQS với MQS? Cho ví dụ minh họa

Bài gửi  NguyenVanQuoc (I22B) on 9/4/2013, 23:53

- Giống: Multilevel Queue Scheduling (Điều phối hàng chờ nhiều mức) và Multilevel Feedback Queue Scheduling (Đ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: Multilevel Feedback Queue Scheduling cho phép điều chuyển (điều tiết) 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à mềm dẻo hơn Multilevel Queue Scheduling. Và đối với MQS thì khi các tiến trình được xếp vào hàng đợi thì không thay đổi được vị trí còn MFQS thì tiến trình có thể di chuyển từ mức này sang mức khác và ngược lại.
- VD: Phòng bán vé tàu hỏa ở ga Hòa Hưng có nhiều cửa bán vé với mức độ ưu tiên khác nhau, có cửa dành cho những người trong hệ thống (công nhân viên phục vụ trong ga), có cửa dành riêng cho thương binh, người tàn tật…Chỉ có 1 cô bán vé (CPU) phải liên tục di chuyển giữa các cửa để phục vụ cho khách mua vé.
+ Với trường hợp MQS thì khách mua vé thuộc loại nào thì đứng yên ở cứa đó chờ tới lượt để được mua vé.
+ Với trường hợp MFQS thì người xếp hàng mua vé có thể được chuyển sang cửa khác mua vé (nếu cửa đang đứng quá đông), để đảm bảo chất lượng phục vụ là tốt nhất.


NguyenVanQuoc (I22B)

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

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

Về Đầu Trang Go down

RRS

Bài gửi  NguyenThanhTung(I22B) on 12/4/2013, 09:10

Đề bài: 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 10 30
P2 25 20
P3 27 15

Dùng thuật giải Round-Robin với thời lượng 10ms để điều phối CPU:
a. Thể hiện bằng biểu đồi Gantt.
b. Tính thời gian trung bình của các tiến trình.
Giải:
a. Thể hiện bằng biểu đồ Gantt.
10 20 30 40 50 60 70 75
\\\\\ P1 P1 P2 P3 P1 P2 P3

Ready queue: P2
P3
P1
P2
P3
b. * Thời gian chờ của các tiến trình:
- P1 = (60 - 10) - 30 = 50 - 30 = 20 (ms)
- P2 = (70 - 25) - 20 = 45 - 20 = 25 (ms)
- P3 = (75 - 27) - 15 = 48 - 15 = 33 (ms)
* Thời gian chờ trung bình của các tiến trình:
(20 + 25 + 33) / 3 = 78/3 = 26 (ms)

NguyenThanhTung(I22B)

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

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

Về Đầu Trang Go down

Chiến lược phân phối xoay vòng (Round Robin)

Bài gửi  NguyenThanhTung(I22B) on 12/4/2013, 09:12

Round-robin (RR) là thuật toán lập chương trình (danh mục) cho các tiến trình trong hệ điều hành, được thiết kế đặc biệt cho hệ thống chia sẻ thời gian.
Tương tự như thuật giải FCFS (First-Come First-Served Scheduling) nhưng sự trưng dụng CPU được thêm vào để chuyển CPU giữa các tiến trình. Đơn vị thời gian nhỏ được gọi là định mức thời gian (time quantum) hay phần thời gian (time slice) được định nghĩa.
Định mức thời gian thường từ 10 đến 100 mili giây. Hàng đợi (ở trạng thái sẳn sàng) được xem như một hàng đợi vòng. Bộ định thời CPU di chuyển vòng quanh hàng đợi, cấp phát CPU tới mỗi tiến trình có khoảng thời gian tối đa bằng một định mức thời gian.
Để cài đặt RR, chúng ta quản lý hàng đợi sẳn sàng như một hàng đợi FIFO của các tiến trình. Các tiến trình mới được thêm vào đuôi hàng đợi. Bộ định thời CPU chọn tiến trình đầu tiên từ hàng đợi, đặt bộ đếm thời gian để ngắt sau 1 định mức thời gian và gởi tới tiến trình.
Sau đó, một trong hai trường hợp sẽ xảy ra. Tiến trình có 1 chu kỳ CPU ít hơn 1 định mức thời gian. Trong trường hợp này, tiến trình sẽ tự giải phóng. Sau đó, bộ định thời biểu sẽ xử lý tiến trình tiếp theo trong hàng đợi. Ngược lại, nếu chu kỳ CPU của tiến trình đang chạy dài hơn 1 định mức thời gian thì bộ đếm thời gian sẽ báo và gây ra một ngắt tới hệ điều hành. Chuyển đổi ngữ cảnh sẽ được thực thi và tiến trình được đặt trở lại tại đuôi của hàng đợi. Sau đó, bộ định thời biểu CPU sẽ chọn tiến trình tiếp theo trong hàng đợi.

NguyenThanhTung(I22B)

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

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

Về Đầu Trang Go down

Định nghĩa và mục đích điều phôí tiến trình

Bài gửi  NguyenThanhTung(I22B) on 12/4/2013, 09:13

Trong môi trường đa chương, có thể xảy ra tình huống nhiều tiến trình đồng thời sẵn sàng để xử lý. Mục tiêu của các hệ phân chia thời gian (time-sharing) là chuyển đổi CPU qua lại giữa các tiến trình một cách thường xuyên để nhiều người sử dụng có thể tương tác cùng lúc với từng chương trình trong quá trình xử lý.

Để thực hiện được mục tiêu này, hệ điều hành phải lựa chọn tiến trình được xử lý tiếp theo. Bộ điều phối sẽ sử dụng một giải thuật điều phối thích hợp để thực hiện nhiệm vụ này. Một thành phần khác của hệ điều hành cũng tiềm ẩn trong công tác điều phối là bộ phân phối (dispatcher). Bộ phân phối sẽ chịu trách nhiệm chuyển đổi ngữ cảnh và trao CPU cho tiến trình được chọn bởi bộ điều phối để xử lý.

Mục đích:
Bộ điều phối không cung cấp cơ chế, mà đưa ra các quyết định. Các hệ điều hành xây dựng nhiều chiến lược khác nhau để thực hiện việc điều phối, nhưng tựu chung cần đạt được các mục tiêu sau :

a) Sự công bằng ( Fairness) :

Các tiến trình chia sẻ CPU một cách công bằng, không có tiến trình nào phải chờ đợi vô hạn để được cấp phát CPU

b) Tính hiệu qủa (Efficiency) : Hệ thống phải tận dụng được CPU 100% thời gian.

c) Thời gian đáp ứng hợp lý (Response time) : Cực tiểu hoá thời gian hồi đáp cho các tương tác của người sử dụng

d) Thời gian lưu lại trong hệ thống ( Turnaround Time) : Cực tiểu hóa thời gian hoàn tất các tác vụ xử lý theo lô.

e) Thông lượng tối đa (Throughput ) : Cực đại hóa số công việc được xử lý trong một đơn vị thời gian.

Tuy nhiên thường không thể thỏa mãn tất cả các mục tiêu kể trên vì bản thân chúng có sự mâu thuẫn với nhau mà chỉ có thể dung hòa chúng ở mức độ nào đó.

NguyenThanhTung(I22B)

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

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

Về Đầu Trang Go down

Trình bày 4 tình huống xảy ra quyết định của điều phối.Phân biệt điều phối có tiếm quyền và điều phối không tiếm quyền

Bài gửi  NguyenThanhTung(I22B) on 12/4/2013, 09:16

4 tính huống:
- Khi tiến trình chuyển từ Running sang Waiting (Chờ I/O, chờ tiến trình con).
- Khi tiến trình chuyển từ Running sang Ready ( do ngắt xảy ra).
- Khi tiến trình chuyển từ Waiting sang Ready ( khi kết thúc I/O).
- Khi tiến trình kết thúc công việc.

Phân biệt điều khối có tiếm quyền (Preemptive) và điều phối không tiếm quyền (Non- Preemptive):
- 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:
+ Điều phối không tiếm quyền: Có nghĩa là khi tiến trình P1 có thời điểm đến trước P2 thì tiến trình P1 được thực hiện hết khoảng thời gian thực hiện, sau đó mới thực hiện tiến trình P2.
+ Điều phối có tiếm quyền: Có nghĩa là khi có 3 tiến trình P1, P2, P3 có thời điểm đến theo thứ tự đó thì tiến trình P1 sẽ được thực hiện với một khoảng thời gian cho phép sau đó bị tiến trình P2 hay P3 tiếm quyền. Còn quá trình điều phối kế tiếp như thế nào là tuỳ thuộc vào thuật toán điều phối và độ ưu tiên của tiến trình.

NguyenThanhTung(I22B)

Tổng số bài gửi : 21
Join date : 13/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. VD minh họa

Bài gửi  NguyenThanhTung(I22B) on 12/4/2013, 09:16

a) Thuật giải MQS ( Multilevel Queue Scheduling )
- 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) Thuật giải MFQS ( Multilevel Feedback Queue Scheduling )
- Như 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ố:
+ 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ờ (chọn mức) cho tiến trình mới

NguyenThanhTung(I22B)

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

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

Về Đầu Trang Go down

Câu 1: Trình bày 4 tình huống ra quyết định của trình điều phối và phân biệt Điều phối không tiếm quyền và Điều phối có tiếm quyền?

Bài gửi  NguyenPhuongNhu(I22B) on 12/4/2013, 17:55

*4 tình huống:
-Tiến trình đang chạy – waiting
-Tiến trình Running – Ready: trình điều phối phải chọn tiến trình nào để thay thế tiến trình này.
-Waiting-Ready: trình điều phối quyết định tiến trình nào thay thế tiến trình hiện hành.
-Tiến trình hoàn tất công việc.
* Phân biệt Điều phối không tiếm quyền và Điều phối có tiếm quyền:
-Không tiếm quyền:
-Khi nó cần I/O
-Khi nó tự không cần CPU nữa thì HĐH mới có được CPU chứ HĐH không thể bắt nó nhường CPU.
-Tiếm quyền: Khi nó đang sử dụng CPU, HĐH có thể bắt nó nhường CPU.
VD: 1 Công ty co 1 chiec ô tô để NV đi công tác.
Không tiếm quyền: Anh A đi Vũng Tàu được cấp xe và lấy xe đi suốt cả tuần luôn.
Tiếm quyền: Anh A đi Vũng Tàu được cấp xe và lấy xe đi giữa đường, xe thả a A xuống quán nước, ô tô quay về đưa B đi Long An.

NguyenPhuongNhu(I22B)

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

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

Về Đầu Trang Go down

Tiêu chí điều phối (Scheduling Criteria):

Bài gửi  NguyenPhuongNhu(I22B) on 12/4/2013, 17:55

-CPU càng bận càng tốt
-Đảm bảo thong suốt hệ thống
-Thời gian tổng(thời gian lưu) của 1 tiến trình càng thấp càng tốt.
-Thời gian chờ torng hang chờ càng thấp càng tốt.
-Thời gian trả lời càng thấp càng tốt.
VD: Tra cứu điểm thi, trả kết quả < 3s là ok.

NguyenPhuongNhu(I22B)

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

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

Về Đầu Trang Go down

Các giải thuật điều phối (Scheduling Algorithms):

Bài gửi  NguyenPhuongNhu(I22B) on 12/4/2013, 17:56

-Đến trước phục vụ trước
VD: 2 người cùng in chúng máy in, ai nhấn nút in trước thì máy in in cho người đó trước.
-Ngắn hơn chạy trước
VD: 2 người cùng in cùng 1 máy in, A đang in 1 lần 100 trang,lúc A đang in đến trang thứ 30, B nhấn lệnh in 1 trang, thì lập tức máy in in ra trang của B rồi mới tiếp tục in mấy trang còn lại của A.
-Điều phối theo độ ưu tiên
VD: có 3 text box lần lượt có tên txt1, txt2,txt3 đặt theo thứ tự 1,2,3. Nhưng gán đô ưu tiên cho các text như sau : độ ưu tiên txt1 là 1, độ ưu tiên txt2 là 3, độ ưu tiên txt3 là 2. Khi người dùng nhấn tab thì con trỏ sẽ đến txt1 trước, rồi đến txt3, rồi mới đến txt2.

NguyenPhuongNhu(I22B)

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

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

Về Đầu Trang Go down

Câu4: Trình bày thuật giải điều phối CPU với hàng chờ nhiều mức ( MQS). Và so sánh với thuật giải MFQS ?

Bài gửi  NguyenPhuongNhu(I22B) on 12/4/2013, 17:57

MQS: Hàng chờ nhiều mức là có nhiều hàng đợi.

MFQS: là điều phối hang chờ nhiều mức có điều tiết.Điều chuyển tiến trình từ mức này sang mức khác.
..hic..hic... câu nay` ai cứu mình với.xin cảm ơn....

NguyenPhuongNhu(I22B)

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

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

Về Đầu Trang Go down

Vì sao hệ điều hành phải có chức năng điều phối CPU. Các tiêu chí điều phối CPU

Bài gửi  TranBinhCongLuanI12A on 12/4/2013, 22:35

1. Vì sao hệ điều hành phải có chức năng điều phối CPU?
Trong các hệ đa chương thực thi nhiều chương trình đồng thời làm tăng hiệu suất hệ thống.
Tại mỗi thời điểm, chỉ có một process được thực thi. Do đó, cần phải giải quyết vấn đề phân chia, lựa chọn process thực thi sao cho được hiệu quả nhất  chiến lược định thời CPU.

2.Các tiêu chí điều phối CPU
1. 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.
2. 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.
3. 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, …).
4. Thời gian chờ (Waiting Time): Tổng thời gian chờ tại Ready Queue.
5. 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.

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

Giải bài tập.

Bài gửi  MaiXuanSon (I22B) on 13/4/2013, 11:17

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:

Dùng thuật giải RRS với thời lượng bằng 20 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
Bài giải:
Bảng trợ giúp


a) Thể hiện bằng biểu đồ Gantt:


b) 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 = (70 - 4) - 46 = 66 - 46 = 20 ms
P2 = (98 - 30) - 28 = 68 - 28 = 40 ms
P3 = (111 - 51) - 33 = 60 - 33 = 27 ms
- Thời gian chờ trung bình = (20 + 40 + 27)/3 = 87/3 = 29 ms

MaiXuanSon (I22B)

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

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  NguyenTrongTinh(I22A) on 14/4/2013, 11:45

Đồng bộ hóa tiến trình là điều khiển công việc của luồng và tiến trình sao cho logic và đáp ứng yêu cầu đặt ra.
Mục đích của đồng bộ hóa tiến trình.
- Đảm bảo tính nhất quán của tài nguyên dùng chung.
ví dụ: bài toán sản xuất tiêu thụ.
một bạn trong lớp lên bảng (tài nguyên dùng chung của lớp) ghi thông tin cá nhân nhưng chưa ghi xong thì bạn khác dưới lớp chụp lại thông tin trên sẽ không đúng. muốn lấy thông tin chính xác thì bạn dưới lớp cần lấy thông tin của bạn trên bảng ghi phải chờ bạn ấy ghi hết thông tin rồi mới chụp ảnh.
- Tránh Deadlock ( hiện tượng kẹt tiến trình).
ví dụ: hiện tượng kẹt xe khi có cảnh sát giao thông điều tiết phân luồng thì sẽ không còn kẹt xe nữa.

NguyenTrongTinh(I22A)

Tổng số bài gửi : 31
Join date : 11/03/2013
Age : 25
Đến từ : BR-VT

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

Về Đầu Trang Go down

Bốn tình huống ra quyết định của trình điều phối và phân biệt Điều phối không tiếm quyền(Non - Preemtive)và Điều phối có tiếm quyền (Preemtive)

Bài gửi  LeThanhQuang (I22B) on 15/4/2013, 23:57

A. Bốn tình huống ra quyết định của trình điều phối CPU:
* 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.
* Sơ đồ điều phối chỉ tiến hành trong tình huống 1 và 4 đượ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 khi 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).
B. 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ùng đ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: Preemptive Scheduling thì điều phối CPU có tiếm quyền còn Non-Preemptive Scheduling thì điều phối CPU không tiếm quyền.
- Non-Preemptive Scheduling: Có nghĩa là khi có 1 tiến trình P1,P2 xuất hiện thì nó sẽ thực hiện xong tiến trình P1 , sau đó mới thực hiện tiến trình P2 (cách làm trong Windows 3.1 và Macintosh OS)
- Preemptive Scheduling : có nghĩa là khi có 1 tiến trình P1,P2,P3 xuất hiện thì nó sẽ thực hiện 1 phần của tiến trình P1 , sau đó nó tiếm quyền và thực hiện 1 phần của tiến trình P2 , sau đó nó tiếm quyền và thực hiện 1 phần của tiến trình P3. Cứ như vậy nó sẽ thực hiện xong các tiến trình.

C. Chú ý: Trong 4 tình huống ra quyết định của trình điều phổi CPU ở trên thì 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 kết thúc công việc.) là tình huống mà điều phổi không tiếm quyền(Không dùng CPU) vì lúc này chương trình tự nguyện trá CPU.Còn tình huống(Khi tiến trình chuyển từ Running sang Ready (do ngắt xảy ra) vá Khi tiến trình chuyển từ Waiting sang Ready (khi kết thúc I/O)) là tình huống mad điều phổi có tiếm quyền.Đây là mô hình hiện đại nhằm giúp CPU hoạt động hết hiệu suất của mình để làm giám thiếu tối đa thời gian chờ nhằm đáp ứng được hiệu quả công việc cao hơn.

LeThanhQuang (I22B)

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

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

Về Đầu Trang Go down

Năm tiêu chí điều phối CPU là những tiêu chí nào?

Bài gửi  LeThiKimNgan67(I11C) on 16/4/2013, 10:27

1. 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.
2. 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.
3. 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ồmtổ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, …).
4. Thời gian chờ (Waiting Time): Tổng thời gian chờ tại Ready Queue.
5. 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

LeThiKimNgan67(I11C)

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

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

Về Đầu Trang Go down

Vì sao hệ điều hành phải có chức năng điều phối CPU?

Bài gửi  LeThiKimNgan67(I11C) on 16/4/2013, 10:28

Trong các hệ đa chương thực thi nhiều chương trình đồng thời làm tăng hiệu suất hệ thống.Tại mỗi thời điểm, chỉ có một process được thực thi. Do đó, cần phải giải quyết vấn đề phân chia, lựa chọn process thực thi sao cho được hiệu quả nhất → chiến lược định thời CPU

LeThiKimNgan67(I11C)

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

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

Về Đầu Trang Go down

Bai 6: Dieu phoi CPU

Bài gửi  TranAnhTam(I22B) on 16/4/2013, 17:50

Điều phối CPU là một tác vụ chọn một quá trình đang chờ từ hàng đợi sẳn sàng và cấp phát CPU tới nó. CPU được cấp phát tới quá trình được chọn bởi bộ cấp phát.
Điều phối đến trước, được phục vụ trước (FCFS) là giải thuật định thời đơn giản nhất, nhưng nó có thể gây các quá trình ngắn chờ các quá trình quá trình quá dài. Điều phối ngắn nhất, phục vụ trước (SJFS) có thể tối ưu, cung cấp thời gian chờ đợi trung bình ngắn nhất. Cài đặt điều phối SJFS là khó vì đoán trước chiều dài của chu kỳ CPU kế tiếp là khó. Giải thuật SJFS là trường hợp đặc biệt của giải thuật định thời trưng dụng thông thường. Nó đơn giản cấp phát CPU tới quá trình có độ ưu tiên cao nhất. Cả hai điều phối độ ưu tiên và SJFS có thể gặp phải trở ngại của việc đói tài nguyên.

Điều phối quay vòng (RRS) là hợp lý hơn cho hệ thống chia sẻ thời gian. Điều phối RRS cấp phát CPU tới quá trình đầu tiên trong hàng đợi sẳn sàng cho q đơn vị thời gian, ở đây q là định mức thời gian. Sau q đơn vị thời gian, nếu quá trình này không trả lại CPU thì nó bị chiếm và quá trình này được đặt vào đuôi của hàng đợi sẳn sàng. Vấn đề quan trọng là chọn định mức thời gian. Nếu định mức quá lớn, thì điều phối RRS giảm hơn định thời FCFS ; nếu định mức quá nhỏ thì chi phí định thời trong dạng thời gian chuyển ngữ cảnh trở nên thừa.
Giải thuật FCFS là không ưu tiên; giải thuật RRS là ưu tiên. Các giải thuật SJFS và ưu tiên có thể ưu tiên hoặc không ưu tiên.
Các giải thuật hàng đợi nhiều cấp cho phép các giải thuật khác nhau được dùng cho các loại khác nhau của quá trình. Chung nhất là hàng đợi giao tiếp ở chế độ hiển thị dùng định thời RRS và hàng đợi bó chạy ở chế độ nền dùng định thời FCFS. Hàng đợi phản hồi nhiều cấp cho phép các quá trình di chuyển từ hàng đợi này sang hàng đợi khác.
Vì có nhiều giải thuật định thời sẳn dùng, chúng ta cần các phương pháp để chọn giữa chúng. Các phương pháp phân tích dùng cách thức phân tích toán học để xác định năng lực của giải thuật. Các phương pháp mô phỏng xác định năng lực bằng cách phỏng theo giải thuật định thời trên những mẫu "đại diện" của quá trình và tính năng lực kết quả.

TranAnhTam(I22B)

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

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

Về Đầu Trang Go down

Chiến lược điều phối CPU

Bài gửi  LeVanVan (I22B) on 17/4/2013, 21:35

- Mỗi tiến trình được gán cho một ưu tiên tương ứng, tiến trình có độ ưu tiên cao nhất sẽ được chọn để cấp phát CPU .
Ví dụ: Trong phòng bán vé ở một ga tàu hỏa, sẽ có những thứ tự ưu tiên cho người mua vé, ưu tiên cho người tàn tật, người già, phụ nữ có thai, người đến trước, đến sau...
- Độ ưu tiên của tiến trình do hệ điều hành qui định và có thể bị thay đổi, điều phối với độ ưu tiên có thể độc quyền hay không độc quyền.
- Điều phối với độ ưu tiên không độc quyền sẽ thu hồi tài nguyên, từ các tiến trình hiện hành để cấp cho tiến trình mới với độ ưu tiên cao hơn.
- Điều phối với độ ưu tiên, độc quyền sẽ chèn tiến trình mới vào danh sách tại vị trí phù hợp.

LeVanVan (I22B)

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

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

Về Đầu Trang Go down

Định nghĩa và mục đích điều phôí tiến trình

Bài gửi  LeThanhQuang (I22B) on 17/4/2013, 22:01

Trong môi trường đa chương, có thể xảy ra tình huống nhiều tiến trình đồng thời sẵn sàng để xử lý. Mục tiêu của các hệ phân chia thời gian (time-sharing) là chuyển đổi CPU qua lại giữa các tiến trình một cách thường xuyên để nhiều người sử dụng có thể tương tác cùng lúc với từng chương trình trong quá trình xử lý.

Để thực hiện được mục tiêu này, hệ điều hành phải lựa chọn tiến trình được xử lý tiếp theo. Bộ điều phối sẽ sử dụng một giải thuật điều phối thích hợp để thực hiện nhiệm vụ này. Một thành phần khác của hệ điều hành cũng tiềm ẩn trong công tác điều phối là bộ phân phối (dispatcher). Bộ phân phối sẽ chịu trách nhiệm chuyển đổi ngữ cảnh và trao CPU cho tiến trình được chọn bởi bộ điều phối để xử lý.

Mục đích:
Bộ điều phối không cung cấp cơ chế, mà đưa ra các quyết định. Các hệ điều hành xây dựng nhiều chiến lược khác nhau để thực hiện việc điều phối, nhưng tựu chung cần đạt được các mục tiêu sau :

a) Sự công bằng ( Fairness) :

Các tiến trình chia sẻ CPU một cách công bằng, không có tiến trình nào phải chờ đợi vô hạn để được cấp phát CPU

b) Tính hiệu qủa (Efficiency) : Hệ thống phải tận dụng được CPU 100% thời gian.

c) Thời gian đáp ứng hợp lý (Response time) : Cực tiểu hoá thời gian hồi đáp cho các tương tác của người sử dụng

d) Thời gian lưu lại trong hệ thống ( Turnaround Time) : Cực tiểu hóa thời gian hoàn tất các tác vụ xử lý theo lô.

e) Thông lượng tối đa (Throughput ) : Cực đại hóa số công việc được xử lý trong một đơn vị thời gian.

Tuy nhiên thường không thể thỏa mãn tất cả các mục tiêu kể trên vì bản thân chúng có sự mâu thuẫn với nhau mà chỉ có thể dung hòa chúng ở mức độ nào đó.

LeThanhQuang (I22B)

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

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

Về Đầu Trang Go down

Phân biệt thuật giải MSQ với thuật giải MFSQ

Bài gửi  nguyenhoanglam_I22B on 21/4/2013, 23:21

*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 tàu 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.

nguyenhoanglam_I22B

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

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

Về Đầu Trang Go down

so sánh Preemptive Scheduling với Non-Preemptive Scheduling

Bài gửi  Ng0HaiQuan(i22B) on 26/4/2013, 07:48

Giống nhau: cùng đ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:
- Preemptive Scheduling thì điều phối CPU có tiếm quyền còn Non-Preemptive Scheduling thì điều phối CPU không tiếm quyền.có nghĩa là khi có 1 tiến trình P1,P2,P3 xuất hiện thì nó sẽ thực hiện 1 phần của tiến trình P1 , sau đó nó tiếm quyền và thực hiện 1 phần của tiến trình P2 , sau đó nó tiếm quyền và thực hiện 1 phần của tiến trình P3. Cứ như vậy nó sẽ thực hiện xong các tiến trình.
- Non-Preemptive Scheduling : Có nghĩa là khi có 1 tiến trình P1,P2 xuất hiện thì nó sẽ thực hiện xong tiến trình P1, sau đó mới thực hiện tiến trình P2 (cách làm trong Windows 3.1 và Macintosh OS).

Ng0HaiQuan(i22B)

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

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

Về Đầu Trang Go down

Bốn 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ều Phối Không Tiếm Quyền

Bài gửi  PhanNgocThoai(I22B) on 5/5/2013, 20:05

Bốn tình huống ra quyết định của trình điều phối CPU:
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(Preemptive Scheduling) và điều phối không tiếm quyền (Non-Preemptive Scheduling)
+ Có tiếm quyền: Điều phối chỉ xảy ra ở thời điểm 1 va 4, không xảy ra điều phối ở thời điểm 2 và 3. Tiến trình giữ CPU cho đến khi kết thúc bình thường hoặc khi chuyển sang trạng thái Waiting (cách làm trong Windows 3.1 và Macintosh OS). Dùng khi máy không có Timer. Trên HĐH hiện đại đa số có tiếm quyền.
+ Không tiếng quyền: Xảy ra trong cả 4 tình huống. Có thể bắt được tiến đang chạy, không cho độc chiếm CPU

PhanNgocThoai(I22B)

Tổng số bài gửi : 17
Join date : 22/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 14:48


Sponsored content


Về Đầu Trang Go down

Trang 10 trong tổng số 11 trang Previous  1, 2, 3 ... , 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