Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Bài tập lớn quản lý vung nhớ
MIỄN PHÍ
Số trang
2
Kích thước
220.3 KB
Định dạng
PDF
Lượt xem
908

Bài tập lớn quản lý vung nhớ

Nội dung xem thử

Mô tả chi tiết

Phần Bài tập lớn:

- Ngôn ngữ lập trình sử dụng trong các bài tập là C, C++ hoặc Java. Trên nền Window hoặc Unix.

- Các bài tập viết trên UNIX phải viết trên nền Linux.

- Sinh viên tự thỏa thuận chia nhóm từ 2-3 người. Mỗi một bài không được có >= 3 nhóm chọn.

- Phần nộp bài tập gồm:

1- báo cáo ghi rõ nhóm, mã số sinh viên

2- source code chương trình.

- Format File: <Lớp>_<Nhóm Thực Hành>_<Bài>_<MSSV1>_<MSSV2>_<MSSV3>_<Họ

và tên SV1>_<Họ và tên SV2><Họ và tên SV3>.zip

- Các nhóm sẽ thuyết trình báo cáo vào ngày cuối học kỳ (sẽ thông báo sau).

- Lớp trưởng đánh máy và in ra danh sách các nhóm (họ tên, mã số sinh viên), tên bài tập và

gởi cho GVHD thực hành.

a./ Phần Process/Thread:

Bài a.1: Viết chương trình 5 triết gia ăn tối. Chương trình cho thấy được 5 tiến trình mô

phỏng như là 5 triết gia, sử dụng semaphore để đồng bộ.

Bài a.2: Viết chương trình multithread trong bài toán nhân ma trận. Đọc vào 2 ma trận A

& B, sau đó dùng nhiều thread này để thực hiện việc nhân ma trận. Ghi ma trận kết quả ra

file.

Bài a.3: Viết chương trình multithread cho bài toán sau: Đọc vào một dãy A từ file, dùng

n thread để sắp xếp dãy theo thứ tự tăng dần.

- Mỗi thread lấy một phần của dãy A và sắp xếp theo thứ tự tăng dần.

- Sau đó, 1 thread trộn các dãy do các thread vừa rồi đã sắp xếp thành dãy kết quả.

Bài a.4: Sử dụng thread và các phương thức đồng bộ để giải quyết bài toán reader/writer

dạng tổng quát.

Bài a.5: Viết chương trình gồm 2 tiến trình. Tiến trình A đọc 1 dãy số nguyên từ một file,

sau đó gửi dãy số nguyên này cho tiến trình B thông qua cơ chế pipe. Tiến trình B sau khi

nhận xong dữ liệu từ tiến trình A sẽ sắp xếp theo thứ tự tăng dần rồi ghi vào 1 file khác.

Bài a.6: Viết chương trình giao tiếp giữa 2 tiến trình bằng các dùng shared memory. Tiến

trình A gửi 1 thông điệp (message) sang tiến trình B và đợi tiến trình B phản hồi. Tiến

trình B đợi thông điệp từ tiến trình A sau đó phản hồi 1 thông điệp khác cho tiến trình A.

Chương trình này tương tự như TalkApplication trong bài thực hành 3. ( Sử dụng shared

memory bằng cách dùng memory-mapped files, tham khảo thư viện MSDN).

Bài a.7: Viết chương trình giao tiếp giữa 2 tiến trình sử dụng pipe như sau: Tiến trình A

đọc từ file gồm nhiều chuỗi liên tiếp, mỗi chuỗi gồm các phép toán +, -, *, / và 2 toán

hạng. Ví dụ trong file sẽ lưu các chuỗi dạng như sau:

2 + 3

1 - 2

4 * 6

15 / 3

Sau đó tiến trình thứ nhất truyền các chuỗi dữ liệu này cho tiến trình thứ hai. Tiến trình

thứ hai thực hiện tính toán và trả chuỗi kết quả về lại cho tiến trình đầu tiên để ghi lại vào

file như sau:

2 + 3 = 5

1 - 2 = -1

4 * 6 = 24

Tải ngay đi em, còn do dự, trời tối mất!