hệ điều hành nguyễn văn hiệp chương05 quản lý bộ nhớ sinhvienzone com

25 58 0
hệ điều hành nguyễn văn hiệp chương05 quản lý bộ nhớ sinhvienzone com

Đ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

MÔN HỆ ĐIỀU HÀNH Chương QUẢN LÝ BỘ NHỚ 5.1 Tổng quát quản lý nhớ 5.2 Quản lý nhớ thật 5.3 Quản lý nhớ ảo 5.4 Quản lý nhớ ảo phân trang 5.5 Quản lý nhớ ảo phân đoạn 5.6 Quản lý nhớ ảo phân đoạn phân trang 5.7 Quản lý nhớ CPU Intel 80x86 Tài liệu tham khảo : chương 4, sách "Modern Operating Systems", Andrew S Tanenbaum: , 2nd ed, Prentice Hall Môn : Hệ điều hành Chương : Quản lý nhớ Slide Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM 5.1 Tổng quát quản lý nhớ ‰ ‰ ‰ Thường người lập trình muốn nhớ mà chương trình truy xuất có tính chất : ƒ dung lượng lớn ƒ chạy nhanh ƒ không bị thông tin Thường máy tính sử dụng loại nhớ : ƒ Cache : giá cao, dung lượng hạn chế, tốc độ cao ƒ nhớ DRAM : dung lượng trung bình, giá trung bình, tốc độ trung bình ƒ đĩa cứng : dung lượng lớn, chậm, giá rẻ Module quản lý nhớ phải tận dụng ưu/khuyết điểm loại nhớ máy tính để cung cấp cho người lập trình khơng gian làm việc thoả mãn nhiều yêu cầu tốt Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide https://fb.com/sinhvienzonevn 5.2 Quản lý nhớ thật hệ đơn chương 0xFFFF 0xFFFF 0xFFFF Driver, I/O HĐH Application Application Application HĐH HĐH 0 Một số vấn đề cần giải : ƒ Tái định lại địa chương trình nạp fiel khả thi từ đĩa vào RAM ƒ Bảo vệ nhớ HĐH từ việc truy xuất không hợp pháp chương trình ứng dụng ƒ Vấn đề khơng đủ chỗ cho chương trình lớn → sử dụng kỹ thuật Overlay để chia ứng dụng nhiều file overlay liên tiếp Môn : Hệ điều hành Chương : Quản lý nhớ Slide Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM 5.2 Quản lý nhớ thật hệ đơn chương //phần mềm viết C int i; i = 5; nạp vào, chưa tái định base //mã máy move ax, mov [0], ax i HĐH Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com //mã máy dịch move ax, mov [0], ax i base code static data //mã máy move ax, mov [0+base], ax i HĐH Môn : Hệ điều hành Chương : Quản lý nhớ Slide https://fb.com/sinhvienzonevn 5.3 Quản lý nhớ thật hệ đa chương Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Chương : Quản lý nhớ Slide 5.3 Quản lý nhớ thật hệ đa chương Trong bối cảnh máy có dung lượng RAM lớn (512KB), phần mềm cần chạy có kích thước nhỏ (10-100KB), ta dùng kỹ thuật quản lý nhớ : Kỹ thuật phân vùng tĩnh dùng nhiều hàng chờ độc lập (hình a slide trước) : ƒ HĐH load vào vùng nhớ thấp RAM ƒ phần trống lại RAM chia làm nhiều phân vùng có kích thước tăng dần (10, 20, 40, 80, 160KB, ) ƒ phân vùng có hàng chờ ứng dụng cần chạy phân vùng tương ứng ƒ cần chạy ứng dụng, người chạy ứng dụng phải chọn phân vùng có kích thước nhỏ >= kích thước ứng dụng hàng hàng chờ tương ứng ƒ HĐH phục vụ ứng dụng hàng chờ theo thứ tự đến trước phục vụ trước Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide https://fb.com/sinhvienzonevn Quản lý nhớ thật hệ đa chương Kỹ thuật dùng nhiều hàng chờ độc lập có khuyết điểm : Kích thước phân vùng tĩnh thường khơng khớp với kích thước ứng dụng nên bị lãng phí sử dụng phân vùng thường khơng gây lãng phí : nhiều phần mềm hàng chạy phân vùng kích thước nhỏ, lúc phân vùng kích thước lớn khơng có ứng dụng chạy Để khắc phục khuyết điểm trên, ta dùng kỹ thuật sau : Kỹ thuật phân vùng tĩnh dùng hàng chờ (hình b slide trước) : ƒ HĐH load vào vùng nhớ thấp RAM ƒ phần trống lại RAM chia làm nhiều phân vùng có kích thước tăng dần (10, 20, 40, 80, 160KB, ) ƒ có hàng chờ ứng dụng cần chạy phân vùng ƒ phân vùng rãnh, HĐH dò hàng chờ ứng dụng có kích thước lớn next; //đưa phần tử đầu danh sách phần tử tail->next = null; //xóa vùng next phần tử cuối danh sách Để giảm nhẹ chi phí quản lý danh sách, ta dùng danh sách liên kết vòng thay danh sách liên kết đơn Đây ý tưởng phương pháp “Clock” để giải phóng trang Khoa Cơng nghệ Thơng tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Chương : Quản lý nhớ Slide 21 Các phương pháp giải phóng trang thật Phương pháp “Clock” : Để đưa phần tử đầu danh sách cuối danh sách, ta cần thực lệnh gán sau : //đưa phần tử đầu danh sách phần tử head = head->next; Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide 22 https://fb.com/sinhvienzonevn 11 Các phương pháp giải phóng trang thật Phương pháp “Not Recently-Used” - NRU : Để giải phóng trang gây phiền hà hơn, ta kết hợp trang thật bit trạng thái Cụ thể ta có bit miêu tả trạng thái trang thật sau : ƒ bit R = 0/1 (Recent) Định kỳ bit R trang bí xóa 0, trang bị truy xuất set R = ƒ bit M = 0/1(Modified) Mỗi lần nạp trang ảo, bit M trang thật xóa Mỗi lần bị thay đổi nội dung, bit M set lên Như trang trạng thái sau : S0 : R = M = : khứ gần, trang chưa truy xuất trang chưa bị thay đổi nội dung S1 : R = 0, M = : khứ gần, trang chưa truy xuất trang bị thay đổi nội dung S2 : R = 1, M = : khứ gần, trang truy xuất, trang chưa bị thay đổi nội dung S3 : R = 1, M = : khứ gần, trang truy xuất trang bị thay đổi nội dung Khi cần giải phóng trang, ta chọn trang theo thứ tự ưu tiên từ S0 -> S3 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Chương : Quản lý nhớ Slide 23 Các phương pháp giải phóng trang thật Trong phương pháp NRU slide trước, có nhiều trang S0 ta phải dùng chế ngẫu nhiên để chọn trang chưa xác Để khắc phục ngược điểm này, ta dùng phương pháp sau : Phương pháp “Least Recently-Used” - LRU : kết hợp trang vùng thông tin miêu tả mộc thời gian Mỗi lần trang truy xuất, ta ghi thời điểm truy xuất vào mộc thời gian trang Mỗi cần giải phóng trang, ta chọn trang có mộc thời gian nhỏ (trang truy xuất lần cuối lâu nhất) Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide 24 https://fb.com/sinhvienzonevn 12 Tối ưu hóa qui trình đổi địa ảo sang thật Qui trình đổi địa ảo sang thật trình bày slide trước có vấn đề lớn sau cần ý giải : bảng đặc tả trang cho chương trình chiếm nhiều chỗ Thí dụ khơng gian ảo chương trình 4GB, trang ảo 4KB Như vậy, ta cần có bảng đặc tả trang cho chương trình chứa 4G/4K = 1M phần tử, phần tử record (td dài 16 byte) Kết bảng đặc tả trang chiếm 16MB nguyên tắc phải nằm thường trực RAM → tốn chỗ! thuật giải đổi địa ảo sang thật viết phần mềm, gồm hàng ngàn lệnh máy, lần chương trình thực lệnh máy có truy xuất nhớ, máy dừng lại chạy thuật giải đổi địa gồm hàng ngàn lệnh máy có kết giúp lệnh máy chương trình chạy tiếp → hiệu quả! Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Chương : Quản lý nhớ Slide 25 Tối ưu hóa qui trình đổi địa ảo sang thật Để khắc phục nhược điểm slide trước, người ta dùng chế phân trang nhiều cấp thay cấp Thí dụ Windows dùng chế phân trang cấp sau : ƒ chia không gian ảo phần mềm (4GB) thành n (=1024) trang ảo cấp (Dir), ƒ trang ảo cấp có dung lượng lớn (=4MB) chia nhỏ thành m (=1024) trang ảo cấp 2, trang ảo cấp có kích thước 4KB đối tượng swap vật lý RAM/đĩa cứng ƒ Như bảng đặc tả trang cho chương trình chứa n (=1024) phần tử, nhỏ so với trước (1M phần tử) Tuy nhiên trang ảo cấp có bảng đặc tả trang riêng dài m (=1024) phần tử May mắn bảng đặc tả trang cấp không cần nằm thường trực RAM, chúng chứa đĩa Khi truy xuất vào trang ảo cấp nào, bảng đặc tả trang cấp nạp vào RAM Khoa Cơng nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide 26 https://fb.com/sinhvienzonevn 13 Tối ưu hóa qui trình đổi địa ảo sang thật nằm RAM Môn : Hệ điều hành Chương : Quản lý nhớ Slide 27 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Tối ưu hóa qui trình đổi địa ảo sang thật Để khắc phục nhược điểm slide trước, thay dùng giải pháp phần mềm để đổi địa chỉ, ta dùng phương pháp phần cứng dựa vào nhớ kết hợp : địa ảo cần truy xuất nằm ghi địa CPU i Offset Comparator Comparator Comparator Comparator Comparator Comparator g h i p q s z y j l m n j Offset Working set bảng đặc tả trang Toàn mạch điện tử mạch tổ hợp nên thời gian đổi địa ảo sang thật = 0, tốt! Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide 28 https://fb.com/sinhvienzonevn 14 5.5 Quản lý nhớ ảo phân đoạn Trong kỹ thuật phân trang, không gian ảo mà chương trình truy xuất có kích thước lớn (4GB), khơng gian phẳng nên số chương trình lớn gặp phiền hà sau : chương trình tự chia khơng gian ảo thành nhiều partition khác để chứa thông tin độc lập cần xử lý, trình chạy, partition khơng đủ chỗ chứa thơng tin chương trình bị dừng độ ngột Môn : Hệ điều hành Chương : Quản lý nhớ Slide 29 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM 5.5 Quản lý nhớ ảo phân đoạn Do đó, thay cấp phát cho chương trình khơng gian phằng nhất, hệ thống cấp phát cho chương trình khơng gian nhớ độc lập có kích thước thay đổi động theo nhu cầu (miễn tổng kích thước chúng bị hạn chế đó) hình sau chương trình khơng gặp vần đề tràn nhớ slide trước : Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide 30 https://fb.com/sinhvienzonevn 15 5.5 Quản lý nhớ ảo phân đoạn Nguyên lý hoạt động : ƒ lập trình, chương trình phép truy xuất liệu nhiều không gian khác nhau, không gian gọi segment Mỗi segment có kích thước thay đổi theo thời gian, ô nhớ segment ƒ Bộ nhớ RAM có kích thước nhỏ Các segment chương trình thường nắm đĩa cứng, cần thiết segment nạp vào vùng thích hợp RAM ƒ Tại thời điểm, vùng nhớ RAM thật chứa tốt đa segment ảo, theo thời gian chứa nhiều segment ảo khác ƒ Khi ứng dụng truy xuất nhớ, xác định địa ô nhớ dạng phân cấp : segment + offset Môn : Hệ điều hành Chương : Quản lý nhớ Slide 31 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Quản lý nhớ ảo phân đoạn Nguyên lý hoạt động (tt) : ƒ Để quản lý trình ánh xạ segement ảo chương trình vào vùng RAM, HĐH dùng bảng đặc tả sgement cho chương trình, bảng có số phần tử = số segement chương trình tương ứng, phần tử bảng record chứa thông số quản lý segement tương ứng : Protection Modified Address in disk địa thật RAM (start_addr) inRAM Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide 32 https://fb.com/sinhvienzonevn 16 Quản lý nhớ ảo phân đoạn Qui trình đổi địa ảo sang địa thật : từ địa mà chương trình truy xuất gồm thành phần : segement (i) offset Truy xuất record quản lý segement i bảng đặc tả segement Nếu field inRAM=1 địa thật tương ứng : start_addr + Offset qui trình kết thúc Nếu inRAM =0, hệ thống tìm vùng RAM thật rãnh (có địa bắt đầu base), khơng có phải tìm cách giải phóng vùng RAM thật gây phiền hà (có địa bắt đầu base), dựa vào thông tin field "inDisk" để mở file đọc segment vào vùng RAM thật tìm Hiệu chỉnh lại field inRAM = field start_addr = base quay lại bước Môn : Hệ điều hành Chương : Quản lý nhớ Slide 33 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Quản lý nhớ ảo phân đoạn Đặc tính Kỹ thuật Paging Segementation Khơng Có Người lập trình có biết kỹ thuật dùng ? Chương trình có vùng địa n tuyến tính độc lập ? Kích thước khơng gian ảo tổng cộng có Có Có lớn kích thứơc RAM ? Hàm liệu tách biệt bảo vệ Khơng Có riêng biệt ? Các bảng liệu dễ thích ứng kích Khơng Có thước chúng bị thay đổi ? Các chương trình dùng chung Khơng Có liệu hàm ? Vì kỹ thuật phát sinh hệ thống muốn chương trình Người lập trình mong muốn có khơng gian lớn, khơng có nhiều vùng độc lập để bận tâm kích thước RAM chứa thông tin độc lập Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide 34 https://fb.com/sinhvienzonevn 17 5.6 Quản lý nhớ ảo phân đoạn phân trang Qui trình đổi địa ảo sang địa thật slide trước có khuyết điểm trường hợp quản lý segemnt có kích thước lớn : ta khó/khơng tìm vùng RAM trống chứa Vì lý này, thực tế, người ta phải kết hợp phương pháp quản lý phân trang phân đoạn lại, phương pháp mạnh ý tưởng hệ thống quản lý segment phần mềm không gian ảo gồm nhiều trang ảo, lần chương trình truy xuất nhớ nằm trang ảo segment nào, hệ thống tìm cách nạp vào RAM Mơn : Hệ điều hành Chương : Quản lý nhớ Slide 35 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Quản lý nhớ ảo phân đoạn phân trang Qui trình đổi địa ảo sang địa thật : từ địa mà chương trình truy xuất gồm thành phần : segement (s) offset, hệ thống tách offset thành thành phần page (p) + offset1 Truy xuất record quản lý segement s bảng đặc tả segement Nếu field inRAM=1 đặc tả trang cho segement s có RAM Nếu khơng tìm cách nạp vào RAM Truy xuất record quản lý trang ảo p bảng đặc tả trang Nếu field inRAM=1 địa thật tương ứng : page frame Offset qui trình kết thúc Nếu inRAM =0, hệ thống tìm trang thật rãnh (k), khơng có phải tìm cách giải phóng trang thật gây phiền hà (k), dựa vào thông tin field "inDisk" để mở file đọc trang ảo vào trang thật k Hiệu chỉnh lại field inRAM = field page frame = k quay lại bước Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide 36 https://fb.com/sinhvienzonevn 18 Quản lý nhớ ảo phân đoạn phân trang Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Chương : Quản lý nhớ Slide 37 5.7 Quản lý nhớ CPU Intel 80x86 Với mục tiêu phải tương thích ngược với CPU đời cũ hơn, CPU 80x86 (x>=3) cung cấp chế quản lý nhớ : real mode : có CPU 8088, CPU dùng để xây dựng máy IBM PC Đây chế quản lý nhớ thật dùng kỹ thuật phân đoạn (segmentation) protected mode : có CPU 80286 Đây chế quản lý nhớ ảo dùng kỹ thuật phân đoạn (segmentation) 386 enchanced mode : thêm vào cho CPU từ 80386 trở lên Đây chế quản lý nhớ tổng hợp vừa phân đoạn vừa phân trang Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide 38 https://fb.com/sinhvienzonevn 19 Quản lý nhớ Real mode Nguyên lý hoạt động : ƒ không gian nhớ chương trình tập segment, ƒ địa truy xuất xác định chương trình gồm tham số : số segment + offset, tham số dài 16 bit Ở góc nhìn lập trình, phần mềm có 216 segment, segment có 216 byte → chương trình dài maximum 4GB! ƒ Thường chương trình truy xuất ô nhớ nên tham số segment chứa vào ghi segment (CS, DS, ES, SS), lệnh máy cần miêu tả offset ô nhớ cần truy xuất ƒ Máy đổi địa ảo sang địa thật theo công thức sau : physical address = segment * 16 + offset, Môn : Hệ điều hành Chương : Quản lý nhớ Slide 39 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Quản lý nhớ Real mode Nguyên lý hoạt động (tt) : ƒ bit A20 kết bị bỏ (trong chế độ A20 disable), giữ lại dùng (trong chế độ A20 enable) Chế độ A20 thiết lập ROM BIOS ƒ Theo cách đổi địa ảo trên, ta thấy segment phần mềm khác giao nhau, độ lệch tối thiểu segment 16 ô nhớ (1 paragraph) ƒ Thí dụ nhớ 0:80H ≡1:70H ≡ 2:60H ≡ 3:50H ≡ 4:40H ≡ 5:30H 6:20H ≡ 7:10H ≡ 8:0H chiếm ô nhớ RAM ƒ khơng gian RAM mà chương trình truy xuất thực tế 1MB (A20 disable) hay 1MB + 65520 B (A20 enable) Ta gọi phần 1MB HIGH MEMORY Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide 40 https://fb.com/sinhvienzonevn 20 Quản lý nhớ Protected mode Nguyên lý hoạt động : ƒ khơng gian nhớ chương trình tập segment ảo, ƒ địa truy xuất xác định chương trình gồm tham số : số segment + offset, tham số segment dài 16 bit y chế độ real mode, tham số offset dài 32 bit Như vậy, góc nhìn lập trình, phần mềm có 216 segment, segment có 232 byte → chương trình dài maximum 248 = 256TB! ƒ Thường chương trình truy xuất ô nhớ nên tham số segment chứa vào ghi segment (CS, DS, ES, SS), lệnh máy cần miêu tả offset ô nhớ cần truy xuất Môn : Hệ điều hành Chương : Quản lý nhớ Slide 41 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Quản lý nhớ Protected mode Nguyên lý hoạt động (tt) : ƒ nội dung ghi segment số segment cần truy xuất mà hiểu “segment selector” gồm thông tin : ƒ vậy, không gian nhớ chương trình có kích thước maximum 8K segment toàn cục (global) 8K segment cục (local) Mỗi segment dài tối đa 4GB (dùng format 32bit cho offset) → nhớ chương trình tổng cộng 64 TB Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide 42 https://fb.com/sinhvienzonevn 21 Cấu trúc record quản lý segment Intel ƒ Base0-31 : địa RAM chứa segment Limit 0-7 ƒ Limit0-19 : độ lớn segment (đơn vị tính byte/page) Limit 8-15 ƒ D = : Limit tính theo byte / D = : tính theo page 4KB Base 0-7 Base 8-15 ƒ G = : segment 16-bit / G = : segment 32-bit Base 16-23 ƒ P = : segment chưa nạp vào RAM / P = : nạp vào RAM P DPL ƒ S = : System / S = : Application G D ƒ DPL : mức độ phân quyền từ - Type S Limit 16-19 Base 24-31 ƒ Type : kiểu segment bảo vệ segment Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Chương : Quản lý nhớ Slide 43 Qui trình đổi địa ảo sang địa thật Địa luận lý có dạng segment:Offset, địa thật tương ứng địa 32 bit, kết phép cộng số học hình sau : Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide 44 https://fb.com/sinhvienzonevn 22 Quản lý nhớ 368 enchanced mode Nguyên lý hoạt động : ƒ không gian nhớ chương trình tập segment ảo, ƒ địa truy xuất xác định chương trình gồm tham số : số segment + offset, tham số segment dài 16 bit y chế độ real mode, tham số offset dài 32 bit Như vậy, góc nhìn lập trình, phần mềm có 216 segment, segment có 232 byte → chương trình dài maximum 248 = 256TB! ƒ Thường chương trình truy xuất ô nhớ nên tham số segment chứa vào ghi segment (CS, DS, ES, SS), lệnh máy cần miêu tả offset ô nhớ cần truy xuất Môn : Hệ điều hành Chương : Quản lý nhớ Slide 45 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Quản lý nhớ Protected mode Nguyên lý hoạt động (tt) : ƒ nội dung ghi segment số segment cần truy xuất mà hiểu “segment selector” gồm thơng tin : ƒ vậy, không gian nhớ chương trình có kích thước maximum 8K segment tồn cục (global) 8K segment cục (local) Mỗi segment dài tối đa 4GB (dùng format 32bit cho offset) → nhớ chương trình tổng cộng 64 TB Khoa Cơng nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide 46 https://fb.com/sinhvienzonevn 23 Cấu trúc record quản lý segment Intel ƒ Base0-31 : địa RAM chứa segment Limit 0-7 ƒ Limit0-19 : độ lớn segment (đơn vị tính byte/page) Limit 8-15 ƒ D = : Limit tính theo byte / D = : tính theo page 4KB Base 0-7 Base 8-15 ƒ G = : segment 16-bit / G = : segment 32-bit Base 16-23 ƒ P = : segment chưa nạp vào RAM / P = : nạp vào RAM P DPL ƒ S = : System / S = : Application G D ƒ DPL : mức độ phân quyền từ - Type S Limit 16-19 Base 24-31 ƒ Type : kiểu segment bảo vệ segment Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Chương : Quản lý nhớ Slide 47 Qui trình đổi địa ảo sang địa thật Địa luận lý có dạng segment:Offset, địa ảo tương ứng địa 32 bit, kết phép cộng số học hình sau : Khoa Cơng nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide 48 https://fb.com/sinhvienzonevn 24 Qui trình đổi địa ảo sang địa thật Địa ảo tuyến tính 32 bit đổi sang địa thật RAM chế phân trang cấp hình bên Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Chương : Quản lý nhớ Slide 49 Các mức phân quyền bảo vệ segment CPU 80x86 cung cấp mức phân quyền từ (cao nhất) tới (thấp nhất) Mỗi segment có field DPL = mức phân quyền Mỗi process có mức phân quyền : hệ thống có mức 0, application có mức Hệ thống truy xuất segment nào, application truy xuất segment có mức phân quyền hay cao Khoa Cơng nghệ Thơng tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ điều hành Chương : Quản lý nhớ Slide 50 https://fb.com/sinhvienzonevn 25 ... Quản lý nhớ Slide https://fb .com/ sinhvienzonevn 5.3 Quản lý nhớ thật hệ đa chương Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Chương : Quản lý nhớ Slide 5.3 Quản lý nhớ. .. Chương : Quản lý nhớ Slide 11 Quản lý nhớ ảo hệ đa chương Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone. com Môn : Hệ điều hành Chương : Quản lý nhớ Slide 12 https://fb .com/ sinhvienzonevn... Tp.HCM SinhVienZone. com i bit bên phải offset ô nhớ (=4) Môn : Hệ điều hành Chương : Quản lý nhớ Slide 14 https://fb .com/ sinhvienzonevn Quản lý nhớ ảo phân trang Nguyên lý hoạt động (tt) : ƒ Để quản

Ngày đăng: 28/01/2020, 22:28

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

Tài liệu liên quan