SlideShare une entreprise Scribd logo
1  sur  44
CHƯƠNG 6
MỨC MÁY HỆ ĐIỀU
     HÀNH

 Bộ môn Kỹ thuật máy tính – Khoa Điện Tử   1 / 50
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

        Bộ môn Kỹ thuật máy tính – Khoa Điện Tử   2 / 50
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.




              Bộ môn Kỹ thuật máy tính – Khoa Điện Tử              3 / 50
... 6.1 Giới thiệu mức máy hệ điều hành
•   Mức máy HĐH đã tiến
    hoá dần lên từ mức
    máy thông thường:
    -   Hầu hết các chỉ thị của
        mức máy HĐH cũng
        có ở mức máy thông
        thường
    -   Các chỉ thị mức 3
        khác, được gọi là các       Thông dịch
                                                   HĐH thông
                                  trực tiếp bằng
        chỉ thị Mức máy HĐH.         vi chương
                                                     dịch
                                        trình

               Bộ môn Kỹ thuật máy tính – Khoa Điện Tử         4 / 50
... 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?


               Bộ môn Kỹ thuật máy tính – Khoa Điện Tử                   5 / 50
... 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:
   Thời điểm biên dịch
   Thời điểm nạp
   Thời điểm xử lý

         Bộ môn Kỹ thuật máy tính – Khoa Điện Tử    6 / 50
... 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.


           Bộ môn Kỹ thuật máy tính – Khoa Điện Tử   7 / 50
... 6.1 Giới thiệu mức máy hệ điều hành
   Thời điểm nạp:
       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.

             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử   8 / 50
... 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.

           Bộ môn Kỹ thuật máy tính – Khoa Điện Tử   9 / 50
... 6.1 Giới thiệu mức máy hệ điều hành
   Khái niệm không gian địa chỉ được xây
    dựng 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.

                                                       10 /
             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 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.




                                                    11 /
          Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
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
        năm 1961.
    •   Phương pháp thực hiện quá trình overlay một cách
        tự động.
    •   Đầu 1970s bộ nhớ ảo đã trở nên thông dụng
                                                          12 /
             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
6.2.1 Việc phân trang - Paging
•   Ý tưởng:
    •   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.
                                                        13 /
              Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
6.2.1 Việc phân trang - Paging




         Mô hình bộ nhớ phân trang
                                                  14 /
        Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
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 ).




                                                      15 /
            Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
6.2.1 Việc phân trang - Paging
•   Ví dụ: một máy tính trong đó các chỉ
    thị có trường địa chỉ 16 bit và có bộ
    nhớ 4096 word.
     •   Một chương trình chạy trên máy
         tính này có thể đánh địa chỉ 65536
         word bộ nhớ, chứ không phải
         4096.
     •   Khi còn chưa phát minh ra bộ nhớ
         ảo, phải phân biệt 2 miền địa chỉ:
          •   0..4095:   khả dụng
          •   4096.. 65535: không khả dụng
                                                             16 /
                   Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
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.

                                                            17 /
                  Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 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
  khoảng 8192..12287?
• Không có bộ nhớ ảo: Lỗi
• Có bộ nhớ ảo:
   1. Nội dung của bộ nhớ chính được
      cất vào bộ nhớ phụ.
   2. Các word 8192..12287 đang nằm
      trong bộ nhớ phụ được nạp vào bộ
      nhớ chính.
   3. ánh xạ địa chỉ sẽ được thay đổi để
      ánh xạ các địa chỉ 8192..12287
      vào các vị trí nhớ 0..4095.
   4. Chương trình tiếp tục bình thường.
                                                      18 /
            Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 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
    lập trình.
     Khi   lập trình không cần phải biết đến sự tồn tại của bộ
       nhớ ảo.
     Có    thể coi như đang lập trình cho một máy tính có một
       bộ nhớ chính rất lớn (ảo giác)

                                                               19 /
                 Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
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:
     •   Bản copy của chương trình trong bộ nhớ phụ là bản gốc
     •   Phần của chương trình thỉnh thoảng được đưa vào bộ
         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.

                                                          20 /
                Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 6.2.2 Thực hiện việc phân trang – V í dụ
•   Không gian địa chỉ ảo 64K
    được chia thành các frame
    kích thước 4K.                             4
•   Không gian địa chỉ vật lý
    32K chia thành các khung
    trang kích thước 4K.
