CHƯƠNG 3: QUẢN LÝ BỘ NHỚ

39 4 0
CHƯƠNG 3: QUẢN LÝ BỘ NHỚ

Đ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ột trong các phương tiện điều hành quan trọng là bộ nhớ chính. Quản lý tài nguyên bộ nhớ là một đề tại hữu ích và cấp bách, nó quyết định khả năng hiện hữu của một hệ thống máy tính. Theo đó, chúng ta phân biệt ba phạm vi, mà trong đó, các chiến lược khác nhau được sử dụng để quản lý bộ nhớ. Các chương trình người sử dụng: Nhiệm vụ chính là bao gồm: việc quản lý một cách tối ưu không gian lưu trữ của tiến trình xung quanh các yêu cầu lưu trữ đặc biệt của chương trình....

CHƯƠNG QUẢN LÝ BỘ NHỚ 3.0 Quan niệm quản lý nhớ Một phương tiện điều hành quan trọng nhớ Quản lý tài nguyên nhớ đề hữu ích cấp bách, định khả hữu hệ thống máy tính Theo đó, phân biệt ba phạm vi, mà đó, chiến lược khác sử dụng để quản lý nhớ • Các chương trình người sử dụng: Nhiệm vụ bao gồm: việc quản lý cách tối ưu khơng gian lưu trữ tiến trình xung quanh yêu cầu lưu trữ đặc biệt chương trình Điều thực nhờ phận chương trình (thí dụ điều hành nhớ) hay nhờ chương trình thu gom rác • Bộ nhớ chính: Vấn đề chủ yếu phân bổ tối ưu không gian nhớ tiến trình riêng lẻ Theo ngun tắc chung, nhiệm vụ trợ giúp nhờ đơn vị phần cứng chuyên dụng Đặc biệt, hệ thống đa vi xử lý, điều quan trọng phải tránh tranh chấp, có nhiều tiến trình muốn chiếm không gian lưu trữ Trong trường hợp này, kỹ thuật viên giúp đỡ thêm, việc truy cập nhớ khơng đồng dạng (NUMA), thí dụ chiếm dụng vi xử lý, tách chia nhớ cục hay nhớ tồn cục • Bộ nhớ quảng đại: Việc tách khỏi quản lý files có files chuyên dụng, mà với nó, dung lượng file phân chia quản lý Thí dụ file swap chuyển dịch tiến trình, mà tiến trình khơng chiếm nhiều khơng gian nhớ Đầu tiên, nghiên cứu kỷ thuật trực tiếp che phủ nhớ, mà tìm thấy việc ứng dụng hầu hết chương trình người sử dụng hệ điều hành đơn giản 3.1 Che phủ trực tiếp nhớ Trong buổi đầu việc sử dụng máy tính, cơng việc cụ thể chế ngự máy tính với nhớ cho Job Nhân hệ điều hành thường bao gồm tổng hợp thủ tục xuất nhập Đó thủ tục thư viện mà chúng gắn thêm vào Job Nếu người ta phải đặt Job trở lại, để thực Job khác, đó, tất liệu tiến trình di chuyển nhớ quảng đại phép di chuyển liệu tiến trình từ nhớ quảng đại tới nhớ Tuy nhiên, việc di dịch vào (swapping) cần phải có thời gian Nếu chấp nhận thời gian truy cập trung bình ổ đĩa cứng khoảng 10ms liệu chuyển thẳng trực tiếp (DMA-Tranfer) với tỷ lệ vận chuyển khoảng 500kByte/s, đó, cần 110 ms cho chương trình có dung lượng 50kB để viết chương trình lên đĩa thời gian để lấy chương trình tương tự từ ổ đĩa, vậy, hợp lại thành 220ms trơi qua cho cơng việc bình thường Việc di chuyển tráo đổi hạn chế đổi chiều tiến trình mạnh Từ sở này, điều cần thiết là, phải bảo vệ liệu nhiều tiến trình tồn đồng thời nhớ, tức là, nhớ phải tồn cách đầy đủ Tuy nhiên, dẫn tới vấn đề, người ta phải phân chia nhớ đó, để nhiều tiến trình có điều kiện nhận chỗ (?) Câu hỏi đặt khơng nhớ chính, mà tất nhiên không gian lưu trữ ổ đĩa cứng, cịn gọi khơng gian tráo đổi (swap space) 3.1.1 Sắp xếp bảng cố định Cách tốt là, từ hình ảnh thu nhỏ nhớ, người ta tạo lập thành bảng che phủ nhớ Mỗi đơn vị bảng (thí dụ Bit) xếp cho đơn vị lớn (thí dụ từ 32bit) Nếu từ bị che phủ, đó, Bit đạt giá trị hay Hình 3.1 xếp Khi đơn vị nhớ chọn đoạn lơn (thí dụ 4kB), đó, việc xếp khối liệu A,B,C (là chương trình) phương tiện điều hành quản lý Một bảng che phủ tự dùng 100 kByte nhớ 3,2 MByte Nếu không gian trống bị che phủ, đó, bảng tổng hợp tìm kiếm số lượng phù hợp số Hình 3.1 3.1.2 Sắp xếp danh sách cụ thể Thực chất không gian trống không gian bị che phủ dài mơ tả chúng nói Điều có lợi: bảng cố định phải làm danh sách điền đầy việc che phủ nhớ, đây, chúng liên kết với dãy địa nhớ (nhờ thị) Do đó, thí dụ minh họa hình 3.1 làm sáng tỏ thêm hình 3.2 Hình 3.2 Việc điền vào danh sách bao gồm ba phần: địa bắt đầu nhớ, độ dài số (dấu hiệu dẫn) cho việc điền thêm Một danh sách che phủ phân thành danh sách: danh sách cho khoảng bị che phủ mà việc điền vào khai báo nhờ khối điều khiển tiến trình PCB danh sách dành cho khoảng chưa che phủ Nếu xếp danh sách theo độ lớn khoảng trống đó, cách bình thường, danh sách đầy đủ khơng cần phải tìm kiếm Tuy nhiên, qua đó, hồ hợp khoảng trống khoảng giới hạn bị gây trở ngại Việc khai báo hai lần tạo khả tìm kiếm danh sách theo hai hướng Thí dụ quản lý theo xấp (heap management): Việc quản lý nhớ cách dựa vào danh sách thí dụ có ý nghĩa cho việc quản lý nhớ theo xấp; xấp chương trình người sử dụng quản lý Thí dụ máy tính MODULA-2, điều có ý nghĩa để mơ tả việc thực thi thủ tục ALLOCATE()vàDEALLOCATE().Qua việc ghi tên loại, khơng gian trống quản lý, mà kết nối với thành danh sách liên tục dẫn vào nhờ móc treo hay nhờ thị có tên rootPtr: TYPE EntryPtr = POINTER TO EntryHead; EntryHead = RECORD next : EntryPtr; size : CARDINAL; END; VAR rootPtr : EntryPtr; nextStart : EntryPtr; FirstFree, NoOfEntryHeads : CARDINAL; Đầu tiên, không gian trống viết đè lên mục nhập (Entry) Một không gian trống danh sách khơng thể nhỏ chiều dài TSIZE (EntryHead) mục nhập Nếu khơng gian trống ghi, đó, mục nhập có dạng EntryHead thiết lập treo vào danh sách trống;nếu không gian trống nhỏ, đó, bỏ qua Một cách đơn giản nhanh để dẫn tới danh sách riêng lẻ, danh sách khơng gian trống Tuy vậy, bảo đảm để dẫn tới danh sách che phủ, để kiểm tra tình trạng độ lớn khơng gian việc trả lại từ không gian bị che phủ nhờ vậy, để làm sang tỏ việc lập trình thiếu hụt chương trình người sử dụng Đặc biệt giai đoạn gỡ rối, điều có lợi; sau đó, kiểm tra ngắt khỏi tối ưu thời gian thực giai đoạn muộn 3.1.3 Các chiến lược che phủ Một cách độc lập với cấu danh sách che phủ nhớ, có chiến lược khác để lựa chọn cách thích hợp từ vùng nhớ chưa bị che phủ Mục đích chiến lược chỗ: phải giữ cho vùng trống dù nhỏ, có ý nghĩa lớn Sau chiến lược quan trọng: • FirstFit (đầu tiên vừa đủ): Trước hết, vùng trống nhớ phải đủ lớn để phù hợp cho việc che phủ Tức là, lại phần thừa chưa bị che phủ • NextFit (kế cạnh vừa đủ): Chiến lược FirstFit dẫn tới khoảng trống thừa lại phần nhỏ, phần cịn lại ln ln tìm kiếm trở lại Để loại bỏ điều này, người ta xuất phát giống chiến lược FirstFit, lần kế tiếp, việc tìm kiếm tiếp tục vị trí đó, người ta ngừng lại • BestFit (vừa đủ nhất): Danh sách toàn thể bảng che phủ tìm kiếm, người ta tìm thấy khoảng thích hợp, mà lập tức, đủ để tiếp nhận khoảng che phủ • WorstFit (đáng vừa đủ): Nếu khoảng trống tồn khoảng lớn tìm thấy, đó, phần cịn lại có khả đủ lớn • QuickFit (vừa đủ để thoát khỏi): Đối với loại che phủ, danh sách đặc biệt nói tới Điều cho phép để tìm thấy chỗ trống thích hợp cách nhanh Nếu hệ thống thơng tin có độ dại 1kB gởi cách đặn, đó, có lợi, để dẫn tới danh sách đầy đủ cho việc che phủ 1kB để hài lòng đạt thăm dị cách nhanh chóng khơng có pha trộn • Buddy-systems (những hệ thống thân hữu): Bây giờ, người ta mở rộng quan điểm chiến lược QuickFit, độ lớn bị che phủ, tốt nhất, nhớ dự đoán danh sách gồm độ lớn luỹ thừa số trao cho khoảng nhớ độ lớn cố định Tất yêu cầu phải thiết lập luỹ thừa số Nếu có khơng gian nhớ dài 280 Bytes, tạm diễn giải: 280 Bytes = 256 + 16 + = 28 + 24 + 23 phải tạo lập không gian nhớ 512 = Nếu khơng có khoảng nhớ trống độ lớn 2k tồn tại, đó, đoạn nhớ có độ lớn k-1 phải phân thành hai đoạn Cả hai đoạn đối tác thân hữu, biểu thị cách xác: địa bắt đầu chúng giống hệt kBit địa chúng Thí dụ …XYZ0000… XYZ1000 địa bắt đầu đối tác Điều sử dụng để kiểm tra (từng bước) nhanh, liệu khoảng nhớ có trở nên trống có đối tác bảng che phủ, mà với bảng này, làm lan với khoảng lớn gấp đôi Cả hai trình, vừa thực việc tìm kiếm khoảng trống thích hợp (cũng tựa việc bẻ gãy riêng lẻ cần thiết đại lượng lớn hơn), phải vừa thực việc kết hợp chúng lại thành đại lượng lớn hơn, để đạt cách quy nạp nhiều đối tác (nhiều luỹ thừa số 2) Đánh giá chiến lược Sự mơ hình hoá so sánh chiến lược khác dẫn tới đánh giá chi ly Điều nhận rằng, chiến lược FirstFit sử dụng khơng gian tốt chiến lược NextFit WorstFit, cách ngẫu nhiên tốt chiến lược BestFit, vậy, điều cịn hướng tới để lại phần nhở chưa bị che phủ Một xếp nhân tử danh sách theo độ lớn dải làm giảm thời gian thực chiến lược BestFit WorstFit Nếu biết nhiều phân bổ yêu cầu nhớ theo thời gian hay theo độ lớn che phủ, đó, chiến lược QuickFit hay thuật tốn đặc biệt khác đạt kết cao Khả hữu hiệu hệ thống đối tác thân hữu đánh giá cách ngắn gọn có tính tốn sau: Nếu chấp nhận rằng, tất luỹ thừa n có độ lớn khoảng s, chúng kéo dài với xác xuất 1/2 n (tức có xảy khơng chắn, mà, người ta đốn với chập nhận thuyết phục) Do đó, yêu cầu nhớ Sa phải đạt tối thiểu: Công thức - m Vì: ∑i = i =1 m(m + 1) Đối với che phủ thực tế, phải thiết lập luỹ thừa số 2, nghĩa là, che phủ có dạng: 1,2,3,4,5,6,7,8, , 2n Chúng ta sử dụng 1,2,4,4,8,8,8,8, n , , 2n Hay 0,21,22,22, 23,23,23,23 2n, ,2n Hay ta nhân tích: 21 nhân với 22 nhân với 2n-1 Vì vậy, che phủ thực tế 2i nhân với 2i+1 Do che phủ thực tế trung bình Sb tính: cơng thức Với điều đó, tỷ lệ tương quan giá trị trung bình Sa Sb xác định: Công thức -Kết tính tốn đốn cho thấy: Một phần tư không gian nhớ kéo dài chưa sử dụng Qua đó, hệ thống đối tác đặc trưng cho phương pháp che phủ; nhiên, phương pháp có nhanh, khơng hiệu Nguyên nhân chỗ phân đoạn thô việc tăng gấp đôi không gian nhớ Nếu người sửa chữa điều đó, đó, hệ số sử dụng nhớ nâng cao, tất nhiên, việc quản lý trở nên phức tạp Việc phân mảnh mẫu cắt: Tuy rằng, nói chung, danh sách che phủ tạo lập nên xếp tốt đáp ứng mong muốn che phủ tới khoảng trống nhớ, mặc dù, phương pháp che phủ nhớ trực tiếp có khuynh hướng tới việc chia nhỏ nhớ thành nhiều khoảng nhỏ chưa bị che phủ Điều xảy cách độc lập, liệu có đặt sở cho việc che phủ nhớ mẫu cắt hay đặt sở để phân chia nhớ (đối với chương trình tổng thể nhớ chính) khoảng trống nằm chương trình mẫu cắt bên Từ lý này, việc làm chảy khoảng trống chức việc quản lý nhớ Đối với vấn đề phân bổ nhớ cho việc nạp tiến trình nhớ quảng đại, có nhiều chiến lược Nếu che phủ nhớ với tiến trình lớn để sử dụng tiến trình nhỏ làm đầy chỗ trống, đó, điều tổng hợp chiến lược định thời, mà có ý nghĩa đối lập với chiến lược định thời Job ngắn nhất- trước đảm bảo thời gian làm việc lâu bền cách đặc biệt Khác biệt với đó, người ta đạt định thời độ lớn tiến trình, đó, người ta phân đoạn nhớ tổng cộng thành số lượng cố đinh khoảng chia có độ lớn khác Mỗi độ lớn khoảng chia chứa đựng hang đợi riên lẻ, đó, bảng xếp nhớ cố định phân mảnh không xuất Thí dụ, giải pháp tồn hệ điều hành IBM (đa lập trình với cố định số Job): OS/ MFT hệ điều hành OS/360, hệ thống máy tính lớn Dĩ nhiên, hệ thống cố đinh khơng thay đổi mang lại cho khả tải tồi phương tiện điều hành 3.2 Định vị logic nhớ ảo Vì lý quản lý nhớ, để loại bỏ việc phải sử dụng xấu nhớ, có nỗ lực khác để tìm thấy giải pháp cho vấn đề 3.2.1 Những vấn đề nhớ giải pháp Một giải pháp vấn đề phân bổ nhớ bao gồm việc làm gọn nhẹ nhớ trống nhờ ghép làm đầy đủ khoảng trống Tuy nhiên, giải pháp tiện dụng kéo dài thời gian sử dụng thực tế phần cứng Sự xử lý mã chương trình: Cho đến đây, cịn số vấn đề chưa diễn giải cách đầy đủ Đó vấn đề: Định vị tuyệt đối Ở việc kết nối phần chương trình dịch, nhà tạo lập phân bổ cho lệnh nhảy biến tham chiếu địa nhớ tuyệt đối rõ ràng, mà đó, địa sở chương trình đếm tăng dần, thí dụ giá trị Nếu người ta muốn sử dụng chương trình khoảng nhớ khác với địa khác, địa kết nối,thì đó, địa tham chiếu phải xử lý trước Về điều đó, dẫn tới giải pháp khác nhau: • Mã chương trình tạo lập cần thiết phải chứa đựng địa tương đối, thí dụ: Địa = Địa tuyệt đối - Số đếm chương trình máy tính PC Điều khơng phải ln ln kiểu vi xử lý lệnh, mà kéo dài địa số hoacj khoảng thời gian thực thi • Ở chương trình, trao đổi thơng tin lưu trữ ổ đĩa Khi nạp nhớ chính, địa tham chiếu phải trù tính lần sau phải ghi chép vị trí thích hợp Điều địi hỏi không gian nhớ tăng gấp đôi nhớ quảng đại việc tráo đổi nhớ, điều khơng thích hợp Ở máy tính nhỏ, điều thực thi • Ở ghi phần cứng chuyên dụng CPU, trao đổi thông tin tồn với tư cách địa sở sử dụng truy cập Để giải vấn đề chi phí gia tăng, giải pháp vấn đề khác, phải mở rộng bình diện Che phủ bổ sung nhớ: Một thí dụ cho thấy, yêu cầu tiến trình phải giải bày nào, tiến trình nhớ sử dụng nhớ bổ sung (?) Cho điều có giải pháp sau: • Tiến trình đặt tĩnh tại, dung lượng ghi chép nạp lưu trữ Ở lần kế tiếp, xếp vào hàng đợi, đó, người ta quan tâm độ lớn tạo cho khơng gian để thoả mãn yêu cầu bổ sung Chiến lược dùng hệ điều hành Unix với ấn cũ • Các khoảng trống (phần cắt để bên ngồi) tiến trình nhớ cắt nhỏ cho tiến trình Do đó, khơng gian trống điền đầy từ (với địa nhỏ) nhờ việc mở rộng ngăn xếp lên nhờ việc mở rộng xấp(heap) Bảo vệ nhớ: Vấn đề chỗ, phần xác định nhân hệ điều hành phải lưu trữ bền vững không gian nhớ hay đệm hệ thống Phần khơng bị phóng thích, mà cịn bị sử dụng cách nhầm lẫn chương trình người sử dụng Do đó, hệ điều hành, địa nhớ chuyên dụng (fences, limits) quan tâm phịng ngừa, cấm khơng vi phạm Nếu vi xử lý có ghi lưu ý điều đó, tức là, việc định vị, điều quan tâm, giới hạn không cố định vào địa logic Đối với vấn đề đề cập, dẫn tới hiểu biết quan trọng: người lập trình để thực việc định vị máy tính; chương trình để đạt chờ đợi thơng suốt Do vậy, tổng chi phí cho việc định vị máy tính cần phải giảm thiểu cách có lợi đáng kể cho kiểu định vị nhớ vừa đơn giản vừa rõ ràng, kiểu định vị nhớ ảo 3.2.2 Bộ nhớ ảo Hình ảnh mong muốn người lập trình nhớ (memory), bắt đầu với địa không (zero) tiếp tục vơ tận Nhưng đáng tiếc, thực tế khơng vậy: hầu hết, hệ thống ngắt hệ điều hành bố trí vài phần khoảng dải nhớ Các khoảng nhớ khơng liên tục, chương trình khác tồn nhớ, tức là, chương trình u cầu, trả lại khơng gian nhớ động Cuối việc có vai trị, nhớ giá thành cao, lại đáp ứng việc dịch vụ đồng thời nhiều chương trình Từ lý này, phác thảo nhớ ảo phát triển, đó, mong muốn người lập trình ưu tiên việc nhượng mục đích cho hệ thống nhờ vi xử lý phần cứng hay hệ điều hành Trong hầu hết hệ điều hành ngày có hai khả dịch vụ, mà với việc quản lý nhớ, phải giữ vững phần cứng hệ điều hành • Nhiều mảnh nhỏ (của khoảng dải nhớ) phải trình bày chương trình, mà liệu chúng xuất phát từ khoảng liên tục bắt đầu với giá trị khơng (?) • Nếu chương trình u cầu nhiều nhớ tồn tại, đó, khơng phải chương trình đầy đủ, đặc biệt chúng tráo đổi khoảng dải nhớ không hoạt động nhớ thứ cấp (bộ nhớ quảng đại, chẳng hạn đĩa từ tính) sử dụng dải nhớ trở nên trống Hình 3.3 cho thấy: bên trái dải nhớ ảo (được mong muốn), dải phản ảnh quản lý nhớ chương trình, bên phải nhớ vật lý thực Hình 3.3 Để tạo nên địa vật lý hay địa logic, nhiệm vụ đặt phải tiến hành thực chạy chương trình tham chiếu nhớ đơn vị phần cứng (thí dụ khối quản lý nhớ MMU: Memory Management Unit) Trong nhiều vi xử lý đại, thí dụ máy tính MC68040 hảng MOTOROLA, máy tính Pentium Procesor hảng Intel, MMU chứa đựng vĩ mạch vi xử lý (processor- chip) Bây có cấu cho hình ảnh mong muốn nhớ ảo nhớ tồn thực (?) Điều nghiên cứu mục 3.3 Quản lý trang Một cấu đơn giản để thực thi khơng gian địa ảo bao gồm việc phân đoạn nhớ thành đơn vị có độ lớn nhau: đơn vị tách chia gọi trang (pages) Các độ lớn trang tiện dụng khoảng 1kB, 4kB hay 8kB Địa trạng thái trang dẫn tới bảng trang (pape table), bảng tồn cho chương trình nhớ 3.3.1 Ngun tắc hốn vị địa chỉ: Để tính tốn địa ảo (được sử dụng chương trình) địa vật lý thực nhớ chính, địa ảo chia làm hai phần (xem hình 3.4) Phần chứa đựng Bit ý nghĩa (Least Significant Bits: LSB) gọi độ dịch vị cho thấy khoảng cách tương đối địa hành tới địa sở Người ta nhận giá trị địa sở, mà đó, phần thứ hai (bên trái hình 3.4) với Bit có giá trị cao sử dụng với tư cách số (trong thí dụ số 6), biểu thị cho việc ghi vào bảng kê trang Việc ghi vào chứa đựng địa sở (được tìm thấy) Người ta nhận địa vật lý đầy đủ qua kết nối địa sở với độ lệch offset Hình 3.4 Hình 3.4 cho thấy trình chuyển đổi mơ tả thành hai giai đoạn, đó, tiến trình, bảng trang khác sử dụng Do đó, giới hạn số trang PageNr độ lệch offset khoảng số nhị phân địa ảo, phụ thuộc vào phần cứng sử dụng Người ta lưu ý rằng, nhớ (tồn thực ) phân thành trang (gọi phân đoạn nhớ: memory - partition), mà đây, vị trí độ lớn hữu hiệu trang ảo nhờ cấu định vị độc lập với phân chia Khoảng phân đoạn nhớ vật lý biểu thi khung trang (pape frame) Để thực việc chuyển nhanh có thể, hầu hết, địa định rõ tiến trình bảng trang giữ ghi chuyên dụng; tiến trình tổng hợp tồn khối điều khiển nhớ MMU Đối với việc nạp điền thêm trang, hệ điều hành có hiệu lực mức độ cao Nếu Bit trạng thái trang rằng, không gian nhớ, trang phải chuyển vào nhớ quảng đại, đó, khối điều khiển nhớ MMU phát sinh tín hiệu lỗi trang (pape fault) có hình dạng ngắt chương trình (program interrupt) Ngắt hệ điều hành quan tâm, cụ thể: lập thức ngắt (interrupt-routine), hệ điều hành chọn trang sử dụng, trang viết trở lại vào ổ đĩa Cho điều đó, trang dùng để viết vào bảng sửa chữa cho phù hợp Tiếp theo, sau nhảy trở lại vào ngắt, lệnh máy nhắc lại với hoán vị địa mà trước cịn thiếu sau chương trình thực tiếp tục 3.3.2 Phương pháp dịch vị địa Cho đến nay, lưu ý đến trường hợp ,một địa không gian địa ảo theo cách trực tiếp địa giao dịch không gian vật lý Điều khơng phải ln ln Nếu nhận thấy rằng, trang, điền vào bảng trang (page-table) cần thiết, đó, dẫn tới số lượng địa điền đầy sau: giả sử bề rộng từ 16bit độ lớn trang 12 bit, 16-12 =4, tức ta có 24 =16 lần điền địa vào khác Một bảng thật dễ dàng để lưu trữ điều khiển Và đó, máy tính bảng Digital, bảng phổ dụng cách rộng rãi Bấy từ có bề rộng 32 Bit (word-wide) điều trở nên vơ khó khăn, lấy bề rộng từ 20Bit tương ứng với 20 ~ 106, tức có tới triệu lần điền địa Ở cấu trúc có bề rộng từ 64Bit, lấy bề rộng từ 52 Bit phải cần tới 252 ~ 4.1015 lần điền trang! Ở vấn đề nêu lên rằng, không gian địa ảo, biểu lộ nhớ vật lý cần thiết phải thực hiện; nhiên, hoàn toàn nhớ cho địa ảo phần lớn Sự tiến thoái lưỡng nan giải phương pháp khác • Việc giới hạn địa chỉ: Ý tưởng mà người ta đưa tới giải pháp cho vấn đề chỗ làm giới hạn khơng gian nhớ ảo độ lớn có lợi Thí dụ, giới hạn khơng gian địa 30 Bit, phù hợp với nhớ ảo khoảng 1GB tiến trình, đó, cần dùng 4kB tương ứng 12 Bit cho phân đoạn trang, trang tương ứng khoảng chừng 256 ngàn lần ghi vào cho tiến trình, nằm khoảng Tuy nhiên, độ lớn cịn phụ thuộc vào độ lớn thực tiến trình Đối với hầu hết tiến trình, q lớn; khơng gian bảng đem dùng: tiến trình có độ lớn khoảng 1GB bảng trang có độ lớn 1MB đo đạc khơng đủ cho tiến trình nhỏ với độ lớn 50kB Đối với biên dịch (compiler) việc giới hạn địa khơng có lợi Đối với phát triển ngăn xếp (stacks) có lợi để ngăn xếp mở rộng từ địa cao tới địa thấp để phòng ngừa chỗ trống lớn ngăn xếp địa thấp thiết lập • Các bảng đa mức: Từ lý vừa nêu, có điều kiện khác thực Một ý tưởng quan trọng thực để giữ thông tin không bị chia cắt Vấn đề đặt là: liệu thơng tin nói chung có sử dụng khoảng nhớ không (?), hay địa thơng tin có bị biến đổi khoảng nhớ khơng (?) Do đó, địa tổng hợp phân đoạn thành nhiều phần thí dụ Thí dụ phân đoạn địa chỉ: Nếu ta có bề rộng từ 32 Bit, độ lớn trang 8kB tương ứng 13 Bit phân đoạn hình 3.5 Hình 3.5 -Bề rộng từ (wordwide) 32 Bit phân thành 14 Bit cho chưa sử dụng, Bit cho bảng 1(Tab1), Bit cho bảng (Tab2) 13 Bit cho dịch vị offset Nếu có địa 4148810~1210248 người ta phân thành số Index =1 cho bảng 1, số Index =1 cho bảng độ dịch vị offset = 528 Mỗi thành phần địa nhận bảng riêng lẻ, mà đó, bảng địa cao (pape base table) lưu ý, liệu địa ảo nhớ có tồn khơng (?), có, bảng trang việc che phủ đặt đâu (?) Ở hình 3.6, điều bảng hai bậc địa phân đoạn, mà đó, tìm kiếm ám bảng với mũi tên đậm Mỗi phần địa tác dụng số bảng đó, mà chúng ám mũi tên nét đứt đoạn; độ dịch vị offset số trang tồn thực nhớ Vì địa thuộc trang, mà khơng nhớ chính, đó, địa bảng thuộc trang, mà khơng nhớ chính, đó, địa bảng dẫn tới trang lỗi Trong trường hợp này, trang nạp chứa đựng bảng mong muốn, sau đó, nhắc lại lệnh cách mẻ, trang ảo thực thụ xác định, tồn nhớ, địa vật lý xác định, tế bào nhớ nhạy đáp Hình 2.6 Tương tự, điều kiện tồn loại bảng trang hai bậc (như máy tính SPARC hảng SUN) loại bảng bậc (như máy tính MC68038 hảng MOTOROLA), mà đó, để tìm kiếm địa chỉ, trợ giúp phần cứng kéo dài lâu, đó, việc thực chương trình bị trì hỗn mạnh, thí dụ máy tính MC68030 khoảng 80% • Bảng trang đảo ngược: Điều dẫn tới điều thực nghiệm khác nhau, để rút ngắn việc tìm kiếm lâu nhờ bảng chưa sử dụng Con đường dẫn tới là, để thiết lập bảng với tương đối trang nhớ tồn thực nhớ vật lý Đáng lẽ với tư cách chìa khố để viết tất địa ảo trang bên phải, đó, người ta trao đổi bên phải thành trang bên trái lập danh sách theo dãy tăng dần từ bên trái với trang tồn đến bên phải với trang có địa ảo xếp, gọi bảng trang đảo ngược (inverse page table) Để thay đổi Khoảng C: với σw

Ngày đăng: 10/05/2021, 23:15

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

Tài liệu liên quan