báo cáo tiểu luận môn lập trình mạng nâng cao lập trình bài toán người sản xuất - người tiêu thụ

17 596 2
báo cáo tiểu luận môn lập trình mạng nâng cao lập trình bài toán người sản xuất - người tiêu thụ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN BÀI TIỂU LUẬN MÔN LẬP TRÌNH MẠNG Đề tài: Lập trình bài toán Người sản xuất - Người tiêu thụ • Giáo viên hướng dẫn: PGS.TS LÊ VĂN SƠN • Học viên thực hiện : TRƯƠNG THỊ MINH HẬU • Lớp : KHMT K24 (T9/2011) ĐÀ NẴNG, THÁNG 05/2012 NỘI DUNG TRÌNH BÀY Bài toán Người sản xuất - Người tiêu thụ 1 Liên hệ bài toán với các đặc điểm hệ phân tán 2 Tìm hiểu về ngôn ngữ lập trình Java và kỹ thuật lập trình phân tán RMI 3 Demo chương trình 4 1 05/2012 Lập trình bài toán Người sản xuất - Người tiêu thụ 2/17 BÀI TOÁN NGƯỜI SẢN XUẤT - NGƯỜI TIÊU THỤ  Phát biểu bài toán: - Trong mô hình người sản xuất - người tiêu thụ, số lượng hàng hoá sản xuất ra hạn chế bởi khả năng tiêu thụ, không vượt quá số lượng tiêu thụ một giá trị N. - Người sản xuất P và người tiêu thụ C là hai người nằm trên hai trạm cách xa nhau. - Giả sử NP: thể hiện số lượng sản xuất ra và NC : số lượng tiêu thụ tại thời điểm khởi tạo. - C chỉ tiêu thụ sản phẩm, nếu sản phẩm sản xuất diễn ra khi NP-NC>0 - Tương tự, P chỉ sản xuất sản phẩm, khi NP-NC<N 05/2012 Lập trình bài toán Người sản xuất - Người tiêu thụ 3/17 Trong hệ thống tin học phân tán, có thể vận dụng hợp lực theo kiểu sau: Trên trạm P: Đưa biến NP : thể hiện số lượng chính xác sản xuất đã có và biến NC’ ảnh của NC mà P gia tăng mỗi lần nhận thông điệp từ C báo tiêu thụ mới đã diễn ra. (nghĩa NC’ là số lượng tiêu thụ mà sản xuất đã biết) Trên trạm C: Đưa biến NC : thể hiện số lượng chính xác tiêu thụ đã có và biến NP’ ảnh của NP mà C gia tăng mỗi lần nhận thông điệp từ P báo sản xuất mới đã diễn ra. (nghĩa NP’ là số lượng sản xuất mà tiêu thụ đã biết) Vậy trên trạm C, điều kiện để tiêu thụ xảy ra là: NP’-NC >0 Vậy trên trạm P, điều kiện để sản xuất xảy ra là: NP-NC’<N BÀI TOÁN NGƯỜI SẢN XUẤT - NGƯỜI TIÊU THỤ 05/2012 Lập trình bài toán Người sản xuất - Người tiêu thụ 4/17 Thực tế, có thể biểu diễn NP=NP’+np, với np >=0, np là lượng sản phẩm đã sản xuất bởi P mà C không biết. NC=NC’+nc, với nc >=0, nc là lượng sản phẩm đã tiêu thụ bởi C mà P không biết. Ta có thể khái quát phương pháp này theo kiểu đồng bộ hoá bằng công thức: ∑ > i ii KXC Trong đó Ci và K là các hằng số. Tức là đã sử dụng các biến trạng thái nguyên không lùi cho phép sử dụng các bản sao gần đúng của các biến loại này. Cơ chế đồng bộ gọi là các công tơ sự kiện thích hợp của các vấn đề đặt ra. BÀI TOÁN NGƯỜI SẢN XUẤT - NGƯỜI TIÊU THỤ 05/2012 Lập trình bài toán Người sản xuất - Người tiêu thụ 5/17 Mỗi công tơ sự kiện được kết hợp với một nhóm đặc biệt các sự kiện E, xác định ba hàm nguyên thuỷ sau:  Tang (E): Tăng nội dung công tơ lên một đơn vị, có nghĩa là một sự kiện nhóm E đến.  Truy_van(E): Cung cấp giá trị hiện hành của công tơ phối hợp với E.  Cho(E,n): treo tiến trình gọi chừng nào giá trị công tơ còn nhỏ hơn n. Với bài toán người sản xuất - người tiêu thụ, cần định nghĩa:  Hai công tơ sự kiện NP’ và NC’, được khởi tạo = 0.  Biến nguyên i, khởi sự là 0, là cục bộ đối với tiến trình người sản xuất P và người tiêu thụ C. BÀI TOÁN NGƯỜI SẢN XUẤT - NGƯỜI TIÊU THỤ 05/2012 Lập trình bài toán Người sản xuất - Người tiêu thụ 6/17 SƠ ĐỒ THUẬT TOÁN True Server NC’ < (NP-N+1) NP=0 NC’=0 Start san_xuat tang(NP’) Stop Client NP’ < NC+1) NC=0 NP’=0 Start Tieu_thu tang(NC’) Stop False True False 05/2012 Lập trình bài toán Người sản xuất - Người tiêu thụ 7/17 LIÊN HỆ CÁC ĐẶC ĐIỂM PHÂN TÁN ĐỐI VỚI BÀI TOÁN Các đối tượng sản xuất (P) và đối tượng tiêu thụ (C) được phân tán trên các trạm máy tính khác nhau. Việc quản lý các hoạt động được mô tả bởi 2 tiến trình mà các tiến trình được mô phỏng ở đây là người sản xuất và người tiêu thụ. Người sản xuất sản xuất ra sản phẩm gởi người tiêu thụ, ngược lại người tiêu thụ phải nhận sản phẩm sản xuất từ người sản xuất. Nếu người sản xuất mà chưa sản xuất thì người tiêu thụ phải chờ. Nếu người sản xuất sản xuất ra nhiều sản phẩm mà người tiêu thụ chưa tiêu thụ chưa hết sản phẩm thì người sản xuất phải dừng lại và chờ người tiêu thụ tiêu thụ hết sản phẩm rồi mới thực hiện sản xuất sản phẩm thứ N+1. 05/2012 Lập trình bài toán Người sản xuất - Người tiêu thụ 8/17 LIÊN HỆ CÁC ĐẶC ĐIỂM PHÂN TÁN ĐỐI VỚI BÀI TOÁN Trong bài toán ứng dụng này, người tiêu thụ sẽ lấy hàng trong bộ nhớ đệm mà người sản xuất đã sản xuất ra ở bộ đệm. Nếu trong bộ đệm rỗng thì người sản xuất tiếp tục sản xuất ra sản phẩm để bỏ trong bộ đệm. 05/2012 Lập trình bài toán Người sản xuất - Người tiêu thụ 9/17 TÌM HIỂU VỀ NGÔN NGỮ LẬP TRÌNH Java được thiết kế cho mục đích đa nền, mã của chương trình Java (tập tin .java) sau khi biên dịch là một file nhị phân gọi là byte-code (tập tin .class) và được triệu gọi thực thi trong máy ảo Java (JVM – Java Virtual Machine). Việc dịch chương trình Java sang bytecode có thể làm cho chương trình chạy được trên nhiều môi trường hơn vì chỉ cần có mỗi trình thông dịch JVM cho mỗi môi trường. 05/2012 Lập trình bài toán Người sản xuất - Người tiêu thụ 10/17 [...]... bộ quản lý RMI 2 Chạy ứng dụng Server 3 Chạy ứng dụng Client 05/2012 Lập trình bài toán Người sản xuất - Người tiêu thụ 15/17 DEMO CHƯƠNG TRÌNH Kết quả của bbProcducer Kết quả của bbconsumer 05/2012 Lập trình bài toán Người sản xuất - Người tiêu thụ 16/17 Chân thành cảm ơn! 17/20 05/2012 Lập trình bài toán Người sản xuất - Người tiêu thụ 17/17 ... viết các chương trình ứng dụng không thua gì các ngôn ngữ lập trình khác 05/2012 Lập trình bài toán Người sản xuất - Người tiêu thụ 11/17 KHÁI NIỆM LẬP TRÌNH PHÂN TÁN  Khái niệm lập trình phân tán RMI (REMOTE METHOD INVOCATION) Lập trình phân tán là kỹ thuật lập trình sử dụng nguồn tài nguyên phân tán trên mạng Kỹ thuật RMI của Java cho phép cài đặt, sử dụng các đối tượng phân tán trên mạng RMI là cách... ảo Java khác 05/2012 Lập trình bài toán Người sản xuất - Người tiêu thụ 12/17 KHÁI NIỆM LẬP TRÌNH PHÂN TÁN - Trên máy tính 1, các đối tượng A1, A2 gọi phương thức của nhau, đó là gọi phương thức cục bộ của lập trình hướng đối tượng Đối tượng A1 gọi phương thức từ xa của đối tượng B1 trong lập trình phân tán - Ứng dụng RMI gồm hai chương trình phân biệt liên lạc với nhau: -Chương trình Server tạo các... trình bài toán Người sản xuất - Người tiêu thụ 14/17 KỸ THUẬT LẬP TRÌNH PHÂN TÁN RMI II Dịch chương trình (dùng lệnh Javac) - Dịch Interface - Dịch Server - Tạo File.jar có chứa File.class cần cho ứng dụng - Sử dụng trình rmic.exe trong thư mục Jdk\Bin để tạo 2 lớp trung gian Stub.class và Skel.class - Thiết lập biến môi trường Classpath chỉ đến thư mục chứa class cần cho ứng dụng III Chạy chương trình. .. 05/2012 Lập trình bài toán Người sản xuất - Người tiêu thụ 13/17 KỸ THUẬT LẬP TRÌNH PHÂN TÁN RMI I Xây dựng chương trình nguồn (code)  Đối với Server: 1 Tạo RMI Server: RMI Server bao gồm giao diện (Interface) đưa ra định nghĩa các phương thức cho phép Client gọi và các lớp thực hiện giao diện cần thiết 2 Tạo chương trình ứng dụng Server  Đối với Client: Tạo chương trình ứng dụng Client 05/2012 Lập trình. ..TÌM HIỂU VỀ NGÔN NGỮ LẬP TRÌNH Trình soạn thảo Các tập tin nguồn Java Trình biên dịch Các tập tin class Trình thông dịch Kết quả chương trình Hình 3.1: Sơ đồ hoạt động của các trình Java Tập tin nguồn Java là một tập tin văn bản thuần (text file), tuân theo hệ thống cú pháp chặt chẽ của Java, gồm các chú thích, khai báo lớp, biến, phương thức Java là một ngôn ngữ thiên về lập trình mạng và Internet,... trình Server tạo các đối tượng từ xa, và đợi Client gọi đến - Chương trình Client gọi các hàm của đối tượng từ xa đó Để các đối tượng trên 2 máy khác nhau gọi hàm của nhau thì phải thông qua lớp trung gian ở 2 phía khách và chủ - Ở máy khách: Lớp trung gian gọi là Stub(lớp móc), có nhiệm vụ đóng gói tham đối, chuyển tham đối qua mạng đến máy chủ - máy chủ: Lớp trung gian gọi là Skeletion (lớp nối), nhận . Lập trình bài toán Người sản xuất - Người tiêu thụ 2/17 BÀI TOÁN NGƯỜI SẢN XUẤT - NGƯỜI TIÊU THỤ  Phát biểu bài toán: - Trong mô hình người sản xuất - người tiêu thụ, số lượng hàng hoá sản. bộ đối với tiến trình người sản xuất P và người tiêu thụ C. BÀI TOÁN NGƯỜI SẢN XUẤT - NGƯỜI TIÊU THỤ 05/2012 Lập trình bài toán Người sản xuất - Người tiêu thụ 6/17 SƠ ĐỒ THUẬT TOÁN True Server NC’. đây là người sản xuất và người tiêu thụ. Người sản xuất sản xuất ra sản phẩm gởi người tiêu thụ, ngược lại người tiêu thụ phải nhận sản phẩm sản xuất từ người sản xuất. Nếu người sản xuất mà

