Tải bản đầy đủ (.ppt) (43 trang)

Bài báo cáo môn Vi xử lý và lập trình- Quản lý bộ nhớ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.9 MB, 43 trang )


Bài Báo Cáo Môn:
Bài Báo Cáo Môn:
VI XỬ LÝ VÀ LẬP TRÌNH
VI XỬ LÝ VÀ LẬP TRÌNH
ASSEMBLY
ASSEMBLY

Nhóm 13:
1. Nguyễn Thị Thúy Hằng 566555
2. Phùng Thị Hồng 565496
3. Bùi Thị Diệu Linh 566565
4. Hạ Xuân Phong 566575
5. Lê Việt Phú 566576
HELLO….

Đề Tài 03
Đề Tài 03
:
:

Nội Dung Chính:
A. Khái niệm cơ bản.
B. Kĩ thuật cấp phát bộ nhớ.
C. Hoán vị
D. Nạp chương trình vào bộ nhớ
E. Phân mảnh
F. Bảo vệ bộ nhớ

A. KHÁI NIỆM CƠ BẢN.
I. Khái niệm


II. Nhiệm vụ
III. Phân phối bộ nhớ
IV. Liên kết địa chỉ
V. Không gian địa chỉ luận lý và địa chỉ vật lý

I. Khái niệm

Bộ nhớ là trung tâm hoạt động của hệ thống máy tính hiện
đại. Bộ nhớ gồm một dãy lớn của các từ (words) hoặc các
byte, mỗi cái đều có địa chỉ riêng của nó. CPU lấy các chỉ
thị từ bộ nhớ dựa theo giá trị của thanh đếm chương trình.
Các chỉ thị này có thể gây việc nạp bổ sung các từ và lưu
trữ tới các địa chỉ bộ nhớ xác định.

Các yêu cầu đối với việc quản lý bộ nhớ:
- Cấp phát bộ nhớ cho process.
- Tái định vị (relocation).
- Bảo vệ: phải kiểm tra truy xuất bộ nhớ có hợp lệ không?
- Chia sẻ: Cho phép các process chia sẻ vùng nhớ chung.
- Kết gán địa chỉ nhớ luận lý của user địa chỉ thực (physical)

II. Nhiệm vụ.

Quản lý bộ nhớ là nhiệm vụ trọng tâm hàng đầu
của HĐH

Bao gồm các công việc:
- Cấp phát và thu hồi vùng nhớ cho các tiến trình
khi cần thiết
- Ghi nhận tình trạng bộ nhớ chính: vùng đã cấp

phát, vùng còn có thể sử dụng…
- Quyết định tiến trình nào được nạp vào bộ nhớ
chính khi có một vùng nhớ trống.

III. Phân phối bộ nhớ
1. Phân phối đơn chương

Bộ nhớ được chia sẻ cho hệ điều hành và một chương trình
duy nhất của người sử dụng. Tại một thời điểm, một phần
của bộ nhớ sẽ do hệ điều hành chiếm giữ, phần còn lại thuộc
về quá trình người dùng duy nhất trong hệ thống.

Rất nhiều tiến trình trải qua phần lớn thời gian để chờ các
thao tác nhập/xuất hoàn thành. CPU ở trạng thái rỗi. Hệ
thống đơn chương không cho phép sử dụng hiệu quả CPU.
Không cho phép nhiều người sử dụng làm việc đồng thời
theo cơ chế tương tác.

Để nâng cao hiệu suất sử dụng CPU, cần cho phép chế độ đa
chương mà trong đó các quá trình chia sẻ CPU với nhau để
hoạt động đồng hành.

2. Phân phối đa chương.
* Hệ thống đa chương với phân khu cố định
- Đây là phương pháp đơn giản nhất để cấp phát
bộ nhớ.
-
Khi một phân khu rảnh, một quá trình được chọn
từ hàng đợi nhập và được nạp vào phân khu
trống. Có hai tiếp cận để tổ chức hàng đợi:


Sử dụng nhiều hàng đợi: Mỗi phân khu sẽ có một
hàng đợi tương ứng.

Sử dụng một hàng đợi: Tất cả các quá trình
được đặt trong hàng đợi duy nhất.

2. Phân phối đa chương. (ti p)ế
* Hệ thống đa chương với phân khu động
Cơ chế này là tổng quát của cơ chế
phân khu cố định. Nó được dùng chủ yếu
trong môi trường xử lý theo lô.

IV. Liên kết địa chỉ

Một chương trình người dùng sẽ đi qua
một số bước- một vài trong chúng có thể
là tuỳ chọn-trước khi được thực thi.

Hình 1. Xử lý nhiều bước của chương trình người dùng

IV. (tiếp)
- Về truyền thống, 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 theo
cách sau đây:

Thời gian biên dịch

Thời điểm nạp


Thời gian thực thi. Hầu hết những hệ điều hành này
dùng phương pháp này.

