SlideShare a Scribd company logo
Hệ Điều Hành
GVBM: Võ Tấn Sang
Nhóm thực hiện : nhóm 6
Quản Lý Bộ Nhớ
9.1.Bối cảnh
9.1.1 Phần cứng cơ bản
• Cần đảm bảo rằng một tiến trình chỉ có thể truy cập những địa chỉ đó trong không gian địa chỉ của nó.
• Chúng ta có thể cung cấp sự bảo vệ này bằng cách sử dụng một cặp đế Và thanh ghi giới hạn xác định không gian
địa chỉ logic của một tiến trình.
a.Sự bảo vệ:
*Giải thích:
Hệ thống điều hành (Operating System):
Được cấp phát ở phần trên cùng của bộ nhớ, từ địa chỉ 880000 đến
1024000.
Đây là không gian dành riêng cho hệ thống điều hành để quản lý và
thực thi các tác vụ quan trọng.
Các quy trình (Processes):
Có ba quy trình được phân biệt thông qua giá trị base và limit:
Quy trình 1: Nằm giữa khoảng 420940 và 880000.
Quy trình 2: Nằm giữa khoảng 300040 và 420940.
Quy trình 3: Nằm giữa khoảng 256000 và 300040.
Hai mũi tên chỉ ra từ hai trong số các quy trình này đến hộp được
ghi là “base + limit” và “base”, cho thấy cách các quy trình này
được phân biệt trong bộ nhớ.
Địa chỉ bộ nhớ:
Trục dọc bên trái biểu thị các địa chỉ bộ nhớ, từ 0 đến 1024000.
b.Bảo vệ địa chỉ phần cứng
1.CPU (Central Processing Unit): Đơn vị xử lý trung tâm của máy tính, nơi tạo ra địa chỉ.
2.Base (Cơ sở): Giá trị cơ bản, thường là địa chỉ bắt đầu của một phân đoạn bộ nhớ.
3.Base + Limit (Cơ sở + Giới hạn): Tổng của giá trị cơ sở và giới hạn, xác định địa chỉ kết thúc của phân đoạn
bộ nhớ.
4.Memory (Bộ nhớ): Nơi lưu trữ dữ liệu và chương trình.
Các bước hoạt động như sau:
•CPU tạo ra một địa chỉ.
•Địa chỉ được so sánh với Base và Base + Limit.
•Nếu địa chỉ lớn hơn hoặc bằng Base và nhỏ hơn Base + Limit, CPU truy cập bộ nhớ.
•Nếu không, xảy ra lỗi địa chỉ không hợp lệ, và máy tính chuyển đến hệ điều hành để xử lý.
9.1.2.Ràng buộc địa chỉ
• Các chương trình trên đĩa, sẵn sàng được đưa vào bộ nhớ để thực thi dưới
dạng hàng đợi đầu vào
• Nếu không có hỗ trợ thì phải nạp vào địa chỉ 0000
• Bất tiện khi có địa chỉ vật lý xử lý người dùng đầu tiên luôn ở mức 0000
• Làm thế nào nó có thể không được?
• Địa chỉ được thể hiện theo những cách khác nhau ở các giai đoạn khác nhau
trong vòng đời của chương trình
• Địa chỉ mã nguồn thường mang tính biểu tượng
• Địa chỉ mã được biên dịch liên kết đến các địa chỉ có thể di chuyển được.
• 14 byte kể từ đầu mô-đun này ”
• Trình liên kết hoặc trình tải sẽ liên kết các địa chỉ có thể định vị lại với các địa
chỉ tuyệt đối tức là 74014
• Mỗi liên kết ánh xạ một không gian địa chỉ này sang một không gian địa chỉ
khác
• Liên kết địa chỉ của hướng dẫn và dữ liệu với địa chỉ bộ nhớ có thể xảy ra ở
ba giai đoạn khác nhau
• Thời gian biên dịch : Nếu vị trí bộ nhớ được biết trước, mã tuyệt đối có thể
được tạo; phải biên dịch lại mã nếu vị trí bắt đầu thay đổi
• Thời gian tải : Phải tạo mã có thể định vị lại nếu không biết vị trí bộ nhớ tại
thời điểm biên dịch
• Thời gian thực thi : Việc liên kết bị trì hoãn cho đến thời gian chạy nếu tiến
trình có thể được di chuyển trong quá trình thực thi từ phân đoạn bộ nhớ
này sang phân đoạn bộ nhớ khác
• Cần hỗ trợ phần cứng cho bản đồ địa chỉ (ví dụ: cơ sở và giới hạn sổ đăng
ký)
a.Ràng buộc cách hướng dẫn và dữ liệu vào bộ nhớ
b.Xử lý nhiều bước của chương trình người dùng
1.Source Program: Chương trình nguồn được biên dịch
bởi trình biên dịch hoặc trình tổng hợp trong quá trình
biên dịch.
2.Object Module: Sau biên dịch, chương trình nguồn tạo
ra một đối tượng module, có thể kết hợp với các đối
tượng module khác.
3.Linkage Editor: Trình biên tập liên kết kết hợp các
module này để tạo ra một đối tượng tải vào bộ nhớ tại
thời điểm tải.
4.System Libraries: Các thư viện hệ thống cũng có thể
được bao gồm trong giai đoạn này.
5.Loader: Trình nạp tải module này và thêm các thư viện
hệ thống được tải động thông qua liên kết động.
6.In-Memory Binary Image: Cuối cùng, một hình ảnh
nhị phân trong bộ nhớ được tạo ra và thực thi trong thời
gian chạy.
9.1.3.Không gian địa chỉ logic và vật lý
• Khái niệm về không gian địa chỉ logic được gắn với một không gian
địa chỉ vật lý là trung tâm của việc quản lý bộ nhớ thích hợp
• Hợp lý Địa chỉ – do CPU tạo ra; còn gọi là ảo Địa chỉ
• Thuộc vật chất Địa chỉ – địa chỉ được nhìn thấy bởi đơn vị bộ nhớ
• Địa chỉ logic và địa chỉ vật lý giống nhau trong sơ đồ liên kết địa chỉ
thời gian biên dịch và thời gian tải; địa chỉ logic (ảo) và địa chỉ vật lý
khác nhau trong sơ đồ liên kết địa chỉ tại thời điểm thực hiện
• Hợp lý Địa chỉ không gian là tập hợp tất cả các địa chỉ logic được
tạo bởi một chương trình
• Thuộc vật chất Địa chỉ không gian là tập hợp tất cả các địa chỉ vật
lý được tạo bởi một chương trình
a.Đơn vị quản lý bộ nhớ ( MMU )
• CPU (Central Processing Unit): Đơn vị xử lý trung tâm tạo ra địa chỉ
logic. Đây là địa chỉ mà chương trình sử dụng để truy cập dữ liệu.
• MMU (Memory Management Unit): Đơn vị quản lý bộ nhớ chuyển
đổi địa chỉ logic thành địa chỉ vật lý. MMU thực hiện việc ánh xạ giữa
hai loại địa chỉ này.
• Bộ nhớ vật lý (Physical Memory): Đây là nơi lưu trữ dữ liệu thực tế
trong máy tính.
b.Đơn vị quản lý bộ nhớ (Tiếp theo)
• Hãy xem xét sơ đồ đơn giản. đó là sự tổng quát hóa của sơ đồ thanh
ghi cơ sở.
• Thanh ghi cơ sở bây giờ được gọi là thanh ghi tái định vị
• Giá trị trong thanh ghi tái định vị được thêm vào mọi địa chỉ được tạo
bởi tiến trình người dùng tại thời điểm nó được gửi tới bộ nhớ
• Chương trình người dùng xử lý các địa chỉ logic ; nó không bao giờ
nhìn thấy địa chỉ vật lý thực sự
• Liên kết thời gian thực thi xảy ra khi tham chiếu được thực hiện tới
vị trí trong bộ nhớ
• Địa chỉ logic được liên kết với địa chỉ vật lý
c.Đơn vị quản lý bộ nhớ (Tiếp theo)
• Hoạt động và Luồng điều khiển:
• Một sơ đồ hoạt động cho thấy cách các hoạt động dẫn đến nhau.
Mỗi hoạt động có thể được gọi là một hoạt động hệ thống.
• Một hoạt động dẫn đến hoạt động tiếp theo trong luồng điều khiển.
Luồng này có thể song song, đồng thời, hoặc phân nhánh.
• Biểu tượng và Ký hiệu:
• Sơ đồ hoạt động sử dụng nhiều biểu tượng, bao gồm:
• Biểu tượng bắt đầu: Đại diện cho một quy trình hoặc quy trình
công việc bắt đầu.
• Biểu đồ quyết định: Hiển thị quyết định và các đường dẫn phân
nhánh.
• Biểu tượng ghi chú: Cho phép truyền tải thông báo bổ sung
không thuộc về sơ đồ.
• Biểu tượng kết nối: Hiển thị luồng định hướng hoặc luồng điều
khiển của hoạt động.
• Mục tiêu và Ứng dụng:
• Sơ đồ hoạt động nắm bắt hành vi năng động của hệ thống.
• Nó xây dựng hệ thống thực thi bằng cách sử dụng các phương pháp
kỹ thuật chuyển tiếp và đảo ngược.
• Sơ đồ hoạt động giúp hình dung bản chất động của một hệ thống.
9.1.4.Tải động
• Toàn bộ chương trình cần phải có trong bộ nhớ để thực thi
• Quy trình không được tải cho đến khi nó được gọi
• Sử dụng không gian bộ nhớ tốt hơn; thói quen không sử dụng không
bao giờ được tải
• Tất cả các thủ tục được lưu trên đĩa ở định dạng tải có thể định vị lại
• Hữu ích khi cần số lượng lớn mã để xử lý các trường hợp không
thường xuyên xảy ra
• Không cần hỗ trợ đặc biệt từ hệ điều hành
• Thực hiện thông qua thiết kế chương trình
• Hệ điều hành có thể trợ giúp bằng cách cung cấp các thư viện để triển
khai tải động
9.1.5.Liên kết động
• Toàn bộ chương trình cần phải có trong bộ nhớ để thực thi
• Quy trình không được tải cho đến khi nó được gọi
• Sử dụng không gian bộ nhớ tốt hơn; thói quen không sử dụng không
bao giờ được tải
• Tất cả các thủ tục được lưu trên đĩa ở định dạng tải có thể định vị lại
• Hữu ích khi cần số lượng lớn mã để xử lý các trường hợp không
thường xuyên xảy ra
• Không cần hỗ trợ đặc biệt từ hệ điều hành
• Thực hiện thông qua thiết kế chương trình
• Hệ điều hành có thể trợ giúp bằng cách cung cấp các thư viện để triển
khai tải động
9.2.Cấp phát bộ nhớ liên tục
9.2.1.Phân bổ liên tục
• Bộ nhớ chính phải hỗ trợ cả quy trình của hệ điều hành và người dùng
• Nguồn lực hạn chế, phải phân bổ hiệu quả
• Phân bổ liền kề là một phương pháp sớm
• Bộ nhớ chính thường chia thành hai phân vùng :
• Hệ điều hành thường trú, thường được giữ ở bộ nhớ thấp với vectơ
ngắt
• Các tiến trình của người dùng sau đó được giữ trong bộ nhớ cao
• Mỗi quá trình chứa trong một phần bộ nhớ liền kề
9.2.2.Phân bổ liền kề (Tiếp theo)
• Các thanh ghi tái định vị được sử dụng để bảo vệ các tiến trình của
người dùng với nhau và khỏi việc thay đổi mã và dữ liệu của hệ điều
hành
• Thanh ghi cơ sở chứa giá trị địa chỉ vật lý nhỏ nhất
• Thanh ghi giới hạn chứa nhiều địa chỉ logic - mỗi địa chỉ logic phải
nhỏ hơn thanh ghi giới hạn
• MMU ánh xạ địa chỉ logic một cách linh hoạt
• Sau đó có thể cho phép các hành động như mã hạt nhân tạm thời và
kích thước thay đổi kernel
9.2.3.Hỗ trợ phần cứng cho các thanh ghi vị lại và giới hạn
• CPU (Central Processing Unit) tạo ra một địa chỉ logic.
• Địa chỉ logic này được so sánh với giá trị trong thanh ghi
giới hạn.
• Nếu địa chỉ logic nhỏ hơn giá trị trong thanh ghi giới
hạn, nó được cộng thêm vào thanh ghi di chuyển để tạo
ra một địa chỉ vật lý. Địa chỉ vật lý này sau đó được sử
dụng để truy cập bộ nhớ.
• Nếu địa chỉ logic không nhỏ hơn giá trị trong thanh ghi
giới hạn, một lỗi định vị sẽ được phát hiện và xử lý.
• Thanh ghi di chuyển là một thành phần quan trọng trong
việc ánh xạ giữa địa chỉ logic và địa chỉ vật lý. Khi CPU
thực hiện các phép tính, nó sử dụng địa chỉ logic để truy
cập dữ liệu trong bộ nhớ, và sau đó ánh xạ nó thành địa
chỉ vật lý để thực hiện truy cập thực tế.
9.2.4.Phân vùng biến
• Phân bổ nhiều phân vùng.
• Mức độ đa chương trình bị giới hạn bởi số lượng phân vùng.
• Phân vùng biến kích thước cho hiệu quả (có kích thước phù hợp với
nhu cầu của một quy trình nhất định).
• Hole – khối bộ nhớ khả dụng; các lỗ có kích thước khác nhau nằm rải
rác trong bộ nhớ.
• Khi một tiến trình đến, nó được cấp phát bộ nhớ từ một lỗ đủ lớn để
chứa nó.
• Quá trình thoát sẽ giải phóng phân vùng của nó, các phân vùng miễn
phí liền kề được kết hợp.
Hệ điều hành duy trì thông tin về:
1.Phân vùng được cấp phát:
• Có ba cột đại diện cho việc cấp phát bộ nhớ cho các quy trình và hệ điều hành.
• Cột đầu tiên có OS được cấp phát ở trên, tiếp theo là quy trình 5, quy trình 8 và quy trình 2 từ trên
xuống dưới.
• Cột thứ hai cũng có OS ở trên, tiếp theo là chỉ có quy trình 5 và quy trình 2.
• Cột thứ ba hiển thị OS ở trên lại với quy trình 9 ở dưới và sau đó là quy trình 2 ở cuối cùng.
2.Phân vùng trống (lỗ hổng):
• Có hai cột đại diện cho các khoảng trống trống trong việc cấp phát bộ nhớ:
• Cột đầu tiên có OS ở trên, một khoảng trống được đánh dấu là “lỗ hổng”, tiếp theo là quy trình 9 và
sau đó là một lỗ hổng khác ở trên quy trình 2.
• Cột thứ hai tương tự nhưng có thêm một lỗ hổng giữa OS và quy trình 9.
9.2.5.Sự phân mảnh
• Bên ngoài Sự phân mảnh – tổng dung lượng bộ nhớ tồn tại để đáp ứng
yêu cầu nhưng không liền kề nhau.
• Nội bộ Sự phân mảnh – bộ nhớ được phân bổ có thể lớn hơn một chút
so với bộ nhớ được yêu cầu; sự khác biệt về kích thước này là bộ nhớ
bên trong của một phân vùng nhưng không được sử dụng.
• Phân tích phù hợp đầu tiên cho thấy rằng với N khối được phân bổ, 0,5
N khối bị mất do phân mảnh.
• 1/3 có thể không sử dụng được -> 50% luật lệ.
9.2.6.Sự phân mảnh (tiếp theo)
• Giảm sự phân mảnh bên ngoài bằng cách nén.
• Xáo trộn nội dung bộ nhớ để đặt tất cả bộ nhớ trống vào một. khối lớn.
• Việc nén chỉ có thể thực hiện được nếu việc tái định vị là động. và
được thực hiện tại thời điểm thực hiện.
• Vấn đề vào/ra.
• Chốt công việc trong bộ nhớ khi nó liên quan đến I/O.
• Chỉ thực hiện I/O vào bộ đệm của hệ điều hành.
• Bây giờ hãy xem xét rằng cửa hàng hỗ trợ có vấn đề phân mảnh tương
tự.
9.3.Phân trang
• Không gian địa chỉ vật lý của một tiến trình có thể không liền kề nhau; tiến trình được
phân bổ bộ nhớ vật lý bất cứ khi nào có sẵn bộ nhớ vật lý
• Tránh sự phân mảnh bên ngoài
• Tránh vấn đề về các khối bộ nhớ có kích thước khác nhau
• Chia bộ nhớ vật lý thành các khối có kích thước cố định gọi là khung
• Kích thước là lũy thừa của 2, từ 512 byte đến 16 Mbyte
• Chia bộ nhớ logic thành các khối có cùng kích thước gọi là trang
• Theo dõi tất cả các khung hình miễn phí
• Để chạy một chương trình có kích thước N trang, cần tìm N khung trống và tải chương
trình
• Thiết lập một trang bảng để dịch địa chỉ logic sang địa chỉ vật lý
• Cửa hàng hỗ trợ cũng được chia thành các trang
• Vẫn có sự phân mảnh nội bộ
9.3.1.Sơ đồ dịch địa chỉ
•Địa chỉ do CPU tạo ra được chia thành:
•Trang con số ( P ) – được sử dụng làm chỉ mục cho một trang bàn chứa địa chỉ cơ
sở của mỗi trang trong bộ nhớ vật lý
•Trang bù lại ( d ) – kết hợp với địa chỉ cơ sở để xác định địa chỉ bộ nhớ vật lý được
gửi đến đơn vị bộ nhớ
•Đối với không gian địa chỉ logic nhất định 2 m và kích thước trang 2 n
9.3.2.Phần cứng phân trang
• CPU (Central Processing Unit) tạo ra một địa chỉ logic (logical address).
• Địa chỉ logic này sau đó được xử lý thông qua một bảng trang (page table), được biểu
diễn bằng một hình chữ nhật dọc với các hàng được đánh dấu bằng các chữ cái ‘p’ và
‘f’.
• Mũi tên chỉ ra sự chuyển đổi thông tin từ CPU đến bảng trang và sau đó đến bộ nhớ vật
lý.
• Bảng trang chuyển đổi địa chỉ logic thành địa chỉ vật lý (physical address) bằng cách
sử dụng các khung (frames) được đánh số ‘d’, ‘f’, và các khung khác không hiển thị
trong hình ảnh.
• Phía bên phải của sơ đồ là một hình chữ nhật biểu thị cho bộ nhớ vật lý (physical
memory), được chia thành các phần được đánh số ‘frame e’, ‘frame f’, và ‘frame g’.
• Mỗi khung trong bộ nhớ vật lý có một phạm vi địa chỉ thập lục phân liên quan, ví dụ:
từ 0x0000 đến 0xFFFF cho khung f.
• Các mũi tên chỉ ra rằng dữ liệu từ bảng trang được định hướng đến các khung cụ thể
trong bộ nhớ vật lý.
9.3.3.Mô hình phân trang của bộ nhớ logic và vật lý
• Bộ nhớ logic (logical memory) được chia
thành bốn trang (page) từ 0 đến 3.
• Trong phần giữa, có một bảng trang (page
table) ánh xạ mỗi trang logic tới một số
khung (frame) trong bộ nhớ vật lý (physical
memory). Các ánh xạ như sau:
• Trang 0 ánh xạ tới Khung số 1.
• Trang 1 ánh xạ tới Khung số 4.
• Trang 2 ánh xạ tới Khung số 3.
• Trang 3 ánh xạ tới Khung số 7.
• Phía bên phải của sơ đồ là một cột biểu thị
cho bộ nhớ vật lý, chia thành tám khung từ
0 đến 7. Mỗi khung được liên kết với một
trang logic dựa trên các ánh xạ trong bảng
trang.
a. Ví dụ phân trang
•Bộ nhớ logic (logical memory) được chia thành bốn
trang (page) từ 0 đến 3.
•Trong phần giữa, có một bảng trang (page table) ánh
xạ mỗi trang logic tới một số khung (frame) trong bộ
nhớ vật lý (physical memory). Các ánh xạ như sau:
• Trang 0 ánh xạ tới Khung số 1.
• Trang 1 ánh xạ tới Khung số 4.
• Trang 2 ánh xạ tới Khung số 3.
• Trang 3 ánh xạ tới Khung số 7.
•Phía bên phải của sơ đồ là một cột biểu thị cho bộ
nhớ vật lý, chia thành tám khung từ 0 đến 7. Mỗi
khung được liên kết với một trang logic dựa trên các
ánh xạ trong bảng trang.
9.3.4.Phân trang- Tính toán phân mảnh nội bộ
• Kích thước trang = 2.048 byte
• Kích thước quy trình = 72.766 byte
• 35 trang + 1.086 byte
• Phân mảnh nội bộ 2.048 - 1.086 = 962 byte
• Phân mảnh trong trường hợp xấu nhất = 1 khung – 1 byte
• Phân mảnh trung bình = 1/2 kích thước khung hình
• Vì vậy, kích thước khung hình nhỏ mong muốn?
• Nhưng mỗi mục trong bảng trang cần có bộ nhớ để theo dõi
• Kích thước trang tăng dần theo thời gian
• Solaris hỗ trợ hai kích thước trang – 8 KB và 4 MB
9.3.5.Khung miễn phí
• Bộ nhớ logic (logical memory) được chia
thành bốn trang (page) từ 0 đến 3.
• Trong phần giữa, có một bảng trang (page
table) ánh xạ mỗi trang logic tới một số
khung (frame) trong bộ nhớ vật lý
(physical memory). Các ánh xạ như sau:
• Trang 0 ánh xạ tới Khung số 1.
• Trang 1 ánh xạ tới Khung số 4.
• Trang 2 ánh xạ tới Khung số 3.
• Trang 3 ánh xạ tới Khung số 7.
• Phía bên phải của sơ đồ là một cột biểu thị
cho bộ nhớ vật lý, chia thành tám khung từ
0 đến 7. Mỗi khung được liên kết với một
trang logic dựa trên các ánh xạ trong bảng
trang.
9.3.6.Triển khai bảng trang
• Bảng trang được lưu giữ trong bộ nhớ chính
• Bảng trang căn cứ đăng ký ( PTBR ) trỏ tới bảng trang
• Bảng trang chiều dài đăng ký ( PTLR ) cho biết kích thước của bảng
trang
• Trong sơ đồ này, mọi truy cập dữ liệu/lệnh yêu cầu hai lần truy cập bộ
nhớ
• Một cho bảng trang và một cho dữ liệu/lệnh
• Vấn đề truy cập hai bộ nhớ có thể được giải quyết bằng cách sử dụng
bộ đệm phần cứng tra cứu nhanh đặc biệt được gọi là dịch thuật nhìn
sang một bên bộ đệm ( TLB ) (còn gọi là kết hợp ký ức)
9.3.7.Bộ đệm dịch sang bên
• Một số cửa hàng TLB Không gian địa chỉ số nhận dạng ( ASID ) trong
mỗi mục nhập TLB – xác định duy nhất từng quy trình để cung cấp
khả năng bảo vệ không gian địa chỉ cho quy trình đó
• Nếu không thì cần phải xả ở mỗi lần chuyển ngữ cảnh
• TLB thường nhỏ (64 đến 1.024 mục)
• Khi bỏ lỡ TLB, giá trị sẽ được tải vào TLB để truy cập nhanh hơn vào
lần tiếp theo
• Chính sách thay thế phải được xem xét
• Một số mục có thể có dây xuống để truy cập nhanh vĩnh viễn
9.3.8.Phần cứng
9.3.9.Phần cứng phân trang với TLB
• CPU (Central Processing Unit) tạo ra một
địa chỉ logic (logical address).
• Địa chỉ này được chia thành số trang và số
khung.
• TLB (Translation Lookaside Buffer) kiểm
tra xem nó có thông tin chuyển đổi cho số
trang cụ thể hay không:
• Nếu có (TLB hit), TLB cung cấp số khung và
tạo ra địa chỉ vật lý (physical address).
• Nếu không (TLB miss), hệ thống tra cứu trong
bảng trang (page table) để lấy thông tin chuyển
đổi, sau đó cập nhật TLB và tạo ra địa chỉ vật
lý.
9.3.10.Thời gian truy cập hiệu quả
• Tỷ lệ truy cập – tỷ lệ phần trăm số lần tìm thấy số trang trong TLB
• Tỷ lệ trúng 80% có nghĩa là chúng tôi tìm thấy số trang mong muốn trong TLB trong 80% thời
gian.
• Giả sử rằng 10 nano giây để truy cập bộ nhớ.
• Nếu chúng tôi tìm thấy trang mong muốn trong TLB thì việc truy cập bộ nhớ được ánh xạ sẽ mất
10 ns
• Nếu không, chúng ta cần hai quyền truy cập bộ nhớ nên nó là 20 ns
• Hiệu quả Truy cập Thời gian ( ĂN )
• EAT = 0,80 x 10 + 0,20 x 20 = 12 nano giây
• ngụ ý thời gian truy cập bị chậm lại 20%
• Hãy xem xét tỷ lệ trúng thực tế hơn là 99%,
• ĂN = 0,99 x 10 + 0,01 x 20 = 10,1ns
• ngụ ý chỉ có 1% chậm lại trong thời gian truy cập.
9.3.11.Bảo vệ bộ nhớ
• Bảo vệ bộ nhớ được triển khai bằng cách liên kết bit bảo vệ với mỗi khung
để cho biết liệu quyền truy cập chỉ đọc hay đọc-ghi được phép
• Cũng có thể thêm nhiều bit hơn để biểu thị chỉ thực thi trang, v.v.
• hợp lệ-không hợp lệ bit được gắn vào mỗi mục trong bảng trang:
• “ hợp lệ ” chỉ ra rằng trang được liên kết nằm trong không gian địa chỉ logic
của quy trình và do đó là một trang hợp pháp
• “ không hợp lệ ” chỉ ra rằng trang không nằm trong không gian địa chỉ logic
của quá trình
• Hoặc sử dụng bảng trang chiều dài đăng ký ( PTLR )
• Bất kỳ vi phạm nào đều dẫn đến bẫy vào kernel
9.3.12.Bit hợp lệ (v) hoặc không hợp lệ (i)
trong bảng trang
9.3.13.Trang được chia sẻ
• Đã chia sẻ mã số
• Một bản sao mã chỉ đọc ( reentrant ) được chia
sẻ giữa các tiến trình (ví dụ: trình soạn thảo văn
bản, trình biên dịch, hệ thống cửa sổ)
• Tương tự như nhiều luồng chia sẻ cùng một
không gian tiến trình
• Cũng hữu ích cho việc liên lạc giữa các tiến
trình nếu cho phép chia sẻ các trang đọc-ghi
• Riêng tư mã số Và dữ liệu
• Mỗi tiến trình giữ một bản sao mã và dữ liệu
riêng biệt
• Các trang dành cho mã và dữ liệu riêng có thể
xuất hiện ở bất kỳ đâu trong không gian địa chỉ
logic
9.4.Cấu trúc của bảng trang
• Cấu trúc bộ nhớ để phân trang có thể trở nên lớn hơn bằng cách sử dụng
các phương pháp đơn giản
• Hãy xem xét không gian địa chỉ logic 32 bit như trên các máy tính hiện đại
• Kích thước trang 4 KB (2 12 )
• Bảng trang sẽ có 1 triệu mục ( 2 32/2 12 )
• Nếu mỗi mục là 4 byte mỗi tiến trình có 4 MB không gian địa chỉ vật lý cho
riêng bảng trang
• Không muốn phân bổ liên tục trong bộ nhớ chính
• Một giải pháp đơn giản là chia bảng trang thành các đơn vị nhỏ hơn
• Phân trang phân cấp
• Bảng trang được băm
• Bảng trang đảo ngược
9.4.1.Bảng trang phân cấp
• Chia không gian địa chỉ logic thành nhiều
bảng trang
• Một kỹ thuật đơn giản là bảng trang hai
cấp
• Sau đó chúng ta trang bảng trang
9.4.2.Sơ đồ dịch địa chỉ
•Chia địa chỉ logic: Đầu tiên, địa chỉ logic được chia thành ba phần: P1, P2 và d.
• P1 được sử dụng để tra cứu trong bảng trang ngoài cùng để tìm ra vị trí của bảng trang con.
• Tiếp theo, P2 được sử dụng để tra cứu trong bảng trang con để xác định vị trí của khung (frame) trong bộ nhớ
vật lý.
• Cuối cùng, phần offset ‘d’ được thêm vào để xác định vị trí cụ thể trong khung.
•Hình ảnh: Hình ảnh minh họa quy trình này. Các hộp biểu thị các bảng trang được tô màu xanh và có các đường chỉ số
và đường dẫn.
9.4.3.Không gian địa chỉ logic 64 - bit
9.4.4.Sơ đồ phân trang ba cấp
•Hàng đầu tiên:
• Các cột được đánh dấu là “outer page” (trang ngoài),
“inner page” (trang trong), và “offset” (độ lệch).
• Dưới các nhãn cột, có các giá trị tương ứng: 42 cho “outer
page”, 10 cho “inner page”, và 12 cho “offset”.
• Có một nhãn khác nằm phía trên các giá trị của hàng đầu
tiên: p1 cho 42, p2 cho 10, và d cho 12.
•Hàng thứ hai:
• Được đánh dấu là “2nd outer page” (trang ngoài thứ hai)
và có các nhãn cột tương tự với các giá trị khác nhau:
• 32 cho “outer page” (trang ngoài), 10 cho một “outer
page” khác, 10 cho “inner page” (trang trong), và 12
cho “offset” (độ lệch).
• Phía trên các giá trị của hàng thứ hai, có các nhãn bổ sung:
p1 cho 32, p3 cho lần xuất hiện thứ hai của giá trị 10, p3 lại
cho lần xuất hiện thứ ba của giá trị 10, và d cho giá trị 12.
9.4.5.Bảng trang được băm
• Phổ biến trong không gian địa chỉ > 32 bit
• Số trang ảo được băm vào bảng trang
• Bảng trang này chứa một chuỗi các phần tử được băm vào cùng một vị trí
• Mỗi phần tử chứa (1) số trang ảo (2) giá trị của khung trang được ánh xạ
(3) một con trỏ tới phần tử tiếp theo
• Số trang ảo được so sánh trong chuỗi này để tìm kiếm kết quả khớp
• Nếu tìm thấy kết quả khớp, khung vật lý tương ứng sẽ được trích xuất
• Biến thể cho địa chỉ 64-bit được nhóm lại trang những cái bàn
• Tương tự như băm nhưng mỗi mục đề cập đến một số trang (chẳng hạn
như 16) thay vì 1
• Đặc biệt hữu ích cho không gian địa chỉ thưa thớt (nơi tham chiếu bộ nhớ
không liền kề và phân tán)
9.4.6.Bảng trang băm
• Địa chỉ logic (gồm hai thành phần “p” và “d”)
được đưa vào hàm băm (hash function).
• Hàm băm xử lý địa chỉ logic và ánh xạ nó thành
một chỉ số trong bảng băm (hash table).
• Mỗi chỉ số trong bảng băm chứa một con trỏ
(“ptr”) tương ứng với một vị trí cụ thể trong bộ
nhớ vật lý.
• Thành phần “d” từ địa chỉ logic được kết hợp với
con trỏ này để truy cập đến vị trí chính xác trong
bộ nhớ vật lý, tạo thành địa chỉ vật lý hoàn chỉnh.
9.4.7.Bảng trang đảo ngược
• CPU tạo ra địa chỉ logic.
• Địa chỉ logic được chia thành hai phần: ‘p’
và ‘d’.
• Bảng trang chứa các cặp ‘pid’ và ‘p’, được
sử dụng để tìm kiếm.
• Bảng trang giúp dịch địa chỉ logic thành địa
chỉ vật lý, cũng được chia thành hai phần:
‘p’ và ‘d’.
• Bộ nhớ vật lý là nơi các địa chỉ này được
ánh xạ để truy cập dữ liệu được lưu trữ
trong bộ nhớ.
9.4.8.Oracle SPARC Solaris
• Hãy xem xét ví dụ về hệ điều hành 64-bit hiện đại với phần mềm HW được tích hợp chặt chẽ
• Mục tiêu là hiệu quả, chi phí thấp
• Dựa trên hàm băm, nhưng phức tạp hơn
• Hai bảng băm
• Một kernel và một cho tất cả các tiến trình của người dùng
• Mỗi ánh xạ địa chỉ bộ nhớ từ bộ nhớ ảo sang bộ nhớ vật lý
• Mỗi mục đại diện cho một vùng liền kề của bộ nhớ ảo được ánh xạ,
• Hiệu quả hơn việc có một mục nhập bảng băm riêng cho mỗi trang
• Mỗi mục có địa chỉ cơ sở và khoảng (cho biết số trang mà mục đó đại diện)
• TLB giữ các mục trong bảng dịch (TTE) để tra cứu phần cứng nhanh chóng
• Bộ đệm của TTE nằm trong bộ đệm lưu trữ dịch (TSB)
• Bao gồm một mục nhập cho mỗi trang được truy cập gần đây
• Tham chiếu địa chỉ ảo gây ra tìm kiếm TLB
• Nếu bỏ lỡ, phần cứng sẽ truy cập TSB trong bộ nhớ để tìm TTE tương ứng với địa chỉ
• Nếu tìm thấy kết quả khớp, CPU sao chép mục TSB vào TLB và quá trình dịch hoàn tất
• Nếu không tìm thấy kết quả khớp, kernel sẽ dừng tìm kiếm bảng băm
• Sau đó, hạt nhân tạo TTE từ bảng băm thích hợp và lưu trữ nó trong TSB, Trình xử lý ngắt trả lại quyền điều khiển cho MMU, quá trình này hoàn tất
việc dịch địa chỉ.
9.5 Hoán đổi
9.5.1 Hoán đổi chuẩn
• Một tiến trình có thể được hoán đổi tạm thời ra khỏi bộ nhớ sang kho lưu trữ dự phòng, sau đó
được đưa trở lại bộ nhớ để tiếp tục thực hiện
• Tổng dung lượng bộ nhớ vật lý của các tiến trình có thể vượt quá bộ nhớ vật lý
• Kho lưu trữ – đĩa nhanh đủ lớn để chứa các bản sao của tất cả hình ảnh bộ nhớ cho tất cả người
dùng; phải cung cấp quyền truy cập trực tiếp vào những hình ảnh bộ nhớ này
• Đẩy ra, kéo vào – biến thể hoán đổi được sử dụng cho các thuật toán lập lịch dựa trên mức độ ưu
tiên; quy trình có mức độ ưu tiên thấp hơn được hoán đổi để quy trình có mức độ ưu tiên cao hơn
có thể được tải và thực thi
• Phần chính của thời gian hoán đổi là thời gian chuyển giao; tổng thời gian truyền tỷ lệ thuận với
lượng bộ nhớ được hoán đổi
• Hệ thống duy trì một hàng đợi sẵn sàng các tiến trình sẵn sàng chạy có hình ảnh bộ nhớ trên đĩa
• Quá trình hoán đổi có cần trao đổi trở lại cùng địa chỉ vật lý không?
• Phụ thuộc vào phương pháp liên kết địa chỉ
• Ngoài ra, hãy xem xét I/O đang chờ xử lý đến/từ không gian bộ nhớ xử lý
• Các phiên bản hoán đổi đã sửa đổi được tìm thấy trên nhiều hệ thống (ví dụ: UNIX, Linux và
Windows)
• Hoán đổi thường bị vô hiệu hóa
• Bắt đầu nếu vượt quá ngưỡng bộ nhớ được phân bổ
• Bị vô hiệu hóa lại khi nhu cầu bộ nhớ giảm xuống dưới ngưỡng
Sơ đồ hoán đổi
9.5.2 Hoán đổi với phân trang
• Nếu các tiến trình tiếp theo được đưa vào CPU không có trong bộ nhớ, cần hoán đổi một tiến trình và hoán đổi trong tiến trình
đích
• Thời gian chuyển ngữ cảnh có thể rất cao
• Quá trình trao đổi 100 MB sang đĩa cứng với tốc độ truyền 50 MB/giây
• Thời gian hoán đổi 2000 ms
• Cộng với trao đổi trong quy trình có cùng kích thước
• Tổng thời gian thành phần chuyển đổi ngữ cảnh là 4000ms (4 giây)
• Có thể giảm nếu giảm kích thước bộ nhớ bị hoán đổi – bằng cách biết lượng bộ nhớ thực sự được sử dụng
• Lệnh gọi hệ thống để thông báo cho hệ điều hành về việc sử dụng bộ nhớ thông qua request_memory () và
Release_memory ()
• Các hạn chế khác cũng như việc trao đổi
• I/O đang chờ xử lý – không thể trao đổi vì I/O có thể xảy ra sai quy trình
• Hoặc luôn chuyển I/O sang không gian kernel, sau đó đến thiết bị I/O
•
• Được mệnh danh là đôi đệm , thêm chi phí
• Trao đổi tiêu chuẩn không được sử dụng trong các hệ điều hành hiện đại
• Nhưng phiên bản sửa đổi phổ biến
• Chỉ trao đổi khi bộ nhớ trống cực kỳ thấp
9.5.3 Hoán đổi trên hệ thống di động
• Thông thường không được hỗ trợ
• Dựa trên bộ nhớ flash
• Lượng không gian nhỏ
• Số lượng chu kỳ ghi hạn chế
• Thông lượng kém giữa bộ nhớ flash và
CPU trên nền tảng di động
• Thay vào đó hãy sử dụng các phương pháp khác để
giải phóng bộ nhớ nếu pin yếu
• iOS yêu cầu các ứng dụng tự nguyện từ bỏ bộ
nhớ được phân bổ
• Dữ liệu chỉ đọc được loại bỏ và tải lại từ
flash nếu cần
• Việc không giải phóng có thể dẫn đến chấm
dứt
• Android chấm dứt ứng dụng nếu bộ nhớ trống
thấp nhưng trước tiên hãy ghi ứng dụng trạng
thái flash để khởi động lại nhanh
• Cả hai hệ điều hành đều hỗ trợ phân trang như
được thảo luận bên dưới
Hoán đổi với phân trang
9.6 Ví dụ: Kiến trúc Intel 32 và 64 bit
• Chip công nghiệp thống trị
• CPU Pentium là 32-bit và được gọi là kiến trúc IA-32
• CPU Intel hiện tại là 64-bit và được gọi là kiến trúc IA-64
• Nhiều biến thể trong chip, bao gồm các ý chính ở đây
9.6.1 Kiến trúc IA-32
9.6.1.1 Phân đoạn IA-32
• Hỗ trợ cả phân đoạn và phân đoạn với phân trang
• Mỗi phân đoạn có thể là 4 GB
• Lên đến 16 K phân đoạn cho mỗi quy trình
• Chia thành hai phân vùng
• Phân vùng đầu tiên có tối đa 8 phân đoạn K là riêng tư để xử lý (được lưu trữ cục bộ sự mô tả bàn ( LDT ))
• Phân vùng thứ hai có tối đa 8K phân đoạn được chia sẻ giữa tất cả các quy trình (được giữ trong toàn cầu sự mô tả bàn ( GDT ))
• CPU tạo địa chỉ logic
• Bộ chọn được cấp cho đơn vị phân đoạn
• nào tạo ra địa chỉ tuyến tính
•Địa chỉ tuyến tính được cấp cho đơn vị phân trang
• Tạo địa chỉ vật lý trong bộ nhớ chính
• Đơn vị phân trang tương đương với MMU
• Kích thước trang có thể là 4 KB hoặc 4 MB
Dịch địa chỉ logic sang vật lý trong IA-32
Phân đoạn Intel IA-32
• Giới hạn địa chỉ 32 bit đã khiến Intel tạo
ra trang Địa chỉ sự mở rộng ( PAE ),
cho phép các ứng dụng 32 bit truy cập
vào hơn 4GB dung lượng bộ nhớ
• Phân trang đã đi đến sơ đồ 3 cấp
• Hai bit trên cùng tham chiếu đến một trang
danh mục con trỏ bàn
• Các mục nhập thư mục trang và bảng trang
được chuyển sang kích thước 64 bit
• Hiệu ứng thực là tăng không gian địa chỉ lên 36
bit - 64GB bộ nhớ vật lý
9.6.2 x86-64
• Kiến trúc Intel x86 thế hệ hiện tại
• 64 bit là rất lớn (> 16 exabyte)
• Trong thực tế chỉ thực hiện địa chỉ 48 bit
• Kích thước trang 4 KB, 2 MB, 1 GB
• Bốn cấp độ phân cấp phân trang
• Cũng có thể sử dụng PAE nên địa chỉ ảo là 48 bit và địa chỉ vật lý là 52 bit
9.7 Ví dụ: Kiến trúc ARMv8
• Chip nền tảng di động chiếm ưu thế (ví dụ: thiết bị
Apple iOS và Google Android)
• CPU 32-bit hiện đại, tiết kiệm năng lượng
• Trang 4 KB và 16 KB
• Trang 1 MB và 16 MB (được gọi là phần )
• Phân trang một cấp cho các phần, hai cấp cho các
trang nhỏ hơn
• Hai cấp độ TLB
• Cấp độ bên ngoài có hai TLB vi mô (một dữ liệu, một
lệnh)
• Bên trong là TLB chính đơn
• Phần bên trong đầu tiên được kiểm tra, phần bên ngoài bị
bỏ sót được kiểm tra và bước đi trên bảng của trang bị bỏ
lỡ được thực hiện bởi CPU

