Professional Documents
Culture Documents
Nội dung của Bài IV là xét các phương pháp quản lý bộ nhớ
lô gic và bộ nhớ vật lý, cách xác lập quan hệ giữa hai loại bộ nhớ
này, các kỹ thuật phân phối lại bộ nhớ và bảo vệ thông tin.
Trong việc quản lý bộ nhớ phải giải quyết hai vấn đề trái ngược:
Tận dụng tối đa bộ nhớ cho phép để giảm độ phức tạp của giải thuật,
Tiết kiệm bộ nhớ để tạo môi trường cho các chương trình khác cùng hoạt
động.
Mỗi chương trình đều cần bộ nhớ cho 2 loại thông tin khác nhau:
Vùng bộ nhớ để lưu trữ chương trình,
Vùng bộ nhớ lưu trữ dữ liệu cần thiết cho việc xử lý.
Nếu như để quản lý vùng bộ nhớ dành cho dữ liệu người ta chỉ cần biết điểm
đầu và kích thước vùng bộ nhớ được phân phối là đủ thì quản lý và tổ chức dữ liệu
cho vùng bộ nhớ dành cho chương trình phức tạp hơn nhiều. Lưu ý rằng đối với
quản lý bộ nhớ mọi thông tin ghi vào đó đều là dữ liệu, chỉ có khác biệt đó là dữ
liệu câu lệnh (program codes) hay dữ liệu phục vụ tính giá trị các loại biểu thức
(data). Loại dữ liệu thứ 2 không thay đổi dù ta ghi nó ở nơi nào trong bộ nhớ, còn
loại dữ liệu thứ nhất nói chung có nội dung phụ thuộc vào địa chỉ đầu của khối bộ
nhớ chứa nó. Chính vì vậy nội dung các phần sẽ xét dưới đây chủ yếu xoay quanh
việc quản lý bộ nhớ dành cho chương trình.
Ngày nay phần lớn các chương trình được viết trên các ngôn ngữ lập trình
như Java, C++, Visual Basic, Pascal hay Macro Assembler, . . . Người lập trình
Khi có một chương trình nguồn việc đầu tiên hệ thống làm là kiểm tra cú
pháp (Syntax Analys) xem chương đã viết đúng quy tắc của ngôn ngữ lập trình hay
không và thông báo nếu có lỗi.
Với một chương trình đã sạch lỗi cú pháp hệ thống sẽ tiến hành phân tích ngữ
nghĩa (Semantic Analys).Một trong những công việc quan trọng ở giai đoạn này là
tách các tên do người sử dụng đặt, chuẩn hóa chúng thành tên trong và tạo bảng
tên với các thuộc tính cho biết kiểu dữ liệu ứng với tên, bộ nhớ cần thiết và các
phép tính có thể áp dụng đối với nó. Nhóm công cụ thực hiện công việc này được
gọi chung là Hàm tên.
Dựa vào bảng tên hệ thống xây dựng bản đồ bộ nhớ cho các biến, tiến hành
phân tích các câu lệnh, thay tên bằng địa chỉ, thay phép tính bằng mã phép tính và
được một mô đun chương trình trên ngôn ngữ máy. Nhóm công cụ thực hiện các
Tổ chức bộ
Tổ lô
nhớ chức
gic?bộ
nhớ lô gic?
Tổ chức bộ
Tổ chức bộ
nhớ vật lý?
nhớ vật lý?
Mỗi cách giải quyết vấn đề sẽ đưa tới một cách quản lý bộ nhớ và một phạm
vi ứng dụng hiệu quả trong điều kiện môi trường nhất định.
4.2 – Cấu trúc chương trình
Bộ nhớ lô gic dùng để chứa chương trình và ở mỗi thời điểm chỉ chứa một
chương trình. Chính vì vậy có thể đồng nhất cách tổ chức bộ nhớ lô gic với cách tổ
chức chương trình. Mỗi cách tổ chức chương trình sẽ tương ứng với một cấu trúc.
Tồn tại nhiều loại cấu trúc chương trình khác nhau và mọi cấu trúc đều đang được
sử dụng trong thực tế.
4.2.1 – Cấu trúc tuyến tính
Khi xây dựng chương trình theo cấu trúc tuyến tính chương trình biên tập sẽ
tìm tất cả các mô đun cần thiết cho việc thực hiện chương trình, kết nối chúng
thành một file chương trình duy nhất.
Cấu trúc động rất thích hợp với các chương trình hệ thống vì một trong những
yêu cầu quan trọng đối với các chương trình hệ thống là tiết kiệm bộ nhớ dành cho
hệ thống. Với những người lập trình hệ thống việc tham gia quản lý bộ nhớ không
phải là rào cản.
4.2.3 – Cấu trúc Overlay
Cấu trúc Overlay là cơ chế phân phối động các mô dun theo sơ đồ bộ nhớ
tĩnh. Hiệu quả tiết kiệm bộ nhớ bị giảm sút một phần so với cấu trúc động thuận
tiện hơn nhiều đối với người lập trình.Các mô đun được phân thành các lớp, mỗi
lớp bao gồm các mô đun không cần tồn đồng thời trong quá trình thực hiện chương
trình. Lớp 0 chỉ chứa mô đun gốc. Lớp i chứa các các mô đun được gọi từ lớp i-1
và không cần tồn tại đồng thời (i = 1, 2, 3, . . .). Thông tin cho biết mỗi lớp chứa
những mô đun nào được gọi là Sơ đồ tổ chức Overlay. Sơ đồ này do người lập
trình xây dựng và cung cấp cho chương trình biên tập. Như vậy sơ đồ tổ chức
overlay là dữ liệu phục vụ biên tập và nằm ngoài chương trình nguồn. Sơ đồ này
thông thường có dạng như mô tả cây bằng danh sách đỉnh kề. Dựa trên sơ đồ tổ
Nguyên lý Hệ điều hành - Bài 4 Trang 6
Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người
chức overlay chương trình biên tập sẽ tạo bản đồ nạp mô đun. Bộ nhớ dành cho
chương trình được chia thành các phần (hoặc còn gọi là mức), đánh số từ 0 trở đi.
Phần bộ nhớ thứ i dùng để nạp mô đun ở mức i và có kích thước bằng kích thước
mô đun lớn nhất của mức này. Chương trình biên tập sẽ tạo ra Sơ đồ quản lý
Overlay. Đó là bảng thông tin cho biết mô đun đã được cần phải nạp vào đâu và đã
được nạp vào bộ nhớ hay chưa. Mỗi khi có lời gọi tới mô đun chương trình
Supervisor Overlay của hệ thống sẽ kiểm tra sự tồn tại của mô đun được gọi trong
bộ nhớ và sẽ tiến hành nạp, định vị mô đun này khi cần thiết. Mô đun được nạp sẽ
nằm đè lên mô đun cùng mức trước đó. Chính vì vậy trong cấu trúc overlay việc 2
mô đun cùng mức trực tiếp gọi nhau bị cấm.
Tương tự như cấu trúc động, các mô đun từ mức 1 trở đi được tập trung vào
một hoặc một vài file có đuôi là .OVL.
Các phần mềm ứng dụng như PCSHELL, XTREE, các hệ quản trị Cơ sở dữ
liệu FOXBASE, DATA BASE II (DB II), FOXPRO, . . . đều dựa trên chương trình
đun, được thực hiện tự động, không có sự can thiệp của người lập trình. Ngoài ra,
hiệu quả của nó không bị phụ thuộc vào cấu trúc của chương trình nguồn.
Tuy vậy nó cũng có một số nhược điểm:
Không cho phép sử dụng chung mô đun,
Việc báo lỗi khi thực hiện chương trình sẽ kém tường minh vì không thể chỉ
rõ lỗi xẩy ra ở mô đun nào,
Cần phải có một số phương tiện kỹ thuật nhất định mới có thể triển khai có
hiệu quả (điều này sẽ được nói rõ hơn ở phần quản lý bộ nhớ vật lý).
Bộ nhớ vật lý là bộ nhớ trong (RAM) được lắp ở một máy tính cụ thể. Kích
thước bộ nhớ trong rất ít khi thay đổi trừ khi người ta lắp thêm hoặc tháo bớt các
thanh chíp bộ nhớ. Như vậy, với một cấu hình cụ thể bộ nhớ trong của máy tính có
kích thước không đổi. Một phần của bộ nhớ được dùng để lưu trữ các chương trình
và dữ liệu của hệ thống, một phần khác – phục vụ các chương trình ứng dụng đang
được kích hoạt. Phần bộ nhớ còn lại sẽ thường xuyên thay đổi phụ thuộc vào các
ứng dụng được thực hiện.
Tình trạng thiếu bộ nhớ xẩy ra khá thường xuyên mặc dù ngày nay các máy
tính đều có bộ nhớ đủ lớn. Tuy vậy các chiến lược xử lý tình huống thiếu bộ nhớ là
đủ tốt và làm cho việc thiếu bộ nhớ trở nên trong suốt đối với người dùng.
Có nhiều chế độ quản lý khác nhau và mọi chế độ quản lý đều được ứng dụng
trong thực tế.
4.3.1 – Chế độ phân vùng cố định
Ở chế độ này bộ nhớ được chia thành n phần, mỗi phần có kích thước cố định
(không nhất thiết bằng nhau), được quản lý như một bộ nhớ độc lập và được dùng
để chạy một chương trình ứng dụng.
Ngoài ra, do hệ thống bảo vệ quá chặt, một số mô đun điều khiển phải được
sao chép vào mỗi phần để phục vụ công tác điều khiển việc thực hiện chương trình
ứng dụng. Điều này cũng gây lãng phí bộ nhớ không nhỏ.
Chế độ này thường được dùng trong các hệ thống có nhu cầu xử lý các
chương trình ngoài với kích thước chương trình và yêu cầu bộ nhớ biến thiên như
trong các hệ quản trị cơ sở dữ liệu, hệ thống chấm thi, v. v. . . Bộ nhớ ngoài trên
HD và SSD được quản lý theo chế độ này.
Vì mỗi phần có kích thước xác định trước có thể xuất hiện tình huống chương
trình cần thực hiện có kích thước lớn hơn kích thước phần lớn nhất hiện có. Để
thực hiện chương trình như vậy cần tiến hành Bố trí lại bộ nhớ. Việc phân phối lại
bộ nhớ cũng cần thiết các chương trình nhỏ đã xử lý hết, các phần kích thước bé
không còn cần thiết tồn tại.
Nội dung của việc bố trí lại bộ nhớ trong chế độ này là chia lại kích thước các
phần. Tồn tại các lệnh đối thoại phục vụ phân định lại các vùng bộ nhớ (tương tự
như lệnh FDISK và FORMAT phục vụ đĩa từ). Thao tác viên đánh giá tình hình, tự
đưa ra các lệnh bố trí lại khi thấy cần thiết. Như vậy thời điểm bố trí lại do thao tác
viên quyết định.
Khi bố trí lại, những phần có đường biên thay đổi sẽ bị mất thông tin bởi vì hệ
thống phải làm lại danh sách quản lý bộ nhớ tự do cho phần đó.
4.3.2 – Chế độ phân vùng động
Ở chế độ này việc thực hiện chương trình được quản lý chặt chẽ hơn. Nếu có
truy nhập ra ngoài vùng bộ nhớ đã được cấp phát hệ thống lập tức thông báo và
hủy chương trình vi phạm quy tắc bảo vệ.
Với chế độ phân vùng động do các biên bảo vệ thường xuyên thay đổi nên
cấu trúc tổ chức và quản lý phức tạp hơn chế độ phân vùng cố định. Tuy vậy bây
giờ không cần thiết phải sao chép các chương trình điều khiển để gắn với mỗi vùng
như trước. Ngoài ra số lượng chương trình đồng thời được kích hoạt cũng không
cố định, chỉ phụ thuộc vào việc có còn đủ bộ nhớ để phân phối hay không.
Nhưng ở chế độ phân vùng động tồn tại nguy cơ phân đoạn ngoài (External
Fragmentation). Đó là trường hợp bộ nhớ tự do còn nhiều và quản lý được, nhưng
vùng bộ nhớ tự do liên tục không đủ lớn để dáp ứng yêu cầu tiếp theo. Để khắc
phục hiện tượng phân đoạn ngoài hệ thống phải tiến hành bố trí lại.
nhận dạng đâu là câu lệnh và đâu là hằng. Chương trình có thể hoạt động theo
nguyên lý Macroprocessor, các đoạn
chương trình có thể được khởi tạo
ngay trong quá trình thực hiện chương
trình. Chương trình nhận dạng phức
tạp tương đương một chương trình
dịch.
Thời điểm bố trí lại do thao tác
viên quyết định và được thực hiện bằng Hình 4.13. Chương trình có cấu
nhóm câu lệnh đối thoại của hệ thống. trúc mô đun.
Như đã nói ở trên, trong chế độ quản
lý này việc bố trí lại không làm mất thông tin.
Địa chỉ dữ liệu trong chương trình phải biểu diễn dưới dạng tuyến tính, gồm 2
thành phần:
Khi thực hiện chương trình SCB sẽ được nạp vào bộ nhớ, địa chỉ đầu của nó
Như vậy để tính địa chỉ hệ thống cần thực hiện 2 phép cộng số nguyên (cộng
các địa chỉ).
Ví dụ, Rs = 300 và cần truy nhập tới địa chỉ tuyến tính (15, 532) ta có thể thấy
bức tranh truy nhập như sau:
Khi gặp hiện tượng phân đoạn ngoài hoặc thiếu bộ nhớ hệ thống sẽ tiến hành
bố trí lại (Swapping). Việc bố trí lại được thực hiện tự động khi có nhu cầu. Nội
dung của việc bố trí lại là đưa một hoặc một vài mô đun ra bộ nhớ ngoài, giải
phóng chỗ để nạp mô đun mới. Với các mô đun bị đưa ra hệ thống sẽ cập nhật lại
dấu hiệu D trong các phần tử tương ứng của SCB.
Năng suất của hệ thống phụ thuộc nhiều vào việc lựa chọn mô đun đưa ra khi
bố trí lại bộ nhớ. Trường hợp lý tưởng là đưa ra mô đun không còn dùng nữa.
Nhưng hệ thống không thể biết được thông tin này, vì vậy phải dựa trên cơ sở dự
báo. Các tiêu chuẩn lựa chọn mô đun đưa ra thường được dùng trong các hệ thống
thực tế là:
Chọn mô đun tồn tại lâu nhất,
Chọn mô đun có lần sử dụng cuối cùng cách đây lâu nhất (Least Recent
Used – LRU),
Chọn mô đun có tần suất sử dụng nhỏ nhất.
Các tiêu chuẩn này được đặt dưới dạng tùy chọn (Option) và được quyết định
khi cài đặt hệ thống.
Chế độ quản lý theo mô đun là một trong 2 chế độ làm việc của các máy tính
IBM PC 286 và là một trong 3 chế độ làm việc của máy tính IBM PC từ 386 trở
lên. Với các loại máy ính IBM PC này chế độ ngầm định chọn mô đun đưa ra là
LRU.
4.3.4 – Chế độ phân trang
Ở chế độ này bộ nhớ được chia thành các phần bằng nhau có kích thước cố
định gọi là trang (page).
Kích thước một trang có thể là 256B, 512B, 1KB, 2KB hoặc 4KB.
Các trang được đánh số từ 0 trở đi, tạo thành địa chỉ trang.
Các máy tính IBM PC từ 386 trở lên có chế độ phân trang với kích thước
trang là 4KB.
Chương trình phải có cấu trúc phân trang và một trang biên tập phải có kích
thước bằng kích thước trang vật lý.
Ví dụ, với Rp = 400 và địa chỉ tuyến tính là (81, 532) ta có thể có bức tranh
truy nhập sau:
Chế độ phân trang có các đặc điểm:
Tuy không có hiện tượng phân đoạn ngoài nhưng hệ thống vẫn cần các công
cụ bố trí lại để xử lý trường hợp thiếu bộ nhớ.
Việc bố trí lại do hệ thống đảm nhiệm và không bị mất thông tin. Nội dung
của việc bố trí lại là đưa một trang ra bộ nhớ ngoài, giải phóng chỗ để nạp trang
mới.
Tiêu chuẩn chọn trang đưa ra được đặt dưới dạng tùy chọn một trong số các
cách:
Đưa ra trang tồn tại lâu nhất trong bộ nhớ,
Đưa ra trang có lần sử dụng cuối cùng cách đây lâu nhất (chế độ LRU),
Đưa ra trang có tần xuất sử dụng thấp nhất.
Trong chế độ phân trang của các máy tính IBM PC từ 386 trở lên chế độ chọn
trang đưa ra ngầm định là LRU.
4.3.5 – Chế độ quản lý kết hợp mô đun và phân trang
Chế độ này phát huy được ưu điểm của hai chế độ quản lý theo mô đun và chế
độ phân trang, đồng thời khắc phục được nhược điểm của hai chế độ quản lý nêu
trên.
Ở chế độ quản lý này bộ nhớ được phân trang còn chương trình được tổ chức
theo cấu trúc mô đun, nhưng mỗi mô đun – được biên tập theo cấu trúc phân trang.
Như vậy mỗi mô đun có PCB riêng của mình.
Hệ thống tạo ra SCB để quản lý các PCB này.
Mỗi phần tử của SCB quản lý một PCB và cũng có 3 trường D, A và L với ý
nghĩa như sau:
Địa chỉ trong câu lệnh phải biểu dưới dạng địa chỉ tuyến tính gồm 3 thành
phần:
Khi thực hiện chương trình, SCB sẽ được nạp vào bộ nhớ và địa chỉ đầu của
nó được đưa vào Rs (Segment Register).
Để đọc hoặc ghi một dữ liệu hệ thống cần 3 lần truy nhập tới bộ nhớ:
Lấy nội dung của Rs cộng với s và truy nhập tới phần tử thứ s của SCB,
Nếu D = 0 – hệ thống sẽ nạp PCB tương ứng vào bộ nhớ và cập nhật lại
SCB; khi D = 1 – cộng A với p và truy nhập tới phần tử thứ p của PCBS,
{{ }
SCB==Phần
SCB Phầntử
tử }
DD AA LL
Dấu hiệu nạp
Dấu hiệu nạp
PCB: Địa chỉ nạp PCB
PCB: Địa chỉ nạp PCB
0 - Chưa nạp,
0 - Chưa nạp,
1 - đã nạp. Độ dài PCB
1 - đã nạp. Độ dài PCB
- Cấp phát bộ nhớ ,
- Cấp phát bộ nhớ ,
- Bảo vệ,
- Bảo vệ,
Hình 4.22. Cấu trúc phần tử SCB trong chế độ quản lý kết
hợp mô đun và phân trang.
Hình 4.23. Địa chỉ tuyến tính trong chế độ quản lý kết
hợp mô đun và phân trang.
Hình 4.24. Sơ đồ truy nhập dữ liệu trong chế độ quản lý kết hợp mô đun và
phân trang.
Nếu DP = 0 – hệ thống sẽ nạp và định vị trang và cập nhật PCBS; khi DP = 1
– ghép AP với d và truy nhập tới dữ liệu.
Như vậy có 2 phép tính số học nguyên và một phép tính bít được thực hiện.
Ở chế độ quản lý này việc bố trí lại bộ nhớ được thực hiện như trong chế độ
phân trang.
4.4 – Quản lý bộ nhớ trong IBM PC
Bộ nhớ trong máy tính IBM PC được chia thành 4 mức ưu tiên (Privilege
Levels), đánh số từ 0 đến 3. Số càng bé thì mức ưu tiên càng cao.
và
Mức ưu
Một chương trình chỉ được quyền truy nhập tới các khối chương trình và dữ
liệu cùng mức ưu tiên hay kém ưu tiên hơn. Ví dụ chương trình phục vụ hệ thống
(mức ưu tiên 2) được quyền truy nhập tới chương trình phục vụ khác (cùng mức ưu
tiên) hay truy nhập tới chương trình ứng dụng hoặc dữ liệu của nó (kém ưu tiên
hơn). Mọi truy nhập ngược vào trong sẽ bị hệ thống chặn với lỗi “Vi phạm quy tắc
bảo vệ”.
Mức ưu tiên được triển khai để đảm bảo hệ thống hoạt động một cách có tổ
chức và đồng bộ giữa các thành phần tồn tại trong hệ thống. Chương trình ở mức
ngoài có thể liên hệ với các chương trình ở mức trong thông qua dòng xếp hàng
các yêu cầu. Hệ thống sẽ định kỳ xem xét các dòng xếp hàng yêu cầu và đáp ứng
theo trình tự phù hợp.
Trong chế độ bảo vệ, các chương trình luôn luôn được biên tập trong bộ nhớ
lô gic bao gồm 16K khối, đánh số từ 0 đến 3FFFH. Các số thứ tự này được gọi là
chỉ số khối (Index). Mỗi khối được quản lý bằng một MCB. Trong chế độ bảo vệ
MCB có kích thước 8 bytes.
Bộ nhớ chung bao gồm một số khối. Các MCB tương ứng với những khối này
được quản lý trong Bảng mô tả bộ nhớ chung (Global Descriptor Table – GDT).
Mỗi bộ nhớ riêng bao gồm một số khối và các MCB tương ứng với các khối
đó được quản lý trong một Bảng mô tả bộ nhớ riêng (Local Descriptor Table –
LDT).
Khi thực hiện chương trình Bảng mô tả bộ nhớ chung và Bảng mô tả bộ nhớ
riêng được nạp vào bộ nhớ vật lý, địa chỉ đầu của các bảng này được đưa tương
ứng vào các thanh ghi GDTR và LDTR (Global Descriptor Table Register và
Local Descriptor Table Registe). Tồn tại các lệnh phục vụ đọc và cất giữ các thanh
ghi này (các lệnh LGDTR, SGDTR, LLDTR, SLDTR).
Lý
Thực tế
Như vậy sự khác biệt giữa lý thuyết và thực tế chỉ ở trường dấu hiệu D.
Trường một bít trong lý thuyết được hiện thức hóa bằng byte thuộc tính. Có 2 loại
khối cơ bản: khối lưu thông tin hệ thống và khối lưu chương trình/dữ liệu.
Nhận xét:
Bít W cho phép biến một vùng bộ nhớ RAM thành ROM bằng phần mềm,
Chương trình thống kê của hệ thống định kỳ kiểm tra nội dung các MCB,
với những MCB có bít A = 1 – ghi lại thời điểm truy nhập, tích lũy tần số
truy nhập và đưa lại bít A về 0. Như vậy hệ thống có thể biết được khối nào
có lần truy nhập cuối cùng cách đây lâu nhất, tính được tần suất truy nhập.
Những thông tin này được dùng trong việc bố trí lại bộ nhớ,
Vị trí và ý nghĩa các trường hoàn toàn giống như mô hình lý thuyết,
Trường L có 16 bít, vì vậy kích thước một khối tối đa là 64KB,
Bộ nhớ lô gic có 16K khối vì vậy kích thước bộ nhớ lô gic cho máy 286 là
16×210×64×210 = 230 = 1GB.
d – địa chỉ tương đối tính từ đầu khối, kích thước tối đa của một khối là
64KB, vì vậy độ rộng 16 bít cho phép truy nhập tới địa chỉ bất kỳ trong khối,
RPL – Mức ưu tiên truy nhập (Request Privilege Level), mức ưu tiên của
chương trình truy nhập sẽ được ghi vào trường RPL,
TI – Loại bộ nhớ (Table Indicator), TI = 0 là truy nhập tới bộ nhớ chung G,
hệ thống sẽ làm việc với thanh ghi GDTR, TI = 1 – truy nhập tới bộ nhớ
riêng L, hệ thống sẽ làm việc với thanh ghi LDTR.
Index – chỉ số khối truy nhập.
Dựa vào TI và Index hệ thống sẽ tìm thấy MCB tương ứng và tách ra DPL.
Nếu DPL ≥ RPL thì truy nhập là hợp thức, trong trường hợp ngược lại – vi phạm
quy tắc bảo vệ, truy nhập sẽ bị ngắt.
Cấu trúc địa chỉ tuyến tính cho phép truy nhập tới địa chỉ lô gic tối đa là
2 ×21×216-1 = 230-1 =1GB-1, tức là mọi địa chỉ trong bộ nhớ lô gic.
13
Máy IBM PC 286 có thanh ghi địa chỉ AR (Adrress Register) 24 bít. Vì vậy
bộ nhớ vật lý tối đa chỉ có thể là 224 = 16BM. Như vậy bộ nhớ lô gic tối đa của
máy 286 lớn gấp 64 lần bộ nhớ vật lý tối đa.
Với các máy IBM PC 32 bít MCB có cấu trúc:
Vai trò các bít G, D và L:
Bít G (Granularity):
G = 0 là chế độ quản lý theo mô đun, đơn vị tính kích thước khối là
byte, như vậy kích thước tối đa của mỗi khối là 220 = 1MB,
G = 1 là chế độ quản lý phân trang, đơn vị tính kích thước khối là
trang, như vậy kích thước tối đa của mỗi khối là 220 trang = 220×212 =
232 = 4GB.
Nguyên lý Hệ điều hành - Bài 4 Trang 28
Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người
Bít D (Data):
D = 0 – chế độ dữ liệu 16 bít,
D = 1 – chế độ dữ liệu 32 bít.
Bít L:
L = 0 – chế độ hệ thống 32 bít,
L = 1 – chế độ hệ thống 32 bít (kiểu IA 32).
Thuộc
Hình 4.31. Cấu trúc MCB ở máy IBM PC 32 bit chế độ Intel 64.
(Segment Descriptor)
Ở chế độ phân trang kích thước tối đa của bộ nhớ lô gic sẽ là:
Số Kích thước
lượng max
Địa chỉ tuyến tính của các máy 32 bít có độ dài 48 bít và có cấu trúc:
Ý nghĩa các trường trong địa chỉ tuyến tính cho máy 32 bít cũng giống như ở
Hình 4.33. Cấu trúc phần tử quản lý trang ở máy IBM PC 32 bít.
Theo mục đích sử dụng, bộ nhớ RAM có thể coi là được chia thành 3 phần,
các phần đều có kích thước là số nguyên lần trang. Phần PD (Page Directory) để
chứa SCB (trong trường hợp cụ thể này là GDT và các LDT), phần PT (Page
Table) để chứa PCB (chứa các phần tử quản lý trang) và phần còn lại (Pages) chứa
các trang chương trình và dữ liệu.
Để truy nhập một thông tin trong phần Page cần 3 lần tới bộ nhớ: tới PD để
xác định địa chỉ phần tử quản lý trang, tới PT để xác định địa chỉ thông tin và tới
phần Page để đọc hoặc ghi thông tin. Như vậy chế quản lý bộ nhớ ở đây là kết hợp
mô đun và phân trang.