Ngày đăng: 31/01/2015, 23:03

Từ khóa liên quan

Mục lục

  • Slide 1

  • NỘI DUNG TRÌNH BÀY

  • BÀI TOÁN NGƯỜI SẢN XUẤT - NGƯỜI TIÊU THỤ

  • BÀI TOÁN NGƯỜI SẢN XUẤT - NGƯỜI TIÊU THỤ

  • BÀI TOÁN NGƯỜI SẢN XUẤT - NGƯỜI TIÊU THỤ

  • BÀI TOÁN NGƯỜI SẢN XUẤT - NGƯỜI TIÊU THỤ

  • SƠ ĐỒ THUẬT TOÁN

  • LIÊN HỆ CÁC ĐẶC ĐIỂM PHÂN TÁN ĐỐI VỚI BÀI TOÁN

  • LIÊN HỆ CÁC ĐẶC ĐIỂM PHÂN TÁN ĐỐI VỚI BÀI TOÁN

  • TÌM HIỂU VỀ NGÔN NGỮ LẬP TRÌNH

  • TÌM HIỂU VỀ NGÔN NGỮ LẬP TRÌNH

  • KHÁI NIỆM LẬP TRÌNH PHÂN TÁN

  • KHÁI NIỆM LẬP TRÌNH PHÂN TÁN

  • KỸ THUẬT LẬP TRÌNH PHÂN TÁN RMI

  • KỸ THUẬT LẬP TRÌNH PHÂN TÁN RMI

  • DEMO CHƯƠNG TRÌNH

  • Slide 17

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan