<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 7.7 任務尋址空間(Task Address Space) TSS中的LDT選擇子和PDBR字段給了軟件系統設計者一個可伸縮性的段頁式映射特性。通過為每一個任務一定的段頁映射選擇,任務可以共享地址空間,可以有不同與其它任務的很大的地址空間,或者以兩種極端來共享。 每個任務有不同的地址空間的特性是80386的一個重要的保護特性。如果模塊間沒有共享地址空間的話,在一個任務中的模塊不可以干涉另一個任務中的模塊。80386的這種可伸縮性的內存管理機制允許系統設計者把要想協作的在不同任務中的模塊設計成部分的地址空間共享。 ### 7.7.1 任務線性——物理地址空間映射(Task Linear-to-Physical Space Mapping) 一般來說,安排任務的線性——物理地址空間的映射可以分為以下兩類: 1、 一個線性——物理地址空間被所有任務共享。 當分頁沒有啟用時,這是唯一的一種選擇。沒有啟用分頁的話,所有線性地址空間映射到相同的物理地址空是上。 當啟用分頁時,這種線性地址——物理地址的映射方式導致了所有任務使用一個頁目錄。如果操作系統支持頁級虛擬內存的話,這種線性空間可能超過了物理地址空間。 2、 線性——物理地址空間部分重疊映射。 這種實現的話,要為每一個任務使用不同的一張頁目錄。因為PDBR(page directory base register)在每次任務切換時被加載,每個任務可以有不同的頁目錄。 在這樣的技術里,不同任務的線性空間可能被映射到不同的物理地址空間上。如果頁目錄表項指向不同的頁表,頁表項又指向不同的物理頁面的話,任務就不共享任何物理地址空間。 在實際中,所有任務的線性空間中的一部分必須要映射到相同的物理地址空間上去。任務狀態段必須要位于一個公共的空間上,以便在處理器做任務切換,更新和讀取TSS信息的時地址映射都相同。被GDT映射的線性空間也應該被映射到公共的物理地址空間上。否則,GDT的目的未做定義。圖7-6顯示了以共享頁表的形式如何將線性地址空間的兩個任務映射到相同的物理地址空間上。 ### 7.7.2 任務邏輯地址空間(Task Logical Address Space) 如果只是通過線性——物理地址空間的映射將不能達到任務間數據的共享。為了共享數據,任務必須還要有一個公共的邏輯——線性地址空間的映射。也就是說,他們必須要有訪問指向共享線性地址空間的描述符的權限。有3種辦法可以建立公共的邏輯地址——物理地址空間的映射: 1、? 通過GDT。所有任務都可以通過GDT訪問描述符。如果這些描述符指向了一個映射到公共物理空間的線性地址空間的話,所有任務都共享了數據和指令。 2、? 通過LDT。如果兩個任務的TSS中的LDT選擇子部分指向了相同的LDT。這些LDT又包含了一些指向相同物理空間的線性空間的描述符。這種共享的方法比在GDT中共享要更有選擇性一點,這種共享可以只局限在幾個任務中。其它一些有著不同LDT的任務不可以訪問這些公共區域。 3、? 通過在LDT中使用別名(aliases)技術。不同的LDT可以包含一些指向相同線性空間的描述符。如果這些線性空間被映射到相同的物理地址空間上去的話,這些描述符就允許任務間共享公共的地址空間。這些描述符被稱作“別名”。這種共享機制比前兩種更好。在LDT中的其它的描述符也以指向不同的線性空間中。 ![](https://box.kancloud.cn/2016-03-06_56dbfdae027fd.gif)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看