1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu CHƯƠNG 6 MỨC MÁY HỆ ĐIỀU HÀNH pptx

44 812 5
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 đề Mức máy hệ điều hành
Trường học Khoa Điện Tử, Bộ môn Kỹ thuật máy tính
Chuyên ngành Kỹ thuật Máy tính
Thể loại Báo cáo môn học
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 44
Dung lượng 686 KB

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

Nội dung

Để thực hiện tốt nhiệm vụ này, hệ điều hành cần phải xem xét các khía cạnh: - Sự tương ứng giữa địa chỉ logic và địa chỉ vật lý physic : làm cách nào để chuyển đổi một địa chỉ tượng

Trang 1

CHƯƠNG 6

MỨC MÁY HỆ ĐIỀU

HÀNH

Trang 2

CHƯƠNG 6 MỨC MÁY HỆ ĐIỀU HÀNH

6.1 Giới thiệu mức máy hệ điều hành

6.2 Bộ nhớ ảo

6.2.1 Việc phân trang - Paging

6.2.2 Thực hiện việc phân trang

6.2.3 Phương pháp Cấp trang khi có yêu cầu

và Mô hình tập làm việc

6.3 Các chỉ thị vào/ra ảo - tự đọc

Trang 3

6.1 Giới thiệu mức máy hệ điều hành

• Trình thông dịch chạy trên máy mức 1 có thể thông dịch các chương trình được viết bằng ngôn ngữ máy mức 2

• Trình thông dịch chạy trên máy mức 2 có thể thông dịch các chương trình được viết bằng ngôn ngữ máy mức 3.

  Chúng ta gọi mức 3 là mức máy hệ điều hành.

Trang 4

6.1 Giới thiệu mức máy hệ điều hành

vi chương trình

HĐH thông dịch

Trang 5

6.1 Giới thiệu mức máy hệ điều hành

- Hệ điều hành chịu trách nhiệm cấp phát vùng nhớ cho các tiến trình

có yêu cầu Để thực hiện tốt nhiệm vụ này, hệ điều hành cần phải

xem xét các khía cạnh:

- Sự tương ứng giữa địa chỉ logic và địa chỉ vật lý (physic) : làm

cách nào để chuyển đổi một địa chỉ tượng trưng (symbolic) trong chương trình thành một địa chỉ thực trong bộ nhớ ch í nh?

- Quản lý bộ nhớ vật lý: làm cách nào để mở rộng bộ nhớ c ó sẵn

nhằm lưu trữ được nhiều tiến trình đồng thời?

- Chia sẻ thông tin: làm thế nào để cho ph é p hai tiến trình có thể

chia sẻ thông tin trong bộ nhớ?

- Bảo vệ: làm thế nào để ngăn chặn c á c tiến trình xâm phạm đến

vùng nhớ được cấp phát cho tiến trình khác?

Trang 6

6.1 Giới thiệu mức máy hệ điều hành

- Các địa chỉ trong chương trình nguồn là địa chỉ

tượng trưng, vì thế, một chương trình phải trải qua nhiều giai đoạn xử lý để chuyển đổi các địa chỉ này thành các địa chỉ tuyệt đối trong bộ nhớ chính

- Có thể thực hiện liên kết các chỉ thị và dữ liệu với

các địa chỉ bộ nhớ vào một trong những thời điểm sau:

Trang 7

6.1 Giới thiệu mức máy hệ điều hành

 Thời điểm biên dịch:

 Nếu tại thời điểm biên dịch, có thể biết vị

trí mà tiến trình sẽ thường trú trong bộ nhớ, trình biên dịch có thể phát sinh ngay

mã với các địa chỉ tuyệt đối

 Nếu sau đó có sự thay đổi vị trí thường trú

ban đầu của chương trình, cần phải biên dịch lại chương trình.

Trang 8

6.1 Giới thiệu mức máy hệ điều hành

 Nếu tại thời điểm biên dịch, chưa thể biết vị trí