•   Để thực hiện được bộ nhớ
    ảo ở mức 2, cần phải sử
    dụng page table có 16
    word, để theo dõi trạng
                                65535
    thái sử dụng 16 trang của
    bộ nhớ ảo.
                                                       21 /
             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 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.




                                                     22 /
           Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 6.2.2 Thực hiện việc phân trang – V í dụ
 Kích thước của trang do phần cứng qui định.
 Để 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).
 Nếu kích thước của không gian địa chỉ là 2 m
  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
     n bits thấp cho biết địa chỉ tương đối trong trang.
                                                      23 /
            Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 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
                                                   24 /
         Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 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).


                                                     25 /
           Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 6.2.2 Thực hiện việc phân trang – V í dụ




          Mô hình bộ nhớ phân trang
                                                   26 /
         Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 6.2.2 Thực hiện việc phân trang – V í dụ




  Sử dụng thanh ghi nền trỏ đến bảng trang
                                                   27 /
         Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 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.
                                                                28 /
                 Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 6.2.2 Thực hiện việc phân trang – V í dụ




                                                   29 /
         Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 6.2.2 Thực hiện việc phân trang
•    Hình a: Khi một chương
     trình truy cập bộ nhớ, đầu
     tiên nó sẽ sinh ra một địa
     chỉ 16 bit
     •   4 bit cao làm số trang ảo
     •   12 bit thấp làm địa chỉ
         trong trang ảo đã được
         chọn
      12310 (đc vật lý) là địa
      chỉ (ảo)22 của trang 3.
•    Hình b: Mối liên hệ giữa
     trang và địa chỉ ảo.
                                                           30 /
                 Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 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
         nó ở trong bộ nhớ chính.
                                                            31 /
                  Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
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.
                                                            32 /
                  Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 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ớ
 chính:
• Trang ảo số 0 nằm ở khung
 trang số 1.
• Trang ảo số 1 nằm ở khung
 trang số 0.
• Trang ảo số 2 không nằm trong
 bộ nhớ chính v.v.



                                                     33 /
           Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 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.

                                                                        34 /
               Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 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!

                                                      35 /
            Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 6.2.2 Thực hiện việc phân trang
   Có hai giải pháp cho vấn đề này:
       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




                                                         36 /
             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 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ộ
    ba <idp, p, d >
       Trong đ� : idp là định danh của tiến trình
       p là số hiệu trang
       d là địa chỉ tương đối trong trang

                                                      37 /
            Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 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ệ.




                                                           38 /
              Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 6.2.2 Thực hiện việc phân trang




                                                  39 /
        Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 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
  dụng kỹ thuật này để cho ph�p c� tiến trình chia sẻ một vùng code
  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
  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ụ).




                                                                    40 /
             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 6.2.2 Thực hiện việc phân trang




                                                  41 /
        Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Thảo luận
   Kỹ thuật phân trang loại bỏ được hiện tượng
    phân mảnh ngoại vi : mỗi khung trang đều c �
    thể được cấp phát cho một tiến trình nào đ �
    c� yêu cầu. Tuy nhiên hiện tượng phân mảnh
    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
    thước một trang, khi đ�, trang cuối cùng sẽ
    không được sử dụng hết.



                                                     42 /
           Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 6.2.2 Thực hiện việc phân trang
   Một khiá cạnh tích cực rất quan trọng khác
    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ý:
       Góc nhìn của người sử dụng: một tiến trình
        của 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.
        Góc nhìn của bộ nhớ vật lý: một tiến trình
        của 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 chứa những tiến trình khác.     43 /
            Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
... 6.2.2 Thực hiện việc phân trang
Phần cứng đảm nhiệm việc chuyển đổi địa
 chỉ logic thành địa chỉ vật l� . Sự chuyển
 đổi này là trong suốt đối với người sử
 dụng.
 Để lưu trữ các thông tin chi tiết về quá
 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
 tiến trình nào đ� .
                                                  44 /
        Bộ môn Kỹ thuật máy tính – Khoa Điện Tử

Contenu connexe

Tendances

Phan tich thiet ke he thong thong tin
Phan tich thiet ke he thong thong tinPhan tich thiet ke he thong thong tin
Phan tich thiet ke he thong thong tinNguyễn Duy Hưng
 
thuc hanh xu ly tin hieu so
thuc hanh xu ly tin hieu sothuc hanh xu ly tin hieu so
thuc hanh xu ly tin hieu soKimkaty Hoang
 
