Khác biệt giữa bản sửa đổi của “Bộ nhớ ảo”

Nội dung được xóa Nội dung được thêm vào
n replaced: Tiếng anh → Tiếng Anh, vật lí → vật lý using AWB
n →‎Bộ nhớ ảo phân đoạn: replaced: xử lí → xử lý (2) using AWB
Dòng 58:
Một số hệ thống, chẳng hạn như Burroughs B5500, sử dụng phân đoạn thay vì phân trang, chia các địa chỉ ảo thành các đoạn có độ dài biến. Một địa chỉ ảo bao gồm một chỉ số đoạn và một phần bù (segment + offset). Intel 80286 hỗ trợ một dự án tương tự, nhưng nó hiếm khi được sử dụng. Phân đoạn và phân trang cũng có thể dung chung với nhau bằng cách chia mỗi đoạn thành các trang; các hệ thống sử dụng cấu trúc bố nhớ như vậy, chẳng hạn như Multics và IBM System/38, thường là phân trang ưu tiên,phân đoạn và cung cấp bảo mật bộ nhớ.
 
Trong Intel 80386 và những bộ xử IA-32 sau này, các đoạn nằm trong một khoảng địa chỉ tuyến tính đã được phân trang. Các đoạn có thể được di chuyển vào trong hay ra ngoài khoảng đó; những trang có thể "phân trang" ra hay vào trong bộ nhớ chính, cung cấp 2 mức độ của bộ nhớ ảo; một số ít hệ điều hành sử dụng như vậy thay cho việc chỉ dùng phân trang. Những giải phát cho thiết bị x86 ảo hóa phi phần cứng kết hợp phân trang và phân đoạn bởi vì việc phân trang cho x86 cần có hai miền bảo vệ, trong khi một VMM / hệ điều hành khách / chương trình khách cần đến ba miền. Sự khác biệt giữa hệ thốn phân trang và phân đoạn thống không chỉ là về sự phân chia bộ nhớ; phân đoạn có thể nhìn thấy được trong tiến trình của người dùng, như một phần của mô hình bộ nhớ. Vì vậy, thay vì để bộ nhớ trông như một khoảng không rộng lớn, nó được cấu trúc lại và phân tách thành nhiều không gian nhỏ hơn.
 
Sự khác biệt này có những hậu quả quan trọng; một phân đoạn không phải là một trang với chiều dài biến hoặc một cách để tăng độ dài địa chỉ. Phân đoạn có thể cung cấp một mô hình bộ nhớ đơn mà trong nó không có sự phân biệt giữa bộ nhớ xử và tập tin hệ thông bao gồm duy nhất một danh sách các đoạn (tập tin) được ánh xạ vào không gian địa chỉ
 
Điều này không giống như các cơ chế được cung cấp bởi các phép gọi như mmap và MapViewOfFile của Win32, bởi vì các con trỏ trong tập tin không hoạt động khi ánh xạ các tập tin trong một khoảng tùy ý. Trong Multics, một tập tin (hay một đoạn trong tập tin gồm nhiều đoạn) được ánh xạ vào một đoạn trong địa chỉ, vì thế các tập tin luôn được ánh xa tại một ranh giới phân đoạn. Phần liên kết của một tập tin có thể chứa con trỏ mà một truy cập để truyền dữ liệu từ con trỏ tới thanh ghi hoặc tạo một tham chiếu gián tiếp qua nó sẽ tạo ra một cái bẫy. Một con trỏ chưa được giải quyết chứa một chỉ dẫn đến tên đoạn mà con trỏ trỏ tới và một vị trí trong phân đoạn; bộ xử lý cho cái bẫy ánh xạ phân đoạn vào địa chỉ, đặt chỉ số phân đoạn vào con trỏ, thay đổi thẻ trong con trỏ sao cho nó không còn tạo ra bẫy và trả về đoạn mã đã gây ra bẫy, tái thi hành các chỉ dẫn đã gây ra bẫy. Điều này loại bỏ hoàn toàn sự cần thiết của một liên kết và hoạt động khi các tiến trình ánh xạ đến cùng một tập tin vào những khoảng khác nhau trong địa chỉ của chúng.