1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4

25 90 0

Đ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

Nội dung

Name: Trần Quốc Bảo ID: 20521110 Class: IT007.M13 OPERATING SYSTEM LAB X’S REPORT SUMMARY Task Câu Câu Status Hoàn thành Hoàn thành Self-scrores: *Note: Export file to PDF and name the file by following format: LAB X – .pdf Page 24 BÀI THỰC HÀNH Câu 1: Vẽ lưu đồ, giải thích thực lại giải thuật FIFO, OPT, LRU theo yêu cầu phần 6.4 - Lưu đồ thuật toán FIFO Hình Lưu đồ thuật tốn giải thuật FIFO - Ý tưởng: Thuật toán em chia thành nhánh chính, nhánh trước bảng trang cịn trống để thêm lỗi, nhánh bảng trang đầy phải chọn phần tử để thay Trước thêm chọn phần tử để “hy sinh” ta phải kiểm tra xem bảng tồn lỗi hay chưa? Hình Giải thích lưu đồ giải thuật FIFO - Lưu đồ giải thuật LRU Hình Lưu đồ giải thuật LRU - - Ý tưởng: Ở giải thuật em chia thành nhánh chính, nhánh thứ trường hợp bảng trang chưa đầy, trường hợp bảng trang đầy Ngồi ra, em có tạo thêm kiểu liệu để lưu lại vị trí để thuận tiện cho việc tìm lỗi lâu sử dụng Trường hợp 1: Sẽ kiểm tra tồn phần tử có bảng, khơng có thêm vào, cịn có cập nhật vị trí Trường hợp 2: Cũng kiểm tra tồn phần tử bảng, khơng có chọn phần tử có vị trí nhỏ nhất, vị trí nhỏ tức thời gian bị sử dụng lại lâu nhất, ta dùng phần tử để hy sinh thay Hình Giải thích phần lưu đồ thuật toán LRU - Lưu đồ thuật tốn OPT: Hình Lưu đồ thuật toán OPT - - Ý nghĩa: Ở thuật toán này, em chia thành phần chính, có thêm trường hợp tương lai lỗi khơng trùng lại Và lần kiểm tra lỗi cập nhật lại vị trí lỗi tương lai Phần 1: Sẽ kiểm tra bảng trang, chưa đầy thêm lỗi vào cập nhật giá trị ViTri cho Phần 2: Nếu bảng trang đầy, ưu tiên thay cho phần tử có ViTri = -1, phần tử không bị trùng lặp tương lai Phần 3: Kiểm tra cập nhật lại vị trí cho phần tử tương lai sau lần kiểm tra lỗi Và sau kiểm tra phần tử có ViTri=-1 để thay trước, sau ưu tiên phần tử lâu sử dụng tương lai sau Hình Giải thích lưu đồ thuật toán OPT - Hiện thực: + Khi thực có khác chút phần kết luận tạo thêm biến để lưu trữ giá trị Ví dụ thêm string err để lưu lại lỗi lưu đồ xuất số lượng lỗi Ngồi có thêm hàm xuất, thêm giá trị cho mảng… Hình Khởi tạo kiểu liệu khung trang, hàm xuất liệu Hình 10 Hàm thêm liệu vơ mảng, xuất mảng chiều Hình 11 Hàm thêm liệu vào queue Hình 12 Hàm kiểm tra tồn giải thuật FIFO Hình 13 Sau kiểm tra phần tử khung trang, thêm liệu khung trang chưa đầy kiểm tra tồn để pop phần tử queue Hình 14 Giải thuật LRU, hàm addElement khác hàm add FIFO chỗ FIFO dùng queue, LRU cần dùng mảng để lưu giá trị vị trí 10 Hình 15 Kiểm tra kích thước khung trang, chưa đầy khơng có phần tử trùng thêm vào, cịn có cần cập nhật lại vị trí Nếu khung trang đầy kiểm tra trùng cập nhật vị trí Hình 16 Xuất kết giải thuật LRU, bắt đầu giải thuật OPT findMaxPos để tìm kiếm phần tử có vị trí lớn để chọn thay 11 Hình 17 isArrExists để kiểm tra tồn giá trị mảng, hàm isEExistsPos kiểm tra xem khung trang có tồn phần tử có vị trí pos hay khơng Hình 18 Xử lý liệu nhập vào giải thuật OPT Kiểm tra kích thước bảng trang, chưa đầy kiểm tra tồn phần tử để định thêm phần tử, với trường hợp đầy bảng, chọn phần tử thay có độ ưu tiên theo vị trí 12 Hình 19 Kiểm tra bảng trang (đầy), có phần tử sử dụng tương lai chọn để thay đánh lỗi Hình 20 Xuất mảng chiều gồm bảng trang xuất số lỗi có bảng Một phương thức sử dụng hàm main 13 Hình 21 Hàm main, nhập liệu chọn bảng trang mặc định bảng trang tự nhập Hình 22 Kiểm tra chọn lựa trả thuật toán yêu cầu 14 - Các test case: Trường hợp test case default: Hình 23 Giải thuật FIFO với test case default 2 Chạy tay: * - 5 2 1 2 0 5 1 * * * Vậy số lỗi 5, giống giải thuật 15 5 7 * Hình 24 Giải thuật OPT với test case default 2 * - Chạy tay: 2 0 2 1 2 0 5 1 * * * Số lỗi 5, trình chạy giống code 16 5 7 * Hình 25 Giải thuật LRU với test case default 2 Chạy tay: 2 0 - 1 2 0 5 1 * * * Số lỗi 5, trình chạy giống code - Manual input sequence: * 2 17 5 7 * Hình 26 Test case manual – FIFO - Chạy tay: 2 3 * * * - 2 3 5 * 2 Số lỗi 4, code có đáp án giống với test case Hình 27 Mutual test – FIFO 18 5 2 - Chạy tay: 2 - 3 2 4 6 * * * * * * Có tổng cộng lỗi , bảng trang giống kết code 8 * * 5 * 6 * Hình 28 Mutual test case – FIFO 3 * - Chạy tay: 3 2 4 3 3 2 2 4 4 1 1 * * * Số lỗi 6, trình chạy giống code 19 1 Hình 29 Mutual test – OPT - Chạy tay: 1 3 5 2 3 4 * * * * * * - Số lỗi bảng trang 7: Kết nhận giống với code Hình 30 Mutual test case 2- OPT 20 7 * 3 Chạy tay: 5 * - * * * 5 2 1 2 5 Số lỗi trang : 4, kết chạy tay trùng với code Hình 31 Mutual test – OPT - Chạy tay: 5 * - * * 6 * 7 * 5 Số lỗi : , kết chạy tay giống với đáp án code 21 7 Hình 32 Mutual test – LRU - Chạy tay: 6 * - * * 6 7 * * 8 Số lỗi 8, kết chạy tay trùng với đáp án code Hình 33 Mutual test case – LRU 22 * 9 * * - Chạy tay: 3 6 6 4 1 5 * * * * * * Số lỗi xảy ra: 9, Kết trùng với code nhận - 4 3 * 6 * 7 * Hình 34 Mutual test – LRU 3 * - Chạy thử: * 5 6 * * * Số lỗi , kết chạy giống với kết code 23 9 * * Câu 2: Thực câu hỏi phần 6.5 Nghịch lý Belady gì? Sử dụng chương trình viết để chứng minh nghịch lý - Trả lời: Nghịch lý Belady phát biểu sau: Số lỗi trang (page fault) tăng lên trình cấp nhiều frame Chứng minh: Ta xét với chuỗi 5 o Trường hơp 1: Với khung trang Hình 35 Thử nghịch lý Belady với khung trang Ta thấy, với trường hợp khung trang có lỗi xảy o Trường hợp 2: Với khung trang Hình 36 Thử nghịch lý Belady với khung trang 24 Ta thấy, với trường hợp khung trang có 10 lỗi xảy  Nghịch lý Belady Nhận xét mức độ hiệu tính khả thi giải thuật FIFO, OPT, LRU a Giải thuật bất khả thi nhất? Vì sao? b Giải thuật phức tạp nhất? Vì sao? a Giải thuật bất khả thi OPT, ta khơng thể đốn trước có lỗi xảy để đốn vị trí lặp lại lâu tương lai b Giải thuật phức tạp OPT, phải kiểm tra cập nhật lại vị trí lỗi tương lai sau lần kiểm tra lỗi, LRU cần cập nhật lại vị trí trùng lặp thay có vị trí nhỏ FIFO cần kiểm tra trùng lặp pop khỏi queue 25