Tóm tắt về track, sector, cluster, cylinder
Tóm tắt về track, sector, cluster, cylinderTóm tắt về track, sector, cluster, cylinder
Tóm tắt về track, sector, cluster, cylinderhoamonkhach
 
Bai giang cau truc may tinh
Bai giang cau truc may tinhBai giang cau truc may tinh
Bai giang cau truc may tinhDong Van
 
Tiền xử lí dữ liệu bằng weka và lập trình tiền xử lí
Tiền xử lí dữ liệu bằng weka và lập trình tiền xử líTiền xử lí dữ liệu bằng weka và lập trình tiền xử lí
Tiền xử lí dữ liệu bằng weka và lập trình tiền xử líKhoa Hồ Anh
 
Nhập môn công nghệ thông tin
Nhập môn công nghệ thông tinNhập môn công nghệ thông tin
Nhập môn công nghệ thông tinThanh Lee
 
đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155nataliej4
 
Hệ PhâN TáN
Hệ PhâN TáNHệ PhâN TáN
Hệ PhâN TáNit
 
Slide đồ án tốt nghiệp
Slide đồ án tốt nghiệpSlide đồ án tốt nghiệp
Slide đồ án tốt nghiệpToan Pham
 
Mau powerpoint ctu
Mau powerpoint ctuMau powerpoint ctu
Mau powerpoint ctuTon Day
 
Xu lý tín hiệu số
Xu lý tín hiệu sốXu lý tín hiệu số
Xu lý tín hiệu sốHao Truong
 
Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05Nhóc Nhóc
 
Hỏi đáp về tê giác và sừng tê giác
Hỏi đáp về tê giác và sừng tê giácHỏi đáp về tê giác và sừng tê giác
Hỏi đáp về tê giác và sừng tê giácthangvn thang
 
chuong 4. dai so boole
chuong 4.  dai so boolechuong 4.  dai so boole
chuong 4. dai so boolekikihoho
 
Tài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tínhTài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tínhJojo Kim
 

Tendances (20)

Phan tich thiet ke he thong thong tin
Phan tich thiet ke he thong thong tinPhan tich thiet ke he thong thong tin
Phan tich thiet ke he thong thong tin
 
thuc hanh xu ly tin hieu so
thuc hanh xu ly tin hieu sothuc hanh xu ly tin hieu so
thuc hanh xu ly tin hieu so
 
Tóm tắt về track, sector, cluster, cylinder
Tóm tắt về track, sector, cluster, cylinderTóm tắt về track, sector, cluster, cylinder
Tóm tắt về track, sector, cluster, cylinder
 
Đề tài: Tìm hiểu về Maximum Entropy cho bài toán phân lớp, HAY
Đề tài: Tìm hiểu về Maximum Entropy cho bài toán phân lớp, HAYĐề tài: Tìm hiểu về Maximum Entropy cho bài toán phân lớp, HAY
Đề tài: Tìm hiểu về Maximum Entropy cho bài toán phân lớp, HAY
 
Bai giang cau truc may tinh
Bai giang cau truc may tinhBai giang cau truc may tinh
Bai giang cau truc may tinh
 
Luận án: Phát triển bền vững cây đảng sâm tỉnh Quảng Nam, HAY
Luận án: Phát triển bền vững cây đảng sâm tỉnh Quảng Nam, HAYLuận án: Phát triển bền vững cây đảng sâm tỉnh Quảng Nam, HAY
Luận án: Phát triển bền vững cây đảng sâm tỉnh Quảng Nam, HAY
 
Tiền xử lí dữ liệu bằng weka và lập trình tiền xử lí
Tiền xử lí dữ liệu bằng weka và lập trình tiền xử líTiền xử lí dữ liệu bằng weka và lập trình tiền xử lí
Tiền xử lí dữ liệu bằng weka và lập trình tiền xử lí
 
Nhập môn công nghệ thông tin
Nhập môn công nghệ thông tinNhập môn công nghệ thông tin
Nhập môn công nghệ thông tin
 
đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155
 
Hệ PhâN TáN
Hệ PhâN TáNHệ PhâN TáN
Hệ PhâN TáN
 
Slide đồ án tốt nghiệp
Slide đồ án tốt nghiệpSlide đồ án tốt nghiệp
Slide đồ án tốt nghiệp
 
