Môn học Hệ điều hành Họ tên Nguyễn Thanh Hiếu Báo cáo Bài tập chương 7+8 Lớp IT007 M21 HTCL CHƯƠNG 7 Bài 1 First fit 212k được cấp phát vùng nhớ 600K 417K được cấp phát vùng nhớ 500K 112K được cấp phát vùng nhớ 388K(vùng nhđược tạo thành sau khi cấp phát cho tiến trình 212K, 600K 212K=388K) 426K phải chờ, vì không còn vùng nhớ trống thỏa yêu cầu Best fit 212K được cấp phát vùng nhớ 300K 417K được cấp phát vùng nhớ 500K 112K được cấp phát vùng nhớ 200K 426K được cấp phát vùng nhớ 600K Worst fit 2.
Môn học: Hệ điều hành Họ tên: Nguyễn Thanh Hiếu Báo cáo Bài tập chương 7+8 Lớp: IT007.M21.HTCL CHƯƠNG 7: Bài 1: - First fit: 212k cấp phát vùng nhớ 600K 417K cấp phát vùng nhớ 500K 112K cấp phát vùng nhớ 388K(vùng nhđược tạo thành sau cấp phát cho tiến trình 212K, 600K-212K=388K) 426K phải chờ, khơng cịn vùng nhớ trống thỏa u cầu -Best fit: 212K cấp phát vùng nhớ 300K 417K cấp phát vùng nhớ 500K 112K cấp phát vùng nhớ 200K 426K cấp phát vùng nhớ 600K - Worst fit: 212K cấp phát vùng nhớ 600K 417K cấp phát vùng nhớ 500K 112K cấp phát vùng nhớ 300K 426 phải đợi, khơng cịn vùng nhớ trống thỏa yêu cầu Thuật toán best fit cho phép sử dụng nhớ hiệu Bài 2: a) Ta có: 12 cần bit để biểu diễn số trang 2K cần 11 bit để biễu diễn độ dời trang ð Cần 15 bit để biểu diễn địa logic b) Ta có: 32 cần bit để biểu diễn số khung trang ð Cần 16 bit để biểu diễn c) Bảng trang có 16 mục, mục bit Bài 3: a) Thời gian truy xuất nhớ hệ thống cho: 2x200 = 400 ns b) Nếu sử dụng TLBs với hit-ratio 75%: (200 + 0) x 0.75 + (200 + 200 + 0) x 0.25 = 250 Bài 4: Bài 5: Số lượng trang phụ thuộc vào kích thước trường d bằng: 2(32 – d) Các trường a, b, c thay đổi kích thước không làm thay đổi số trang trường d không thay đổi CHƯƠNG 8: Lý thuyết Hiện nay, chương trình ngày phình to kích thước Vì vậy, việc load tồn chương trình vào nhớ để thực thi gần chuyện … bất khả thi Bộ nhớ ảo kỹ thuật cho phép chạy process, mà process khơng cần thiết phải nằm hồn tồn nhớ Với nhớ ảo, làm điều sau : Thực thi chương trình có kích thước lớn nhiều so với nhớ Lượng process nhớ nhiều Trừu tượng hố nhớ thành mảng array lớn Người dùng thấy nhớ thơng qua nhớ luận lý (logical memory) Từ giúp người lập trình viên đỡ cực Bộ nhớ ảo giúp cho tiến trình chia sẻ liệu với dễ dàng, ngồi cịn hỗ trợ việc cài đặt shared memory (bộ nhớ dùng chung) Ví dụ thực tế : Phân vùng swap Linux, file pagefile.sys Windows 2 Có hai kỹ thuật : Phân trang theo yêu cầu (Demand Paging) : Các trang liệu không chép vào nhớ cần tới Phân đoạn theo yêu cầu (Segmentation Paging) : Các segment chương trình khơng chép vào nhớ cần tới Phần cứng memory management phải hỗ trợ paging, segmentation OS phải quản lý swap nhớ nhớ thứ cấp Phân trang theo yêu cầu : o Các trang trình nạp vào nhớ yêu cầu o Khi có tham chiếu đến trang mà khơng có nhớ (valid bit) phần cứng gây ngắt (gọi pagefault – bạn hay gặp từ làm tập giải thuật phân trang), kích khởi pagefault service routine (PFSR) hệ điều hành o PFSR : Chuyển process trạng thái blocked Phát yêu cầu đọc đĩa để nạp trang tham chiếu vào frame trống, đợi I/O, process khác cấp CPU để thực thi Sau I/O hoàn tất, đĩa gây ngắt đến hệ điều hành, PFSR cập nhập page-table chuyển process trạng thái ready Lỗi trang bước xử lý Bước PFSR : Giả sử phải thay trang khơng tìm frame trống, PFSR bổ sung sau : Xác định vị trí đĩa trang cần Tìm frame trống o Nếu có frame trống dùng thơi chờ o Nếu khơng có frame trống dùng giải thuật thay trang để chọn trang hi sinh (victim page) o Ghi victim page lên đĩa, cập nhật page table frame table tương ứng Đọc trang cần vào frame trống (đã có từ bước 2), cập nhật page table frame table tương ứng Hoạt động swap-in, swap-out FIFO : First-In-First-Out Như tên gọi nó, trang nhớ vào trước “ưu tiên” swap ngồi có page-fault Ví dụ FIFO : Chuỗi yêu cầu Kết chạy OPT : Optimal Page-Replacement Algorithm Trang nhớ tham chiếu trễ tương lai swap Ví dụ : Chuỗi yêu cầu Kết chạy LRU : Least Recently Used Page-Replacement Algorithm Mỗi trang ghi nhận thời điểm tham chiếu => Trang LRU trang nhớ có thời điểm tham chiếu nhỏ (OS tốn chi phí tìm kiếm trang LRU có pagefault) Do vậy, LRU cần hỗ trợ phần cứng cho việc tìm kiếm (LRU giống OPT, tìm khứ thay tương lai Tức là, trang nhớ tham chiếu thời điểm cách xa thời điểm chọn để thay thế) Ví dụ : Chuỗi yêu cầu Kết chạy Đặt D = Σ WSSi = tổng working-set size process hệ thống Nhận xét: Nếu D > m (số frame hệ thống) ⇒ xảy thrashing Giải pháp working set: Khi khởi tạo trình: cung cấp cho trình số lượng frame thỏa mản working-set size Nếu D > m ⇒ tạm dừng process Các trang trình chuyển đĩa cứng frame thu hồi Bài tập: a 1 * 2 3 1 2 3 4 * * * * Có 13 lỗi trang * 6 * * 6 3 * 7 * 5 * 3 7 * 3 6 * 2 3 b 1 * * * => có 15 lỗi trang 4 * 3 5 * * 6 * * 2 3 * * * 3 2 7 * 2 * 3 * 6 * 4 * 3 5 * 1 6 * 2 1 2 3 7 * 5 * 3 2 1 2 3 6 * c 1 2 3 * * * ... có 16 mục, mục bit Bài 3: a) Thời gian truy xuất nhớ hệ thống cho: 2x200 = 400 ns b) Nếu sử dụng TLBs với hit-ratio 75%: (200 + 0) x 0.75 + (200 + 200 + 0) x 0.25 = 250 Bài 4: Bài 5: Số lượng trang... bit) phần cứng gây ngắt (gọi pagefault – bạn hay gặp từ làm tập giải thuật phân trang), kích khởi pagefault service routine (PFSR) hệ điều hành o PFSR : Chuyển process trạng thái blocked Phát... frame trống, đợi I/O, process khác cấp CPU để thực thi Sau I/O hoàn tất, đĩa gây ngắt đến hệ điều hành, PFSR cập nhập page-table chuyển process trạng thái ready Lỗi trang bước xử lý Bước PFSR