More Related Content

Similar to Bài thuyết trình môn học Hệ Điều Hành.pptx

Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture
IT Expert Club
 
C 3. Quản lý bộ nhớ full.pdf
C 3. Quản lý bộ nhớ full.pdfC 3. Quản lý bộ nhớ full.pdf
C 3. Quản lý bộ nhớ full.pdf
LmTrn286060
 
Cấu Trúc Máy Tính.pdf
Cấu Trúc Máy Tính.pdfCấu Trúc Máy Tính.pdf
Cấu Trúc Máy Tính.pdf
PhamThao955982
 
HDH_chuong 1_2019_color.pdf
HDH_chuong 1_2019_color.pdfHDH_chuong 1_2019_color.pdf
HDH_chuong 1_2019_color.pdf
HongVitc
 
Báo cáo hdh
Báo cáo hdhBáo cáo hdh
Báo cáo hdh
huyltrn
 
Khởi động hệ thống
Khởi động hệ thốngKhởi động hệ thống
Khởi động hệ thống
Hanh Nguyễn Văn
 
Tailieu.vncty.com he dieu hanh
Tailieu.vncty.com   he dieu hanhTailieu.vncty.com   he dieu hanh
Tailieu.vncty.com he dieu hanh
Trần Đức Anh
 
Bao cao-cloud-linux-hosting
Bao cao-cloud-linux-hostingBao cao-cloud-linux-hosting
Bao cao-cloud-linux-hostinglaonap166
 