mà tiến trình sẽ thường trú trong bộ nhớ, trình biên dịch cần phát sinh mã tương đối

 Sự liên kết địa chỉ được trì hoãn đến thời điểm

chương trình được nạp vào bộ nhớ, lúc này các địa chỉ tương đối sẽ được chuyển thành địa chỉ tuyệt đối do đã biết vị trí bắt đầu lưu trữ tiến

trình

 Khi có sự thay đổi vị trí lưu trữ, chỉ cần nạp lại

chương trình để tính toán lại các địa chỉ tuyệt đối, mà không cần biên dịch lại

Trang 9

6.1 Giới thiệu mức máy hệ điều hành

 Thời điểm xử lý:

 Nếu có nhu cầu di chuyển tiến trình từ

vùng nhớ này sang vùng nhớ khác trong quá trình tiến trình xử lý, thì thời điểm liên kết địa chỉ phải trì hoãn đến tận thời điểm

xử lý

 Để thực hiện liên kết địa chỉ vào thời điểm

xử lý, cần sử dụng cơ chế phần cứng đặc biệt

Trang 10

6.1 Giới thiệu mức máy hệ điều hành

trên không gian nhớ vật lý:

 Địa chỉ logic: còn gọi là địa chỉ ảo, là tất cả các

địa chỉ do bộ xử lý tạo ra

 Địa chỉ vật lý: là địa chỉ thực tế mà trình quản lý

bộ nhớ nhìn thấy và thao tác

 Không gian địa chỉ: là tập hợp tất cả các địa chỉ

ảo phát sinh bởi một chương trình

 Không gian vật lý: là tập hợp tất cả các địa chỉ

vật lý tương ứng với các địa chỉ ảo

Trang 11

6.1 Giới thiệu mức máy hệ điều hành

 Phương thức liên kết địa chỉ vào thời điểm

biên dịch và vào thời điểm nạp: Địa chỉ ảo và địa chỉ vật lý là như nhau

 Phương thức liên kết vào thời điểm xử lý:

địa chỉ ảo và địa chỉ vật lý khác nhau.

Trang 12

6.2 Bộ nhớ ảo

• Thời kỳ đầu bộ nhớ máy tính thường nhỏ  chương trình

càng bé càng tốt.

• Giải pháp: sử dụng bộ nhớ phụ + kỹ thuật overlay (mỗi

overlay có thể nằm lọt trong bộ nhớ) đòi hỏi nhiều công

sức của người lập trình cho việc quản lý overlay.

 Bộ nhớ ảo (Virtual Memory):

• Được một nhóm nhà khoa học ở Manchester, đề xuất

Trang 13

6.2.1 Việc phân trang - Paging

• Phân bộ nhớ vật lý thành các khối có kích thước

cố định, bằng nhau: là khung trang - page frame

• Không gian địa chỉ được chia thành các khối có

cùng kích thước với khung trang: gọi là trang (page)

• Khi cần nạp một tiến trình để xử lý, các trang của tiến trình sẽ được nạp vào những khung trang còn trống Một tiến trình kích thước N trang sẽ yêu cầu N khung trang tự do

Trang 14

6.2.1 Việc phân trang - Paging

Mô hình bộ nhớ phân trang

Trang 15

6.2.1 Việc phân trang - Paging

Cơ chế MMU trong kỹ thuật phân trang:

Cơ chế phần cứng hỗ trợ thực hiện chuyển đổi

địa chỉ trong cơ chế phân trang là bảng trang

(pages table)

Mỗi phần tử trong bảng trang cho biết các địa chỉ bắt đầu của vị trí lưu trữ trang tương ứng trong

bộ nhớ vật lý (số hiệu khung trang trong bộ nhớ

vật lý đang chứa trang )

Trang 16

6.2.1 Việc phân trang - Paging

ảo, phải phân biệt 2 miền địa chỉ:

Trang 17

6.2.1 Việc phân trang - Paging