Mau powerpoint ctu
Mau powerpoint ctuMau powerpoint ctu
Mau powerpoint ctu
 
Đề tài: Xây dựng phần mềm quản lý bảo hiểm, HAY, 9đ
Đề tài: Xây dựng phần mềm quản lý bảo hiểm, HAY, 9đĐề tài: Xây dựng phần mềm quản lý bảo hiểm, HAY, 9đ
Đề tài: Xây dựng phần mềm quản lý bảo hiểm, HAY, 9đ
 
Ktmt chuong 1
Ktmt chuong 1Ktmt chuong 1
Ktmt chuong 1
 
Xu lý tín hiệu số
Xu lý tín hiệu sốXu lý tín hiệu số
Xu lý tín hiệu số
 
Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05
 
Hỏi đáp về tê giác và sừng tê giác
Hỏi đáp về tê giác và sừng tê giácHỏi đáp về tê giác và sừng tê giác
Hỏi đáp về tê giác và sừng tê giác
 
chuong 4. dai so boole
chuong 4.  dai so boolechuong 4.  dai so boole
chuong 4. dai so boole
 
Đề tài: Xây dựng website bán hàng trực tuyến, HAY
Đề tài: Xây dựng website bán hàng trực tuyến, HAYĐề tài: Xây dựng website bán hàng trực tuyến, HAY
Đề tài: Xây dựng website bán hàng trực tuyến, HAY
 
Tài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tínhTài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tính
 

Similaire à BGKTMT Ch6 mức máy hệ điều hành

C 3. Quản lý bộ nhớ full.pdf
C 3. Quản lý bộ nhớ full.pdfC 3. Quản lý bộ nhớ full.pdf
C 3. Quản lý bộ nhớ full.pdfLmTrn286060
 
BGKTMT Ch2 tổ chức hệ thống máy tính
BGKTMT Ch2 tổ chức hệ thống máy tínhBGKTMT Ch2 tổ chức hệ thống máy tính
BGKTMT Ch2 tổ chức hệ thống máy tínhCao Toa
 
Báo cáo hdh
Báo cáo hdhBáo cáo hdh
Báo cáo hdhhuyltrn
 
Tongquanktmt
TongquanktmtTongquanktmt
TongquanktmtTung Luu
 
the real-time operating system and real-time programming
the real-time operating system and real-time programmingthe real-time operating system and real-time programming
the real-time operating system and real-time programmingDucLe868608
 
Tieu luan hdh_quan_ly_bo_nho_trong_windows__1724
Tieu luan hdh_quan_ly_bo_nho_trong_windows__1724Tieu luan hdh_quan_ly_bo_nho_trong_windows__1724
Tieu luan hdh_quan_ly_bo_nho_trong_windows__1724kien12f3
 
Giao trinh tin dai cuong kiem phan i
Giao trinh tin dai cuong kiem phan iGiao trinh tin dai cuong kiem phan i
Giao trinh tin dai cuong kiem phan iPhi Phi
 
4 ky thuat xu ly tt
4 ky thuat xu ly tt4 ky thuat xu ly tt
4 ky thuat xu ly ttLy hai
 
Tailieu.vncty.com he dieu hanh
Tailieu.vncty.com   he dieu hanhTailieu.vncty.com   he dieu hanh
Tailieu.vncty.com he dieu hanhTrần Đức Anh
 
Ktvxl chuong 1 - tong quan
Ktvxl chuong 1 - tong quanKtvxl chuong 1 - tong quan
Ktvxl chuong 1 - tong quanNguynMinh294
 
Kiến Trúc Luân Phiên
Kiến Trúc Luân PhiênKiến Trúc Luân Phiên
Kiến Trúc Luân PhiênThieu Mao
 
Cấu Trúc Máy Tính.pdf
Cấu Trúc Máy Tính.pdfCấu Trúc Máy Tính.pdf
Cấu Trúc Máy Tính.pdfPhamThao955982
 
Bài tập kiến trúc máy tính
Bài tập kiến trúc máy tínhBài tập kiến trúc máy tính
Bài tập kiến trúc máy tínhHa Nguyen
 
Do_an_Den_giao_thong.pdf
Do_an_Den_giao_thong.pdfDo_an_Den_giao_thong.pdf
Do_an_Den_giao_thong.pdfThnCht9
 

Similaire à BGKTMT Ch6 mức máy hệ điều hành (20)

