1. Trang chủ
  2. » Mẫu Slide

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

43 1,9K 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài báo cáo môn Vi xử lý và lập trình - Quản lý bộ nhớ
Tác giả Nguyễn Thị Thúy Hằng, Phùng Thị Hồng, Bùi Thị Diệu Linh, Hạ Xuân Phong, Lê Việt Phú
Trường học Trường Đại Học Công Nghệ Thông Tin & Truyền Thông
Chuyên ngành Vi xử lý và lập trình
Thể loại Báo cáo môn học
Thành phố Hà Nội
Định dạng
Số trang 43
Dung lượng 620 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

Bài Báo Cáo Môn:

VI XỬ LÝ VÀ LẬP TRÌNH

ASSEMBLY

Trang 3

Đề Tài 03 :

Trang 5

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ý

Trang 6

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?

Trang 7

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

Trang 8

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

Trang 9

2 Phân phối đa chương

* H th ng đa ch ệ thống đa chương với phân khu cố định ống đa chương với phân khu cố định ương với phân khu cố định ng v i phân khu c đ nh ới phân khu cố định ống đa chương với phân khu cố định ị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.

Trang 10

2 Phân phối đa chương (ti p) ếp)

* H th ng đa ch ệ thống đa chương với phân khu cố định ống đa chương với phân khu cố định ương với phân khu cố định ng v i phân khu đ ng ới phân khu cố định ộ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ô.

Trang 11

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.

Trang 12

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

Trang 13

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

Trang 14

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ý

Trang 15

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

Trang 16

􀁺 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

Trang 17

First-fit và best-fit tốt hơn worst-fit theo nghĩa tốc độ và tận dụng bộ nhớ

• Best-fit: C p phát ấp phát phân đo n t do nh ạn tự do đầu ự do đầu ỏ

nh t nh ng đ l n ấp phát ưng đủ lớn ủ lớn ớn

đ ể thõa mãn nhu c u ầu

• Worst-fit : C p ấp phát phát phân đo n t ạn tự do đầu ự do đầu

do l n nh t ớn ấp phát

Trang 18

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

Trang 19

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

Trang 20

• 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

Phân trang (ti p) ếp)

Trang 21

Hình 3 Các khung trống

(a) Trước khi cấp phát (b) Sau khi cấp phát

Trang 22

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

• Thanh ghi cơ sở bảng trang (page-table base register)

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)

* Cài đặt bảng trang

Trang 23

* 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

Trang 24

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ẽ

Trang 25

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

Trang 26

Phân đoạn (ti p) ếp)

Một chương trình gồm nhiều phân đoạn, mỗi phân đoạn thể hiện dưới góc độ lập trình ở dạng:

– Main program: Chương trình chính

– Function: Các hàm

– Method: Các phương thức

– Object: Các đối tượng, lớp

– Local/global variables: Các biến

– Common block: Các khối chung

– Stack: Ngăn xếp

Trang 27

(**) Ưu điểm của cơ chế phân đoạn:

• Bảo vệ: Cơ chế phần cứng phụ trách chuyển đổi địa chỉ bộ nhớ sẽ kiểm tra các bit bảo vệ được gán với mỗi phần tử trong bảng phân đoạn để ngăn chặn các thao tác truy xuất bất hợp lệ đến phân đoạn tương ứng

• Chia sẻ phân đoạn : Nhờ khả năng này, các tiến trình có thể chia sẻ với nhau từng phần chương trình ( ví dụ các thủ tục, hàm), không nhất thiết phải chia sẻ toàn bộ

chương trình như trường hợp phân trang

Trang 28

Hình 5 Chia s các phân đo n trong m t h ẻ các phân đoạn trong một hệ ạn trong một hệ ột hệ ệ

th ng b nh đ c phân đo n ống bộ nhớ được phân đoạn ột hệ ớ được phân đoạn ược phân đoạn ạn trong một hệ

Trang 29

3 Phân đoạn với phân khu cố địnhi phân trang

• Hai bộ vi xử lý phổ biến nhất hiện nay là: dòng Motorola