Ý tưởng: tách biệt các khái niệm về

không gian địa chỉ và các vị trí nhớ:

• Vào bất cứ thời điểm nào 4096

word bộ nhớ có thể được truy cập

trực tiếp, nhưng chúng không nhất

thiết phải tương ứng với các địa

chỉ từ 0 4095.

• 4096  sử dụng word 0

• 4097  sử dụng word 1

• 8191  sử dụng word 4095 v.v.

Trang 18

6.2.1 Việc phân trang - Paging

? Điều gì sẽ xảy ra nếu chương trình

nhảy tới một địa chỉ nằm trong

Trang 19

6.2.1 Việc phân trang - Paging

• Kỹ thuật thực hiện overlay tự động được gọi là phân trang - paging, các đoạn chương trình được đọc vào bộ nhớ chính

từ bộ nhớ phụ được gọi là các trang.

• Cơ chế phân trang có thể coi là trong suốt đối với người

Trang 20

6.2.2 Thực hiện việc phân trang

• Bộ nhớ ảo cần có bộ nhớ phụ để chứa toàn bộ chương trình.

• Một số quy ước:

nhớ chính là các bản copy

• Cập nhật bản gốc, mọi thay đổi xảy ra với bản copy trong

bộ nhớ chính cần phải phản ánh vào trong bản gốc.

• Không gian địa chỉ ảo được chia thành các trang có kích thước bằng nhau, nằm trong khoảng 512 4096.

Trang 21

6.2.2 Thực hiện việc phân trang – V í dụ

được chia thành các frame

Trang 22

6.2.2 Thực hiện việc phân trang – V í dụ

Chuyển đổi địa chỉ: Mỗi địa chỉ phát sinh bởi CPU được chia thành hai phần:

 Số hiệu trang (p): sử dụng như chỉ mục đến phần

tử tương ứng trong bảng trang

 Địa chỉ tương đối trong trang (d): kết hợp với địa chỉ bắt đầu của trang để tạo ra địa chỉ vật lý mà trình quản lý bộ nhớ sử dụng

Trang 23

6.2.2 Thực hiện việc phân trang – V í dụ

 Để dễ phân tách địa chỉ ảo thành số hiệu trang và địa chỉ tương đối, kích thước của một trang thông thường là một lũy thừa của 2 (512 bytes … 8192 bytes)

và kích thước trang là 2n

Thì m-n bits cao của địa chỉ ảo sẽ biễu diễn số hiệu trang

Trang 24

6.2.2 Thực hiện việc phân trang – V í dụ

Cơ chế phần cứng hỗ trợ phân trang

Trang 25

6.2.2 Thực hiện việc phân trang – V í dụ

Cài đặt bảng trang:

Trong trường hợp đơn giản nhất, một tập các

thanh ghi được sử dụng để cài đặt bảng trang

Tuy nhiên việc sử dụng thanh ghi chỉ phù hợp

với các bảng trang có kích thước nhỏ

Nếu bảng trang có kích thước lớn, nó phải được lưu trữ trong bộ nhớ chính, và sử dụng một

thanh ghi để lưu địa chỉ bắt đầu lưu trữ bảng

trang (PTBR)

Trang 26

6.2.2 Thực hiện việc phân trang – V í dụ

Mô hình bộ nhớ phân trang

Trang 27

6.2.2 Thực hiện việc phân trang – V í dụ

Trang 28

6.2.2 Thực hiện việc phân trang – V í dụ

 Theo cách tổ chức này, mỗi truy xuất đến dữ liệu hay chỉ thị đều đòi hỏi hai lần truy xuất bộ nhớ:

 Truy xuất đến bảng trang

 Truy xuất đến bản thân dữ liệu!

 Để giảm bớt việc truy xuất bộ nhớ hai lần  sử dụng bộ nhớ

cache, có tốc độ truy xuất nhanh và cho phép tìm kiếm song