Chuong 2 cac thanh_phan_cua_httt
Chuong 2 cac thanh_phan_cua_htttChuong 2 cac thanh_phan_cua_httt
Chuong 2 cac thanh_phan_cua_httt
vo nhan
 
Qtu.vn sql - chuong 7
Qtu.vn  sql - chuong 7Qtu.vn  sql - chuong 7
Qtu.vn sql - chuong 7Hoang le Minh
 
[Duong daitran] vliw
[Duong daitran] vliw[Duong daitran] vliw
[Duong daitran] vliw
Duong Tran
 
Lưu trữ và xử lý dữ liệu trong điện toán đám mây
Lưu trữ và xử lý dữ liệu trong điện toán đám mâyLưu trữ và xử lý dữ liệu trong điện toán đám mây
Lưu trữ và xử lý dữ liệu trong điện toán đám mây
PhamTuanKhiem
 
Cấu trúc hệ điều hành
Cấu trúc hệ điều hànhCấu trúc hệ điều hành
Cấu trúc hệ điều hành
PhamTuanKhiem
 
Tongquanktmt
TongquanktmtTongquanktmt
Tongquanktmt
Tung Luu
 
Hệ PhâN TáN
Hệ PhâN TáNHệ PhâN TáN
Hệ PhâN TáNit
 
