Giáo trình phân tích chiến lược theo độ ưu tiên với bộ điều phối sẽ cấp processor cho bo mạch p7
lượt xem 3
download
Tham khảo tài liệu 'giáo trình phân tích chiến lược theo độ ưu tiên với bộ điều phối sẽ cấp processor cho bo mạch p7', công nghệ thông tin, hệ điều hành phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Giáo trình phân tích chiến lược theo độ ưu tiên với bộ điều phối sẽ cấp processor cho bo mạch p7
- h a n g e Vi h a n g e Vi XC XC e e F- F- w w PD PD er er ! ! W W O O N N y y bu bu to to k k lic lic C C w w m m w w w w o o .c .c .d o .d o c u -tr a c k c u -tr a c k Page Table Ptr Frame # PE: Page Frame Page Table Main Memry Hình 3.10b. Sơ đồ chuyển địa chỉ trong hệ thống phân trang kích thước của PCT có thể lớn và thay đổi theo kích thước của tiến trình do đó trong kỹ thuật bộ nhớ ảo hệ điều hành thường chứa PCT trong bộ nhớ chính và dùng một thanh ghi để ghi địa chỉ bắt đầu của bộ nhớ nơi lưu trữ PCT của tiến trình khi tiến trình được nạp vào bộ nhớ chính để chạy. Đa số các hệ điều hành đều thiết kế một bảng trang riêng cho mỗi tiến trình. Nhưng mỗi tiến trình có thể chiếm giữ một không gian lớn bộ nhớ ảo, trong trường hợp này bảng trang rất lớn và hệ thống phải tốn không gian bộ nhớ để chứa nó. Ví 31 9 dụ, nếu một tiến trình có đến 2 = 2GB bộ nhớ ảo, mỗi trang có kích thước 2 = 22 512 byte, thì tiến trình này phải cần đến 2 phần tử trong bảng trang. Để khắc phục vấn đề này, trong các kỹ thuật bộ nhớ ảo hệ thống lưu trữ bảng trang trong bộ nhớ ảo chứ không lưu trữ trong bộ nhớ thực, và bản thân bảng trang cũng phải được phân trang. Khi tiến trình thực hiện, chỉ có một phần của bản trang được nạp vào bộ nhớ chính, đây là phần chứa các phần tử của các trang đang thực hiện tại thời điểm hiện tại. Một số processor sử dụng lược đồ hai cấp (two-level) để tổ chức các bảng trang lớn, trong lược đồ này có một thư mục bảng trang (page directory) mà mỗi phần tử trong nó trỏ đến một bảng trang. Trong trường hợp này, nếu chiều dài của thư mục trang là X và chiều dài tối đa của một bảng trang là Y thì tiến trình có thể có X x Y trang. Chiều dài tối đa của một bảng trang chỉ bằng kích thước của một trang. Chúng ta sẽ xem ví dụ minh họa về bảng trang hai cấp sau đây: Two-level Page table 0 1 2 Đến các 3 4 Page Top-level Page table 0 1023 1 0 2 1 0 3 2 PT1 1 Đến các 4 3 2 4
- h a n g e Vi h a n g e Vi XC XC e e F- F- w w PD PD er er ! ! W W O O N N y y bu bu to to k k lic lic C C w w m m w w w w o o .c .c .d o .d o c u -tr a c k c u -tr a c k Giả sử có một không gian địa chỉ ảo 32 bít, được chia thành 3 trường: PT1 10 bít, PT2 10 bít và Offset 12 bít. Hình vẽ 3.10.c cho thấy cấu trúc của bảng trang 2 cấp tương ứng với không gian địa chỉ ảo 32 bít. Bên trái là top-level của bảng trang (bảng trang cấp 1), nó gồm có 1024 mục vào (tương ứng với 10 bít của PT1), tức là PT1 của địa chỉ ảo dùng để chỉ mục đến một phần tử trong bảng trang cấp 1. Mỗi mục vào dùng để mô tả 4Mb bộ nhớ, vì toàn bộ 4 GB (32 bit) không gian địa chỉ ảo được chia thành 1024 phần. Entry được chỉ mục trong bảng trang cấp 1 từ PT1 sẽ cho ra địa chỉ hoặc số hiệu khung trang của bản trang thứ hai (second - level). Có 1024 bảng trang cấp 2, đánh số từ 0 đến 1023, bảng trang cấp 2 thứ nhất (0) quản lý không gian nhớ 4Mb từ 0Mb đến 4Mb, bảng trang cấp 2 thứ hai (1) quản lý không gian nhớ 4Mb từ 8Mb,…. Trường PT2 bây giờ được dùng để chỉ mục đến bảng trang cấp 2 để tìm ra số hiệu khung trang của page tương ứng. Giá trị tìm được ở đây sẽ được kết hợp với thành phần Offset để có được địa chỉ vật lý của ô nhớ tương ứng với địa chỉ ảo 32 bit được phát sinh ban đầu. Chúng ta xem lại ví dụ cụ thể sau đây: Có một địa chỉ ảo 32 bít: 0x00403004, đây là địa chỉ tương ứng với PT1 = 1, PT2 = 3 và Offset = 4. Bộ phận MMU sẽ chuyển địa chỉ này thành địa chỉ vật lý như sau: Đầu tiên MMU dùng PT1 để chỉ mục vào bảng trang cấp 1 và đó là entry 1, tương ứng với không gian đại chỉ từ 4Mb đến 8Mb. Sau đó MMU dùng PT2 để chỉ mục vào bảng trang cấp 2 và đó là entry 3, tương ứng với không gian địa chỉ 12292 đến 16383 trong phạm vi 4Mb. Đây là entry chứa số hiệu khung trang của page chứa địa chỉ ảo 0x00403004. Nếu page này có trong bộ nhớ, thì số hiệu khung trang có được từ bảng trang cấp hai sẽ được kết hợp với thành phần Offset để sinh ra địa chỉ vật lý. Địa chỉ này sẽ được đưa lên a_bus và gởi đến bộ nhớ. Kích thước của trang: Kích thước của một trang do phần cứng quy định, đây là một trong những quyết định quan trọng trong việc thiết kế processor. Nếu kích thước của trang nhỏ thì sự phân mảnh bên trong sẽ nhỏ hơn, vì thế việc sử dụng bộ nhớ chính sẽ được hiệu quả hơn. Nhưng nếu kích thước trang nhỏ thì số lượng trang trên một tiến trình
- h a n g e Vi h a n g e Vi XC XC e e F- F- w w PD PD er er ! ! W W O O N N y y bu bu to to k k lic lic C C w w m m w w w w o o .c .c .d o .d o c u -tr a c k c u -tr a c k sẽ lớn hơn, bảng trang của tiến trình sẽ lớn, sẽ chiếm nhiều bộ nhớ hơn, và như thế việc sử dụng bộ nhớ chính sẽ kém hiệu quả hơn. Các vi xử lý họ Intel 486 và họ Motorola 68040 chọn kích thước của một trang là 4096 byte. Ngoài ra kích thước của trang còn ảnh hưởng đến tỉ lệ xảy ra lỗi trang. Ví dụ: khi kích thước của trang là rất nhỏ thì sẽ có một lượng lớn các trang của tiến trình trên bộ nhớ chính, sau một thời gian thì tất cả các trang của bộ nhớ sẽ chứa các tiến trình được tham chiếu gần đây, vì thế tốc độ xảy ra lỗi trang được giảm xuống. III.3.2.b. Sự phân đoạn: Sự phân đoạn cho phép người lập trình xem bộ nhớ như bao gồm một tập các không gian nhớ hoặc các đoạn (segment) có địa chỉ được xác định. Với bộ nhớ ảo người lập trình không cần quan tâm đến giới hạn bộ nhớ được đưa ra bởi bộ nhớ chính. Các segment có thể có kích thước không bằng nhau và được ấn định một cách động. Địa chỉ tham chiếu bộ nhớ trong trường hợp này bao gồm: Segment Number và Offset. Đối với người lập trình thì sự phân đoạn không gian địa chỉ có một số thuận lợi sau đây so với trường hợp không phân đoạn không gian địa chỉ: 1. Nó đơn giản để điều khiển các cấu trúc dữ liệu lớn dần (growing) trong quá trình hoạt động của hệ thống. Nếu người lập trình không biết trước dữ liệu sẽ lớn đến chừng nào tại thời điểm chạy thì việc ấn định kích thước của động cho segment mang lại nhiều thuận lợi cho người lập trình. 2. Nó cho phép các chương trình không phụ thuộc vào sự thay đổi vào sự biên dịch lại. Nó không yêu cầu thiết lập lại toàn bộ chương trình khi chương trình được liên kết hoặc được nạp trở lại. Việc này chỉ có thể thực hiện bằng cách sử dụng nhiều phân đoạn (Multiple Segment). 3. Nó thích hợp với chiến lược chia sẻ segment giữa các tiến trình. Người lập trình có thể đặt một chương trình tiện ích hoặc một bảng dữ liệu thường sử dụng vào một segment mà có thể được tham chiếu bởi nhiều tiến trình khác nhau. 4. Nó thích hợp với chiến lược bảo vệ bộ nhớ. Bởi vì một segment có thể được sinh ra để chứa một tập xác định các thủ tục hoặc dữ liệu, sau đó người lập trình hoặc người quản trị hệ thống có thể gán quyền truy cập với các độ ưu tiên thích hợp nào đó. Tổ chức của hệ thống phân đoạn: Trong kỹ thuật phân đoạn đơn, mỗi tiến trình sở hữu một bảng đoạn riêng, khi tất cả các đoạn của tiến trình được nạp vào bộ nhớ chính thì bảng đoạn của tiến trình được tạo ra và cũng được nạp vào bộ nhớ, mỗi phần tử trong bảng đoạn chứa địa chỉ bắt đầu của đoạn tương ứng trong bộ nhớ chính và độ dài của đoạn. Trong kỹ thuật bộ nhớ ảo cũng vậy, nhưng một phần tử trong bảng đoạn sẽ chứa nhiều
- h a n g e Vi h a n g e Vi XC XC e e F- F- w w PD PD er er ! ! W W O O N N y y bu bu to to k k lic lic C C w w m m w w w w o o .c .c .d o .d o c u -tr a c k c u -tr a c k thông tin phức tạp hơn. Bởi vì trong kỹ thuật bộ nhớ ảo chỉ có một vài segment của tiến trình được nạp vào bộ nhớ chính, do đó cần phải có một bít để cho biết một đoạn tương ứng của tiến trình là có hay không trên bộ nhớ chính và một bít cho biết đoạn có bị thay đổi hay không so với lần nạp gần đây nhất. Cụ thể là nó phải có thêm các bít điều khiển: Bít M (Modify): Cho biết nội dung của đoạn tương ứng có bị thay đổi hay không so với lần nạp gần đây nhất. Nếu nó không bị thay đổi thì việc phải ghi lại nội dung của một đoạn khi cần phải đưa một đoạn ra lại bộ nhớ ngoài là không cần thiết, điều này giúp tăng tốc độ trong các thao tác thay thế đoạn. Virtual Address Segment Number Offset P M Lengt Segmen Các bít h t Base điều khiển Hình 3.11a. Một phần tử trong bảng Đoạn Bít P (Present): Cho biết đoạn tưong ứng đang ở trên bộ nhớ chính (= 1) hay ở trên bộ nhớ phụ (= 0). Các bít điều khiển khác: Các bít này phục vụ cho các mục đích bảo vệ trang và chia sẻ các khung trang. Chuyển đổi địa chỉ trong hệ thống phân đoạn: Chương trình của người sử dụng sử dụng địa chỉ logic hoặc virtual gồm: segment number và offset để truy xuất dữ liệu trên bộ nhớ chính. Bộ phận quản lý bộ nhớ phải chuyển địa chỉ virtual này thành địa chỉ vật lý tương ứng bao gồm: segment number và offset. Để thực hiện việc này bộ phận quản lý bộ nhớ phải dựa vào bảng đoạn (SCT). Vì kích thước của SCT có thể lớn và thay đổi theo kích thước của tiến trình do đó trong kỹ thuật bộ nhớ ảo hệ điều hành thường chứa SCT trong bộ nhớ chính và dùng một thanh ghi để ghi địa chỉ bắt đầu của bộ nhớ nơi lưu trữ SCT của tiến trình khi tiến trình được nạp vào bộ nhớ chính để chạy. Thành phần segment number của địa chỉ ảo được dùng để chỉ mục đến bảng đoạn và tìm địa chỉ bắt đầu của segment tương ứng trong bộ nhớ chính. Giá trị này sẽ được cộng với thành phần Offset có trong địa chỉ ảo để có được địa chỉ vật lý thực cần tìm. Virtual Address Real Address Seg # Offset Base + Offset Register Off. Seg
- h a n g e Vi h a n g e Vi XC XC e e F- F- w w PD PD er er ! ! W W O O N N y y bu bu to to k k lic lic C C w w m m w w w w o o .c .c .d o .d o c u -tr a c k c u -tr a c k Seg. Table Ptr S.L L B B: Base L: Length Seg. Table SL: Segment Length Main Memry Hình 3.11b. Sơ đồ chuyển địa chỉ trong hệ thống phân Đoạn Bảo vệ và chia sẻ trong phân đoạn: Sự phân đoạn dùng chính nó để cài đặt các chính sách bảo vệ và chia sẻ bộ nhớ. Bởi vì mỗi phần tử trong bảng trang bao gồm một trường length và một trường base address, nên một tiến trình trong segment không thể truy cập đến một vị trí trong bộ nhớ chính mà vị trí này vượt qua giới hạn (length) của segment, ngoại trừ đó là một truy cập dữ liệu đến một segment dữ liệu nào đó. Để thực hiện việc chia sẻ segment, ví dụ segment A, cho nhiều tiến trình, hệ điều hành cho phép nhiều tiến trình cùng tham chiếu đến segment A, khi đó các thông số (length và base address) của segment A xuất hiện đồng thời ở các bảng segment của các tiến trình cùng chia sẻ segment A. Chiến lược chia sẻ này cũng được áp dụng trong hệ thống phân trang. Các hệ điều hành cũng có thể sử dụng một chiến lược bảo vệ phức tạp hơn để cài đặt sự bảo vệ các segment, đó là sử dụng cấu trúc vòng bảo vệ (ring protection). Như đã biết trong hệ thống ring, bao gồm: ring 0, ring 1, ring 2, … thì mỗi ring có một mức đặc quyền truy cập riêng, ring 0 có mức đặc quyền truy cập cao hơn so với ring 1, ring 1 có mức đặc quyền truy cập cao hơn so với ring 2, …, ring thấp nhất được sử dụng cho thành phần kernel của hệ điều hành, các ring cao hơn được sử dụng cho các ứng dụng của người sử dụng. Nguyên lý cơ bản của hệ thống ring là: Chương trình chỉ có thể truy cập đến dữ liệu trong cùng một ring hoặc dữ liệu ở ring có mức đặc quyền truy cập thấp hơn. Chương trình có thể gọi các dịch vụ trong cùng một ring hoặc ở các ring có mức đặc quyền truy cập cao hơn.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
CHƯƠNG VI - PHÂN TÍCH CẠNH TRANH VÀ CHIẾN LƯỢC CẠNH TRANH
26 p | 1304 | 553
-
Nhập môn Công nghệ phần mềm - Phần IV: Thiết kế và lập trình
58 p | 434 | 125
-
Giáo trình hướng dẫn phân tích kĩ thuật thiết kế giải thuật ứng dụng trong sản xuất p1
5 p | 68 | 7
-
Giáo trình phân tích chiến lược theo độ ưu tiên với bộ điều phối sẽ cấp processor cho bo mạch p8
5 p | 60 | 6
-
Giáo trình phân tích khả năng ứng dụng chiến lược theo điều phối cung cấp processor cho bo mạch p3
5 p | 50 | 5
-
Giáo trình phân tích chiến lược theo độ ưu tiên với bộ điều phối sẽ cấp processor cho bo mạch p10
5 p | 59 | 4
-
Giáo trình hướng dẫn phân tích những loại mô hình ứng dụng mạng thực tế p6
5 p | 90 | 4
-
Giáo trình phân tích chiến lược theo độ ưu tiên với bộ điều phối sẽ cấp processor cho bo mạch p2
5 p | 60 | 3
-
Giáo trình phân tích khả năng ứng dụng chiến lược theo điều phối cung cấp processor cho bo mạch p2
5 p | 64 | 3
-
Giáo trình phân tích khả năng ứng dụng chiến lược theo điều phối cung cấp processor cho bo mạch p4
5 p | 53 | 3
-
Giáo trình phân tích khả năng ứng dụng chiến lược theo điều phối cung cấp processor cho bo mạch p10
5 p | 56 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn