Thảo luận Bài 6

Trang 2 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

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

Bài gửi  NguyenHoangThien(I22B) on 25/3/2013, 22:44

Câu 4: Phân biệt thuật giải MQS với thuật giải MFQS

Điều phối hàng chờ nhiều mức (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, 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.



Điều phối hàng chờ nhiều mức có điều tiết ( Multilevel Feedback Queue Scheduling - MFQS )
• Như MQS nhưng cho phép Điều tiết tiến trình sang mức khc, 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


NguyenHoangThien(I22B)

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

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

Về Đầu Trang Go down

SJFS với RRS !

Bài gửi  NguyenQuocHuy (I22B) on 25/3/2013, 22:46

- Hai thuật giải SJFS với RRS không liên quan gì đến nhau. Nếu dùng RRS, tiêu chí duy nhất để bị tiếm quyền sử dụng CPU là hết Thời luợng (Time Quantum).
- Với RRS, khi hết thời lượng, tiến trình hiện hành được đưa vào cuối Ready Queue, còn tiến trình ở đầu danh sách trong Ready Queue sẽ được chọn kế tiếp.

Admin
- Có bạn muốn "kết hợp" 2 thuật giải trên là sai ! Chúng không liên quan gì với nhau !
- Câu 4 của Đề thi Cuối kỳ: Bài tập dùng RRS hoặc Bài tập dùng SJFS !

NguyenQuocHuy (I22B)

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

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  NguyenThanhQuoc(I22A) on 25/3/2013, 22:51

1/Việc sử dụng CPU: chúng ta muốn giữ CPU bận nhiều nhất có thể. Việc sử
dụng CPU có thể từ 0 đến 100%. Trong hệ thống thực, nó nên nằm trong
khoảng từ 40% (cho hệ thống được nạp tải nhẹ) tới 90% (cho hệ thống được
nạp tải nặng).
2/Thông suất hệ thống: nếu CPU bận thực thi các quá trình thì công việc đang được
thực hiện. Thước đo của công việc là số lượng quá trình được hoàn thành
trên một đơn vị thời gian gọi là thông lượng (throughput). Đối với các quá
trình dài, tỉ lệ này có thể là 1 quá trình trên 1 giờ; đối với các giao dịch
ngắn, thông lượng có thể là 10 quá trình trên giây.
3/Thời gian hoàn thành: từ quan điểm của một quá trình cụ thể, tiêu chuẩn
quan trọng là mất bao lâu để thực thi quá trình đó. Khoảng thời gian từ thời
điểm gởi quá trình tới khi quá trình hoàn thành được gọi là thời gian hoàn
thành (turnaround time). Thời gian hoàn thành là tổng các thời gian chờ
đưa quá trình vào bộ nhớ, chờ hàng đợi sẳn sàng, thực thi CPU và thực hiện
nhập/xuất.
4/ Thời gian chờ: giải thuật định thời CPU không ảnh hưởng lượng thời gian
quá trình thực thi hay thực hiện nhập/xuất; nó ảnh hưởng chỉ lượng thời gian
một quá trình phải chờ trong hàng đợi sẳn sàng. Thời gian chờ (waiting
time) là tổng thời gian chờ trong hàng đợi sẳn sàng.
5/ Thời gian đáp ứng: trong một hệ thống giao tiếp, thời gian hoàn thành
không là tiêu chuẩn tốt nhất. Thông thường, một quá trình có thể tạo ra dữ
liệu xuất tương đối sớm và có thể tiếp tục tính toán các kết quả mới trong
khi các kết quả trước đó đang được xuất cho người dùng. Do đó, một thước
đo khác là thời gian từ lúc gởi yêu cầu cho tới khi đáp ứng đầu tiên được tạo
ra. Thước đo này được gọi là thời gian đáp ứng (response time), là lượng
thời gian mất đi từ lúc bắt đầu đáp ứng nhưng không là thời gian mất đi để
xuất ra đáp ứng đó. Thời gian hoàn thành thường bị giới hạn bởi tốc độ của
thiết bị xuất.

NguyenThanhQuoc(I22A)

Tổng số bài gửi : 18
Join date : 09/03/2013
Age : 24
Đến từ : lớp TH10a3, Dh mở tp.hcm

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  nguyenthithutrang (I11C) on 25/3/2013, 22:54

Ý nghĩa khi vẽ 1 biểu đồ Gantt
1. Biểu đồ Gantt là gì?

Biểu đồ Gantt là đồ thị với những thanh nằm ngang để chỉ hoạt động ngược lại với ngày. Đây là công cụ để đo lường tiến độ thực hiện dự án so với kế hoạch đề ra.

Cách vẽ một biểu đồ Gantt:

* Vẽ đường thời gian của dự án/ chương trình từ đầu cho đến cuối dự án trên trục toạ độ (trục tung- nằm ngang);
* Trên trục hoành (ngược lại với trục tung) thể hiện các hoạt động cần được hoàn thành trong suốt dự án/ chương trình;
* Vẽ một thanh nằm ngang ở mỗi mức độ của hoạt động để chỉ khoảng thời gian thực hiện mỗi công việc.

TIP Đối với khoảng thời gian dự kiến thực hiện hoạt động có thể sử dụng một công thức để tính thời gian dự kiến:

Trong đó:
PT là thời gian dài nhất hoạt động có thể diễn ra
ET là thời gian ước tính cho hoạt động thực hiện
OT là thời gian ít nhất khi hoạt động diễn ra
ST là thời gian dự kiến và sử dụng ST trên biểu đồ

2. Tại sao biểu đồ Gantt có ý nghĩa?

Biểu đồ Gantt là một cách đơn giản và dễ hiểu để giám sát tiến độ của các hoạt động khi thực hiện dự án/ chương trình

3. Biểu đồ Gantt hỗ trợ như thế nào?

Biểu đồ Gantt hỗ trợ bạn theo 2 cách chính. Đầu tiên, chúng cung cấp cho bạn hình ảnh trực quan về các hoạt động và thời gian thực hiện. Thứ hai, chúng cho phép bạn truyền đạt động tin bằng một cách dễ dàng với các đồng nghiệp khác trong nhóm về trạng thái của dự án/ chương trình.

4. Biểu đồ Gantt được áp dụng ở đâu?

Biểu đồ Gantt được sử dụng cho bất kỳ dự án/ chương trình để xác định tiến độ và làm rõ mục tiêu. Chúng giúp liên kết giữa mọi người/ nguồn lực trong dự án cùng với nhiều hoạt động trong đó.

5. Biểu đồ Gantt có ý nghĩa khi nào?

Khi bạn đang quản lý một chương trình/ dự án có nhiều hoạt động phức tạp, biểu đồ Gantt được khuyên dùng, đặc biệt nếu bạn yêu cầu lao động đầu vào từ các nguồn khác nhau để hoàn thành các công việc này. Nó giúp bạn nắm rõ được mối quan hệ giữa các công việc, ví dụ khi các công việc thực hiện liên tiếp nhau, hoặc có thể được thực hiện song song.

6. Biểu đồ Gantt đem lại lợi ích cho ai?

Biểu đồ Gantt có lợi cho cả những người quản lý chương trình/ dự án và tất cả những ai tham gia thực hiện công việc trong dự án.

nguyenthithutrang (I11C)

Tổng số bài gửi : 33
Join date : 26/08/2011
Age : 28
Đến từ : Lâm Đồng

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

Về Đầu Trang Go down

Re NguyenHoangThien(I22B)

Bài gửi  nguyenvankhoa59(122B) on 25/3/2013, 23:00

NguyenHoangThien(I22B) đã viết:Gantt charts
Main article: Gantt chart


A Gantt chart showing three kinds of schedule dependencies (in red) and percent complete indications.
Gantt created many different types of charts.[7] He designed his charts so that foremen or other supervisors could quickly know whether production was on schedule, ahead of schedule, or behind schedule. Modern project management software includes this critical function even now.
Gantt (1903) describes two types of balances:[8]
the "man’s record", which shows what each worker should do and did do, and
the "daily balance of work", which shows the amount of work to be done and the amount that is done.
Gantt gives an example with orders that will require many days to complete. The daily balance has rows for each day and columns for each part or each operation. At the top of each column is the amount needed. The amount entered in the appropriate cell is the number of parts done each day and the cumulative total for that part. Heavy horizontal lines indicate the starting date and the date that the order should be done. According to Gantt, the graphical daily balance is "a method of scheduling and recording work". In this 1903 article, Gantt also describes the use of:
"production cards" for assigning work to each operator and recording how much was done each day.
In his 1916 book "Work, Wages, and Profits" [9] Gantt explicitly discusses scheduling, especially in the job shop environment. He proposes giving to the foreman each day an "order of work" that is an ordered list of jobs to be done that day. Moreover, he discusses the need to coordinate activities to avoid "interferences". However, he also warns that the most elegant schedules created by planning offices are useless if they are ignored, a situation that he observed.
In his 1919 book "Organizing for Work" [10] Gantt gives two principles for his charts:
one, measure activities by the amount of time needed to complete them;
two, the space on the chart can be used to represent the amount of the activity that should have been done in that time.
Gantt shows a progress chart that indicates for each month of the year, using a thin horizontal line, the number of items produced during that month. In addition, a thick horizontal line indicates the number of items produced during the year. Each row in the chart corresponds to an order for parts from a specific contractor, and each row indicates the starting month and ending month of the deliveries. It is the closest thing to the Gantt charts typically used today in scheduling systems, though it is at a higher level than machine scheduling.
Gantt’s machine record chart and man record chart are quite similar, though they show both the actual working time for each day and the cumulative working time for a week. Each row of the chart corresponds to an individual machine or operator. These charts do not indicate which tasks were to be done, however.
A novel method of displaying interdependencies of processes to increase visibility of production schedules was invented in 1896 by Karol Adamiecki, which was similar to the one defined by Gantt in 1903. However, Adamiecki did not publish his works in a language popular in the West; hence Gantt was able to popularize a similar method, which he developed around the years 1910–1915, and the solution became attributed to Gantt. With minor modifications, what originated as the Adamiecki's chart is now more commonly referred to as the Gantt Chart.[11][12]


xin lỗi bạn theo mình thi khi đăng bài bạn nên sử dụng tiếng việt để mọi người có thể xem vì không phải ai cũng đọc tốt tiếng anh bạn ak

nguyenvankhoa59(122B)

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

Xem lý lịch thành viên http://nguyênvănkhoa.vn

Về Đầu Trang Go down

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

Bài gửi  NguyenHoangKimVu (I11C) on 25/3/2013, 23:03

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.

NguyenHoangKimVu (I11C)

Tổng số bài gửi : 62
Join date : 25/08/2011

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  HoangThanhThien(I22B) on 25/3/2013, 23:16

nguyenvankhoa59(122B) đã viết:
NguyenHoangThien(I22B) đã viết:Gantt charts
Main article: Gantt chart


A Gantt chart showing three kinds of schedule dependencies (in red) and percent complete indications.
Gantt created many different types of charts.[7] He designed his charts so that foremen or other supervisors could quickly know whether production was on schedule, ahead of schedule, or behind schedule. Modern project management software includes this critical function even now.
Gantt (1903) describes two types of balances:[8]
the "man’s record", which shows what each worker should do and did do, and
the "daily balance of work", which shows the amount of work to be done and the amount that is done.
Gantt gives an example with orders that will require many days to complete. The daily balance has rows for each day and columns for each part or each operation. At the top of each column is the amount needed. The amount entered in the appropriate cell is the number of parts done each day and the cumulative total for that part. Heavy horizontal lines indicate the starting date and the date that the order should be done. According to Gantt, the graphical daily balance is "a method of scheduling and recording work". In this 1903 article, Gantt also describes the use of:
"production cards" for assigning work to each operator and recording how much was done each day.
In his 1916 book "Work, Wages, and Profits" [9] Gantt explicitly discusses scheduling, especially in the job shop environment. He proposes giving to the foreman each day an "order of work" that is an ordered list of jobs to be done that day. Moreover, he discusses the need to coordinate activities to avoid "interferences". However, he also warns that the most elegant schedules created by planning offices are useless if they are ignored, a situation that he observed.
In his 1919 book "Organizing for Work" [10] Gantt gives two principles for his charts:
one, measure activities by the amount of time needed to complete them;
two, the space on the chart can be used to represent the amount of the activity that should have been done in that time.
Gantt shows a progress chart that indicates for each month of the year, using a thin horizontal line, the number of items produced during that month. In addition, a thick horizontal line indicates the number of items produced during the year. Each row in the chart corresponds to an order for parts from a specific contractor, and each row indicates the starting month and ending month of the deliveries. It is the closest thing to the Gantt charts typically used today in scheduling systems, though it is at a higher level than machine scheduling.
Gantt’s machine record chart and man record chart are quite similar, though they show both the actual working time for each day and the cumulative working time for a week. Each row of the chart corresponds to an individual machine or operator. These charts do not indicate which tasks were to be done, however.
A novel method of displaying interdependencies of processes to increase visibility of production schedules was invented in 1896 by Karol Adamiecki, which was similar to the one defined by Gantt in 1903. However, Adamiecki did not publish his works in a language popular in the West; hence Gantt was able to popularize a similar method, which he developed around the years 1910–1915, and the solution became attributed to Gantt. With minor modifications, what originated as the Adamiecki's chart is now more commonly referred to as the Gantt Chart.[11][12]


xin lỗi bạn theo mình thi khi đăng bài bạn nên sử dụng tiếng việt để mọi người có thể xem vì không phải ai cũng đọc tốt tiếng anh bạn ak

Đúng đó

HoangThanhThien(I22B)

Tổng số bài gửi : 43
Join date : 14/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  NguyenQuocHuy (I22B) on 25/3/2013, 23:32

NguyenHoangThien(I22B) đã viết:Câu 4: Phân biệt thuật giải MQS với thuật giải MFQS

Điều phối hàng chờ nhiều mức (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, 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.



Điều phối hàng chờ nhiều mức có điều tiết ( Multilevel Feedback Queue Scheduling - MFQS )
• Như MQS nhưng cho phép Điều tiết tiến trình sang mức khc, 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


Ban co the cho vi du ro hon duoc ko! thanks.

NguyenQuocHuy (I22B)

Tổng số bài gửi : 49
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  caoanhthi(I22B) on 25/3/2013, 23:41

caoanhthi(I22B) đã 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
Mình xin trình bày bản chất của thuật giải: Vòng Robin chạy vòng từ P1->P2
Bài này được giải theo thuật giải Vòng Robin có Time Quantum=10ms
Đầu tiên tiến trình P1 bắt đầu ở thời điểm là 5 và chạy trong TQ(Time Quantum)=10ms nhưng CPU-Burst của P1 là 34ms>QT nên vẫn còn 24ms . Lúc này vẫn chưa có tiến trình nào vào hệ thống nên P1 chạy tiếp với TQ =10ms đến 25 lúc này có P2 vào hệ thống ở thời điểm 17 nên P1 phải nhường chỗ cho P2.CPU-Burst của P2=23, P2 chạy từ 25 đến 35, P2 vẫn còn 13. Ở thời điểm 24 lại có P3 vào tiến trình nên P2 không thể chạy tiếp mà nhường chổ cho P3. CPU-Burst của P3 là 9 P2 theo thời lượng Time Quantum =10 cho đến hết.

caoanhthi(I22B)

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

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  HoangThanhThien(I22B) on 25/3/2013, 23:45

NguyenQuocHuy (I22B) đã viết:
NguyenHoangThien(I22B) đã viết:Câu 4: Phân biệt thuật giải MQS với thuật giải MFQS

Điều phối hàng chờ nhiều mức (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, 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.



Điều phối hàng chờ nhiều mức có điều tiết ( Multilevel Feedback Queue Scheduling - MFQS )
• Như MQS nhưng cho phép Điều tiết tiến trình sang mức khc, 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


Ban co the cho vi du ro hon duoc ko! thanks.

Ví dụ về :
* MQS
Ưu tiên cho cao trước rồi mới tới thấp, ví dụ trong sân bay, khi mua vào cổng qua an ninh, ưu tiên những người cỗng 1 trước, rồi mới tới những người cổng 2, 3, 4 ...... Ai là cán bộ, công viên chức thì ưu tiên vào trước, rồi mới tới cổng dành cho sinh viên, học sinh.

*MFQS
Sân bay bán vé, có 3 cổng chẳng hạn, mức độ 0 ưu tiên trước, bắt buộc hàng đầu tiên, nếu mua vé xong, đi ra ngoài luôn, theo chiều mũi tên và những người chưa mua được còn lại đẩy xuống hàng kế tiếp và nếu mua được thì đi ra ngoài, và cứ như thế đẩy những người còn lại xuống độ 2 và xong đi ra ngoài. Bạn nhìn mũi tên sẽ hiểu.

Còn ra thi, nếu thầy vẽ thêm mũi tên đi lên: thì bạn sẽ giải thích là có sự nâng cấp. Sơ đồ trong sách gọi là hạ cấp. Bạn không hiễu cứ comment nhé

Admin
Có nghe giảng !


HoangThanhThien(I22B)

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

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

Về Đầu Trang Go down

giải bài tập điều phối CPU bằng thuật giải SJFS(phương án có tiếm quyền)

Bài gửi  nguyenvankhoa59(122B) on 25/3/2013, 23:50

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.


Được sửa bởi nguyenvankhoa59(122B) ngày 26/3/2013, 00:01; sửa lần 1.

nguyenvankhoa59(122B)

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

Xem lý lịch thành viên http://nguyênvănkhoa.vn

Về Đầu Trang Go down

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

Bài gửi  NguyenHoangKimVu (I11C) on 25/3/2013, 23:56

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)/3 = 31,7 (ms)


Đây là bài thi năm ngoái, mình tìm hiểu từ 4rum cách giải mới, lời giải thích có vẻ hơi lủng củng xíu, nhưng hy vọng các bạn hiểu. Sau khi ra được bảng trên thì ta có các mốc là 10, 30, 50, 65, 75, 90 để vẽ biểu đồ Gantt, sẽ không bị nhầm lẫn.

Admin
- Dùng Bảng trợ giúp như trên chính là theo Công nghệ giải bài tập này đấy !
- Cần chỉ rõ cách sử dụng bảng đó !

NguyenHoangKimVu (I11C)

Tổng số bài gửi : 62
Join date : 25/08/2011

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

Về Đầu Trang 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 có tiếm quyền và điều phối không tiếm quyền? Đưa ra Ví dụ?

Bài gửi  NguyenPhuongNhu(I22B) on 25/3/2013, 23:58

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 có tiếm quyền và điều phối không tiếm quyền? Đưa ra Ví dụ?
Hic..hic…phần trả lời câu hỏi thì các bạn đã nhanh chân trả lời hết rồi. Mình nêu phần ví dụ :
VD không tiếm quyền: Công ty có 1 chiếc ôtô (đóng vai trò CPU) để phục vụ cho nv đi công tác. NV A cần đi công tác Bình Thuận 5 ngày. CTy cấp chiếc ô tô này cho A đi suốt trong 5 ngày luôn rồi mới về. ( trong khoảng thời gian này, chỉ có duy nhất NV A được sử dụng chiếc xe này).
VD tiếm quyền: Công ty có 1 chiếc ôtô (đóng vai trò CPU) để phục vụ cho nv đi công tác. NV A được cấp ô tô đi công tác Vũng Tàu,đi đến gữa đường, ô tô thả NV A xuống quán nước 11,xe quay về CTy để chở NV B đi công tác Bình Dương,đi đến giữa đường thì xe lại thả NV B xuống quán nước 22, xe quay về chở NV C đi công tác Long An, đi đến giữa đường thì xe dừng lại thả NV C xuống quán nước 33, xe quay về quán nước 11 rước NV A để chở NV A đi đến Vũng Tàu. Khi tới VT xe thả NV A xuống đó rối quay về rước NV B tại quán 22 để tiếp tục chở NV B đi đến Bình Dương, ….và cứ như vậy …

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

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

Bài gửi  AnhDao(I22B) on 26/3/2013, 00:09

HoangThanhThien(I22B) đã viết:
nguyenvankhoa59(122B) đã viết:
NguyenHoangThien(I22B) đã viết:Gantt charts
Main article: Gantt chart


A Gantt chart showing three kinds of schedule dependencies (in red) and percent complete indications.
Gantt created many different types of charts.[7] He designed his charts so that foremen or other supervisors could quickly know whether production was on schedule, ahead of schedule, or behind schedule. Modern project management software includes this critical function even now.
Gantt (1903) describes two types of balances:[8]
the "man’s record", which shows what each worker should do and did do, and
the "daily balance of work", which shows the amount of work to be done and the amount that is done.
Gantt gives an example with orders that will require many days to complete. The daily balance has rows for each day and columns for each part or each operation. At the top of each column is the amount needed. The amount entered in the appropriate cell is the number of parts done each day and the cumulative total for that part. Heavy horizontal lines indicate the starting date and the date that the order should be done. According to Gantt, the graphical daily balance is "a method of scheduling and recording work". In this 1903 article, Gantt also describes the use of:
"production cards" for assigning work to each operator and recording how much was done each day.
In his 1916 book "Work, Wages, and Profits" [9] Gantt explicitly discusses scheduling, especially in the job shop environment. He proposes giving to the foreman each day an "order of work" that is an ordered list of jobs to be done that day. Moreover, he discusses the need to coordinate activities to avoid "interferences". However, he also warns that the most elegant schedules created by planning offices are useless if they are ignored, a situation that he observed.
In his 1919 book "Organizing for Work" [10] Gantt gives two principles for his charts:
one, measure activities by the amount of time needed to complete them;
two, the space on the chart can be used to represent the amount of the activity that should have been done in that time.
Gantt shows a progress chart that indicates for each month of the year, using a thin horizontal line, the number of items produced during that month. In addition, a thick horizontal line indicates the number of items produced during the year. Each row in the chart corresponds to an order for parts from a specific contractor, and each row indicates the starting month and ending month of the deliveries. It is the closest thing to the Gantt charts typically used today in scheduling systems, though it is at a higher level than machine scheduling.
Gantt’s machine record chart and man record chart are quite similar, though they show both the actual working time for each day and the cumulative working time for a week. Each row of the chart corresponds to an individual machine or operator. These charts do not indicate which tasks were to be done, however.
A novel method of displaying interdependencies of processes to increase visibility of production schedules was invented in 1896 by Karol Adamiecki, which was similar to the one defined by Gantt in 1903. However, Adamiecki did not publish his works in a language popular in the West; hence Gantt was able to popularize a similar method, which he developed around the years 1910–1915, and the solution became attributed to Gantt. With minor modifications, what originated as the Adamiecki's chart is now more commonly referred to as the Gantt Chart.[11][12]


xin lỗi bạn theo mình thi khi đăng bài bạn nên sử dụng tiếng việt để mọi người có thể xem vì không phải ai cũng đọc tốt tiếng anh bạn ak

Đúng đó

Razz

AnhDao(I22B)

Tổng số bài gửi : 52
Join date : 09/03/2013
Age : 26
Đến từ : HoChiMinh

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  AnhDao(I22B) on 26/3/2013, 00:30

HoangThanhThien(I22B) đã viết:HANDLE ConsumerHandle[50]; // Khai báo một mảng mục quản với 50 phần tử
DWORD ConsumerID[50]; // Khai báo một mảng số hiệu với 50 phần tử
for(int i=0;i<50;i++) // Cho một vòng for chạy với giá trị của i thay đổi từ 0->49.
Consumerhandle[i]=CreateThread(0,0,
LPTHREAD_START_ROUTINE)Consumer,0,4,ConsumerID[i]); // Hàm CreateThread dùng để thiết lập giá trị mới có số hiệu là ConsumerID[i] với giá trị chạy từ 0->49 và i thay đổi theo dòng lặp for và hàm CreateThread trả về mục quản của luồng mới được tạo và được gán cho phần tử mảng ConsumerHandle[i]. Sau đó Consumer dùng để điều khiển công việc của hàm xuất tương ứng. Số 4 thể hiện luồng này trạng thái ngủ, chờ được đánh thức. Thầy giải thích rằng tại sao dùng số 4 là do thầy tham khảo sách viết thế. Có thể thay đổi số khác, như số 5 chẳng hạn nhưng không chạy.

Mong thầy sữa giùm em và các bạn bổ sung

Bài của bạn mình xin dc bổ sung như những j mình nge dc từ Thầy nhé :
+ 2 số 0 trong lệnh : ko học nên các bạn đường quan tâm nhé, bít cách nó làm như vậy thôi
+ số 0 trước số 4 : thể hiện giá trị được truyền cho hàm
+ số 4 : thể hiện luồng mới được tạo sẽ vận hành theo code , nó báo cho người sử dụng bít luồng này trong trạng thái ngủ, và chờ được đánh thức sunny

AnhDao(I22B)

Tổng số bài gửi : 52
Join date : 09/03/2013
Age : 26
Đến từ : HoChiMinh

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  AnhDao(I22B) on 26/3/2013, 01:02

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

AnhDao(I22B)

Tổng số bài gửi : 52
Join date : 09/03/2013
Age : 26
Đến từ : HoChiMinh

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  AnhDao(I22B) on 26/3/2013, 01:09

HoangThanhThien(I22B) đã 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.

kết hợp luôn à Smile

Chào bạn , theo cách giải của mình với biêủ đồ trên sẽ như sau :
P1 = 10+(65-30) = 45
P2 = 30+(75-50) = 55
P3 = 50

Vậy P(tb) = (45 + 55 + 50)/3 = 50 ms

AnhDao(I22B)

Tổng số bài gửi : 52
Join date : 09/03/2013
Age : 26
Đến từ : HoChiMinh

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

Về Đầu Trang Go down

Chưa hiểu?

Bài gửi  PhamTuanChinh(I22B) on 26/3/2013, 01:18

Hôm qua thầy giảng có đoạn nói về cách điều phối tiến trình, mình thấy thắc mắc mà không thấy ai hỏi. Các bạn có biết khi nào thì dùng giải thuật nào cho phù hợp và tối ưu nhất không? Đôi khi có giải thuật ko phù hợp trong một số trường hợp?

Ban nào biết chỉ dùm mình với. Thanks!

PhamTuanChinh(I22B)

Tổng số bài gửi : 15
Join date : 26/03/2013
Age : 27
Đến từ : Tp. Hồ Chí Minh

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  AnhDao(I22B) on 26/3/2013, 01:20

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.

Bạn ơi, bạn có thể giải thích jum mình cách tính thời gian của từng P1...P4 dc k0? mình còn đang nhầm lẫn chỗ này , Thank bạn trước

AnhDao(I22B)

Tổng số bài gửi : 52
Join date : 09/03/2013
Age : 26
Đến từ : HoChiMinh

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  TruongMinhTriet(I22B) on 26/3/2013, 01:48

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

TruongMinhTriet(I22B)

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

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

Về Đầu Trang Go down

Gỉai thích bài tập điều phối CPU = p/p SJFS có tiếm quyền.

Bài gửi  HuynhDucQuang(I22B) on 26/3/2013, 02:00

Hình hơi to, các bạn có thể open image in new tab.


HuynhDucQuang(I22B)

Tổng số bài gửi : 38
Join date : 08/03/2013
Đến từ : 11H1010104

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

Về Đầu Trang Go down

Giải câu 4 đề thi I13A

Bài gửi  HuynhDucQuang(I22B) on 26/3/2013, 02:01

Hình hơi to, các bạn có thể open image in new tab.


HuynhDucQuang(I22B)

Tổng số bài gửi : 38
Join date : 08/03/2013
Đến từ : 11H1010104

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  AnhDao(I22B) on 26/3/2013, 02:53

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


Bạn ơi , bạn có thể giải thích jum mình tại sao tính dc P2= 30 - 20 ko?
Và P3 = 50 - 25 ? mình vẫn chưa hỉu ?
Lẽ ra P3 , thời gian chờ là móc 50 , sao lại trừ thêm cho 25 nhỉ? scratch

AnhDao(I22B)

Tổng số bài gửi : 52
Join date : 09/03/2013
Age : 26
Đến từ : HoChiMinh

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  NguyenHoangThien(I22B) on 26/3/2013, 07:21

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


Bạn ơi , bạn có thể giải thích jum mình tại sao tính dc P2= 30 - 20 ko?
Và P3 = 50 - 25 ? mình vẫn chưa hỉu ?
Lẽ ra P3 , thời gian chờ là móc 50 , sao lại trừ thêm cho 25 nhỉ? scratch

Mình giải thích vầy không biết có chính xác không nhé Smile Trong đề thì P2 đến ở ms thứ 20, nghĩa là trước đó không phải chờ. Thời gian chờ chỉ tính từ ms thứ 20 mà thôi. Do đó thời gian chờ của P2 = 30-20. Tương tự đối với P3, thời gian đến là 25 thì trừ đi khoảng trước đó P3 không phải chờ (vì chưa đến thì đâu có chờ) nên thời gian chờ của P3 = 50-25

NguyenHoangThien(I22B)

Tổng số bài gửi : 38
Join date : 15/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 26/3/2013, 09:04

nguyenvankhoa59(122B) đã 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

bạn tính thời gian chờ trung bình trên không đúng theo mình kết quả phải tính là:
thời gian chờ của:
- p1=(44-25)+(64-54)=29
- p2=(25-17)+(54-35)+(68-64)=31
- p3=35-24=11
vậy thời gian chờ TB=(29+31+11)/3=23,67 ms

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

Mình cũng tính ra kết qủa giống bạn "nguyenvankhoa59(122B)"


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  Sponsored content Today at 14:51


Sponsored content


Về Đầu Trang Go down

Trang 2 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