Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
1,99 MB
Nội dung
QUẢN LÝQUẢNLÝBỘNHỚBỘNHỚ Giới thiệu Giới thiệu Bộnhớ chính là một tài nguyên của hệ thống dùng để cấp phát và chia sẻ cho nhiều tiến trình đang ở trạng thái hoạt động. Quản lí bộnhớ là một trong những nhiệm vụ quan trọng và phức tạp nhất của hệ điều hành. Công cụ cơ bản của quản lí bộnhớ là sự phân trang (paging) và sự phân đoạn(segmentation).Mỗi tiếp cận có ưu điểm và nhược điểm riêng.Có thể kết hợp giữa phân trang và phân đoạn để có được một chiến lược quản lí bộnhớ linh hoạt hơn. Chọn phương pháp quảnlýbộnhớ cho một hệ thống xác định phụ thuộc vào nhiều yếu tố, đặc biệt trên thiết kế phần cứng của hệ thống. Chúng ta thấy nhiều giải thuật yêu cầu hỗ trợ phần cứng mặc dù các thiết kế gần đây đã tích hợp phần cứng và hệ điều hành. Mục đích Mục đích Hiểu các cách khác nhau để quảnlýbộnhớ Hiểu tiếp cận quảnlýbộ phân trang và phân đoạn Vận dụng một cách quảnlýbộnhớ phù hợp với hệ thống xác định QUẢNLÝBỘNHỚQUẢNLÝBỘNHỚ Nền tảng Hoán vị Cấp phát liên tục Phân trang Phân đoạn Kết hợp phân trang với phân đoạn Nền tảng Nền tảng Bộnhớ là trung tâm để điều hành hệ thống máy tính. Bộnhớ chứa một mảng lớn các từ (words) hay các bytes, mỗi phần tử với địa chỉ riêng. CPU lấy các chỉ thị từ bộnhớ dựa theo giá trị của thanh đếm chương trình. Liên kết địa chỉ Liên kết địa chỉ Chương trình được nạp vào bộnhớ và được đặt trong một tiến trình để chạy. Input queue - tập hợp các tiến trình trên đĩa đang chờ đợi để được đưa vào bộnhớ để thực thi. Chương trình người dùng đi qua một vài bước trước khi chạy Liên kết địa chỉ Liên kết địa chỉ Thời gian biên dịch: nếu tại thời điểm biên dịch có thể biết quá trình nằm ở đâu trong bộnhớ thì mã tuyệt đối có thể được phát sinh. Thời điểm nạp: nếu tại thời điểm biên dịch chưa biết nơi quá trình sẽ nằm ở đâu trong bộnhớ thì trình biên dịch phải phát sinh mã có thể tái định vị. Thời gian thực thi: nếu quá trình có thể được di chuyển trong thời gian thực thi từ một phân đoạn bộnhớ này tới một phân đoạn bộnhớ khác thì việc liên kết phải bị trì hoãn cho tới thời gian chạy. Liên kết các chỉ thị và dữ liệu tới các địa chỉ có thể được Liên kết các chỉ thị và dữ liệu tới các địa chỉ có thể được thực hiện tại bất cứ bước nào sau đây: thực hiện tại bất cứ bước nào sau đây: Xử lý nhiều bước của chương trình người Xử lý nhiều bước của chương trình người dùng dùng Không gian địa chỉ logic và không gian Không gian địa chỉ logic và không gian địa chỉ vật lí địa chỉ vật lí Không gian địa chỉ logic ràng buộc với một không gian địa chỉ vật lý là trung tâm để quảnlýbộnhớ thích hợp Logical address - được tạo ra bởi CPU, còn được gọi là địa chỉ ảo Physical address - địa chỉ được thấy bởi các đơn vị bộnhớ Địa chỉ logic và địa chỉ vật lý là như nhau trong thời gian biên dịch và thời gian nạp địa chỉ ràng buộc nhau. Cơ chế liên kết địa chỉ tại thời điểm thực thi,không gian địa chỉ logic và vật lý là khác nhau. Định vị tự động dùng thanh ghi tái định Định vị tự động dùng thanh ghi tái định vị vị [...]... thị cách định vị chương trình con trong thư viện cư trú trong bộnhớ hay cách nạp thư viện nếu chương trình con chưa hiện diện Khi stub này được thực thi, nó kiểm tra để thấy chương trình con được yêu cầu đã ở trong bộnhớ hay chưa Nếu chưa, chương trình này sẽ nạp chương trình con vào trong bộnhớ Dù là cách nào, stub thay thế chính nó với địa chỉ của chương trình con và thực thi chương trình con... Phân trang là cơ chế quản lýbộnhớ cho phép không gian địa chỉ vật lý của quá trình là không kề nhau Bộnhớ vật lý được chia thành các khối có kích thước cố định được gọi là các khung (frames) Bộnhớ luận lý cũng được chia thành các khối có cùng kích thước được gọi là các trang (pages) Khi một quá trình được thực thi, các trang của nó được nạp vào các khung bộnhớ sẳn dùng từ vùng lưu trữ... thước như các khung bộnhớ Tất cả các khung trống phải giử lại tất cả các track Để thực hiện một chương trình với kích thước n trang thì cần phải tìm n khung trống và nạp chương trình vào Ta phải cài đặt bảng trang để chứa địa chỉ nền của mỗi trang trong bộnhớ vật lý Địa chỉ nền này được kết hợp với độ dời trang để định nghĩa địa chỉ bộnhớ vật lý mà nó được gởi đến đơn vị bộnhớ Phương pháp phân... của mỗi trang trong bộnhớ vật lý Địa chỉ nền này được kết hợp với độ dời trang để định nghĩa địa chỉ bộnhớ vật lý mà nó được gởi đến đơn vị bộnhớ Phần cứng phân trang Sự thi hành của bảng trang Bảng trang được giữ trong bộnhớ chính Bảng trang thanh ghi cơ sở được trỏ vào bảng trang Bảng trang thanh ghi độ dài cho biết kích thước của bảng trang Bảo vệ Bảo vệ bộnhớ trong môi trường... VỀ PHÂN ĐOẠN: - Bộnhớ vật lý được chia thành các phần cố định có kích thước không nhất thiết bằng nhau và có thể là các đoạn liên tục hoặc không liên tục trong bộnhớ - Mỗi phân đoạn bao gồm số hiệu và kích thước: + số hiêu: được đánh số bắt đầu từ 0 + kích thước: tùy theo từng đoạn - Phân đoạn là một cơ chế quản lýbộnhớ hổ trợ tầm nhìn bộnhớ của người dùng PHÂN ĐOẠN Tầm nhìn chương trình của... cấp truy xuất trực tiếp tới các hình ảnh bộnhớ này Thí dụ, giả sử một môi trường đa chương với giải thuật lập thời biểu CPU round-robin Khi định mức thời gian hết, bộ quảnlýbộnhớ sẽ bắt đầu hoán vị ra (swap out) vùng lưu trữ phụ tiến trình vừa mới kết thúc và hoán vị vào (swap in) một tiến trình khác tới không gian bộnhớ được trống (hình 0-4) Do đó, bộ định thời biểu CPU sẽ cấp những phần thời... tiếp giáp Internal Fragmentation - cấp phát bộnhớ có thể không lớn hơn so với bộnhớ yêu cầu; sự khác biệt này là kích thước bộnhớ trong một phân vùng, nhưng không được sử dụng Phân mãnh bộnhớ có thể là phân mãnh trong hoặc phân mãnh ngoài Xét cơ chế cấp phát nhiều phân khu với một lỗ trống có kích thước 18, 464 bytes Giả sử rằng quá trình tiếp theo yêu cầu 18, 462 bytes Nếu chúng ta cấp phát chính xác... cận thông thường là chia bộnhớ vật lý thành những khối có kích thước cố định, và cấp phát bộnhớ dựa theo đơn vị của kích thước khối Với tiếp cận này, bộnhớ được cấp phát tới một quá trình có thể là lớn hơn một chút so với khối được yêu cầu Sự chênh lệnh giữa hai số này là phân mãnh trong -bộ nhớ bị phân mãnh trong đối với một phân khu thì không thể được dùng Hệ thống đa chương với phân khu động... tái định vị và giới hạn, mỗi địa chỉ luận lý phải ít hơn thanh ghi giới hạn; MMU (đơn vị quản lýbộ nhớ) ánh xạ địa chỉ luận lý động bằng cách cộng giá trị trong thanh ghi tái định vị Địa chỉ được tái định vị này được gửi tới bộnhớ (như hinh dưới) Hỗ trợ phần cứng cho các thanh ghi tái định vị và các giới hạn Phân mãnh External Fragmentation - tổng bộnhớ không gian tồn tại để đáp ứng yêu cầu,... viện Swapping Một tiến trình cần ở trong bộnhớ để được thực thi Tuy nhiên, một tiến trình có thể được hoán vị (swapped) tạm thời khỏi bộnhớ tới vùng lưu trữ phụ backing store, sau đó mang trở lại bộnhớ để việc thực thi được tiếp tục Backing store :Vùng lưu trữ phụ này thường là một đĩa tốc độ cao Nó phải đủ 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, và nó phải cung . khác nhau để quản lý bộ nhớ Hiểu tiếp cận quản lý bộ phân trang và phân đoạn Vận dụng một cách quản lý bộ nhớ phù hợp với hệ thống xác định QUẢN LÝ BỘ NHỚ QUẢN LÝ BỘ NHỚ Nền tảng. QUẢN LÝ QUẢN LÝ BỘ NHỚ BỘ NHỚ Giới thiệu Giới thiệu Bộ nhớ chính là một tài nguyên của hệ thống dùng để cấp phát và chia sẻ cho nhiều tiến trình đang ở trạng thái hoạt động. Quản. đã ở trong bộ nhớ hay chưa. Nếu chưa, chương trình này sẽ nạp chương trình con vào trong bộ nhớ. Dù là cách nào, stub thay thế chính nó với địa chỉ của chương trình con và thực thi chương trình