Câu 5. Phát biểu bài toán sản xuất và tiêu thụ

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

Câu 5. Phát biểu bài toán sản xuất và tiêu thụ

Bài gửi  TranBinhCongLuanI12A on 9/3/2012, 00:20

Hai tiến trình cùng chia sẻ một bộ đệm có kích thước giới hạn. Một trong 2 tiến trình đóng vai trò người sản xuất(tạo ra dữ liệu và đưa vào vùng đệm) và tiến trình kia đóng vai trò người tiêu thụ( lấy dữ liệu ra từ vùng đệm để xử lý)
- Hai tiến trình sản xuất - tiêu thụ vần tuân thủ các quy định sau:
+ Tiến trình sản xuất không được ghi dữ liệu vào bộ đệm đã đầy
+ Tiến trình tiêu thụ không được đọc dữ liệu từ bộ đệm trống.
+ Hai tiến trình sản xuất và tiêu thụ không được thao tác trên bộ đệm cùng lúc.


TranBinhCongLuanI12A

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

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

Về Đầu Trang Go down

Ví dụ về bài toán sản xuất tiêu thụ

Bài gửi  nguyenvanhonglac_0066 on 9/3/2012, 10:55

Ví dụ như một lớp sử dụng chung 1 cái bảng:
- Mỗi sinh viên là một tiến trình
- Những sinh viên nào lên bảng viết hoặc trình bày quan điểm của mình về một vấn đề nào đó thì ta gọi đó là một tiến trình sản xuất.
- Những sinh viên phía dưới tập trung lắng nghe, đọc thông tin hoặc ghi chép thì ta gọi đó là một tiến trình tiêu thụ.
-Hai tiến trình luôn xảy ra song song với nhau.Có tiêu thụ thì có sản xuất và ngược lại sản xuất ra thì cần phải có thứ để tiêu thụ.

nguyenvanhonglac_0066

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

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

Về Đầu Trang Go down

Re: Câu 5. Phát biểu bài toán sản xuất và tiêu thụ

Bài gửi  TranBinhCongLuanI12A on 14/3/2012, 12:36

nguyenvanhonglac_0066 đã viết:Ví dụ như một lớp sử dụng chung 1 cái bảng:
- Mỗi sinh viên là một tiến trình
- Những sinh viên nào lên bảng viết hoặc trình bày quan điểm của mình về một vấn đề nào đó thì ta gọi đó là một tiến trình sản xuất.
- Những sinh viên phía dưới tập trung lắng nghe, đọc thông tin hoặc ghi chép thì ta gọi đó là một tiến trình tiêu thụ.
-Hai tiến trình luôn xảy ra song song với nhau.Có tiêu thụ thì có sản xuất và ngược lại sản xuất ra thì cần phải có thứ để tiêu thụ.

vd này thầy đã nói trên lớp rồi, bạn có thể cho 1 vd mới đc ko?

TranBinhCongLuanI12A

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

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

Về Đầu Trang Go down

Re: Câu 5. Phát biểu bài toán sản xuất và tiêu thụ

Bài gửi  nguyenvanhonglac_0066 on 19/3/2012, 10:45

Phát biểu bài toán Sản xuất-Tiêu thụ và thuật giải với bộ đệm thực thi bằng mảng xoay vòng.
Phát biểu bài toán:
+ Giả sử có Bộ nhớ đệm (Buffer) bao gồm nhiều khoang (Items) được tiến trình Producer lần lượt đưa các sản phẩm S1, S2,... vào.
+ Tiến trình Consumer lần lượt lấy sản phẩm ra theo đúng thứ tự.
+ Công việc của Producer phải đồng bộ với Consumer: Không được đưa sản phẩm vào khi Buffer đầy, Không được lấy ra khi chưa có.
Trình bày giải thuật:

PRODUCER
item nextProduced;
while (1)
{
while(((in+1)%BUFFER_SIZE)==out); //quẩn tại đây khi buffer đầy.
buffer[in] = nextProduced;
in = (in+1)%BUFFER_SIZE;
}
-----------------------------------------------------------------------------
CONSUMER
item nextConsumed;
while (1)
{
while(in==out); //quẩn khi buffer rỗng
nextConsumed = buffer[out];
out = (out+1)%BUFFER_SIZE;
}

nguyenvanhonglac_0066

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

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

Về Đầu Trang Go down

Re: Câu 5. Phát biểu bài toán sản xuất và tiêu thụ

Bài gửi  TranBinhCongLuanI12A on 20/3/2012, 22:40

nguyenvanhonglac_0066 đã viết:Phát biểu bài toán Sản xuất-Tiêu thụ và thuật giải với bộ đệm thực thi bằng mảng xoay vòng.
Phát biểu bài toán:
+ Giả sử có Bộ nhớ đệm (Buffer) bao gồm nhiều khoang (Items) được tiến trình Producer lần lượt đưa các sản phẩm S1, S2,... vào.
+ Tiến trình Consumer lần lượt lấy sản phẩm ra theo đúng thứ tự.
+ Công việc của Producer phải đồng bộ với Consumer: Không được đưa sản phẩm vào khi Buffer đầy, Không được lấy ra khi chưa có.
Trình bày giải thuật:

PRODUCER
item nextProduced;
while (1)
{
while(((in+1)%BUFFER_SIZE)==out); //quẩn tại đây khi buffer đầy.
buffer[in] = nextProduced;
in = (in+1)%BUFFER_SIZE;
}
-----------------------------------------------------------------------------
CONSUMER
item nextConsumed;
while (1)
{
while(in==out); //quẩn khi buffer rỗng
nextConsumed = buffer[out];
out = (out+1)%BUFFER_SIZE;
}

Khá đầy đủ, thanks! Like a Star @ heaven

TranBinhCongLuanI12A

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

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

Về Đầu Trang Go down

Câu này cậu làm tốt thiệt

Bài gửi  DuongTrungQuan on 20/3/2012, 22:47

Phát biểu bài toán Sản xuất-Tiêu thụ và thuật giải với bộ đệm thực thi bằng mảng xoay vòng.
Phát biểu bài toán:
+ Giả sử có Bộ nhớ đệm (Buffer) bao gồm nhiều khoang (Items) được tiến trình Producer lần lượt đưa các sản phẩm S1, S2,... vào.
+ Tiến trình Consumer lần lượt lấy sản phẩm ra theo đúng thứ tự.
+ Công việc của Producer phải đồng bộ với Consumer: Không được đưa sản phẩm vào khi Buffer đầy, Không được lấy ra khi chưa có.
Trình bày giải thuật:

PRODUCER
item nextProduced;
while (1)
{
while(((in+1)%BUFFER_SIZE)==out); //quẩn tại đây khi buffer đầy.
buffer[in] = nextProduced;
in = (in+1)%BUFFER_SIZE;
}
-----------------------------------------------------------------------------
CONSUMER
item nextConsumed;
while (1)
{
while(in==out); //quẩn khi buffer rỗng
nextConsumed = buffer[out];
out = (out+1)%BUFFER_SIZE;
}

DuongTrungQuan

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

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

Về Đầu Trang Go down

Re: Câu 5. Phát biểu bài toán sản xuất và tiêu thụ

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

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