Ánh xạ địa chỉ và chống truy cập trái phép

Một phần của tài liệu Giáo trình môn Hệ Điều Hành PTIT (Trang 112 - 114)

Địa chỉ. Khi sử dụng phân đoạn, không gian nhớ lô gic sẽ bao gồm không gian nhớ của các đoạn. Do vậy, địa chỉ lô gic bao gồm hai thành phần, chỉ rõ hai thông tin: địa chỉ thuộc đoạn nào, và độ dịch từ đầu đoạn là bao nhiêu. Hai thông tin này cần được người lập trình cung cấp rõ ràng, khác với trường hợp phân trang, trong đó tiến trình cung cấp duy nhất một địa chỉ và phần cứng có nhiệm vụ tách địa chỉ này thành số trang và độ dịch.

Đối với đoạn được đánh số, địa chỉ lô gic sẽ có hai thành phần, được cấu trúc như sau: < số thứ tự đoạn (s), độ dịch trong đoạn (o) >

Đối với trường hợp chương trình viết trên ngôn ngữ bậc cao, địa chỉ lô gic với hai thành phần như vậy được chương trình dịch sinh ra trong quá trình dịch để thể hiện cấu trúc và ý nghĩa các đoạn của chương trình nguồn.

Ánh xạ địa chỉ. Địa chỉ lô gic cần phải được biến đổi thành địa chỉ vật lý để xác định ô nhớ cụ thể của máy tính. Tương tự như trong trường hợp phân trang, việc ánh xạ được thực hiện dựa trên bảng đoạn (segment table). Mỗi ô của bảng đoạn chứa địa chỉ cơ sở và giới hạn của đoạn. Địa chỉ cơ sở là vị trí bắt đầu của đoạn trong bộ nhớ máy tính, còn giới hạn đoạn chính là độ dài đoạn và sẽ được sử dụng để chống truy cập trái phép ra ngoài đoạn. Mỗi tiến trình có một bảng như vậy.

Bảng đoạn được sử dụng kết hợp với một cơ chế phần cứng cho phép biến đổi từ địa chỉ lô gic sang địa chỉ tuyệt đối như minh họa trên hình 3.14. Trước hết, phần s trong địa chỉ được sử dụng để tìm tới ô thứ s trong bảng đoạn và truy cập hai giá trị giới hạncơ sở chứa trong ô này. Tiếp theo, phần độ dịch o của địa chỉ được so sánh với phần giới hạn chứa trong ô. Nếu o nhỏ hơn giới hạn thì đây là truy cập hợp lệ, ngược lại nếu o lớn hơn hoặc bằng giới hạn thì địa chỉ này vượt ra ngoài phạm vi của đoạn và do vậy sẽ bị báo lỗi truy cập. Trong trường hợp truy cập hợp lệ, phần độ dịch o được cộng với địa chỉ cơ sở để tạo ra địa chỉ vật lý. CPU s o Bộ nhớ vật lý  s Bảng đoạn Giới hạn Cơ sở < Đúng + Lỗi địa chỉ Sai

Hình 3.14. Cơ chế ánh xạ địa chỉ khi phân đoạn

Việc chống truy cập trái phép được thực hiện nhờ các bit bảo vệ chứa trong khoản mục PTIT

của bảng phân đoạn. Các đoạn được gắn bit bảo vệ dựa theo ý nghĩa của đoạn đó. Chẳng hạn, các đoạn chứa lệnh sẽ không cho phép ghi mà chỉ cho phép đọc. Trong trường hợp hai hoặc nhiều tiến trình có chung một đoạn thì các bảng đoạn của các tiến trình này sẽ có một ô với giá trị giới hạn và cơ sở giống nhau, tức là trỏ vào cùng một vùng bộ nhớ vật lý.

Một phần của tài liệu Giáo trình môn Hệ Điều Hành PTIT (Trang 112 - 114)