song, gọi là bộ nhớ kết hợp (TLBs)

 TLBs được sử dụng để lưu trữ các trang bộ nhớ được truy cập gần hiện tại nhất Khi CPU phát sinh một địa chỉ, số hiệu trang của địa chỉ sẽ được so sánh với các phần tử trong TLBs

 Nếu có trang tương ứng trong TLBs, xác định được ngay số hiệu khung trang tương ứng

 Nếu không cần thực hiện thao tác tìm kiếm trong bảng trang

Trang 29

6.2.2 Thực hiện việc phân trang – V í dụ

Trang 30

6.2.2 Thực hiện việc phân trang

chỉ (ảo)22 của trang 3.

Hình b: Mối liên hệ giữa

trang và địa chỉ ảo.

Trang 31

6.2.2 Thực hiện việc phân trang

Bảng phân trang:

• Bảng phân trang có số đề mục

(entry) bằng số lượng trang ảo,

có 3 trường:

1 Trường 1 (1 bit), 0/1: trang ảo

tương ứng không/có nằm trong

bộ nhớ chính.

2 Trường 2: địa chỉ (nơi chứa)

trang ảo trong bộ nhớ phụ khi

nó không nằm trong bộ nhớ

chính (thí dụ số hiệu track hay

sector trên đĩa).

3 Trường 3 (3 bit): chỉ khung

trang, là nơi mà trang nằm nếu

Trang 32

Tạo địa chỉ bộ nhớ chính (vật lý) từ địa chỉ ảo

• Từ đ/c ảo tính được trang ảo

(+ địa chỉ trong trang ảo)

• Từ trang ảo, k.tra page table

sẽ biết trang ảo có trong bộ

nhớ chính không.

• Giả sử có: trường khung

trang 3 bit sẽ chỉ ra trang

nằm ở đâu.

• 3 bit này sẽ được nạp vào 3

bit bên trái nhất của MAR

• 12 bit thấp của MAR được

nạp địa chỉ trong trang ảo.

 Nhận được 15 bit, chính là địa

chỉ cần cho bộ nhớ chính

dung lượng 32K.

Trang 33

6.2.2 Thực hiện việc phân trang

Minh hoạ ánh xạ từ không gian

chỉ ảo lên không gian bộ nhớ

Trang 34

6.2.2 Thực hiện việc phân trang

• Để tăng tốc độ việc chuyển đổi địa chỉ ảo thành địa chỉ vật

lý, có 2 cách:

• Bảng phân trang thường được giữ trong các thanh ghi phần cứng đặc biệt, việc chuyển đổi được thực hiện trực tiếp bằng phần

cứng Cách này đòi hỏi các chi phí phần cứng.

• Bảng phân trang trong các thanh ghi tốc độ cao và dùng vi

chương trình thực hiện chuyển đổi bằng lập trình trực tiếp đối với các thanh ghi Tuỳ thuộc vào kiến trúc của mức vi chương trình, chuyển đổi bằng cách này có thể gần nhanh bằng cách chuyển đổi trực tiếp bằng phần cứng mà không đòi hỏi phải có các mạch điện đặc biệt.

Trang 35

6.2.2 Thực hiện việc phân trang

Tổ chức bảng trang:

 Mỗi hệ điều hành có một phương pháp riêng

để tổ chức lưu trữ bảng trang Đa số các hệ điều hành cấp cho mỗi tiến trình một bảng trang

 Tuy nhiên phương pháp này không thể chấp

nhận được nếu hệ điều hành cho phép quản lý một không gian địa chỉ có dung lượng quá

(232, 264): trong các hệ thống như thế, bản thân bảng trang đòi hỏi một vùng nhớ qúa lớn!

Trang 36

6.2.2 Thực hiện việc phân trang

 Phân trang đa cấp: phân chia bảng trang thành các phần nhỏ, bản thân bảng trang cũng sẽ được phân trang

Trang 37

6.2.2 Thực hiện việc phân trang

 Bảng trang nghịch đảo: sử dụng duy nhất một bảng trang nghịch đảo cho tất cả các tiến trình Mỗi phần