Linux+04
Linux+04Linux+04
Linux+04
Duong Hieu
 
the real-time operating system and real-time programming
the real-time operating system and real-time programmingthe real-time operating system and real-time programming
the real-time operating system and real-time programming
DucLe868608
 

Similar to Bài thuyết trình môn học Hệ Điều Hành.pptx (20)

Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture
 
C 3. Quản lý bộ nhớ full.pdf
C 3. Quản lý bộ nhớ full.pdfC 3. Quản lý bộ nhớ full.pdf
C 3. Quản lý bộ nhớ full.pdf
 
Cấu Trúc Máy Tính.pdf
Cấu Trúc Máy Tính.pdfCấu Trúc Máy Tính.pdf
Cấu Trúc Máy Tính.pdf
 
HDH_chuong 1_2019_color.pdf
HDH_chuong 1_2019_color.pdfHDH_chuong 1_2019_color.pdf
HDH_chuong 1_2019_color.pdf
 
Chuong2 nmth
Chuong2 nmthChuong2 nmth
Chuong2 nmth
 
Báo cáo hdh
Báo cáo hdhBáo cáo hdh
Báo cáo hdh
 
Khởi động hệ thống
Khởi động hệ thốngKhởi động hệ thống
Khởi động hệ thống
 
Tailieu.vncty.com he dieu hanh
Tailieu.vncty.com   he dieu hanhTailieu.vncty.com   he dieu hanh
Tailieu.vncty.com he dieu hanh
 
Dsd04 sta
Dsd04 staDsd04 sta
Dsd04 sta
 
Bao cao-cloud-linux-hosting
Bao cao-cloud-linux-hostingBao cao-cloud-linux-hosting
Bao cao-cloud-linux-hosting
 
Chuong 2 cac thanh_phan_cua_httt
Chuong 2 cac thanh_phan_cua_htttChuong 2 cac thanh_phan_cua_httt
Chuong 2 cac thanh_phan_cua_httt
 
Qtu.vn sql - chuong 7
Qtu.vn  sql - chuong 7Qtu.vn  sql - chuong 7
Qtu.vn sql - chuong 7
 
[Duong daitran] vliw
[Duong daitran] vliw[Duong daitran] vliw
[Duong daitran] vliw
 
Lưu trữ và xử lý dữ liệu trong điện toán đám mây
Lưu trữ và xử lý dữ liệu trong điện toán đám mâyLưu trữ và xử lý dữ liệu trong điện toán đám mây
Lưu trữ và xử lý dữ liệu trong điện toán đám mây
 
Thiet ke csdl pt
Thiet ke csdl ptThiet ke csdl pt
Thiet ke csdl pt
 
Cấu trúc hệ điều hành
Cấu trúc hệ điều hànhCấu trúc hệ điều hành
Cấu trúc hệ điều hành
 
Tongquanktmt
TongquanktmtTongquanktmt
Tongquanktmt
 
Hệ PhâN TáN
Hệ PhâN TáNHệ PhâN TáN
Hệ PhâN TáN
 
Linux+04
Linux+04Linux+04
Linux+04
 
the real-time operating system and real-time programming
the real-time operating system and real-time programmingthe real-time operating system and real-time programming
the real-time operating system and real-time programming
 

Recently uploaded

Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdfTừ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
Man_Ebook
 
kl_HOÀN THIỆN CÔNG TÁC ĐÁNH GIÁ THỰC HIỆN CÔNG VIỆC TẠI CÔNG TY CỔ PHẦN ĐẦU T...
kl_HOÀN THIỆN CÔNG TÁC ĐÁNH GIÁ THỰC HIỆN CÔNG VIỆC TẠI CÔNG TY CỔ PHẦN ĐẦU T...kl_HOÀN THIỆN CÔNG TÁC ĐÁNH GIÁ THỰC HIỆN CÔNG VIỆC TẠI CÔNG TY CỔ PHẦN ĐẦU T...
kl_HOÀN THIỆN CÔNG TÁC ĐÁNH GIÁ THỰC HIỆN CÔNG VIỆC TẠI CÔNG TY CỔ PHẦN ĐẦU T...
Luận Văn Uy Tín
 
DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdfDANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
thanhluan21
 
Halloween vocabulary for kids in primary school
Halloween vocabulary for kids in primary schoolHalloween vocabulary for kids in primary school
Halloween vocabulary for kids in primary school
AnhPhm265031
 
[NBV]-CHUYÊN ĐỀ 3. GTLN-GTNN CỦA HÀM SỐ (CÓ ĐÁP ÁN CHI TIẾT).pdf
[NBV]-CHUYÊN ĐỀ 3. GTLN-GTNN CỦA HÀM SỐ (CÓ ĐÁP ÁN CHI TIẾT).pdf[NBV]-CHUYÊN ĐỀ 3. GTLN-GTNN CỦA HÀM SỐ (CÓ ĐÁP ÁN CHI TIẾT).pdf
[NBV]-CHUYÊN ĐỀ 3. GTLN-GTNN CỦA HÀM SỐ (CÓ ĐÁP ÁN CHI TIẾT).pdf
NamNguynHi23
 
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang ThiềuBiểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
lamluanvan.net Viết thuê luận văn
 
trắc nhiệm ký sinh.docxddddddddddddddddd
trắc nhiệm ký sinh.docxdddddddddddddddddtrắc nhiệm ký sinh.docxddddddddddddddddd
trắc nhiệm ký sinh.docxddddddddddddddddd
my21xn0084
 
YHocData.com-bộ-câu-hỏi-mô-phôi.pdf đầy đủ
YHocData.com-bộ-câu-hỏi-mô-phôi.pdf đầy đủYHocData.com-bộ-câu-hỏi-mô-phôi.pdf đầy đủ
YHocData.com-bộ-câu-hỏi-mô-phôi.pdf đầy đủ
duyanh05052004
 
bài dự thi chính luận 2024 đảng chọn lọc.docx
bài dự thi chính luận 2024 đảng chọn lọc.docxbài dự thi chính luận 2024 đảng chọn lọc.docx
bài dự thi chính luận 2024 đảng chọn lọc.docx
HiYnThTh
 
Smartbiz_He thong MES nganh may mac_2024june
Smartbiz_He thong MES nganh may mac_2024juneSmartbiz_He thong MES nganh may mac_2024june
Smartbiz_He thong MES nganh may mac_2024june
SmartBiz
 