C 3. Quản lý bộ nhớ full.pdf
C 3. Quản lý bộ nhớ full.pdfC 3. Quản lý bộ nhớ full.pdf
C 3. Quản lý bộ nhớ full.pdf
 
BGKTMT Ch2 tổ chức hệ thống máy tính
BGKTMT Ch2 tổ chức hệ thống máy tínhBGKTMT Ch2 tổ chức hệ thống máy tính
BGKTMT Ch2 tổ chức hệ thống máy tính
 
Báo cáo hdh
Báo cáo hdhBáo cáo hdh
Báo cáo hdh
 
Tongquanktmt
TongquanktmtTongquanktmt
Tongquanktmt
 
the real-time operating system and real-time programming
the real-time operating system and real-time programmingthe real-time operating system and real-time programming
the real-time operating system and real-time programming
 
Dsd02 sta
Dsd02 staDsd02 sta
Dsd02 sta
 
Tieu luan hdh_quan_ly_bo_nho_trong_windows__1724
Tieu luan hdh_quan_ly_bo_nho_trong_windows__1724Tieu luan hdh_quan_ly_bo_nho_trong_windows__1724
Tieu luan hdh_quan_ly_bo_nho_trong_windows__1724
 
Chc6b0c6a1ng 12
Chc6b0c6a1ng 12Chc6b0c6a1ng 12
Chc6b0c6a1ng 12
 
Chc6b0c6a1ng 12
Chc6b0c6a1ng 12Chc6b0c6a1ng 12
Chc6b0c6a1ng 12
 
Bao cao vdk_va_pic
Bao cao vdk_va_picBao cao vdk_va_pic
Bao cao vdk_va_pic
 
Giao trinh tin dai cuong kiem phan i
Giao trinh tin dai cuong kiem phan iGiao trinh tin dai cuong kiem phan i
Giao trinh tin dai cuong kiem phan i
 
4 ky thuat xu ly tt
4 ky thuat xu ly tt4 ky thuat xu ly tt
4 ky thuat xu ly tt
 
Chuong2 nmth
Chuong2 nmthChuong2 nmth
Chuong2 nmth
 
Tailieu.vncty.com he dieu hanh
Tailieu.vncty.com   he dieu hanhTailieu.vncty.com   he dieu hanh
Tailieu.vncty.com he dieu hanh
 
Ktvxl chuong 1 - tong quan
Ktvxl chuong 1 - tong quanKtvxl chuong 1 - tong quan
Ktvxl chuong 1 - tong quan
 
Kiến Trúc Luân Phiên
Kiến Trúc Luân PhiênKiến Trúc Luân Phiên
Kiến Trúc Luân Phiên
 
Cấu Trúc Máy Tính.pdf
Cấu Trúc Máy Tính.pdfCấu Trúc Máy Tính.pdf
Cấu Trúc Máy Tính.pdf
 
--De cuong on tap hdh
 --De cuong on tap hdh --De cuong on tap hdh
--De cuong on tap hdh
 
Bài tập kiến trúc máy tính
Bài tập kiến trúc máy tínhBài tập kiến trúc máy tính
Bài tập kiến trúc máy tính
 
Do_an_Den_giao_thong.pdf
Do_an_Den_giao_thong.pdfDo_an_Den_giao_thong.pdf
Do_an_Den_giao_thong.pdf
 

Plus de Cao Toa

Ngân hàng hệ thống thông minh
Ngân hàng hệ thống thông minhNgân hàng hệ thống thông minh
Ngân hàng hệ thống thông minhCao Toa
 
Ngan hang he thong nhung
Ngan hang he thong nhungNgan hang he thong nhung
Ngan hang he thong nhungCao Toa
 
Bai giang he thong nhung 2010
Bai giang he thong nhung 2010Bai giang he thong nhung 2010
Bai giang he thong nhung 2010Cao Toa
 
BGKTMT Ch5 mức máy qui ước
BGKTMT Ch5 mức máy qui ướcBGKTMT Ch5 mức máy qui ước
BGKTMT Ch5 mức máy qui ướcCao Toa
 
BGKTMT Ch4 mức vi lập trình
BGKTMT Ch4 mức vi lập trìnhBGKTMT Ch4 mức vi lập trình
BGKTMT Ch4 mức vi lập trìnhCao Toa
 
BGKTMT Ch3 mức logic số
BGKTMT Ch3 mức logic sốBGKTMT Ch3 mức logic số
BGKTMT Ch3 mức logic sốCao Toa
 
Ch2 bieudien du lieu
Ch2 bieudien du lieuCh2 bieudien du lieu
Ch2 bieudien du lieuCao Toa
 
BGKTMT Ch1 giới thiệu chung
BGKTMT Ch1 giới thiệu chungBGKTMT Ch1 giới thiệu chung
BGKTMT Ch1 giới thiệu chungCao Toa
 
Bài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhBài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhCao Toa
 
Ngân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tínhNgân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tínhCao Toa
 

Plus de Cao Toa (10)

Ngân hàng hệ thống thông minh
Ngân hàng hệ thống thông minhNgân hàng hệ thống thông minh
Ngân hàng hệ thống thông minh
 
Ngan hang he thong nhung
Ngan hang he thong nhungNgan hang he thong nhung
Ngan hang he thong nhung
 
Bai giang he thong nhung 2010
Bai giang he thong nhung 2010Bai giang he thong nhung 2010
Bai giang he thong nhung 2010
 
BGKTMT Ch5 mức máy qui ước
BGKTMT Ch5 mức máy qui ướcBGKTMT Ch5 mức máy qui ước
BGKTMT Ch5 mức máy qui ước
 
BGKTMT Ch4 mức vi lập trình
BGKTMT Ch4 mức vi lập trìnhBGKTMT Ch4 mức vi lập trình
BGKTMT Ch4 mức vi lập trình
 
BGKTMT Ch3 mức logic số
BGKTMT Ch3 mức logic sốBGKTMT Ch3 mức logic số
BGKTMT Ch3 mức logic số
 
Ch2 bieudien du lieu
Ch2 bieudien du lieuCh2 bieudien du lieu
Ch2 bieudien du lieu
 
BGKTMT Ch1 giới thiệu chung
BGKTMT Ch1 giới thiệu chungBGKTMT Ch1 giới thiệu chung
BGKTMT Ch1 giới thiệu chung
 
Bài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhBài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tính
 
Ngân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tínhNgân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tính
 