68000 được thiết kế dựa trên cơ sở không gian địa chỉ

phẳng, ngược lại, họ Intel 80x86 và Petium dựa trên cơ sở phân đoạn Cả hai là mô hình bộ nhớ hợp nhất hướng tới

sự kết hợp của phân trang và phân đoạn

• Chúng ta có thể kết hợp hai phương pháp để tận dụng lợi điểm của chúng Sự kết hợp này được thể hiện tốt nhất bởi kết trúc của Intel 386 Intel 386 sử dụng phân đoạn với

phân trang cho việc quản lý bộ nhớ Số tối đa các phân

đoạn trên quá trình là 16KB và mỗi phân đoạn có thể lớn tới 4GB Kích thước trang là 4 KB

Trang 30

C HOÁN VỊ

• Một quá trình cần ở trong bộ nhớ để được thực thi Tuy nhiên, một quá 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

• Một biến thể của chính sách hoán vị này được dùng cho các giải thuật định thời trên cơ sở ưu tiên Biến thể của

hoán vị này thường được gọi là cuộn ra (roll out), và cuộn

vào (roll in)

• Hoán vị yêu cầu một vùng lưu trữ phụ (backing store),

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 cấp truy xuất trực tiếp tới các hình ảnh bộ

Trang 31

Hình 6 Hoán vị hai quá trình dùng đĩa như là backing store

Trang 32

D NẠP CHƯƠNG TRÌNH VÀO BỘ NHỚ

1 Nạp chương trình động (Dynamic loading)

• Để đạt được việc sử dụng không gian bộ nhớ tốt hơn,

chúng ta có thể sử dụng nạp động (dynamic loading).

• Một thủ tục không được nạp cho tới khi nó được gọi

• Tất cả thủ tục được giữ trên đĩa trong định dạng nạp có thể tái định vị Chương trình chính được nạp vào bộ

nhớ và được thực thi

Trang 33

Thuận lợi:

• Ở đó một thủ tục không được dùng thì không bao

giờ được nạp

• - Phương pháp này đặc biệt có ích khi lượng lớn

mã được yêu cầu quản lý các trường hợp xảy ra

không thường xuyên, chẳng hạn như các thủ tục lỗi Trong trường hợp này, mặc dù kích thước toàn bộ chương trình có thể lớn, nhưng phần được dùng (và

do đó được nạp) có thể nhỏ hơn nhiều

- Nạp động không yêu cầu hỗ trợ đặc biệt từ hệ điều hành Nhiệm vụ của người dùng là thiết kế các chương trình của họ để đạt được sự thuận lợi đó

Tuy nhiên, hệ điều hành có thể giúp người lập trình bằng cách cung cấp các thủ tục thư viện để cài đặt nạp tự động

Trang 34

2 Nạp chương trình cố định (Fixed loading)

Hình 7 Cơ chế thực hiện Linking

Trang 35

E PHÂN MẢNH

• Phân mảnh ngoài tồn tại

khi tổng không gian bộ

khối (compaction) Mục tiêu

là di chuyển nội dung bộ nhớ

để đặt tất cả bộ nhớ trống với nhau trong một khối lớn

Giải thuật kết khối đơn giản nhất là di chuyển tất cả quá trình tới cuối bộ nhớ; tất cả

lỗ trống di chuyển theo hướng ngược lại, tạo ra một

lỗ trống lớn của bộ nhớ sẵn dùng Cơ chế này có thể đắt

Trang 36

E. 1 Phân mảnh ngoài (ti p) ếp)

• Một giải pháp khác cho vấn đề phân mảnh ngoài

là cho phép không gian địa chỉ luận lý của một quá trình là không liên tục, do đó cho phép một quá trình được cấp phát bộ nhớ vật lý bất cứ đâu sau khi sẳn dùng Hai kỹ thuật bù trừ để đạt giải pháp này là phân trang và phân đoạn

Trang 37

E 2 Phân mảnh trong (internal fragmentation)

Kích thước vùng nhớ được cấp phát có thể hơi

lớn hơn vùng nhớ yêu cầu