tử trong bảng trang nghịch đảo phản ánh một khung trang trong bộ nhớ bao gồm địa chỉ logic của một

trang đang được lưu trữ trong bộ nhớ vật lý tại khung trang này, cùng với thông tin về tiến trình đang được

sỡ hữu trang Mỗi địa chỉ ảo khi đ là một bộ � là một bộ

Trang 38

6.2.2 Thực hiện việc phân trang

 Mỗi phần tử trong bảng trang nghịch đảo là một cặp <idp, p > Khi một tham khảo đến bộ nhớ được phát sinh, một phần địa chỉ ảo là <idp, p > được đưa đến cho trình quản lý bộ nhớ để tìm phần tử tương ứng trong bảng trang nghịch đảo

 Nếu tìm thấy, địa chỉ vật lý <i,d> sẽ được phát sinh

 Trong các trường hợp khác, xem như tham khảo bộ nhớ

đã truy xuất một địa chỉ bất hợp lệ

Trang 39

6.2.2 Thực hiện việc phân trang

Trang 40

6.2.2 Thực hiện việc phân trang

Chia sẻ bộ nhớ trong cơ chế phân trang:

 Một ưu điểm của cơ chế phân trang là cho phép chia sẻ các trang giữa các tiến trình.Trong trường hợp này, sự chia sẻ được thực hiện bằng cách ánh xạ nhiều địa chỉ logic vào một địa chỉ vật l duy nhất C thể p � là một bộ � là một bộ � là một bộ

dụng kỹ thuật này để cho ph p c tiến trình chia sẻ một vùng code � là một bộ � là một bộ

chung: nếu có nhiều tiến trình của cùng một chương trình, chỉ cần lưu trữ

một đoạn code của chương trình này trong bộ nhớ, các tiến trình sẽ có thể cùng truy xuất đến c c trang chứa code chung này Lưu ý để c thể chia � là một bộ � là một bộ

sẻ một đoạn code, đoạn code này phải có thuộc tính reenterable (cho

phép một bản sao của chương trình được sử dụng đồng thời bởi nhiều

t c vụ) � là một bộ

Trang 41

6.2.2 Thực hiện việc phân trang

Trang 42

Th ảo luận

phân mảnh ngoại vi : mỗi khung trang đều c � là một bộ thể được cấp phát cho một tiến trình nào đ � là một bộ

c yêu cầu Tuy nhiên hiện tượng phân mảnh � là một bộ nội vi vẫn có thể xảy ra khi kích thước của tiến trình không đ ng bằng bội số của k ch � là một bộ � là một bộ

thước một trang, khi đ , trang cuối cùng sẽ � là một bộ

không được sử dụng hết.

Trang 43

6.2.2 Thực hiện việc phân trang

của kỹ thuật phân trang là sự phân biệt rạch ròi góc nhìn của người dùng và của bộ phận quản lý bộ nhớ vật lý:

người dùng nhìn thấy bộ nhớ như là một không gian liên tục, đồng nhất và chỉ chứa duy nhất bản thân tiến trình này.

người sử dụng được lưu trữ phân tán khắp bộ nhớ vật lý, trong bộ nhớ vật lý đồng thời cũng

Trang 44

6.2.2 Thực hiện việc phân trang

đổi này là trong suốt đối với người sử

dụng.

trình cấp phát bộ nhớ, hệ điều hành sử

dụng một bảng khung trang, mà mỗi phần

tử mô tả tình trạng của một khung trang

vật lý : tự do hay được cấp phát cho một

Ngày đăng: 19/02/2014, 03:20

HÌNH ẢNH LIÊN QUAN

Bảng phân trang: - Tài liệu CHƯƠNG 6 MỨC MÁY HỆ ĐIỀU HÀNH pptx
Bảng ph ân trang: (Trang 31)

TỪ KHÓA LIÊN QUAN

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