Bài tập chương 5. Năng lượng phản ứng.docx
Bài tập chương 5. Năng lượng phản ứng.docxBài tập chương 5. Năng lượng phản ứng.docx
Bài tập chương 5. Năng lượng phản ứng.docx
gorse871
 
THONG BAO nop ho so xet tuyen TS6 24-25.pdf
THONG BAO nop ho so xet tuyen TS6 24-25.pdfTHONG BAO nop ho so xet tuyen TS6 24-25.pdf
THONG BAO nop ho so xet tuyen TS6 24-25.pdf
QucHHunhnh
 
TỔNG HỢP 135 CÂU HỎI DI TRUYỀN PHÂN TỬ LUYỆN THI HỌC SINH GIỎI THPT MÔN SINH ...
TỔNG HỢP 135 CÂU HỎI DI TRUYỀN PHÂN TỬ LUYỆN THI HỌC SINH GIỎI THPT MÔN SINH ...TỔNG HỢP 135 CÂU HỎI DI TRUYỀN PHÂN TỬ LUYỆN THI HỌC SINH GIỎI THPT MÔN SINH ...
TỔNG HỢP 135 CÂU HỎI DI TRUYỀN PHÂN TỬ LUYỆN THI HỌC SINH GIỎI THPT MÔN SINH ...
Nguyen Thanh Tu Collection
 
BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...
BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...
BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...
Nguyen Thanh Tu Collection
 
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
Nguyen Thanh Tu Collection
 
Tuyển tập 9 chuyên đề bồi dưỡng Toán lớp 5 cơ bản và nâng cao ôn thi vào lớp ...
Tuyển tập 9 chuyên đề bồi dưỡng Toán lớp 5 cơ bản và nâng cao ôn thi vào lớp ...Tuyển tập 9 chuyên đề bồi dưỡng Toán lớp 5 cơ bản và nâng cao ôn thi vào lớp ...
Tuyển tập 9 chuyên đề bồi dưỡng Toán lớp 5 cơ bản và nâng cao ôn thi vào lớp ...
Bồi Dưỡng HSG Toán Lớp 3
 
Khí huyết và tân dịch - Y học cổ truyền VN
Khí huyết và tân dịch - Y học cổ truyền VNKhí huyết và tân dịch - Y học cổ truyền VN
Khí huyết và tân dịch - Y học cổ truyền VN
ThaiTrinh16
 
BÁO CÁO CUỐI KỲ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - NHÓM 7.docx
BÁO CÁO CUỐI KỲ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - NHÓM 7.docxBÁO CÁO CUỐI KỲ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - NHÓM 7.docx
BÁO CÁO CUỐI KỲ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - NHÓM 7.docx
HngL891608
 
tiếng việt dành cho sinh viên ngoại ngữ h
tiếng việt dành cho sinh viên ngoại ngữ htiếng việt dành cho sinh viên ngoại ngữ h
tiếng việt dành cho sinh viên ngoại ngữ h
huynhanhthu082007
 
Tai-lieu-Boi-Duong-HSG-môn-Ngữ-Văn-THPT-Tập-1.docx
Tai-lieu-Boi-Duong-HSG-môn-Ngữ-Văn-THPT-Tập-1.docxTai-lieu-Boi-Duong-HSG-môn-Ngữ-Văn-THPT-Tập-1.docx
Tai-lieu-Boi-Duong-HSG-môn-Ngữ-Văn-THPT-Tập-1.docx
NhNguynTQunh
 

Recently uploaded (20)

Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdfTừ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
 
kl_HOÀN THIỆN CÔNG TÁC ĐÁNH GIÁ THỰC HIỆN CÔNG VIỆC TẠI CÔNG TY CỔ PHẦN ĐẦU T...
kl_HOÀN THIỆN CÔNG TÁC ĐÁNH GIÁ THỰC HIỆN CÔNG VIỆC TẠI CÔNG TY CỔ PHẦN ĐẦU T...kl_HOÀN THIỆN CÔNG TÁC ĐÁNH GIÁ THỰC HIỆN CÔNG VIỆC TẠI CÔNG TY CỔ PHẦN ĐẦU T...
kl_HOÀN THIỆN CÔNG TÁC ĐÁNH GIÁ THỰC HIỆN CÔNG VIỆC TẠI CÔNG TY CỔ PHẦN ĐẦU T...
 
DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdfDANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
 
Halloween vocabulary for kids in primary school
Halloween vocabulary for kids in primary schoolHalloween vocabulary for kids in primary school
Halloween vocabulary for kids in primary school
 
[NBV]-CHUYÊN ĐỀ 3. GTLN-GTNN CỦA HÀM SỐ (CÓ ĐÁP ÁN CHI TIẾT).pdf
[NBV]-CHUYÊN ĐỀ 3. GTLN-GTNN CỦA HÀM SỐ (CÓ ĐÁP ÁN CHI TIẾT).pdf[NBV]-CHUYÊN ĐỀ 3. GTLN-GTNN CỦA HÀM SỐ (CÓ ĐÁP ÁN CHI TIẾT).pdf
[NBV]-CHUYÊN ĐỀ 3. GTLN-GTNN CỦA HÀM SỐ (CÓ ĐÁP ÁN CHI TIẾT).pdf
 
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang ThiềuBiểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
 
trắc nhiệm ký sinh.docxddddddddddddddddd
trắc nhiệm ký sinh.docxdddddddddddddddddtrắc nhiệm ký sinh.docxddddddddddddddddd
trắc nhiệm ký sinh.docxddddddddddddddddd
 
YHocData.com-bộ-câu-hỏi-mô-phôi.pdf đầy đủ
YHocData.com-bộ-câu-hỏi-mô-phôi.pdf đầy đủYHocData.com-bộ-câu-hỏi-mô-phôi.pdf đầy đủ
YHocData.com-bộ-câu-hỏi-mô-phôi.pdf đầy đủ
 
bài dự thi chính luận 2024 đảng chọn lọc.docx
bài dự thi chính luận 2024 đảng chọn lọc.docxbài dự thi chính luận 2024 đảng chọn lọc.docx
bài dự thi chính luận 2024 đảng chọn lọc.docx
 
Smartbiz_He thong MES nganh may mac_2024june
Smartbiz_He thong MES nganh may mac_2024juneSmartbiz_He thong MES nganh may mac_2024june
Smartbiz_He thong MES nganh may mac_2024june
 
Bài tập chương 5. Năng lượng phản ứng.docx
Bài tập chương 5. Năng lượng phản ứng.docxBài tập chương 5. Năng lượng phản ứng.docx
Bài tập chương 5. Năng lượng phản ứng.docx
 
THONG BAO nop ho so xet tuyen TS6 24-25.pdf
THONG BAO nop ho so xet tuyen TS6 24-25.pdfTHONG BAO nop ho so xet tuyen TS6 24-25.pdf
THONG BAO nop ho so xet tuyen TS6 24-25.pdf
 
TỔNG HỢP 135 CÂU HỎI DI TRUYỀN PHÂN TỬ LUYỆN THI HỌC SINH GIỎI THPT MÔN SINH ...
TỔNG HỢP 135 CÂU HỎI DI TRUYỀN PHÂN TỬ LUYỆN THI HỌC SINH GIỎI THPT MÔN SINH ...TỔNG HỢP 135 CÂU HỎI DI TRUYỀN PHÂN TỬ LUYỆN THI HỌC SINH GIỎI THPT MÔN SINH ...
TỔNG HỢP 135 CÂU HỎI DI TRUYỀN PHÂN TỬ LUYỆN THI HỌC SINH GIỎI THPT MÔN SINH ...
 
BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...
BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...
BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...
 
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
 
Tuyển tập 9 chuyên đề bồi dưỡng Toán lớp 5 cơ bản và nâng cao ôn thi vào lớp ...
Tuyển tập 9 chuyên đề bồi dưỡng Toán lớp 5 cơ bản và nâng cao ôn thi vào lớp ...Tuyển tập 9 chuyên đề bồi dưỡng Toán lớp 5 cơ bản và nâng cao ôn thi vào lớp ...
Tuyển tập 9 chuyên đề bồi dưỡng Toán lớp 5 cơ bản và nâng cao ôn thi vào lớp ...
 
Khí huyết và tân dịch - Y học cổ truyền VN
Khí huyết và tân dịch - Y học cổ truyền VNKhí huyết và tân dịch - Y học cổ truyền VN
Khí huyết và tân dịch - Y học cổ truyền VN
 
BÁO CÁO CUỐI KỲ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - NHÓM 7.docx
BÁO CÁO CUỐI KỲ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - NHÓM 7.docxBÁO CÁO CUỐI KỲ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - NHÓM 7.docx
BÁO CÁO CUỐI KỲ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - NHÓM 7.docx
 
tiếng việt dành cho sinh viên ngoại ngữ h
tiếng việt dành cho sinh viên ngoại ngữ htiếng việt dành cho sinh viên ngoại ngữ h
tiếng việt dành cho sinh viên ngoại ngữ h
 
Tai-lieu-Boi-Duong-HSG-môn-Ngữ-Văn-THPT-Tập-1.docx
Tai-lieu-Boi-Duong-HSG-môn-Ngữ-Văn-THPT-Tập-1.docxTai-lieu-Boi-Duong-HSG-môn-Ngữ-Văn-THPT-Tập-1.docx
Tai-lieu-Boi-Duong-HSG-môn-Ngữ-Văn-THPT-Tập-1.docx
 