V. Không gian địa chỉ luận lý và
không gian địa chỉ vật lý
-
Một địa chỉ được tạo ra bởi CPU thường được gọi
là địa chỉ luận lý (logical address), ngược lại một địa
chỉ được xem bởi đơn vị bộ nhớ (nghĩa là, một địa
chỉ được nạp vào thanh ghi địa chỉ bộ nhớ) thường
được gọi là địa chỉ vật lý (physical address).
- Tập hợp tất cả địa chỉ luận lý được tạo ra bởi
chương trình là không gian địa chỉ luận lý
- Tập hợp tất cả địa chỉ vật lý tương ứng địa chỉ luận
lý này là không gian địa chỉ vật lý

B. KĨ THUẬT CẤP PHÁT
BỘ NHỚ
I. Cấp phát bộ nhớ liên tục
II Cấp phát bộ nhớ không liên tục

I. Cấp phát liên tục
(Contiguous allocation)
� Bộ nhớ được chia thành các khối với cỡ cố
định, mỗi tiến trình được cấp phát một khối
� Khi tiến trình kết thúc, khối bộ nhớ đã cấp
phát cho tiến trình được giải phóng để cấp
phát cho tiến trình khác
� Mức độ đa chương trình bị hạn chế bởi các
khối

� Cỡ của tiến trình bị hạn chế bởi cỡ của khối
� Các HĐH/máy tính sử dụng MFT: IBM/360

First-fit và best-fit tốt hơn worst-fit theo
nghĩa tốc độ và tận dụng bộ nhớ
* Các chiến lược
cấp phát:

First-fit:

Best-fit:

Worst-fit

First-fit: Cấp phát
phân đoạn tự do đầu
tiên đủ lớn.

Best-fit: Cấp phát
phân đoạn tự do nhỏ
nhất nhưng đủ lớn để
thõa mãn nhu cầu.

Worst-fit : Cấp phát
phân đoạn tự do lớn
nhất

II. Cấp phát không liên tục
1. Phân trang (Paging)
- 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.
- Phân trang tránh vấn đề đặt vừa khít nhóm
bộ nhớ có kích thước thay đổi vào vùng
lưu trữ phụ (backing store) mà hầu hết các
cơ chế quản lý bộ nhớ trước đó gặp phải.
- Phân trang được dùng phổ biến trong hầu
hết các hệ điều hành.

Hình 2. Mô hình về Phần cứng phân trang


Mỗi địa chỉ được tạo ra bởi CPU được chia thành hai
phần: Số trang (p) và Độ dời trang (d).

Số trang được dùng như chỉ mục vào bảng trang. 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ớ.

Những thông tin (chi tiết cấp phát bộ nhớ vật lý;
khung nào được cấp phát, khung nào còn trống, tổng
khung hiện có là bao nhiêu,…) mà HĐH phải hiểu thì
được lưu trữ trong bảng khung.
Phân trang (ti p)ế

Hình 3. Các khung trống.
(a) Trước khi cấp phát. (b) Sau khi cấp phát



Bảng trang được lưu ở bộ nhớ trong

Thanh ghi cơ sở bảng trang (page-table base register)
(PTBR) trỏ đến bảng trang

Thanh ghi độ dài bảng trang (page-table length
register) (PTLR) lưu cỡ bảng trang

Sử dụng bảng trang, mọi thao tác truy cập dữ liệu/lệnh
cần tới 2 lần truy cập bộ nhớ (1 cho bảng trang, 1 cho
dữ liệu/lệnh) Truy cập bộ nhớ hai lần: Giảm tốc độ

Giải quyết vấn đề 2 lần truy cập bộ nhớ: Sử dụng phần
cứng cache có tốc độ truy cập cao gọi là bộ nhớ kết
hợp (associative memory) hoặc vùng đệm hỗ trợ
chuyển đổi (translation look aside buffers -TLB)

Mỗi phần tử trong TLB có hai phần: khóa và giá trị

Số lượng các phần tử của TLB thường từ 64 đến 1024
* Cài đặt bảng trang

* Cách đánh địa chỉ theo trang

Địa chỉ được đánh một cách phân cấp:
� Số hiệu trang (Page number - p) – Được sử dụng làm chỉ
số đến phần tử trong bảng trang chứa địa chỉ cơ sở của
các frame trong bộ nhớ vật lý
� Offset trang (Page offset - d) – Địa chỉ tương đối trong trang


Địa chỉ ảo có m bit, sử dụng m-n bit cao làm số
hiệu trang và n bit thấp làm offset

Không có phân mảnh ngoài, có phân mảnh
trong:
� Giảm cỡ trang → Giảm phân mảnh trong → Giảm hiệu
năng
� Tăng cỡ trang → Tăng hiệu suất → Tăng phân mảnh trong

2. Phân đoạn (Segmentation)

Không gian địa chỉ là một tập các phân
đoạn (segments).

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.

Các phân đoạn là những phần bộ nhớ
kích thước khác nhau và có liên hệ logic
với nhau. Mỗi phân đoạn có một tên gọi
(số hiệu phân đoạn) và một độ dài. Người
dùng sẽ thiết lập mỗi địa chỉ với hai giá trị
: <số hiệu phân đoạn, offset>.

Hình 4. Mô hình về Phần cứng phân đoạn

×