Bài giảng Hệ điều hành: Chương: 7.2 - ThS. Trần Thị Như Nguyệt

42 67 0
Bài giảng Hệ điều hành: Chương: 7.2 - ThS. Trần Thị Như Nguyệt

Đ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

Bài giảng Hệ điều hành - Chương 7: Quản lý bộ nhớ phần 2 cung cấp cho người học các kiến thức về Cấp phát không liên tục bao gồm: Cơ chế phân trang, cơ chế phân đoạn, cơ chế kết hợp phân trang và phân đoạn. Mời các bạn cùng tham khảo nội dung chi tiết.

Chương 7: Quản lý nhớ - CuuDuongThanCong.com https://fb.com/tailieudientucntt Câu hỏi ôn tập chương 7-1  Chuyển đổi địa gì? Địa nhớ biểu diễn trình chạy chương trình?  Khi địa lệnh liệu chuyển thành địa thật?  Thế dynamic linking? Nêu ưu điểm?  Thế dynamic loading?  Nêu chế overlay? Swapping?  Nêu mơ hình quản lý nhớ? CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý nhớ Câu hỏi ôn tập chương 7-1  Thế phân mảnh ngoại? Phân mảnh nội? Cho ví dụ?  Fixed partitioning gì? Các chiến lược placement?  Dynamic partitioning gì? Các chiến lược placement? CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý nhớ Câu hỏi ôn tập chương 7-1 Giả sử nhớ cấp phát phân vùng có kích thước 600K, 500K, 200K, 300K (theo thứ tự), sau thực thi xong, tiến trình có kích thước 212K, 417K, 112K, 426K (theo thứ tự) cấp phát nhớ nào, sử dụng: Thuật toán First fit, Best fit, Next fit, Worst fit? Thuật toán cho phép sử dụng nhớ hiệu trường hợp CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý nhớ Mục tiêu  Hiểu vận dụng chế quản lý nhớ:  Cơ chế phân trang  Cơ chế phân đoạn CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý nhớ Nội dung  Cấp phát không liên tục  Cơ chế phân trang  Cơ chế phân đoạn  Cơ chế kết hợp phân trang phân đoạn CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý nhớ Cấp phát không liên tục  Cơ chế phân trang  Cơ chế phân đoạn  Cơ chế kết hợp phân trang phân đoạn CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý nhớ Cơ chế phân trang  Bộ nhớ vật lý thật (của hệ thống máy tính) chia thành nhiều khối kích thước nhau, gọi khung trang (frame)  Bộ nhớ luận lý (của process) chia thành nhiều khối kích thước (và kích thước frame nhớ vật lý), gọi trang (page)  Các ý:  Kích thước/dung lượng (size) frame hay page lũy thừa (Thường từ khoảng 512 byte đến 16 MB Một số hệ thống, kích thước trang lên đến 1GB)  Các hệ thống nay, địa vật lý luận lý hồn tồn tách biệt Ví dụ process có khơng gian địa 64-bit (tức dùng 64 bit để định địa  nhớ luận lý tương ứng có tới 264 byte/word) nhớ vật lý thật có 264 byte/word CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý nhớ Cơ chế phân trang  Để quản lý page (biết page đưa vào nhớ vật lý nạp vào frame tương ứng), process dùng page table (Bảng phân trang) Bảng phân trang (page table) dùng hỗ trợ ánh xạ địa luận lý thành địa vật lý (địa thực)  Để quản lý frame (biết frame trống, frame khơng …), hệ điều hành dùng frame table CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý nhớ Cơ chế phân trang (tt) frame number page number 0 1 2 3 logical memory page page table page page page physical memory CuuDuongThanCong.com 10 https://fb.com/tailieudientucntt Quản lý nhớ Chia sẻ trang nhớ Process ed ed ed data Process ed ed ed ed ed ed 2 data data Process Bộ nhớ thực CuuDuongThanCong.com 28 https://fb.com/tailieudientucntt Quản lý nhớ Phân đoạn (segmentation)  Nhìn lại chế phân trang  User view (không gian địa ảo) tách biệt với không gian nhớ thực Cơ chế phân trang thực phép ánh xạ user-view vào nhớ thực  Trong thực tế, góc nhìn user, chương trình cấu thành từ nhiều đoạn (segment) Mỗi đoạn đơn vị luận lý chương trình,  main program, procedure, function  local variables, global variables, common block, stack, symbol table, arrays,… CuuDuongThanCong.com 29 https://fb.com/tailieudientucntt Quản lý nhớ User view chương trình  Thông thường, chương trình biên dịch Trình biên dịch tự động xây dựng các segment procedure  Ví dụ, trình biên dịch tạo các segment hình bên:  Stack  Symbol table  Procedure/function code stack symbol table function sqrt main program  Trình loader gán segment số định danh riêng Logical address space CuuDuongThanCong.com 30 https://fb.com/tailieudientucntt Quản lý nhớ Phân đoạn  Dùng chế phân đoạn để quản lý nhớ có hỗ trợ user view  Không gian địa ảo tập các đoạn, đoạn có tên kích thước riêng  Một địa luận lý định vị tên đoạn độ dời (offset) bên đoạn đó (so sánh với phân trang!) CuuDuongThanCong.com 31 https://fb.com/tailieudientucntt Quản lý nhớ Phân đoạn (tt) physical memory space logical address space segment segment segment segment CuuDuongThanCong.com 32 https://fb.com/tailieudientucntt Quản lý nhớ Cài đặt phân đoạn  Địa luận lý cặp giá trị  Bảng phân đoạn (segment table): gồm nhiều mục (item), mục gồm limit base với:  base: chứa địa khởi đầu segment nhớ  limit: xác định kích thước segment  Segment-table base register (STBR): trỏ đến vị trí bảng phân đoạn nhớ  Segment-table length register (STLR): số lượng segment chương trình ⇒ Một số segment s hợp lệ s < STLR CuuDuongThanCong.com 33 https://fb.com/tailieudientucntt Quản lý nhớ Một ví dụ phân đoạn stack procedure 1400 segment 2400 segment symbol table 3200 function sqrt segment 4300 main program segment segment table segment 4700 5700 6300 6700 logical address space physical memory space CuuDuongThanCong.com 34 https://fb.com/tailieudientucntt Quản lý nhớ Phần cứng hỗ trợ phân đoạn segment table s CPU < yes physical memory + no trap; addressing error CuuDuongThanCong.com 35 https://fb.com/tailieudientucntt Quản lý nhớ Chuyển đổi địa chế phân đoạn CuuDuongThanCong.com 36 https://fb.com/tailieudientucntt Quản lý nhớ Chia sẻ đoạn editor segment segment logical address space process P1 editor segment 43062 data segment table process P1 68348 72773 data 90003 segment logical address space process P2 CuuDuongThanCong.com segment table process P2 98853 physical memory 37 https://fb.com/tailieudientucntt Quản lý nhớ Kết hợp phân trang phân đoạn  Kết hợp phân trang phân đoạn nhằm kết hợp các ưu điểm đồng thời hạn chế các khuyết điểm phân trang phân đoạn:  Vấn đề phân đoạn: Nếu đoạn quá lớn thì có thể không nạp nó vào nhớ  Ý tưởng giải quyết: paging đoạn, đó cần giữ nhớ các page đoạn cần Logic Addr = CuuDuongThanCong.com 38 https://fb.com/tailieudientucntt Quản lý nhớ Kết hợp phân trang phân đoạn (tt) CuuDuongThanCong.com 39 https://fb.com/tailieudientucntt Quản lý nhớ Cài đặt phân đoạn CuuDuongThanCong.com 40 https://fb.com/tailieudientucntt Quản lý nhớ Ôn tập  Cấp phát không liên tục  Cơ chế phân trang  Cơ chế phân đoạn  Cơ chế kết hợp phân trang phân đoạn CuuDuongThanCong.com 41 https://fb.com/tailieudientucntt Quản lý nhớ Kết thúc chương CuuDuongThanCong.com https://fb.com/tailieudientucntt ... giữ nhớ chính  Mỗi process hệ điều hành cấp bảng phân trang  Thanh ghi page-table base (PTBR) trỏ đến bảng phân trang  Thanh ghi page-table length (PTLR) biểu thị kích thước bảng phân trang... thực cách: bit bảo vệ frame giữ kèm bảng phân trang Các bit biểu thị các thuộc tính sau:  read-only, read-write, execute-only  Ngoài ra, còn có valid/invalid bit gắn với mục bảng phân... khoảng 512 byte đến 16 MB Một số hệ thống, kích thước trang lên đến 1GB)  Các hệ thống nay, địa vật lý luận lý hồn tồn tách biệt Ví dụ process có khơng gian địa 64-bit (tức dùng 64 bit để định

Ngày đăng: 11/01/2020, 18:18

Từ khóa liên quan

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

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

Tài liệu liên quan