Bài thuyết trình môn học Hệ Điều Hành.pptx

  • 1. Hệ Điều Hành GVBM: Võ Tấn Sang Nhóm thực hiện : nhóm 6
  • 3. 9.1.Bối cảnh 9.1.1 Phần cứng cơ bản • Cần đảm bảo rằng một tiến trình chỉ có thể truy cập những địa chỉ đó trong không gian địa chỉ của nó. • Chúng ta có thể cung cấp sự bảo vệ này bằng cách sử dụng một cặp đế Và thanh ghi giới hạn xác định không gian địa chỉ logic của một tiến trình. a.Sự bảo vệ: *Giải thích: Hệ thống điều hành (Operating System): Được cấp phát ở phần trên cùng của bộ nhớ, từ địa chỉ 880000 đến 1024000. Đây là không gian dành riêng cho hệ thống điều hành để quản lý và thực thi các tác vụ quan trọng. Các quy trình (Processes): Có ba quy trình được phân biệt thông qua giá trị base và limit: Quy trình 1: Nằm giữa khoảng 420940 và 880000. Quy trình 2: Nằm giữa khoảng 300040 và 420940. Quy trình 3: Nằm giữa khoảng 256000 và 300040. Hai mũi tên chỉ ra từ hai trong số các quy trình này đến hộp được ghi là “base + limit” và “base”, cho thấy cách các quy trình này được phân biệt trong bộ nhớ. Địa chỉ bộ nhớ: Trục dọc bên trái biểu thị các địa chỉ bộ nhớ, từ 0 đến 1024000.
  • 4. b.Bảo vệ địa chỉ phần cứng 1.CPU (Central Processing Unit): Đơn vị xử lý trung tâm của máy tính, nơi tạo ra địa chỉ. 2.Base (Cơ sở): Giá trị cơ bản, thường là địa chỉ bắt đầu của một phân đoạn bộ nhớ. 3.Base + Limit (Cơ sở + Giới hạn): Tổng của giá trị cơ sở và giới hạn, xác định địa chỉ kết thúc của phân đoạn bộ nhớ. 4.Memory (Bộ nhớ): Nơi lưu trữ dữ liệu và chương trình. Các bước hoạt động như sau: •CPU tạo ra một địa chỉ. •Địa chỉ được so sánh với Base và Base + Limit. •Nếu địa chỉ lớn hơn hoặc bằng Base và nhỏ hơn Base + Limit, CPU truy cập bộ nhớ. •Nếu không, xảy ra lỗi địa chỉ không hợp lệ, và máy tính chuyển đến hệ điều hành để xử lý.
  • 5. 9.1.2.Ràng buộc địa chỉ • Các chương trình trên đĩa, sẵn sàng được đưa vào bộ nhớ để thực thi dưới dạng hàng đợi đầu vào • Nếu không có hỗ trợ thì phải nạp vào địa chỉ 0000 • Bất tiện khi có địa chỉ vật lý xử lý người dùng đầu tiên luôn ở mức 0000 • Làm thế nào nó có thể không được? • Địa chỉ được thể hiện theo những cách khác nhau ở các giai đoạn khác nhau trong vòng đời của chương trình • Địa chỉ mã nguồn thường mang tính biểu tượng • Địa chỉ mã được biên dịch liên kết đến các địa chỉ có thể di chuyển được. • 14 byte kể từ đầu mô-đun này ” • Trình liên kết hoặc trình tải sẽ liên kết các địa chỉ có thể định vị lại với các địa chỉ tuyệt đối tức là 74014 • Mỗi liên kết ánh xạ một không gian địa chỉ này sang một không gian địa chỉ khác
  • 6. • Liên kết địa chỉ của hướng dẫn và dữ liệu với địa chỉ bộ nhớ có thể xảy ra ở ba giai đoạn khác nhau • Thời gian biên dịch : Nếu vị trí bộ nhớ được biết trước, mã tuyệt đối có thể được tạo; phải biên dịch lại mã nếu vị trí bắt đầu thay đổi • Thời gian tải : Phải tạo mã có thể định vị lại nếu không biết vị trí bộ nhớ tại thời điểm biên dịch • Thời gian thực thi : Việc liên kết bị trì hoãn cho đến thời gian chạy nếu tiến trình có thể được di chuyển trong quá trình thực thi từ phân đoạn bộ nhớ này sang phân đoạn bộ nhớ khác • Cần hỗ trợ phần cứng cho bản đồ địa chỉ (ví dụ: cơ sở và giới hạn sổ đăng ký) a.Ràng buộc cách hướng dẫn và dữ liệu vào bộ nhớ
  • 7. b.Xử lý nhiều bước của chương trình người dùng 1.Source Program: Chương trình nguồn được biên dịch bởi trình biên dịch hoặc trình tổng hợp trong quá trình biên dịch. 2.Object Module: Sau biên dịch, chương trình nguồn tạo ra một đối tượng module, có thể kết hợp với các đối tượng module khác. 3.Linkage Editor: Trình biên tập liên kết kết hợp các module này để tạo ra một đối tượng tải vào bộ nhớ tại thời điểm tải. 4.System Libraries: Các thư viện hệ thống cũng có thể được bao gồm trong giai đoạn này. 5.Loader: Trình nạp tải module này và thêm các thư viện hệ thống được tải động thông qua liên kết động. 6.In-Memory Binary Image: Cuối cùng, một hình ảnh nhị phân trong bộ nhớ được tạo ra và thực thi trong thời gian chạy.
  • 8. 9.1.3.Không gian địa chỉ logic và vật lý • Khái niệm về không gian địa chỉ logic được gắn với một không gian địa chỉ vật lý là trung tâm của việc quản lý bộ nhớ thích hợp • Hợp lý Địa chỉ – do CPU tạo ra; còn gọi là ảo Địa chỉ • Thuộc vật chất Địa chỉ – địa chỉ được nhìn thấy bởi đơn vị bộ nhớ • Địa chỉ logic và địa chỉ vật lý giống nhau trong sơ đồ liên kết địa chỉ thời gian biên dịch và thời gian tải; địa chỉ logic (ảo) và địa chỉ vật lý khác nhau trong sơ đồ liên kết địa chỉ tại thời điểm thực hiện • Hợp lý Địa chỉ không gian là tập hợp tất cả các địa chỉ logic được tạo bởi một chương trình • Thuộc vật chất Địa chỉ không gian là tập hợp tất cả các địa chỉ vật lý được tạo bởi một chương trình
  • 9. a.Đơn vị quản lý bộ nhớ ( MMU ) • CPU (Central Processing Unit): Đơn vị xử lý trung tâm tạo ra địa chỉ logic. Đây là địa chỉ mà chương trình sử dụng để truy cập dữ liệu. • MMU (Memory Management Unit): Đơn vị quản lý bộ nhớ chuyển đổi địa chỉ logic thành địa chỉ vật lý. MMU thực hiện việc ánh xạ giữa hai loại địa chỉ này. • Bộ nhớ vật lý (Physical Memory): Đây là nơi lưu trữ dữ liệu thực tế trong máy tính.
  • 10. b.Đơn vị quản lý bộ nhớ (Tiếp theo) • Hãy xem xét sơ đồ đơn giản. đó là sự tổng quát hóa của sơ đồ thanh ghi cơ sở. • Thanh ghi cơ sở bây giờ được gọi là thanh ghi tái định vị • Giá trị trong thanh ghi tái định vị được thêm vào mọi địa chỉ được tạo bởi tiến trình người dùng tại thời điểm nó được gửi tới bộ nhớ • Chương trình người dùng xử lý các địa chỉ logic ; nó không bao giờ nhìn thấy địa chỉ vật lý thực sự • Liên kết thời gian thực thi xảy ra khi tham chiếu được thực hiện tới vị trí trong bộ nhớ • Địa chỉ logic được liên kết với địa chỉ vật lý
  • 11. c.Đơn vị quản lý bộ nhớ (Tiếp theo) • Hoạt động và Luồng điều khiển: • Một sơ đồ hoạt động cho thấy cách các hoạt động dẫn đến nhau. Mỗi hoạt động có thể được gọi là một hoạt động hệ thống. • Một hoạt động dẫn đến hoạt động tiếp theo trong luồng điều khiển. Luồng này có thể song song, đồng thời, hoặc phân nhánh. • Biểu tượng và Ký hiệu: • Sơ đồ hoạt động sử dụng nhiều biểu tượng, bao gồm: • Biểu tượng bắt đầu: Đại diện cho một quy trình hoặc quy trình công việc bắt đầu. • Biểu đồ quyết định: Hiển thị quyết định và các đường dẫn phân nhánh. • Biểu tượng ghi chú: Cho phép truyền tải thông báo bổ sung không thuộc về sơ đồ. • Biểu tượng kết nối: Hiển thị luồng định hướng hoặc luồng điều khiển của hoạt động. • Mục tiêu và Ứng dụng: • Sơ đồ hoạt động nắm bắt hành vi năng động của hệ thống. • Nó xây dựng hệ thống thực thi bằng cách sử dụng các phương pháp kỹ thuật chuyển tiếp và đảo ngược. • Sơ đồ hoạt động giúp hình dung bản chất động của một hệ thống.
  • 12. 9.1.4.Tải động • Toàn bộ chương trình cần phải có trong bộ nhớ để thực thi • Quy trình không được tải cho đến khi nó được gọi • Sử dụng không gian bộ nhớ tốt hơn; thói quen không sử dụng không bao giờ được tải • Tất cả các thủ tục được lưu trên đĩa ở định dạng tải có thể định vị lại • Hữu ích khi cần số lượng lớn mã để xử lý các trường hợp không thường xuyên xảy ra • Không cần hỗ trợ đặc biệt từ hệ điều hành • Thực hiện thông qua thiết kế chương trình • Hệ điều hành có thể trợ giúp bằng cách cung cấp các thư viện để triển khai tải động
  • 13. 9.1.5.Liên kết động • Toàn bộ chương trình cần phải có trong bộ nhớ để thực thi • Quy trình không được tải cho đến khi nó được gọi • Sử dụng không gian bộ nhớ tốt hơn; thói quen không sử dụng không bao giờ được tải • Tất cả các thủ tục được lưu trên đĩa ở định dạng tải có thể định vị lại • Hữu ích khi cần số lượng lớn mã để xử lý các trường hợp không thường xuyên xảy ra • Không cần hỗ trợ đặc biệt từ hệ điều hành • Thực hiện thông qua thiết kế chương trình • Hệ điều hành có thể trợ giúp bằng cách cung cấp các thư viện để triển khai tải động
  • 14. 9.2.Cấp phát bộ nhớ liên tục 9.2.1.Phân bổ liên tục • Bộ nhớ chính phải hỗ trợ cả quy trình của hệ điều hành và người dùng • Nguồn lực hạn chế, phải phân bổ hiệu quả • Phân bổ liền kề là một phương pháp sớm • Bộ nhớ chính thường chia thành hai phân vùng : • Hệ điều hành thường trú, thường được giữ ở bộ nhớ thấp với vectơ ngắt • Các tiến trình của người dùng sau đó được giữ trong bộ nhớ cao • Mỗi quá trình chứa trong một phần bộ nhớ liền kề
  • 15. 9.2.2.Phân bổ liền kề (Tiếp theo) • Các thanh ghi tái định vị được sử dụng để bảo vệ các tiến trình của người dùng với nhau và khỏi việc thay đổi mã và dữ liệu của hệ điều hành • Thanh ghi cơ sở chứa giá trị địa chỉ vật lý nhỏ nhất • Thanh ghi giới hạn chứa nhiều địa chỉ logic - mỗi địa chỉ logic phải nhỏ hơn thanh ghi giới hạn • MMU ánh xạ địa chỉ logic một cách linh hoạt • Sau đó có thể cho phép các hành động như mã hạt nhân tạm thời và kích thước thay đổi kernel
  • 16. 9.2.3.Hỗ trợ phần cứng cho các thanh ghi vị lại và giới hạn • CPU (Central Processing Unit) tạo ra một địa chỉ logic. • Địa chỉ logic này được so sánh với giá trị trong thanh ghi giới hạn. • Nếu địa chỉ logic nhỏ hơn giá trị trong thanh ghi giới hạn, nó được cộng thêm vào thanh ghi di chuyển để tạo ra một địa chỉ vật lý. Địa chỉ vật lý này sau đó được sử dụng để truy cập bộ nhớ. • Nếu địa chỉ logic không nhỏ hơn giá trị trong thanh ghi giới hạn, một lỗi định vị sẽ được phát hiện và xử lý. • Thanh ghi di chuyển là một thành phần quan trọng trong việc ánh xạ giữa địa chỉ logic và địa chỉ vật lý. Khi CPU thực hiện các phép tính, nó sử dụng địa chỉ logic để truy cập dữ liệu trong bộ nhớ, và sau đó ánh xạ nó thành địa chỉ vật lý để thực hiện truy cập thực tế.
  • 17. 9.2.4.Phân vùng biến • Phân bổ nhiều phân vùng. • Mức độ đa chương trình bị giới hạn bởi số lượng phân vùng. • Phân vùng biến kích thước cho hiệu quả (có kích thước phù hợp với nhu cầu của một quy trình nhất định). • Hole – khối bộ nhớ khả dụng; các lỗ có kích thước khác nhau nằm rải rác trong bộ nhớ. • Khi một tiến trình đến, nó được cấp phát bộ nhớ từ một lỗ đủ lớn để chứa nó. • Quá trình thoát sẽ giải phóng phân vùng của nó, các phân vùng miễn phí liền kề được kết hợp.
  • 18. Hệ điều hành duy trì thông tin về: 1.Phân vùng được cấp phát: • Có ba cột đại diện cho việc cấp phát bộ nhớ cho các quy trình và hệ điều hành. • Cột đầu tiên có OS được cấp phát ở trên, tiếp theo là quy trình 5, quy trình 8 và quy trình 2 từ trên xuống dưới. • Cột thứ hai cũng có OS ở trên, tiếp theo là chỉ có quy trình 5 và quy trình 2. • Cột thứ ba hiển thị OS ở trên lại với quy trình 9 ở dưới và sau đó là quy trình 2 ở cuối cùng. 2.Phân vùng trống (lỗ hổng): • Có hai cột đại diện cho các khoảng trống trống trong việc cấp phát bộ nhớ: • Cột đầu tiên có OS ở trên, một khoảng trống được đánh dấu là “lỗ hổng”, tiếp theo là quy trình 9 và sau đó là một lỗ hổng khác ở trên quy trình 2. • Cột thứ hai tương tự nhưng có thêm một lỗ hổng giữa OS và quy trình 9.
  • 19. 9.2.5.Sự phân mảnh • Bên ngoài Sự phân mảnh – tổng dung lượng bộ nhớ tồn tại để đáp ứng yêu cầu nhưng không liền kề nhau. • Nội bộ Sự phân mảnh – bộ nhớ được phân bổ có thể lớn hơn một chút so với bộ nhớ được yêu cầu; sự khác biệt về kích thước này là bộ nhớ bên trong của một phân vùng nhưng không được sử dụng. • Phân tích phù hợp đầu tiên cho thấy rằng với N khối được phân bổ, 0,5 N khối bị mất do phân mảnh. • 1/3 có thể không sử dụng được -> 50% luật lệ.
  • 20. 9.2.6.Sự phân mảnh (tiếp theo) • Giảm sự phân mảnh bên ngoài bằng cách nén. • Xáo trộn nội dung bộ nhớ để đặt tất cả bộ nhớ trống vào một. khối lớn. • Việc nén chỉ có thể thực hiện được nếu việc tái định vị là động. và được thực hiện tại thời điểm thực hiện. • Vấn đề vào/ra. • Chốt công việc trong bộ nhớ khi nó liên quan đến I/O. • Chỉ thực hiện I/O vào bộ đệm của hệ điều hành. • Bây giờ hãy xem xét rằng cửa hàng hỗ trợ có vấn đề phân mảnh tương tự.
  • 21. 9.3.Phân trang • Không gian địa chỉ vật lý của một tiến trình có thể không liền kề nhau; tiến trình được phân bổ bộ nhớ vật lý bất cứ khi nào có sẵn bộ nhớ vật lý • Tránh sự phân mảnh bên ngoài • Tránh vấn đề về các khối bộ nhớ có kích thước khác nhau • Chia bộ nhớ vật lý thành các khối có kích thước cố định gọi là khung • Kích thước là lũy thừa của 2, từ 512 byte đến 16 Mbyte • Chia bộ nhớ logic thành các khối có cùng kích thước gọi là trang • Theo dõi tất cả các khung hình miễn phí • Để chạy một chương trình có kích thước N trang, cần tìm N khung trống và tải chương trình • Thiết lập một trang bảng để dịch địa chỉ logic sang địa chỉ vật lý • Cửa hàng hỗ trợ cũng được chia thành các trang • Vẫn có sự phân mảnh nội bộ
  • 22. 9.3.1.Sơ đồ dịch địa chỉ •Địa chỉ do CPU tạo ra được chia thành: •Trang con số ( P ) – được sử dụng làm chỉ mục cho một trang bàn chứa địa chỉ cơ sở của mỗi trang trong bộ nhớ vật lý •Trang bù lại ( d ) – kết hợp với địa chỉ cơ sở để xác định địa chỉ bộ nhớ vật lý được gửi đến đơn vị bộ nhớ •Đối với không gian địa chỉ logic nhất định 2 m và kích thước trang 2 n
  • 23. 9.3.2.Phần cứng phân trang • CPU (Central Processing Unit) tạo ra một địa chỉ logic (logical address). • Địa chỉ logic này sau đó được xử lý thông qua một bảng trang (page table), được biểu diễn bằng một hình chữ nhật dọc với các hàng được đánh dấu bằng các chữ cái ‘p’ và ‘f’. • Mũi tên chỉ ra sự chuyển đổi thông tin từ CPU đến bảng trang và sau đó đến bộ nhớ vật lý. • Bảng trang chuyển đổi địa chỉ logic thành địa chỉ vật lý (physical address) bằng cách sử dụng các khung (frames) được đánh số ‘d’, ‘f’, và các khung khác không hiển thị trong hình ảnh. • Phía bên phải của sơ đồ là một hình chữ nhật biểu thị cho bộ nhớ vật lý (physical memory), được chia thành các phần được đánh số ‘frame e’, ‘frame f’, và ‘frame g’. • Mỗi khung trong bộ nhớ vật lý có một phạm vi địa chỉ thập lục phân liên quan, ví dụ: từ 0x0000 đến 0xFFFF cho khung f. • Các mũi tên chỉ ra rằng dữ liệu từ bảng trang được định hướng đến các khung cụ thể trong bộ nhớ vật lý.
  • 24. 9.3.3.Mô hình phân trang của bộ nhớ logic và vật lý • Bộ nhớ logic (logical memory) được chia thành bốn trang (page) từ 0 đến 3. • Trong phần giữa, có một bảng trang (page table) ánh xạ mỗi trang logic tới một số khung (frame) trong bộ nhớ vật lý (physical memory). Các ánh xạ như sau: • Trang 0 ánh xạ tới Khung số 1. • Trang 1 ánh xạ tới Khung số 4. • Trang 2 ánh xạ tới Khung số 3. • Trang 3 ánh xạ tới Khung số 7. • Phía bên phải của sơ đồ là một cột biểu thị cho bộ nhớ vật lý, chia thành tám khung từ 0 đến 7. Mỗi khung được liên kết với một trang logic dựa trên các ánh xạ trong bảng trang.
  • 25. a. Ví dụ phân trang •Bộ nhớ logic (logical memory) được chia thành bốn trang (page) từ 0 đến 3. •Trong phần giữa, có một bảng trang (page table) ánh xạ mỗi trang logic tới một số khung (frame) trong bộ nhớ vật lý (physical memory). Các ánh xạ như sau: • Trang 0 ánh xạ tới Khung số 1. • Trang 1 ánh xạ tới Khung số 4. • Trang 2 ánh xạ tới Khung số 3. • Trang 3 ánh xạ tới Khung số 7. •Phía bên phải của sơ đồ là một cột biểu thị cho bộ nhớ vật lý, chia thành tám khung từ 0 đến 7. Mỗi khung được liên kết với một trang logic dựa trên các ánh xạ trong bảng trang.
  • 26. 9.3.4.Phân trang- Tính toán phân mảnh nội bộ • Kích thước trang = 2.048 byte • Kích thước quy trình = 72.766 byte • 35 trang + 1.086 byte • Phân mảnh nội bộ 2.048 - 1.086 = 962 byte • Phân mảnh trong trường hợp xấu nhất = 1 khung – 1 byte • Phân mảnh trung bình = 1/2 kích thước khung hình • Vì vậy, kích thước khung hình nhỏ mong muốn? • Nhưng mỗi mục trong bảng trang cần có bộ nhớ để theo dõi • Kích thước trang tăng dần theo thời gian • Solaris hỗ trợ hai kích thước trang – 8 KB và 4 MB
  • 27. 9.3.5.Khung miễn phí • Bộ nhớ logic (logical memory) được chia thành bốn trang (page) từ 0 đến 3. • Trong phần giữa, có một bảng trang (page table) ánh xạ mỗi trang logic tới một số khung (frame) trong bộ nhớ vật lý (physical memory). Các ánh xạ như sau: • Trang 0 ánh xạ tới Khung số 1. • Trang 1 ánh xạ tới Khung số 4. • Trang 2 ánh xạ tới Khung số 3. • Trang 3 ánh xạ tới Khung số 7. • Phía bên phải của sơ đồ là một cột biểu thị cho bộ nhớ vật lý, chia thành tám khung từ 0 đến 7. Mỗi khung được liên kết với một trang logic dựa trên các ánh xạ trong bảng trang.
  • 28. 9.3.6.Triển khai bảng trang • Bảng trang được lưu giữ trong bộ nhớ chính • Bảng trang căn cứ đăng ký ( PTBR ) trỏ tới bảng trang • Bảng trang chiều dài đăng ký ( PTLR ) cho biết kích thước của bảng trang • Trong sơ đồ này, mọi truy cập dữ liệu/lệnh yêu cầu hai lần truy cập bộ nhớ • Một cho bảng trang và một cho dữ liệu/lệnh • Vấn đề truy cập hai bộ nhớ có thể được giải quyết bằng cách sử dụng bộ đệm phần cứng tra cứu nhanh đặc biệt được gọi là dịch thuật nhìn sang một bên bộ đệm ( TLB ) (còn gọi là kết hợp ký ức)
  • 29. 9.3.7.Bộ đệm dịch sang bên • Một số cửa hàng TLB Không gian địa chỉ số nhận dạng ( ASID ) trong mỗi mục nhập TLB – xác định duy nhất từng quy trình để cung cấp khả năng bảo vệ không gian địa chỉ cho quy trình đó • Nếu không thì cần phải xả ở mỗi lần chuyển ngữ cảnh • TLB thường nhỏ (64 đến 1.024 mục) • Khi bỏ lỡ TLB, giá trị sẽ được tải vào TLB để truy cập nhanh hơn vào lần tiếp theo • Chính sách thay thế phải được xem xét • Một số mục có thể có dây xuống để truy cập nhanh vĩnh viễn
  • 31. 9.3.9.Phần cứng phân trang với TLB • CPU (Central Processing Unit) tạo ra một địa chỉ logic (logical address). • Địa chỉ này được chia thành số trang và số khung. • TLB (Translation Lookaside Buffer) kiểm tra xem nó có thông tin chuyển đổi cho số trang cụ thể hay không: • Nếu có (TLB hit), TLB cung cấp số khung và tạo ra địa chỉ vật lý (physical address). • Nếu không (TLB miss), hệ thống tra cứu trong bảng trang (page table) để lấy thông tin chuyển đổi, sau đó cập nhật TLB và tạo ra địa chỉ vật lý.
  • 32. 9.3.10.Thời gian truy cập hiệu quả • Tỷ lệ truy cập – tỷ lệ phần trăm số lần tìm thấy số trang trong TLB • Tỷ lệ trúng 80% có nghĩa là chúng tôi tìm thấy số trang mong muốn trong TLB trong 80% thời gian. • Giả sử rằng 10 nano giây để truy cập bộ nhớ. • Nếu chúng tôi tìm thấy trang mong muốn trong TLB thì việc truy cập bộ nhớ được ánh xạ sẽ mất 10 ns • Nếu không, chúng ta cần hai quyền truy cập bộ nhớ nên nó là 20 ns • Hiệu quả Truy cập Thời gian ( ĂN ) • EAT = 0,80 x 10 + 0,20 x 20 = 12 nano giây • ngụ ý thời gian truy cập bị chậm lại 20% • Hãy xem xét tỷ lệ trúng thực tế hơn là 99%, • ĂN = 0,99 x 10 + 0,01 x 20 = 10,1ns • ngụ ý chỉ có 1% chậm lại trong thời gian truy cập.
  • 33. 9.3.11.Bảo vệ bộ nhớ • Bảo vệ bộ nhớ được triển khai bằng cách liên kết bit bảo vệ với mỗi khung để cho biết liệu quyền truy cập chỉ đọc hay đọc-ghi được phép • Cũng có thể thêm nhiều bit hơn để biểu thị chỉ thực thi trang, v.v. • hợp lệ-không hợp lệ bit được gắn vào mỗi mục trong bảng trang: • “ hợp lệ ” chỉ ra rằng trang được liên kết nằm trong không gian địa chỉ logic của quy trình và do đó là một trang hợp pháp • “ không hợp lệ ” chỉ ra rằng trang không nằm trong không gian địa chỉ logic của quá trình • Hoặc sử dụng bảng trang chiều dài đăng ký ( PTLR ) • Bất kỳ vi phạm nào đều dẫn đến bẫy vào kernel
  • 34. 9.3.12.Bit hợp lệ (v) hoặc không hợp lệ (i) trong bảng trang
  • 35. 9.3.13.Trang được chia sẻ • Đã chia sẻ mã số • Một bản sao mã chỉ đọc ( reentrant ) được chia sẻ giữa các tiến trình (ví dụ: trình soạn thảo văn bản, trình biên dịch, hệ thống cửa sổ) • Tương tự như nhiều luồng chia sẻ cùng một không gian tiến trình • Cũng hữu ích cho việc liên lạc giữa các tiến trình nếu cho phép chia sẻ các trang đọc-ghi • Riêng tư mã số Và dữ liệu • Mỗi tiến trình giữ một bản sao mã và dữ liệu riêng biệt • Các trang dành cho mã và dữ liệu riêng có thể xuất hiện ở bất kỳ đâu trong không gian địa chỉ logic
  • 36. 9.4.Cấu trúc của bảng trang • Cấu trúc bộ nhớ để phân trang có thể trở nên lớn hơn bằng cách sử dụng các phương pháp đơn giản • Hãy xem xét không gian địa chỉ logic 32 bit như trên các máy tính hiện đại • Kích thước trang 4 KB (2 12 ) • Bảng trang sẽ có 1 triệu mục ( 2 32/2 12 ) • Nếu mỗi mục là 4 byte mỗi tiến trình có 4 MB không gian địa chỉ vật lý cho riêng bảng trang • Không muốn phân bổ liên tục trong bộ nhớ chính • Một giải pháp đơn giản là chia bảng trang thành các đơn vị nhỏ hơn • Phân trang phân cấp • Bảng trang được băm • Bảng trang đảo ngược
  • 37. 9.4.1.Bảng trang phân cấp • Chia không gian địa chỉ logic thành nhiều bảng trang • Một kỹ thuật đơn giản là bảng trang hai cấp • Sau đó chúng ta trang bảng trang
  • 38. 9.4.2.Sơ đồ dịch địa chỉ •Chia địa chỉ logic: Đầu tiên, địa chỉ logic được chia thành ba phần: P1, P2 và d. • P1 được sử dụng để tra cứu trong bảng trang ngoài cùng để tìm ra vị trí của bảng trang con. • Tiếp theo, P2 được sử dụng để tra cứu trong bảng trang con để xác định vị trí của khung (frame) trong bộ nhớ vật lý. • Cuối cùng, phần offset ‘d’ được thêm vào để xác định vị trí cụ thể trong khung. •Hình ảnh: Hình ảnh minh họa quy trình này. Các hộp biểu thị các bảng trang được tô màu xanh và có các đường chỉ số và đường dẫn.
  • 39. 9.4.3.Không gian địa chỉ logic 64 - bit
  • 40. 9.4.4.Sơ đồ phân trang ba cấp •Hàng đầu tiên: • Các cột được đánh dấu là “outer page” (trang ngoài), “inner page” (trang trong), và “offset” (độ lệch). • Dưới các nhãn cột, có các giá trị tương ứng: 42 cho “outer page”, 10 cho “inner page”, và 12 cho “offset”. • Có một nhãn khác nằm phía trên các giá trị của hàng đầu tiên: p1 cho 42, p2 cho 10, và d cho 12. •Hàng thứ hai: • Được đánh dấu là “2nd outer page” (trang ngoài thứ hai) và có các nhãn cột tương tự với các giá trị khác nhau: • 32 cho “outer page” (trang ngoài), 10 cho một “outer page” khác, 10 cho “inner page” (trang trong), và 12 cho “offset” (độ lệch). • Phía trên các giá trị của hàng thứ hai, có các nhãn bổ sung: p1 cho 32, p3 cho lần xuất hiện thứ hai của giá trị 10, p3 lại cho lần xuất hiện thứ ba của giá trị 10, và d cho giá trị 12.
  • 41. 9.4.5.Bảng trang được băm • Phổ biến trong không gian địa chỉ > 32 bit • Số trang ảo được băm vào bảng trang • Bảng trang này chứa một chuỗi các phần tử được băm vào cùng một vị trí • Mỗi phần tử chứa (1) số trang ảo (2) giá trị của khung trang được ánh xạ (3) một con trỏ tới phần tử tiếp theo • Số trang ảo được so sánh trong chuỗi này để tìm kiếm kết quả khớp • Nếu tìm thấy kết quả khớp, khung vật lý tương ứng sẽ được trích xuất • Biến thể cho địa chỉ 64-bit được nhóm lại trang những cái bàn • Tương tự như băm nhưng mỗi mục đề cập đến một số trang (chẳng hạn như 16) thay vì 1 • Đặc biệt hữu ích cho không gian địa chỉ thưa thớt (nơi tham chiếu bộ nhớ không liền kề và phân tán)
  • 42. 9.4.6.Bảng trang băm • Địa chỉ logic (gồm hai thành phần “p” và “d”) được đưa vào hàm băm (hash function). • Hàm băm xử lý địa chỉ logic và ánh xạ nó thành một chỉ số trong bảng băm (hash table). • Mỗi chỉ số trong bảng băm chứa một con trỏ (“ptr”) tương ứng với một vị trí cụ thể trong bộ nhớ vật lý. • Thành phần “d” từ địa chỉ logic được kết hợp với con trỏ này để truy cập đến vị trí chính xác trong bộ nhớ vật lý, tạo thành địa chỉ vật lý hoàn chỉnh.
  • 43. 9.4.7.Bảng trang đảo ngược • CPU tạo ra địa chỉ logic. • Địa chỉ logic được chia thành hai phần: ‘p’ và ‘d’. • Bảng trang chứa các cặp ‘pid’ và ‘p’, được sử dụng để tìm kiếm. • Bảng trang giúp dịch địa chỉ logic thành địa chỉ vật lý, cũng được chia thành hai phần: ‘p’ và ‘d’. • Bộ nhớ vật lý là nơi các địa chỉ này được ánh xạ để truy cập dữ liệu được lưu trữ trong bộ nhớ.
  • 44. 9.4.8.Oracle SPARC Solaris • Hãy xem xét ví dụ về hệ điều hành 64-bit hiện đại với phần mềm HW được tích hợp chặt chẽ • Mục tiêu là hiệu quả, chi phí thấp • Dựa trên hàm băm, nhưng phức tạp hơn • Hai bảng băm • Một kernel và một cho tất cả các tiến trình của người dùng • Mỗi ánh xạ địa chỉ bộ nhớ từ bộ nhớ ảo sang bộ nhớ vật lý • Mỗi mục đại diện cho một vùng liền kề của bộ nhớ ảo được ánh xạ, • Hiệu quả hơn việc có một mục nhập bảng băm riêng cho mỗi trang • Mỗi mục có địa chỉ cơ sở và khoảng (cho biết số trang mà mục đó đại diện) • TLB giữ các mục trong bảng dịch (TTE) để tra cứu phần cứng nhanh chóng • Bộ đệm của TTE nằm trong bộ đệm lưu trữ dịch (TSB) • Bao gồm một mục nhập cho mỗi trang được truy cập gần đây • Tham chiếu địa chỉ ảo gây ra tìm kiếm TLB • Nếu bỏ lỡ, phần cứng sẽ truy cập TSB trong bộ nhớ để tìm TTE tương ứng với địa chỉ • Nếu tìm thấy kết quả khớp, CPU sao chép mục TSB vào TLB và quá trình dịch hoàn tất • Nếu không tìm thấy kết quả khớp, kernel sẽ dừng tìm kiếm bảng băm • Sau đó, hạt nhân tạo TTE từ bảng băm thích hợp và lưu trữ nó trong TSB, Trình xử lý ngắt trả lại quyền điều khiển cho MMU, quá trình này hoàn tất việc dịch địa chỉ.
  • 45. 9.5 Hoán đổi 9.5.1 Hoán đổi chuẩn • Một tiến trình có thể được hoán đổi tạm thời ra khỏi bộ nhớ sang kho lưu trữ dự phòng, sau đó được đưa trở lại bộ nhớ để tiếp tục thực hiện • Tổng dung lượng bộ nhớ vật lý của các tiến trình có thể vượt quá bộ nhớ vật lý • Kho lưu trữ – đĩa nhanh đủ lớn để chứa các bản sao của tất cả hình ảnh bộ nhớ cho tất cả người dùng; phải cung cấp quyền truy cập trực tiếp vào những hình ảnh bộ nhớ này • Đẩy ra, kéo vào – biến thể hoán đổi được sử dụng cho các thuật toán lập lịch dựa trên mức độ ưu tiên; quy trình có mức độ ưu tiên thấp hơn được hoán đổi để quy trình có mức độ ưu tiên cao hơn có thể được tải và thực thi • Phần chính của thời gian hoán đổi là thời gian chuyển giao; tổng thời gian truyền tỷ lệ thuận với lượng bộ nhớ được hoán đổi • Hệ thống duy trì một hàng đợi sẵn sàng các tiến trình sẵn sàng chạy có hình ảnh bộ nhớ trên đĩa • Quá trình hoán đổi có cần trao đổi trở lại cùng địa chỉ vật lý không? • Phụ thuộc vào phương pháp liên kết địa chỉ • Ngoài ra, hãy xem xét I/O đang chờ xử lý đến/từ không gian bộ nhớ xử lý • Các phiên bản hoán đổi đã sửa đổi được tìm thấy trên nhiều hệ thống (ví dụ: UNIX, Linux và Windows) • Hoán đổi thường bị vô hiệu hóa • Bắt đầu nếu vượt quá ngưỡng bộ nhớ được phân bổ • Bị vô hiệu hóa lại khi nhu cầu bộ nhớ giảm xuống dưới ngưỡng Sơ đồ hoán đổi
  • 46. 9.5.2 Hoán đổi với phân trang • Nếu các tiến trình tiếp theo được đưa vào CPU không có trong bộ nhớ, cần hoán đổi một tiến trình và hoán đổi trong tiến trình đích • Thời gian chuyển ngữ cảnh có thể rất cao • Quá trình trao đổi 100 MB sang đĩa cứng với tốc độ truyền 50 MB/giây • Thời gian hoán đổi 2000 ms • Cộng với trao đổi trong quy trình có cùng kích thước • Tổng thời gian thành phần chuyển đổi ngữ cảnh là 4000ms (4 giây) • Có thể giảm nếu giảm kích thước bộ nhớ bị hoán đổi – bằng cách biết lượng bộ nhớ thực sự được sử dụng • Lệnh gọi hệ thống để thông báo cho hệ điều hành về việc sử dụng bộ nhớ thông qua request_memory () và Release_memory () • Các hạn chế khác cũng như việc trao đổi • I/O đang chờ xử lý – không thể trao đổi vì I/O có thể xảy ra sai quy trình • Hoặc luôn chuyển I/O sang không gian kernel, sau đó đến thiết bị I/O • • Được mệnh danh là đôi đệm , thêm chi phí • Trao đổi tiêu chuẩn không được sử dụng trong các hệ điều hành hiện đại • Nhưng phiên bản sửa đổi phổ biến • Chỉ trao đổi khi bộ nhớ trống cực kỳ thấp
  • 47. 9.5.3 Hoán đổi trên hệ thống di động • Thông thường không được hỗ trợ • Dựa trên bộ nhớ flash • Lượng không gian nhỏ • Số lượng chu kỳ ghi hạn chế • Thông lượng kém giữa bộ nhớ flash và CPU trên nền tảng di động • Thay vào đó hãy sử dụng các phương pháp khác để giải phóng bộ nhớ nếu pin yếu • iOS yêu cầu các ứng dụng tự nguyện từ bỏ bộ nhớ được phân bổ • Dữ liệu chỉ đọc được loại bỏ và tải lại từ flash nếu cần • Việc không giải phóng có thể dẫn đến chấm dứt • Android chấm dứt ứng dụng nếu bộ nhớ trống thấp nhưng trước tiên hãy ghi ứng dụng trạng thái flash để khởi động lại nhanh • Cả hai hệ điều hành đều hỗ trợ phân trang như được thảo luận bên dưới Hoán đổi với phân trang
  • 48. 9.6 Ví dụ: Kiến trúc Intel 32 và 64 bit • Chip công nghiệp thống trị • CPU Pentium là 32-bit và được gọi là kiến trúc IA-32 • CPU Intel hiện tại là 64-bit và được gọi là kiến trúc IA-64 • Nhiều biến thể trong chip, bao gồm các ý chính ở đây
  • 49. 9.6.1 Kiến trúc IA-32 9.6.1.1 Phân đoạn IA-32 • Hỗ trợ cả phân đoạn và phân đoạn với phân trang • Mỗi phân đoạn có thể là 4 GB • Lên đến 16 K phân đoạn cho mỗi quy trình • Chia thành hai phân vùng • Phân vùng đầu tiên có tối đa 8 phân đoạn K là riêng tư để xử lý (được lưu trữ cục bộ sự mô tả bàn ( LDT )) • Phân vùng thứ hai có tối đa 8K phân đoạn được chia sẻ giữa tất cả các quy trình (được giữ trong toàn cầu sự mô tả bàn ( GDT )) • CPU tạo địa chỉ logic • Bộ chọn được cấp cho đơn vị phân đoạn • nào tạo ra địa chỉ tuyến tính •Địa chỉ tuyến tính được cấp cho đơn vị phân trang • Tạo địa chỉ vật lý trong bộ nhớ chính • Đơn vị phân trang tương đương với MMU • Kích thước trang có thể là 4 KB hoặc 4 MB
  • 50. Dịch địa chỉ logic sang vật lý trong IA-32
  • 51. Phân đoạn Intel IA-32 • Giới hạn địa chỉ 32 bit đã khiến Intel tạo ra trang Địa chỉ sự mở rộng ( PAE ), cho phép các ứng dụng 32 bit truy cập vào hơn 4GB dung lượng bộ nhớ • Phân trang đã đi đến sơ đồ 3 cấp • Hai bit trên cùng tham chiếu đến một trang danh mục con trỏ bàn • Các mục nhập thư mục trang và bảng trang được chuyển sang kích thước 64 bit • Hiệu ứng thực là tăng không gian địa chỉ lên 36 bit - 64GB bộ nhớ vật lý
  • 52. 9.6.2 x86-64 • Kiến trúc Intel x86 thế hệ hiện tại • 64 bit là rất lớn (> 16 exabyte) • Trong thực tế chỉ thực hiện địa chỉ 48 bit • Kích thước trang 4 KB, 2 MB, 1 GB • Bốn cấp độ phân cấp phân trang • Cũng có thể sử dụng PAE nên địa chỉ ảo là 48 bit và địa chỉ vật lý là 52 bit
  • 53. 9.7 Ví dụ: Kiến trúc ARMv8 • Chip nền tảng di động chiếm ưu thế (ví dụ: thiết bị Apple iOS và Google Android) • CPU 32-bit hiện đại, tiết kiệm năng lượng • Trang 4 KB và 16 KB • Trang 1 MB và 16 MB (được gọi là phần ) • Phân trang một cấp cho các phần, hai cấp cho các trang nhỏ hơn • Hai cấp độ TLB • Cấp độ bên ngoài có hai TLB vi mô (một dữ liệu, một lệnh) • Bên trong là TLB chính đơn • Phần bên trong đầu tiên được kiểm tra, phần bên ngoài bị bỏ sót được kiểm tra và bước đi trên bảng của trang bị bỏ lỡ được thực hiện bởi CPU