Ngày đăng: 03/01/2022, 14:31

HÌNH ẢNH LIÊN QUAN

Hình 1. Lưu đồ thuật toán giải thuật FIFO - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 1. Lưu đồ thuật toán giải thuật FIFO (Trang 2)
Hình 2. Giải thích lưu đồ giải thuật FIFO. - Lưu đồ giải thuật LRU  - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 2. Giải thích lưu đồ giải thuật FIFO. - Lưu đồ giải thuật LRU (Trang 3)
Hình 3. Lưu đồ giải thuật LRU - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 3. Lưu đồ giải thuật LRU (Trang 4)
Hình 4. Giải thích về các phần trong lưu đồ thuật toán LRU -  Lưu đồ thuật toán OPT:  - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 4. Giải thích về các phần trong lưu đồ thuật toán LRU - Lưu đồ thuật toán OPT: (Trang 5)
Hình 5. Lưu đồ thuật toán OPT - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 5. Lưu đồ thuật toán OPT (Trang 6)
Hình 8. Giải thích lưu đồ thuật toán OPT - Hiện thực:   - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 8. Giải thích lưu đồ thuật toán OPT - Hiện thực: (Trang 7)
Hình 9. Khởi tạo kiểu dữ liệu khung trang, hàm xuất dữ liệu - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 9. Khởi tạo kiểu dữ liệu khung trang, hàm xuất dữ liệu (Trang 8)
Hình 10. Hàm thêm dữ liệu vô mảng, xuất mảng 2 chiều. - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 10. Hàm thêm dữ liệu vô mảng, xuất mảng 2 chiều (Trang 8)
Hình 12. Hàm kiểm tra tồn tại và giải thuật FIFO. - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 12. Hàm kiểm tra tồn tại và giải thuật FIFO (Trang 9)
Hình 11. Hàm thêm dữ liệu vào queue. - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 11. Hàm thêm dữ liệu vào queue (Trang 9)
Hình 14. Giải thuật LRU, hàm addElement khác hàm add của FIFO ở chỗ FIFO dùng queue, còn LRU chỉ cần dùng một mảng để lưu giá trị và vị trí - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 14. Giải thuật LRU, hàm addElement khác hàm add của FIFO ở chỗ FIFO dùng queue, còn LRU chỉ cần dùng một mảng để lưu giá trị và vị trí (Trang 10)
Hình 16. Xuất ra kết quả giải thuật LRU, bắt đầu giải thuật OPT. findMaxPos để tìm kiếm phần tử có vị trí lớn nhất để được chọn thay thế - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 16. Xuất ra kết quả giải thuật LRU, bắt đầu giải thuật OPT. findMaxPos để tìm kiếm phần tử có vị trí lớn nhất để được chọn thay thế (Trang 11)
Hình 15. Kiểm tra kích thước khung trang, nếu chưa đầy và không có phần tử trùng thì thêm vào, còn nếu có rồi thì chỉ cần cập nhật lại vị trí - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 15. Kiểm tra kích thước khung trang, nếu chưa đầy và không có phần tử trùng thì thêm vào, còn nếu có rồi thì chỉ cần cập nhật lại vị trí (Trang 11)
Hình 17. isArrExists để kiểm tra sự tồn tại của một giá trị nào đó trong mảng, hàm isEExistsPos là kiểm tra xem khung trang có tồn tại phần tử có vị trí pos hay không - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 17. isArrExists để kiểm tra sự tồn tại của một giá trị nào đó trong mảng, hàm isEExistsPos là kiểm tra xem khung trang có tồn tại phần tử có vị trí pos hay không (Trang 12)
Hình 20. Xuất mảng 2 chiều gồm bảng trang và xuất ra số lỗi có trong bảng. Một phương thức chính được sử dụng trong hàm main - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 20. Xuất mảng 2 chiều gồm bảng trang và xuất ra số lỗi có trong bảng. Một phương thức chính được sử dụng trong hàm main (Trang 13)
Hình 19. Kiểm tra trong bảng trang (đầy), nếu có phần tử nào ít được sử dụng trong tương lai nhất sẽ được chọn để thay thế và đánh lỗi - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 19. Kiểm tra trong bảng trang (đầy), nếu có phần tử nào ít được sử dụng trong tương lai nhất sẽ được chọn để thay thế và đánh lỗi (Trang 13)
Hình 21. Hàm main, nhập dữ liệu và chọn ra bảng trang mặc định hoặc bảng trang tự nhập - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 21. Hàm main, nhập dữ liệu và chọn ra bảng trang mặc định hoặc bảng trang tự nhập (Trang 14)
Hình 24. Giải thuật OPT với test case default. - Chạy tay:  - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 24. Giải thuật OPT với test case default. - Chạy tay: (Trang 16)
Hình 25. Giải thuật LRU với test case default. - Chạy tay:   - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 25. Giải thuật LRU với test case default. - Chạy tay: (Trang 17)
Hình 27. Mutual test 2– FIFO - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 27. Mutual test 2– FIFO (Trang 18)
Hình 26. Test case manual 1– FIFO - Chạy tay:  - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 26. Test case manual 1– FIFO - Chạy tay: (Trang 18)
- Có tổng cộng 8 lỗi, bảng trang giống kết quả của code. - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
t ổng cộng 8 lỗi, bảng trang giống kết quả của code (Trang 19)
Hình 29. Mutual test 1– OPT - Chạy tay:  - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 29. Mutual test 1– OPT - Chạy tay: (Trang 20)
Hình 31. Mutual test 3– OPT - Chạy tay:   - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 31. Mutual test 3– OPT - Chạy tay: (Trang 21)
Hình 32. Mutual test 1– LRU - Chạy tay:  - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 32. Mutual test 1– LRU - Chạy tay: (Trang 22)
Hình 33. Mutual test case 2– LRU - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 33. Mutual test case 2– LRU (Trang 22)
Hình 34. Mutual test 3– LRU - Chạy thử:  - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 34. Mutual test 3– LRU - Chạy thử: (Trang 23)
Hình 35. Thử nghịch lý Belady với 3 khung trang. Ta thấy, với trường hợp 3 khung trang thì có 9 lỗi xảy ra - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 35. Thử nghịch lý Belady với 3 khung trang. Ta thấy, với trường hợp 3 khung trang thì có 9 lỗi xảy ra (Trang 24)
Hình 36. Thử nghịch lý Belady với 4 khung trang. - Vẽ lưu đồ, giải thích và hiện thực lại 3 giải thuật FIFO, OPT, LRU theo yêu cầu trong phần 6.4
Hình 36. Thử nghịch lý Belady với 4 khung trang (Trang 24)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w