Ví dụ: cấp một khoảng trống 18,464 bytes cho một process yêu cầu 18,462 bytes.

• Hiện tượng phân mảnh trong thường xảy ra khi bộ nhớ thực (physical memory) được chia thành các khối kích thước cố định (fixed-sized block) và các process được cấp phát theo đơn vị khối.

Trang 38

E. 2 Phân mảnh trong (ti p) ếp)

• Phân mảnh trong là lãng phí không gian bên trong các khối cấp phát bộ nhớ do hạn chế về kích

thước cho phép của khối đã cấp phát Cấp phát bộ nhớ có thể lớn hơn một chút so với bộ nhớ yêu

cầu, sự khác biệt kích thước bộ nhớ nội bộ để phân vùng một, nhưng không được sử dụng

• Bộ nhớ bị phân mảnh trong đối với một phân khu

Trang 39

F BẢO VỆ BỘ NHỚ

• Bảo vệ bộ nhớ là bảo vệ hệ điều hành từ

quá trình người dùng, và bảo vệ các quá

trình từ một quá trình khác bằng cách dùng thanh ghi tái định vị

􀁺 Bộ nhớ được bảo vệ nhờ kết hợp bit bảo vệ trong mỗi phần tử ở bảng trang Thông

thường, các bit này được giữ trong bảng

để đọc-viết hay chỉ đọc.

Trang 40

Bảo vệ bộ nhớ

􀁺 Bit hợp lệ-không hợp lệ (valid-invalid) kết nối với mỗi phần tử trong bảng trang:

này hiển thị rằng trang được gán trong

không gian địa chỉ luận lý bộ nhớ là trang hợp lệ Nếu bit này được đặt là “không hợp lệ”, giá trị này hiển thị trang đó không ở

Trang 41

Hình 8 Bit hợp lệ (v) và không hợp lệ (i) trong một bảng trang

Ngày đăng: 03/06/2014, 15:37

HÌNH ẢNH LIÊN QUAN

Hình 1. Xử lý nhiều bước của chương trình người dùng - Bài báo cáo môn Vi xử lý và lập trình- Quản lý bộ nhớ
Hình 1. Xử lý nhiều bước của chương trình người dùng (Trang 12)
Hình 2. Mô hình về Phần cứng phân trang - Bài báo cáo môn Vi xử lý và lập trình- Quản lý bộ nhớ
Hình 2. Mô hình về Phần cứng phân trang (Trang 19)
Hình 3. Các khung trống. - Bài báo cáo môn Vi xử lý và lập trình- Quản lý bộ nhớ
Hình 3. Các khung trống (Trang 21)
Hình 4. Mô hình về Phần cứng phân đoạn - Bài báo cáo môn Vi xử lý và lập trình- Quản lý bộ nhớ
Hình 4. Mô hình về Phần cứng phân đoạn (Trang 25)
Hình 5. Chia s  các phân đo n trong m t h   ẻ các phân đoạn trong một hệ  ạn trong một hệ  ột hệ  ệ - Bài báo cáo môn Vi xử lý và lập trình- Quản lý bộ nhớ
Hình 5. Chia s các phân đo n trong m t h ẻ các phân đoạn trong một hệ ạn trong một hệ ột hệ ệ (Trang 28)
Hình 6. Hoán vị hai quá trình dùng đĩa như là backing store - Bài báo cáo môn Vi xử lý và lập trình- Quản lý bộ nhớ
Hình 6. Hoán vị hai quá trình dùng đĩa như là backing store (Trang 31)
Hình 7. Cơ chế thực hiện Linking - Bài báo cáo môn Vi xử lý và lập trình- Quản lý bộ nhớ
Hình 7. Cơ chế thực hiện Linking (Trang 34)
Hình 8. Bit hợp lệ (v) và không hợp lệ (i) trong một bảng trang - Bài báo cáo môn Vi xử lý và lập trình- Quản lý bộ nhớ
Hình 8. Bit hợp lệ (v) và không hợp lệ (i) trong một bảng trang (Trang 41)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w