Danh mục

Bài tập về Hệ điều hành

Số trang: 6      Loại file: doc      Dung lượng: 78.50 KB      Lượt xem: 12      Lượt tải: 0    
Thư viện của tui

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tài liệu tham khảo về các bài tập về Hệ điều hành
Nội dung trích xuất từ tài liệu:
Bài tập về Hệ điều hành Bài tập lớn hệ điều hành Lớp MT2000 BÀI TẬP LỚN HỆ ĐIỀU HÀNH GVHD : VŨ LÊ HÙNGQuy định :• Ngôn ngữ lập trình sử dụng trong các bài tập là C, C++ hoặc Java.• 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 nhóm chọn 2 bài tập thuộc 2 chủ đề lậptrình và 1 bài tập phần tìm hiểu hệ thống.• Các nhóm sinh viên có thể đăng ký để trình bày trước lớp về đề tài của nhóm mình. Các nhómđăng ký phải chuẩn bị slide hoặc bài viết để trình bày trước lớp trong các buổi học cuối cùngcủa môn học.• Sinh viên có tham gia thuyết trình sẽ được cộng thêm điểm vào bài tập lớn• Sinh viên nộp báo cáo và bài tập cho GVHD tại văn phòng khoa (nộp đĩa mềm) hoặc qua địachỉ email vlehung@dit.hcmut.edu.vn. Xem qui định về báo cáo tại trang web dưới đây.• Tất cả các thông tin liên quan đến bài tập lớn sẽ được đưa lên trang web của môn học http://www.dit.hcmut.edu.vn/~vlehung/course-OS-vn.html• 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àthông tin đăng ký thuyết trình của các sinh viên và gởi cho GVHD qua email. BÀI TẬP LẬP TRÌNH Chủ đề 1: Mô phỏng1. Tài liệu tham khảo - Bài giảng Hệ điều hành, Vũ Lê Hùng - An Introduction To Operating System, H.M. Deitel2. Ngôn ngữ lập trình sử dụng: C, C++, Java trên UNIX hoặc WindowsBài 1.1: Viết chương trình mô phỏng giải thuật nhà băng của Dijsktra để tránh deadlock. Sốlượng các nguồn tài nguyên, các yêu cầu của hệ thống được tạo ngẫu nhiên. Hãy hiện thực cáchxét trạng thái hiện thời của hệ thống là an toàn hay không an toàn. Nếu trạng thái là an toàn,chương trình phải chỉ ra cách để thu hồi tài nguyên hệ thống. Với mỗi yêu cầu cung cấp tàinguyên, hãy hiển thị ra màn hình cách cấp phát, thu hồi tương ứng.Bài 1.2: Viết chương trình mô phỏng các giải thuật định thời đã học: FIFO, SJF, SRT, RR,HRRN, MLFQ. Đầu vào của giải thuật: số quá trình, độ dài các CPU burst, I/O burst… được tạongẫu nhiên. Tính toán các thông số và đánh giá độ hiệu quả của từng giải thuật.Bài 1.3: Viết chương trình mô phỏng các giải thuật thay thế trang đã học: OPT, FIFO, LRU,LFU, NUR, Second Chance. Đầu vào của giải thuật: số khung trang, chuỗi tham khảo trang, yêucầu thay thế trang…được tạo ngẫu nhiên. Đánh giá độ hiệu quả (so sánh số page fault) của từnggiải thuật. Chủ đề 2: Đồng bộ giữa các quá trình1. Tài liệu tham khảo - UNIX network programming. - Tài liệu hướng dẫn thực hành Hệ điều hành, Hồ Quốc Thuần.2. Tìm hiểu cách tạo quá trình trong UNIX: hàm fork( ).3. Tìm hiểu các cách đồng bộ giữa các quá trình trong UNIX: semaphore, lock file.4. Ngôn ngữ lập trình sử dụng: C trên UNIXBài 2.1 : (Semaphore) Trang 1/6Bài tập lớn hệ điều hành Lớp MT2000 Viết chương trình tạo ra một quá trình con. Quá trình cha sẽ nhận chuỗi số nguyên từ bànphím do người dùng nhập và ghi vào file tên input. Quá trình con sẽ đọc dữ liệu từ file này, sắpxếp chúng theo thứ tự tăng dần và ghi vào một file khác tên là sorted.Bài 2.2 : (Semaphore) Viết chương trình producer-consumer với bounded buffer.Bài 2.3 : (Semaphore) Viết chương trình giải quyết bài toán 5 triết gia ăn tối. Chương trình phải tạo ra 5 quá trìnhcon mô phỏng hoạt động của 5 triết gia. Dùng semaphore để đồng bộ hoạt động của 5 triết gianày.Bài 2.4 : (Lock file) Viết chương trình giải quyết bài toán reader/writer dạng tổng quát. Chương trình phải tạo ra5 quá trình đồng thời với hoạt động đọc/ghi file bất kỳ để thử nghiệm giải thuật. Chủ đề 3: Quản lý bộ nhớ1. Tài liệu tham khảo - The Design of the UNIX Operating System- Andrew S. Tanenbaum, Chương 7 - Interprocess Communications in UNIX-The Nooks and Crannies. - Tài liệu hướng dẫn thực hành Hệ điều hành, Hồ Quốc Thuần.2. Tìm hiểu các hàm truy cập bộ nhớ : - Tìm hiểu cách tạo quá trình trong UNIX dùng hàm fork( ). - Tìm hiểu cách cấp phát bộ nhớ cho quá trình trong hệ điều hành UNIX. - Tìm hiểu các hàm cho phép lấy các thông tin về vùng nhớ cấp cho quá trình cũng như cho phép thay đổi các vùng nhớ đó.3. Ngôn ngữ lập trình sử dụng: C trên UNIXBài 3.1 : Viết chương trình có khai báo 4 biến như sau: - global là biến nguyên toàn cục không khởi động trị. - local là biến nguyên khai báo cục bộ trong hàm doNoth( ) (hàm này không làm gì cả) - intarray là một con trỏ đến biến kiểu nguyên.Trong hàm main(), hãy gán global=1, sau đó in địa chỉ các segment của quá trình ra màn hình. Chobiết địa chỉ các biến global, local và intarray (1). Tiếp theo, hãy dùng hàm fork ...

Tài liệu được xem nhiều: