Bài giảng Hệ điều hành máy tính: Lecture 10 - Nguyễn Thanh Sơn

38 96 0
Bài giảng Hệ điều hành máy tính: Lecture 10 - Nguyễn Thanh Sơn

Đ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 Máy tính: Lecture 10 cung cấp cho người học các kiến thức: Có 2 kỹ thuật chính: Kỹ thuật phân trang (paging), kỹ thuật phân đoạn (segmentation), kỹ thuật kết hợp,...Mời các bạn cùng tham khảo!

Kỹ thuật phân mảnh nhớ BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Nội dung Có kỹ thuật chính:    Kỹ thuật phân trang (paging) Kỹ thuật phân đoạn (segmentation) Kỹ thuật kết hợp BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Kỹ thuật phân trang   Khơng gian địa chỉ của quá trình chia thành những khối có cùng kích thước gọi là trang Kỹ thuật phân trang (paging) cho phép không gian địa chỉ vật lý (physical address space) của process không cần liên tục Bộ nhớ thực chia thành khối cố định có kích thước gọi frame (tương ứng với trang)   Thơng thường kích thước của frame lũy thừa của 2, từ khoảng 512 byte đến 16 MB Bộ nhớ luận lý (logical memory) hay không gian địa chỉ luận lý tập mọi địa chỉ ḷn lý của q trình – Đòa luận lý trình sinh cách dùng indexing, base register, segment register,… BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Kỹ thuật phân trang (tt.)    Frame trang nhớ có kích thước Hệ điều hành phải thiết lập bảng phân trang (page table) để ánh xạ địa chỉ luận lý thành địa chỉ thực  Mỗi process có bảng phân trang, quản lý qua trỏ lưu giữ PCB  Thiết lập bảng phân trang cho process phần của chuyển ngữ cảnh Kỹ thuật phân trang khiến nhớ bị phân mảnh nội, khắc phục phân mảnh ngoại BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Ví dụ: Phân trang frame number page number 0 1 2 3 logical memory BK TP.HCM page table page page page page physical memory Khoa Khoa học & Kỹ thuật Máy tính Chuyển đổi địa paging  Địa chỉ luận lý gồm có:  Page number, p, dùng làm chỉ mục vào bảng phân trang Mỗi mục (entry) bảng phân trang chứa chỉ số frame (còn gọi sớ frame cho gọn) của trang tương ứng nhớ thực  Page offset, d, kết hợp với địa chỉ (base address) của frame để định vị địa chỉ thực  BK TP.HCM Nếu kích thước của khơng gian địa chỉ ảo 2m, kích thước của trang 2n (byte hay word tùy theo kiến trúc máy) page number page offset p d m  n bit (định vị từ  2m  n  1) n bit (định vị từ  2n  1) Bảng phân trang có tổng cộng 2m/2n = 2m  n mục Khoa Khoa học & Kỹ thuật Máy tính Paging hardware f frame physical address logical address CPU p d f f 00…00 d f 11…11 p f Nếu kích thước của khơng gian nhớ thực là 2l byte, mục của bảng phân trang có l  n bit BK physical memory page table frame number frame offset f, l  n bit d, n bit TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Chuyển đổi địa nhớ paging  Ví dụ: BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Hiện thực bảng phân trang  Bảng phân trang thường lưu giữ nhớ     Mỗi truy cập dữ liệu/lệnh cần hai thao tác truy xuất vùng nhớ   BK 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 của bảng phân trang (có thể dùng chế bảo vệ nhớ) Dùng page number p làm index để truy cập mục bảng phân trang nhằm lấy số frame, dùng page offset d để truy xuất dữ liệu/lệnh frame Thường dùng cache phần cứng có tớc độ truy xuất tìm kiếm cao, gọi ghi kết hợp (associative register) translation look-aside buffers (TLBs) TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Associative register (hardware)  hay TLB, là ghi hỗ trợ tìm kiếm truy xuất dữ liệu với Số mục của TLB tốc độ cực nhanh Page # Frame # khoảng  2048 TLB “cache” của bảng phân trang Khi có chuyển ngữ cảnh, TLB bị xóa Khi TLB đầy, thay mục dùng LRU Ánh xạ page #  Nếu page number nằm TLB (: hit, trúng)  lấy số frame  tiết kiệm thời gian truy cập nhớ để lấy số frame bảng phân trang  Ngược lại (: miss, trật), phải lấy số frame từ bảng phân trang bình thường BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 10 Chia sẻ trang nhớ ed data ed data ed ed ed data Process ed ed 6 ed 3 7 data ed ed BK ed ed 2 data 3 data Process 10 Process Bộ nhớ thực TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 24 Phân đoạn   Nhìn lại kỹ thuật phân trang  user view (không gian địa chỉ ảo) tách biệt với không gian nhớ thực Kỹ thuật phân trang thực phép ánh xạ user-view vào nhớ thực Trong thực tế, dưới góc nhìn của user, chương trình cấu thành từ nhiều đoạn (segment) Mỗi đoạn là đơn vị luận lý của chương trình,  main program, procedure, function  local variables, global variables, common block, stack, symbol table, arrays,… BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 25 Chương trình: user view    Thơng thường, chương trình biên dịch Trình biên dịch tự động xây dựng segment Ví dụ, trình biên dịch Pascal tạo segment sau:  Global variables  Procedure call stack  Procedure/function code  Local variable procedure stack symbol table function sqrt main program Trình loader gán segment số định danh riêng BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 26 Phân đoạn (tt.)  Dùng kỹ thuật phân đoạn (segmentation) để quản lý nhớ có hỗ trợ user view   Khơng gian địa chỉ ảo là tập các đoạn, đoạn có tên và kích thước riêng Một địa chỉ luận lý định vị tên đoạn và độ dời (offset) bên đoạn đó (so sánh với phân trang!) BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 27 Phân đoạn (tt.) logical address space physical memory space segment segment segment segment BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 28 Hiện thực phân đoạn     Địa chỉ luận lý cặp giá trị (segment number, offset) Bảng phân đoạn (segment table): gồm nhiều mục, mục chứa  base, chứa địa chỉ khởi đầu của segment nhớ  limit, xác định kích thước của 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 của chương trình  Một chỉ sớ segment s hợp lệ s < STLR BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 29 Một ví dụ phân đoạn 1400 stack procedure procedure limit base 1000 1400 400 6300 400 4300 1100 3200 1000 4700 segment segment function sqrt symbol table segment main program segment segment 2400 3200 stack 4300 main 4700 segment table symbol table 5700 6300 logical address space BK function sqrt physical memory space TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 30 Phần cứng hỗ trợ phân đoạn segment table s limit base CPU s d  yes + physical memory no BK trap; addressing error TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 31 Chuyển đổi địa kỹ thuật phân đoạn  Ví dụ BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 32 Chia sẻ đoạn editor data segment limit base 25286 43062 4425 68348 editor segment segment table process P1 68348 logical address space process P1 limit base 25286 43062 8850 90003 data segment logical address space process P2 TP.HCM data 72773 editor segment 43062 segment table process P2 90003 data 98853 physical memory BK Khoa Khoa học & Kỹ thuật Máy tính 33 Kết hợp phân trang phân đoạn  Kết hợp phân trang phân đoạn nhằm tận dụng ưu điểm hạn chế khuyết điểm của chúng:   Vấn đề của phân đoạn: đoạn có thể không nạp vào nhớ phân mảnh ngoại, mặc dù đủ không gian trống Ý tưởng giải quyết: paging đoạn, cho phép các page của đoạn nạp vào các frame không cần nằm liên tục BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 34 Kết hợp phân trang phân đoạn (tt.)  Có nhiều cách kết hợp Một cách đơn giản là segmentation with paging Mỗi process có:  Một bảng phân đoạn  Nhiều bảng phân trang: đoạn có bảng phân trang Một địa chỉ luận lý (địa chỉ ảo) bao gồm:  segment number: chỉ số của mục bảng phân đoạn, mục chứa địa chỉ (base address) của bảng phân trang cho đoạn đó  page number: chỉ số của mục bảng phân trang, mục chứa chỉ số frame nhớ thực  offset: độ dời của vị trí nhớ frame nói BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 35 Segmentation with paging  Minh họa frame frame frame frame frame frame frame BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 36 Segmentation with paging (tt.) BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 37 Segmentation with paging (tt.)    Segment base: địa chỉ thực của bảng phân trang Present bit và modified bit chỉ tồn bảng phân trang Các thông tin bảo vệ và chia sẻ vùng nhớ thường nằm bảng phân đoạn  BK Ví dụ: read-only/read-write bit,… TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 38 ... nhỏ thành phần:  1 0- bit page number page offset  1 0- bit page offset p1 p2 d 10 bit 10 bit 12 bit Vì vậy, địa chỉ luận lý hình vẽ bên p1 : chỉ số của mục bảng phân trang mức (outer-page... access = 100  Ví dụ    Hit ratio = 0,8 EAT = (100 + 20)  0,8 + (200 + 20)  0,2 = 1,2  100 + 20 = 140 Ví dụ   Hit ratio = 0,98 EAT = (100 + 20)  0,98 + (200 + 20)  0,02 = 1,02  100 +... number page offset 52 12 page numbers page offset 32  10 10 12 … page numbers page offset 42 10 12 page numbers page offset 22 10 10 10 12 Tiết kiệm chổ nhớ chính cách chỉ giữ nhớ chính

Ngày đăng: 30/01/2020, 01:05

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