BGKTMT Ch6 mức máy hệ điều hành

  • 1. CHƯƠNG 6 MỨC MÁY HỆ ĐIỀU HÀNH Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 1 / 50
  • 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 Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 2 / 50
  • 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. Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 3 / 50
  • 4. ... 6.1 Giới thiệu mức máy hệ điều hành • Mức máy HĐH đã tiến hoá dần lên từ mức máy thông thường: - Hầu hết các chỉ thị của mức máy HĐH cũng có ở mức máy thông thường - Các chỉ thị mức 3 khác, được gọi là các Thông dịch HĐH thông trực tiếp bằng chỉ thị Mức máy HĐH. vi chương dịch trình Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 4 / 50
  • 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? Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 5 / 50
  • 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:  Thời điểm biên dịch  Thời điểm nạp  Thời điểm xử lý Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 6 / 50
  • 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. Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 7 / 50
  • 8. ... 6.1 Giới thiệu mức máy hệ điều hành  Thời điểm nạp:  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. Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 8 / 50
  • 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. Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 9 / 50
  • 10. ... 6.1 Giới thiệu mức máy hệ điều hành  Khái niệm không gian địa chỉ được xây dựng 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. 10 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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. 11 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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 năm 1961. • Phương pháp thực hiện quá trình overlay một cách tự động. • Đầu 1970s bộ nhớ ảo đã trở nên thông dụng 12 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 13. 6.2.1 Việc phân trang - Paging • Ý tưởng: • 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. 13 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 14. 6.2.1 Việc phân trang - Paging Mô hình bộ nhớ phân trang 14 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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 ). 15 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 16. 6.2.1 Việc phân trang - Paging • Ví dụ: một máy tính trong đó các chỉ thị có trường địa chỉ 16 bit và có bộ nhớ 4096 word. • Một chương trình chạy trên máy tính này có thể đánh địa chỉ 65536 word bộ nhớ, chứ không phải 4096. • Khi còn chưa phát minh ra bộ nhớ ảo, phải phân biệt 2 miền địa chỉ: • 0..4095: khả dụng • 4096.. 65535: không khả dụng 16 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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. 17 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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 khoảng 8192..12287? • Không có bộ nhớ ảo: Lỗi • Có bộ nhớ ảo: 1. Nội dung của bộ nhớ chính được cất vào bộ nhớ phụ. 2. Các word 8192..12287 đang nằm trong bộ nhớ phụ được nạp vào bộ nhớ chính. 3. ánh xạ địa chỉ sẽ được thay đổi để ánh xạ các địa chỉ 8192..12287 vào các vị trí nhớ 0..4095. 4. Chương trình tiếp tục bình thường. 18 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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 lập trình.  Khi lập trình không cần phải biết đến sự tồn tại của bộ nhớ ảo.  Có thể coi như đang lập trình cho một máy tính có một bộ nhớ chính rất lớn (ảo giác) 19 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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: • Bản copy của chương trình trong bộ nhớ phụ là bản gốc • Phần của chương trình thỉnh thoảng được đưa vào bộ 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. 20 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 21. ... 6.2.2 Thực hiện việc phân trang – V í dụ • Không gian địa chỉ ảo 64K được chia thành các frame kích thước 4K. 4 • Không gian địa chỉ vật lý 32K chia thành các khung trang kích thước 4K. • Để thực hiện được bộ nhớ ảo ở mức 2, cần phải sử dụng page table có 16 word, để theo dõi trạng 65535 thái sử dụng 16 trang của bộ nhớ ảo. 21 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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. 22 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 23. ... 6.2.2 Thực hiện việc phân trang – V í dụ  Kích thước của trang do phần cứng qui định.  Để 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).  Nếu kích thước của không gian địa chỉ là 2 m 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  n bits thấp cho biết địa chỉ tương đối trong trang. 23 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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 24 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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). 25 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 26. ... 6.2.2 Thực hiện việc phân trang – V í dụ Mô hình bộ nhớ phân trang 26 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 27. ... 6.2.2 Thực hiện việc phân trang – V í dụ Sử dụng thanh ghi nền trỏ đến bảng trang 27 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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. 28 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 29. ... 6.2.2 Thực hiện việc phân trang – V í dụ 29 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 30. ... 6.2.2 Thực hiện việc phân trang • Hình a: Khi một chương trình truy cập bộ nhớ, đầu tiên nó sẽ sinh ra một địa chỉ 16 bit • 4 bit cao làm số trang ảo • 12 bit thấp làm địa chỉ trong trang ảo đã được chọn  12310 (đc vật lý) là địa chỉ (ảo)22 của trang 3. • Hình b: Mối liên hệ giữa trang và địa chỉ ảo. 30 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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 nó ở trong bộ nhớ chính. 31 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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. 32 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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ớ chính: • Trang ảo số 0 nằm ở khung trang số 1. • Trang ảo số 1 nằm ở khung trang số 0. • Trang ảo số 2 không nằm trong bộ nhớ chính v.v. 33 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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. 34 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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! 35 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 36. ... 6.2.2 Thực hiện việc phân trang  Có hai giải pháp cho vấn đề này:  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 36 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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ộ ba <idp, p, d >  Trong đ� : idp là định danh của tiến trình  p là số hiệu trang  d là địa chỉ tương đối trong trang 37 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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ệ. 38 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 39. ... 6.2.2 Thực hiện việc phân trang 39 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 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 dụng kỹ thuật này để cho ph�p c� tiến trình chia sẻ một vùng code 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 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ụ). 40 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 41. ... 6.2.2 Thực hiện việc phân trang 41 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 42. Thảo luận  Kỹ thuật phân trang loại bỏ được hiện tượng phân mảnh ngoại vi : mỗi khung trang đều c � thể được cấp phát cho một tiến trình nào đ � c� yêu cầu. Tuy nhiên hiện tượng phân mảnh 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 thước một trang, khi đ�, trang cuối cùng sẽ không được sử dụng hết. 42 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 43. ... 6.2.2 Thực hiện việc phân trang  Một khiá cạnh tích cực rất quan trọng khác 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ý:  Góc nhìn của người sử dụng: một tiến trình của 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.  Góc nhìn của bộ nhớ vật lý: một tiến trình của 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 chứa những tiến trình khác. 43 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 44. ... 6.2.2 Thực hiện việc phân trang Phần cứng đảm nhiệm việc chuyển đổi địa chỉ logic thành địa chỉ vật l� . Sự chuyển đổi này là trong suốt đối với người sử dụng.  Để lưu trữ các thông tin chi tiết về quá 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 tiến trình nào đ� . 44 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử