青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

專注于c++

  C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
  21 Posts :: 0 Stories :: 4 Comments :: 0 Trackbacks

常用鏈接

留言簿(15)

我參與的團(tuán)隊(duì)

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

第一節(jié)  存儲管理概述

l          信息的二級存儲

    為了提高處理器的利用率和系統(tǒng)的工作效率,主存儲器中經(jīng)常存放了多個(gè)程序和數(shù)據(jù)。現(xiàn)今許多計(jì)算機(jī)系統(tǒng)都采用二級存儲的辦法,利用輔助存儲器(磁盤、磁帶等)提供的大容量存儲空間,存放準(zhǔn)備運(yùn)行的程序和數(shù)據(jù),當(dāng)需要時(shí)或主存空間允許時(shí),隨時(shí)將它們讀入主存儲器

l          存儲管理的功能

(1)       主存空間的分配和去配

    主存儲器中允許同時(shí)容納多個(gè)用戶的計(jì)算問題(作業(yè)),必須解決主存空間如何分配的問題。當(dāng)主存中某個(gè)作業(yè)撤離或主動歸還主存空間時(shí),則收回它所占有的所有或部分的主存空間。收回存儲空間的工作稱為“去配”。

(2)       實(shí)現(xiàn)地址轉(zhuǎn)換

由于用戶程序中使用的是邏輯地址,而處理器執(zhí)行程序時(shí)要按絕對地址訪問主存。所以,存儲管理必須配合硬件進(jìn)行地址轉(zhuǎn)換工作,把一組邏輯地址轉(zhuǎn)換成絕對地址,以保證處理器的正確執(zhí)行。

(3)       主存空間的共享和保護(hù)

在多道程序設(shè)計(jì)的系統(tǒng)中,若干個(gè)作業(yè)同時(shí)裝入主存儲器,它們共享了一個(gè)主存儲器,在其中各自占用了某些主存區(qū)域。這些作業(yè)在執(zhí)行時(shí)可能要調(diào)用共同的程序。因此,這個(gè)主存區(qū)域又成為各作業(yè)的共享區(qū)域。

為了防止各作業(yè)相互干擾和保護(hù)各區(qū)域內(nèi)的信息不被破壞,必須實(shí)現(xiàn)存儲保護(hù)。一般地說,對主存區(qū)域的保護(hù)可采取如下措施:

1)程序執(zhí)行時(shí)訪問屬于自己主存區(qū)域中的信息,則允許它既可讀,又可寫。

2)對共享區(qū)域中的信息只可讀,不可修改。

3)程序執(zhí)行時(shí),不允許訪問其他程序的主存區(qū)域,即對于非共享區(qū)域或非自己的主存區(qū)域中的信息既不可讀,也不可寫。


(4)       主存空間的擴(kuò)充


     操作系統(tǒng)為用戶提供一個(gè)虛擬的內(nèi)存,使用戶編制程序時(shí)可以不考慮主存儲器的實(shí)際容量,允許程序中的邏輯地址空間大于主存的絕對地址空間,起到了擴(kuò)充主存空間的
第二節(jié)     重定位 

l           區(qū)分邏輯地址與絕對地址

絕對地址:主存儲器以字節(jié)為編址單位,容量為n的主存儲器中,每個(gè)單元有唯一的編號,從0n-1,這個(gè)唯一的編號就是主存儲器的物理地址也叫絕對地址。

    邏輯地址:在多道程序設(shè)計(jì)的系統(tǒng)中,操作系統(tǒng)為了方便用戶,就允許每個(gè)用戶都認(rèn)為自己作業(yè)的程序和數(shù)據(jù)存放在地址從 0開始的連續(xù)空間中。這樣用戶程序中使用的地址就是邏輯地址也叫相對地址。 

l          對主存儲器為什么要區(qū)分絕對地址和邏輯地址?

中央處理器訪問主存時(shí)必須指定確切的存儲單元。在計(jì)算機(jī)系統(tǒng)中通常對主存儲器以字節(jié)(每個(gè)字節(jié)8個(gè)二進(jìn)制位)為編址單位,每個(gè)字節(jié)都有一個(gè)地址與其對應(yīng),這樣的地址稱為主存儲器的“絕對地址”。

在多道程序設(shè)計(jì)系統(tǒng)中,主存中同時(shí)存放了多個(gè)用戶作業(yè)。操作系統(tǒng)根據(jù)主存的使用情況為用戶分配主存空間。每個(gè)用戶不能預(yù)先知道他的作業(yè)將被存放到主存儲器的什么地方。這樣,用戶程序中就不能使用主存的絕對地址。為了方便用戶,允許用戶程序中使用“邏輯地址”,每個(gè)用戶都可認(rèn)為自己作業(yè)的程序和資料存放在一組從“0”地址開始的連續(xù)的邏輯地址空間中。 

l          重定位

為了保證作業(yè)的正確執(zhí)行,必須根據(jù)分配給作業(yè)的主存區(qū)域?qū)ψ鳂I(yè)中指令和數(shù)據(jù)的存放進(jìn)行重定位,這種把邏輯地址轉(zhuǎn)換成絕對地址的工作稱為“重定位”或“地址轉(zhuǎn)換”。重定位的方式有“靜態(tài)重定位”和“動態(tài)重定位”兩種。

(1)靜態(tài)重定位

在裝入一個(gè)作業(yè)時(shí),把作業(yè)中的指令地址和數(shù)據(jù)地址全部轉(zhuǎn)換成絕對地址。這種轉(zhuǎn)換工作是在作業(yè)開始前集中完成的,在作業(yè)執(zhí)行過程中無需再進(jìn)行地址轉(zhuǎn)換。所以稱為“靜態(tài)重定位”。圖4_2.1指出了靜態(tài)重定位的過程。

在圖42.l中,假定用戶作業(yè)的邏輯地址空間從“0”到“124”,其中第8號單元處有一條“加法”指令,該指令要求從第32號單元處取出操作數(shù)3465,然后進(jìn)行加法操作。如果存儲管理為該作業(yè)分配的主存區(qū)域是從100單元開始,那么,邏輯地址第8號單元在主存中的對應(yīng)位置是108單元,第32號單元在主存中的對應(yīng)位置應(yīng)該是132單元。如果不修改上述“加法”指令中的操作數(shù)地址,則處理器執(zhí)行該指令時(shí)將從主存的032單元中去取操作數(shù),這顯然是錯(cuò)誤的。于是,應(yīng)把程序中所有邏輯地址都轉(zhuǎn)換成絕對地址。上述加法指令中的操作數(shù)地址也應(yīng)改成132。這樣,在執(zhí)行指令時(shí)便可從132單元取到正確的操作數(shù)。

(2)動態(tài)重定位

在裝入一個(gè)作業(yè)時(shí),不進(jìn)行地址轉(zhuǎn)換,而是直接把作業(yè)裝到分配的主存區(qū)域中。在作業(yè)執(zhí)行過程中,每當(dāng)執(zhí)行一條指令時(shí)都由硬件的地址轉(zhuǎn)換機(jī)構(gòu)轉(zhuǎn)換成絕對地址。這種方式的地址轉(zhuǎn)換是在作業(yè)執(zhí)行時(shí)動態(tài)完成的,所以稱為動態(tài)重定位。圖4_2.2指出了動態(tài)重定位的過程。

在圖42.2中,基址寄存器中存放了作業(yè)所在主存區(qū)域的起始地址100。當(dāng)處理器從108單元取出指令后,該指令中的邏輯地址是032,把基址寄存器中的值100與邏輯地址032相加得到絕對地址132,處理器便可從132單元中取出正確的操作數(shù)。

  點(diǎn)擊見相關(guān)動畫

l          什么是“程序浮動”?為什么動態(tài)重定位能支持程序浮動?

若在作業(yè)的執(zhí)行過程中改變了該作業(yè)在主存中的存放區(qū)域后,該作業(yè)仍然能正確執(zhí)行,則稱該作業(yè)的程序是可浮動的。采用動態(tài)重定位的系統(tǒng)能支持“程序浮動”。這是因?yàn)閯討B(tài)重定位是在每執(zhí)行一條指令時(shí)進(jìn)行地址轉(zhuǎn)換的。當(dāng)作業(yè)在主存中的位置被移動后,只要把新區(qū)域的起始地址存入基址寄存器中,作業(yè)繼續(xù)執(zhí)行時(shí)硬件的地址轉(zhuǎn)換機(jī)構(gòu)就會按基址寄存器中新存入的地址與邏輯地址相加,所得的絕對地址就是新區(qū)域中的存儲單元地址,作業(yè)當(dāng)然仍可正確執(zhí)行。

 第三節(jié)    分區(qū)存儲管理 

l          什么是分區(qū)存儲管理?

分區(qū)存儲管理是把存儲器中的用戶區(qū)作為一個(gè)連續(xù)區(qū)或分成若干連續(xù)區(qū)進(jìn)行管理。早先使用一個(gè)分區(qū)的存儲管理,后發(fā)展成多分區(qū)的存儲管理。多個(gè)分區(qū)的管理可采用固定分區(qū)方式和可變分區(qū)方式。 

l          一個(gè)分區(qū)的存儲管理

(1)     一個(gè)分區(qū)的存儲管理

     又稱單連續(xù)存儲管理,是最簡單的存儲管理方式。除操作系統(tǒng)占用的一部分存儲空間外,其余的用戶區(qū)域作為一個(gè)連續(xù)的分區(qū)分配給一個(gè)作業(yè)使用,即在任何時(shí)刻主存儲器中最多只有一個(gè)作業(yè)。一個(gè)分區(qū)的存儲管理只適用于單用戶的情況。

(2)     一個(gè)分區(qū)的存儲管理方法

    處理器中設(shè)置一個(gè)界限寄存器,寄存器的內(nèi)容為當(dāng)前可供用戶使用的主存區(qū)域的起始地址。只當(dāng)操作系統(tǒng)的功能擴(kuò)充或修改時(shí)改變了所占區(qū)的長度,才更改界限寄存器的內(nèi)容。

    等待裝入主存儲器的作業(yè)排成一個(gè)作業(yè)隊(duì)列。當(dāng)主存儲器中無作業(yè)或一個(gè)作業(yè)執(zhí)行結(jié)束;就可以讓作業(yè)隊(duì)列中的一個(gè)作業(yè)裝入主存儲器。如圖4_3.1所示。

l          固定分區(qū)存儲管理

(1) 固定分區(qū)

固定分區(qū)是指把主存儲器中可分配的用戶區(qū)域預(yù)先劃分成若干個(gè)連續(xù)區(qū)。每個(gè)連續(xù)區(qū)的大小可以相同,也可以不同。但是一旦劃分好分區(qū)之后,主存儲器中分區(qū)的個(gè)數(shù)就固定了,且每個(gè)分區(qū)的大小也固定不能再變。

(2)  固定分區(qū)存儲管理的原理

      在固定分區(qū)方式管理下,每個(gè)分區(qū)可用來裝入一個(gè)作業(yè)。由于主存中有多個(gè)分區(qū),可同時(shí)在每個(gè)分區(qū)中裝人一個(gè)作業(yè),故適用于多道程序設(shè)計(jì)系統(tǒng)。 等待進(jìn)人主存的作業(yè)排成隊(duì)列。當(dāng)主存儲器中有空閑的分區(qū)時(shí),依次從作業(yè)隊(duì)列中選擇一個(gè)能裝入該分區(qū)的作業(yè)。當(dāng)所有的分區(qū)都裝有作業(yè),就暫停裝入其它作業(yè)。已經(jīng)裝入主存的作業(yè)能得到處理器運(yùn)行時(shí),應(yīng)限定它只能在所占的分區(qū)中執(zhí)行。當(dāng)作業(yè)執(zhí)行結(jié)束后,收回該作業(yè)所占的分區(qū)。收回的分區(qū)可用來裝入新的作業(yè)。

    圖4_3.2是劃分成三個(gè)分區(qū)的固定分區(qū)管理方式的示意圖。

(3) 主存空間的分配與去配

設(shè)置一張“主存分配表”,以說明各分區(qū)的分配情況。主存分配表中應(yīng)指出各分區(qū)的起始地址和長度,并為每個(gè)分區(qū)設(shè)一個(gè)標(biāo)志位。當(dāng)標(biāo)志位為“0”時(shí),表示對應(yīng)的分區(qū)是空閑分區(qū),當(dāng)標(biāo)志位為非“0”時(shí),表示對應(yīng)的分區(qū)已被占用。空閑分區(qū)可以用來裝作業(yè),已被占用的分區(qū)需指出被哪個(gè)作業(yè)占用。

用“順序分配算法”進(jìn)行主存空間的分配。順序查看主存分配表,找到一個(gè)標(biāo)志為“0”的分區(qū),再把欲裝入作業(yè)的邏輯地址空間的長度與找到的分區(qū)長度進(jìn)行比較。當(dāng)能容納該作業(yè)時(shí),則把此分區(qū)分配給該作業(yè),把它的作業(yè)名填到占用標(biāo)志位上。當(dāng)找到的分區(qū)不能容納該作業(yè)時(shí),則重復(fù)上述過程繼續(xù)順序查看主存分配表中是否有能滿足該作業(yè)長度要求的且標(biāo)志為“0”的分區(qū),若有,則分配,若無,則該作業(yè)暫時(shí)得不到主存空間而不能裝入。

(4) 地址轉(zhuǎn)換

固定分區(qū)管理可采用靜態(tài)重定位的方式裝入作業(yè)。裝入程序把作業(yè)中的邏輯地址轉(zhuǎn)換為絕對地址與分區(qū)的下限地址相加,得到相應(yīng)的絕對地址。

(5) 存儲保護(hù)

實(shí)現(xiàn)存儲保護(hù)需要軟件與硬件相互配合。采用固定分區(qū)方式管理時(shí),處理器中應(yīng)設(shè)置兩個(gè)寄存器:下限寄存器和上限寄存器。

當(dāng)一個(gè)被裝入分區(qū)的作業(yè)能占用處理器時(shí),由操作系統(tǒng)把該分區(qū)的上限地址和下限地址分別存入處理器的上限寄存器和下限寄存器之中。處理器執(zhí)行該作業(yè)時(shí),對每條指令中的地址都要核對絕對地址是否在上下限地址之間,即核對

          “下限地址<絕對地址<上限地址”

是否成立。若成立,表示絕對地址在規(guī)定的分區(qū)之內(nèi),可按絕對地址訪問主存,否則便形成“地址越界”的程序性中斷事件。從而達(dá)到存儲保護(hù)的目的。

當(dāng)一個(gè)作業(yè)讓出處理器時(shí),另一作業(yè)可能被選中占用處理器。這時(shí)應(yīng)更改上、下限寄存器的內(nèi)容為當(dāng)前被選中作業(yè)所在分區(qū)的上限地址和下限地址,以保證處理器能控制每個(gè)作業(yè)都在規(guī)定的分區(qū)內(nèi)執(zhí)行。

(6) 固定分區(qū)管理方式不能充分利用主存空間

采用固定分區(qū)方式管理主存時(shí),規(guī)定每個(gè)分區(qū)只能裝入一個(gè)作業(yè),且總是要為作業(yè)分配一個(gè)不小于作業(yè)長度的分區(qū)。這樣就有可能造成很多作業(yè)實(shí)際上只占用了分區(qū)的一部分空間,使分區(qū)中有一部分空間不能被利用,影響了主存空間的利用率。

(7) 固定分區(qū)管理方式提高主存空間利用率的辦法

1)分區(qū)按大小順序排列,這樣可以使作業(yè)總是先使用滿足要求的最小分區(qū)。

2)根據(jù)經(jīng)常出現(xiàn)的作業(yè)大小和頻率劃分分區(qū)。

3)按作業(yè)對主存空間的需求量排成多個(gè)隊(duì)列,規(guī)定隊(duì)列與分區(qū)的對應(yīng)關(guān)系。也就是說多大的作業(yè)只能放在多大的分區(qū)里,就算有更大的分區(qū)空著,也不許他進(jìn)入。

l           可變分區(qū)的管理

可變就是指分區(qū)的大小和位置不是固定的,而是根據(jù)作業(yè)要求的主存量來分配分區(qū)的大小。

4_3.3是可變分區(qū)管理方式的存儲空間分配示意圖。

1)主存的分配和去配

     在系統(tǒng)初始化時(shí),主存除了操作系統(tǒng)所占部分外,整個(gè)用戶區(qū)是一個(gè)大的空閑區(qū),可以按作業(yè)需要的空間大小順序分配空閑區(qū)直到不夠時(shí)為止。

當(dāng)作業(yè)結(jié)束時(shí),它的占用分區(qū)被收回。這個(gè)空閑區(qū)又可以根據(jù)新作業(yè)的大小重新用于分配,所以主存中的已占分區(qū)和空閑區(qū)的數(shù)目和大小都是在變化的。可以用兩張表“已分配區(qū)表”和“空閑區(qū)表”來記錄和管理。

例如,某主存容量為2560K1K1024字節(jié)),其中操作系統(tǒng)占用400K,現(xiàn)依次有五個(gè)作業(yè)J1J2J3J4J5要求裝入主存,它們對主存的需求量分別是600K1000K300K700K500K。圖4_3.4指出了作業(yè)被裝入、執(zhí)行結(jié)束后撤離的主存空間分配情況。

4_3.5是可變分區(qū)管理方式的主存分配表,表中內(nèi)容是按圖4_3.4(b)的情況填寫的。

2)常用的分配算法

最先適應(yīng)分配算法:空閑區(qū)按地址順序由小到大登記在空閑區(qū)表中,在分區(qū)表中順序查找,找到夠大的空閑區(qū)就分配。但是這樣的分配算法可能形成許多不連續(xù)的空閑區(qū),造成許多“碎片”,使主存空間利用率降低。    點(diǎn)擊見相關(guān)動畫

最優(yōu)適應(yīng)分配算法:這種算法總是挑選一個(gè)能滿足作業(yè)要求的最小空閑區(qū)。           點(diǎn)擊見相關(guān)動畫

    在實(shí)現(xiàn)這種算法時(shí),可把空閑區(qū)按長度以速增順序登記在空閑區(qū)表中。分配時(shí)順序查找空閑區(qū)表,由于查找時(shí)每次總是從最小的一個(gè)區(qū)開始,同時(shí)要不斷調(diào)整空閑區(qū)表,每當(dāng)收回一個(gè)分區(qū),必須把收回后的分區(qū)按長度順序插入登記到空閑區(qū)表的適當(dāng)位置。 但是這種算法可能形成一些極小的空閑區(qū),以致無法使用,這也會影響主存利用率。

最壞適應(yīng)分配算法:這種算法總是挑一個(gè)最大的空閑區(qū)分給作業(yè)使用,使剩下的空間不至于太小。空閑區(qū)按長度以遞減順序登記在空閑區(qū)表中。

        收回主存空間:收回主存空間時(shí),應(yīng)檢查是否有與歸還區(qū)相鄰的空閑區(qū)。若有,則應(yīng)合并成一個(gè)空閑區(qū)登記。 

    一個(gè)歸還區(qū)可能有上鄰空閑區(qū),也可以有下鄰空閑區(qū),或既有上鄰又有下鄰空閑區(qū),或既無上鄰又無下鄰空閑區(qū)。在實(shí)現(xiàn)去配時(shí)應(yīng)順序檢查空閑區(qū)表中標(biāo)志為“未分配”的欄目,以確定是否有相鄰空閑區(qū)。四種情形如圖4_3.6所示。

假定作業(yè)歸還的分區(qū)始址為s,長度為L,則:

   1)歸還區(qū)有下鄰空閑區(qū)。如果S+L正好等于空閑區(qū)表中某個(gè)登記欄目(假定為第j欄)所示分區(qū)的始址,則表明歸還區(qū)有一個(gè)下鄰空閑區(qū)。這時(shí)修改第j欄登記項(xiàng)的內(nèi)容:

          始址:=S

          長度:=原長度+L

則第j欄指示的空閑區(qū)是歸還區(qū)與下鄰空閑區(qū)合并后的一個(gè)大空閑區(qū)。

   2)歸還區(qū)有上鄰空閑區(qū)。如果空閑區(qū)表中第j個(gè)登記欄中的“始址+長度”正好等于s,則表明歸還區(qū)有一個(gè)上鄰空閑區(qū)。這時(shí)修改第j欄登記項(xiàng)的內(nèi)容:始址不變,長度為原長度加上L。于是,歸還區(qū)便與上鄰空閑區(qū)合在一起了。

   3)歸還區(qū)既有上鄰空閑區(qū)又有下鄰空閑區(qū)。

      S=j欄始址+長度

    如果

        SL=k欄始址

則表明歸還區(qū)既有上鄰空閑區(qū),又有下鄰空閑區(qū)。此時(shí),須把這三個(gè)區(qū)合并成一個(gè)空閑區(qū)登記入空閑區(qū)表中,只需使用一個(gè)登記欄目。進(jìn)行如下修改:第j欄始址不變;第j欄長度為“j欄中原長度+k欄中長度+L”;第k欄的標(biāo)志應(yīng)修改成“空”狀態(tài)。于是,第j欄中登記的空閑區(qū)就是合并后的空閑區(qū),而第k欄成為空表目了。

4)歸還區(qū)既無上鄰又無下鄰空閑區(qū)。如果在檢查空閑區(qū)表時(shí),無上述三種情況出現(xiàn),則表明歸還區(qū)既無上鄰又無下鄰空閑區(qū)。這時(shí),應(yīng)找一個(gè)標(biāo)志為“空”的登記欄,把歸還區(qū)的始址和長度登記入表,且把該欄目中的標(biāo)志位修改成“未分配”。

(3) 可變方式管理主存時(shí)的存儲保護(hù)

    硬件設(shè)置兩個(gè)專用的控制寄存器:限長寄存器和基址寄存器。當(dāng)進(jìn)程調(diào)度選中某作業(yè)進(jìn)程占用處理器時(shí),把作業(yè)所占分區(qū)的始址和長度送入基址寄存器和限長寄存器中。作業(yè)執(zhí)行過程中,處理器每執(zhí)行一條指令都要取出指令中的邏輯地址。當(dāng)邏輯地址小于限長寄存器中的限長值時(shí),由該邏輯地址加基址寄存器之值就可得到合法的(即不越界的)絕對地址。當(dāng)邏輯地址大于或等于限長寄存器中的限長值時(shí),表示欲訪問的主存地址超出了所分配的分區(qū)的范圍,這時(shí)就不允許訪問該主存地址,并形成一個(gè)“地址越界”的程序性中斷事件。由此可知,存儲保護(hù)是需要操作系統(tǒng)與硬件相互配合來實(shí)現(xiàn)的。

       (4) 移動技術(shù)的應(yīng)用

  移動技術(shù)要移動的東西就是主存空間中的作業(yè)。把某個(gè)作業(yè)移到另一處主存空間去(在磁盤整理中我們應(yīng)用的也是類似的移動技術(shù)),這樣的最大好處就是可以合并一些空閑區(qū)。如圖4_3.7 所示

但是移動技術(shù)的應(yīng)用也要注意以下問題:

    1)  移動會增加系統(tǒng)開銷。所以要盡量減少移動。

      2)移動是有條件的,如果作業(yè)在執(zhí)行過程中正等待與外圍設(shè)備傳輸信息,就不能移動。因此在移動時(shí)首先要判定該作業(yè)是否與外設(shè)交換信息。

 第四節(jié)   頁式存儲管理

l          基本原理

頁式存儲管理中有兩個(gè)名詞:“”和“”,其中的“塊”是針對硬件來說的,就是把存儲器分成若干相等大小的區(qū),每個(gè)區(qū)就稱為一個(gè)塊。對應(yīng)的,在程序中,邏輯地址進(jìn)行“分頁”,其大小和每個(gè)塊相一致。

事實(shí)上,頁面的大小是由塊的大小自然決定的。對于程序來說,其邏輯地址還是和原來一樣采用連續(xù)的地址。只是按照塊的位數(shù)取其前面數(shù)位做為頁號。

分配空間時(shí),根據(jù)作業(yè)長度可以確定它的頁面數(shù),根據(jù)這個(gè)頁面數(shù)在主存中分配相應(yīng)的塊數(shù),只要是空閑塊就可以放入,即使不是相鄰的。并把分配情況記在“頁表”中,根據(jù)頁表可以找到相對應(yīng)的頁號與塊號,就得出絕對地址了。

采用頁式管理,使主存空間充分利用,頁不必為了得到連續(xù)空間而進(jìn)行移動。可以提高系統(tǒng)效率。 

l          頁式存儲管理中主存塊的大小是如何決定的?

主存塊的大小是由硬件地址結(jié)構(gòu)確定的。在頁式存儲管理中,地址由兩部分組成:頁號和頁內(nèi)地址。假定地址用m個(gè)二進(jìn)制位表示,其中頁內(nèi)地址部分占用了n個(gè)二進(jìn)制,那么每一個(gè)塊的長度就是  

l          頁表的構(gòu)造與作用

每個(gè)被裝入主存的作業(yè)都有一張頁表,指出該作業(yè)邏輯地址中的頁號與所占用的主存塊號之間的對應(yīng)關(guān)系。頁表的長度由作業(yè)擁有的頁面數(shù)決定,行號對應(yīng)為頁號,行中記錄的是主存中的塊號。

頁表是硬件進(jìn)行地址轉(zhuǎn)換的依據(jù),每執(zhí)行一條指令時(shí)按邏輯地址中的頁號查找頁表并轉(zhuǎn)換成絕對地址。絕對地址的計(jì)算公式如下:

          絕對地址= 塊號* 塊長+ 頁內(nèi)地址

4_4.1指出了作業(yè)按頁裝入主存的示例。

4-4.1中假定作業(yè)J有四個(gè)頁面: JP0 JP1 JP2 JP3,現(xiàn)只要找出四個(gè)空閑塊就可把作業(yè)1裝入主存。如果找到的四個(gè)空閑塊是第52324 27塊,則四個(gè)頁面就分別裝入其中。同時(shí)應(yīng)為該作業(yè)建立一張“頁表”,指出邏輯地址中的頁號與主存中塊號的對應(yīng)關(guān)系,頁表的一般格式如圖4-4.1中所示。作業(yè)執(zhí)行時(shí),按邏輯地址中的頁號查“頁表”,得到該頁對應(yīng)的塊號,就可知道該頁在主存中的位置,再按頁內(nèi)地址就能算出欲訪問的絕對地址。絕對地址的計(jì)算公式為:絕對地址= 塊號* 塊長+ 頁內(nèi)地址。因此,雖然作業(yè)被存放在若干個(gè)不連續(xù)的塊中,但在作業(yè)執(zhí)行中總是能按確切的絕對地址進(jìn)行存取。

 

l          在采用頁式存儲管理的系統(tǒng)中,怎樣利用“位示圖”來進(jìn)行主存空間的分配與回收?

位示圖:位示圖中的每一位與一個(gè)主存塊對應(yīng),每一位的值可以是“0”或“1”,當(dāng)取值為“0”時(shí)表示對應(yīng)塊為空閑,當(dāng)取值為“1”時(shí)表示對應(yīng)塊已被占用。在位示圖中增加一個(gè)字節(jié)記錄當(dāng)前剩余的空閑塊數(shù)

當(dāng)需要分配一塊主存空間時(shí),可從位示圖中找一個(gè)為“0”的位,把該位置成占用標(biāo)志“1”,且根據(jù)它在位示圖中的字號和位號,按如下公式計(jì)算出與它對應(yīng)的塊號:

                            塊號=字號x字長+位號

這個(gè)塊號就是當(dāng)前所分配用來裝作業(yè)信息的主存塊的塊號。

    當(dāng)一個(gè)作業(yè)執(zhí)行結(jié)束時(shí),應(yīng)收回該作業(yè)所占用的主存塊。根據(jù)歸還的塊號可計(jì)算出歸還塊在位示圖中的對應(yīng)位置,計(jì)算公式如下,并將該位的占用標(biāo)志置為“0”。

           字號=[塊號/字長],位號=塊號  mod 字長

 

l          地址轉(zhuǎn)換

    每執(zhí)行一條指令時(shí)按邏輯地址中的頁號查頁表,若頁表中無此頁號,則產(chǎn)生一個(gè)“地址錯(cuò)”的程序性中斷事件;若頁表中有此頁號,則可得到對應(yīng)的主存塊號,按計(jì)算公式可轉(zhuǎn)換成欲訪問的主存絕對地址。按絕對地址的計(jì)算公式為“塊號*塊長+頁內(nèi)地址”

      在多道程序設(shè)計(jì)的系統(tǒng)中,進(jìn)入主存儲器的每個(gè)作業(yè)都有一張頁表。硬件要增加一個(gè)“頁表控制寄存器”。調(diào)度程序選中某個(gè)作業(yè)占用處理器時(shí),就把該作業(yè)的頁表起站地址和長度送入頁表控制寄存器。于是,地址轉(zhuǎn)換機(jī)構(gòu)根據(jù)頁表控制器就可找到該作業(yè)的頁表。

l          采用頁式存儲管理為什么會延長指令的執(zhí)行周期?有什么辦法可提高指令的執(zhí)行速度?

    頁式存儲管理中的頁表一般是存放在主存中的。當(dāng)要按給定的邏輯地址進(jìn)行讀/寫時(shí),首先要按頁號從頁表中讀出對應(yīng)的塊號,然后算出絕對地址進(jìn)行讀/寫。這樣就必須訪問主存兩次,多花了一次訪問主存的時(shí)間,因而延長了指令的執(zhí)行周期,降低了執(zhí)行速度。

為了提高存取速度,通常都設(shè)置一個(gè)小容量的高速緩沖存儲器,用來存放頁表的一部分。把這部分頁表稱為“快表”。根據(jù)程序執(zhí)行局部性的特點(diǎn),在一段時(shí)間內(nèi)總是經(jīng)常訪問某些頁。若把這些頁登記在快表中,就可不要從主存中查頁表,而是從高速緩沖存儲器中查快表,這樣就可縮短查找時(shí)間,從而提高了指令執(zhí)行速度。

 

l          頁的共享與保護(hù)

      頁的共享解決共享信息的保護(hù)問題。通常的辦法是在頁表中增加一些標(biāo)志位指出對該頁信息可執(zhí)行的操作。處理器執(zhí)行指令時(shí)要核對操作要求,若想向只讀塊寫入信息,則指令停止執(zhí)行。同樣地,對共享程序塊不允許讀或?qū)懀荒苷{(diào)用執(zhí)行,否則也停止指令的執(zhí)行。當(dāng)違反規(guī)定的訪問權(quán)限時(shí),將產(chǎn)生一個(gè)“非法操作”的程序性中斷事件。
第五節(jié)      段式存儲管理 

l          基本原理

    段式存儲管理是根據(jù)人們對程序中需要分段編制的要求出發(fā)而提供的。它提供給用戶編程時(shí)使用的邏輯地址由段號段內(nèi)地址兩部分組成,格式如下:

    其形式和頁式存儲管理相同。但是實(shí)際上是不同的:頁式存儲管理提供連續(xù)的邏輯地址,由系統(tǒng)自動地進(jìn)行分頁;段式存儲管理中作業(yè)的分段是由用戶決定的,每段獨(dú)立編程,因此,段間的邏輯地址是不連續(xù)的。 

l          段式存儲管理怎樣為作業(yè)分配主存空間?

        段式存儲管理為作業(yè)的每一段分配一個(gè)連續(xù)的主存區(qū)域。作業(yè)的各個(gè)段可被裝到不相連的幾個(gè)區(qū)域中。 

l          段式存儲管理怎樣保證作業(yè)的正確執(zhí)行?

    為了控制作業(yè)的正確執(zhí)行,必須把作業(yè)的各個(gè)段在主存儲器中的位置記錄下來。為此,裝作業(yè)時(shí),操作系統(tǒng)為作業(yè)建立一張“段表”,指出該作業(yè)每個(gè)段的長度和在主存儲器的起始地址。作業(yè)執(zhí)行時(shí)按邏輯地址中的段號到“段表”中查得該段在主存儲器中的起始地址,把起始地址與邏輯地址中的段內(nèi)地址相加就得到欲訪問的主存絕對地址。所以,雖然各個(gè)段是分散存放在主存儲器中,但在作業(yè)執(zhí)行中總能找到對應(yīng)的絕對地址。此外,還可通過段表中的長度,核對欲訪問的主存單元是否在限定的分區(qū)內(nèi),以保證主存中信息的安全性。

段表段號本段限長起始地址三部分組成,由于每一行記錄的行號可以對應(yīng)程序的段號,因此段號實(shí)際上被省略,不占存儲空間。

l          主存空間的分配和去配

這種分配方法和可變分區(qū)管理方式的分配方法相同,所不同的是:

可變分區(qū)管理方式中是為每個(gè)作業(yè)分一個(gè)區(qū),而段式管理是為一個(gè)作業(yè)中的每個(gè)段分一個(gè)連續(xù)的空間。

l          地址轉(zhuǎn)換和存儲保護(hù)

這個(gè)轉(zhuǎn)換過程如同可變分區(qū)方式的地址轉(zhuǎn)換,但是由段表的表目替代了基址/限長寄存器。

絕對地址=根據(jù)段號找到段表中的起始地址+段內(nèi)地址

如果段內(nèi)地址超過限長則產(chǎn)生“地址越界”程序性中斷事件達(dá)到存儲保護(hù)

多道程序設(shè)計(jì)系統(tǒng)中,每個(gè)進(jìn)入主存的作業(yè)都建立了段表,因此還有一個(gè)硬件“段表控制寄存器”來記錄每個(gè)作業(yè)的段表在主存中的位置和長度。

l          可分頁的段式存儲管理

    段頁式存儲管理兼顧了段式在邏輯上清晰和頁式在管理上方便的優(yōu)點(diǎn)。

段頁式存儲管理把主存儲器預(yù)先分成大小相等的許多塊,在把一段的信息裝入主存時(shí),按塊的大小分頁,一段信息可被分散存放在若干主存塊中。

段頁式存儲管理的邏輯地址的格式

    段頁式存儲管理為每一個(gè)裝入主存儲器的作業(yè)建立一張段表,且對每一段要建立一張頁表。段表的長度由作業(yè)分段的個(gè)數(shù)決定,段表中的每一個(gè)表目指出本段的頁表始址和長度。頁表的長度由對應(yīng)段所分的頁的個(gè)數(shù)決定,頁表中的每一個(gè)表目指出本段的邏輯頁號與主存塊號的對應(yīng)關(guān)系。

       執(zhí)行指令時(shí),地址機(jī)構(gòu)根據(jù)邏輯地址中的段號查段表,得到該段的頁表始址,然后根據(jù)頁號查頁表,得到對應(yīng)的主存塊號,由主存塊號與邏輯地址中的頁內(nèi)地址可形成可訪問的絕對地址。如果邏輯地址中的段號超出了段表中的最大段號或者頁號超出了該段頁表中的最大頁號,都要形成“地址越界”的程序性中斷事件。

 第六節(jié)      虛擬存儲器 

l          虛擬存儲器

虛擬存儲器:若允許邏輯地址空間大于存的實(shí)際空間,那么好像計(jì)算機(jī)系統(tǒng)為用戶提供了一個(gè)比主存的實(shí)際容量大的主存儲器,把這個(gè)可供用戶編程時(shí)使用的主存儲器稱為虛擬存儲器。

虛擬存儲器的容量由計(jì)算機(jī)的地址結(jié)構(gòu)(總線位數(shù))決定。 

l          虛擬存儲器的實(shí)現(xiàn)原理

首先把作業(yè)信息保留在磁盤上,當(dāng)作業(yè)請求裝入時(shí),只將其中一部分先裝入主存,作業(yè)執(zhí)行中若要訪問的信息不在主存中,再設(shè)法將這些信息裝入主存。 

l          任何程序必須裝入主存后才能執(zhí)行。現(xiàn)在又允許用戶作業(yè)中使用虛擬存儲器。試問,當(dāng)用戶作業(yè)使用的虛存量超出實(shí)際主存量時(shí)怎么辦?

一般說來,程序有兩個(gè)特點(diǎn)

         1) 程序執(zhí)行時(shí)有些部分是彼此互斥的,即在程序的一次執(zhí)行中,執(zhí)行了這一部分就不會去執(zhí)行另一部分。

2) 程序的執(zhí)行往往具有局部性,在一段時(shí)間里可能循環(huán)執(zhí)行某些指令或多次訪問某一部分的數(shù)據(jù)。因此沒有必要把全部作業(yè)信息同時(shí)裝入主存儲器。只要有大容量的磁盤作后盾,把作業(yè)信息保留在磁盤上,只將其中的一部分先裝入主存儲器。若作業(yè)執(zhí)行中要訪問的信息不在主存中,則再設(shè)法把當(dāng)前所需的信息裝入主存。這樣,通過合理的調(diào)度就可以使大作業(yè)在小空間里正確執(zhí)行。

l          采用頁式虛擬存儲管理時(shí)怎樣設(shè)計(jì)頁表?

由于頁式虛擬存儲管理是把作業(yè)信息作為副本存放在磁盤上的,為了能方便地從磁盤上找到作業(yè)信息,應(yīng)在表中指出每一頁副本在磁盤上的位置,此外還應(yīng)指出哪些頁已在主存儲器,哪些頁還沒有裝人主存。通常在頁表中設(shè)置一個(gè)標(biāo)志位來指示對應(yīng)的頁是否在主存儲器,標(biāo)志位為“1”表示對應(yīng)頁在主存,為“0”表示尚未裝入主存。當(dāng)對應(yīng)頁在主存時(shí),需在頁表中指出該頁所占用的主存塊號。 

l          在采用頁式虛擬存儲管理的系統(tǒng)中執(zhí)行作業(yè)時(shí)硬件和操作系統(tǒng)應(yīng)怎樣配合?

      在作業(yè)執(zhí)行中訪問某頁時(shí),由硬件的地址轉(zhuǎn)換機(jī)構(gòu)查頁表。若該頁的對應(yīng)表項(xiàng)中標(biāo)志位為" 1",則按該表項(xiàng)中主存塊號進(jìn)行地址轉(zhuǎn)換,得到絕對地址后去訪問主存。若該頁對應(yīng)表項(xiàng)中標(biāo)志位為“0”,則硬件形成“缺頁中斷”,表示該頁不在主存儲器中。當(dāng)中斷裝置響應(yīng)該中斷后,操作系統(tǒng)就要處理這個(gè)缺頁中斷。處理的辦法是:查主存分配表,找出一個(gè)空閑的主存塊;再查頁表,找出該頁在磁盤上的位置;再啟動磁盤讀出該頁信息,并把該頁信息裝入所找到的主存塊中;再修改頁表中與該頁對應(yīng)的表項(xiàng),在該表項(xiàng)中填入所找到的主存塊的塊號,并把標(biāo)志位置為“1”;最后修改指令地址,讓硬件重新執(zhí)行被中斷的指令。 

l          常用的頁面調(diào)度算法:FIFOLRULFU

    當(dāng)主頁中無空閑塊時(shí),為了裝入一個(gè)頁面,就必須按某種算法將主存中某個(gè)頁調(diào)出,調(diào)入所需裝入的頁面。這就是頁面調(diào)度。常用的算法有:先進(jìn)先出調(diào)度算法(FIFO)、最近最少使用調(diào)度算法(LRU)和最近最不常用調(diào)度算法(LFU)

1)先進(jìn)先出調(diào)度算法(FIFO)

    算法思想:總是選擇最先裝入主存儲器的那一頁調(diào)出,或者說是把駐留在主存中時(shí)間最長的那一頁調(diào)出。

算法實(shí)現(xiàn):把裝入主存儲器的那些頁的頁號按進(jìn)入的先后次序排成隊(duì)列,每次總是調(diào)出隊(duì)首的頁,當(dāng)裝入一個(gè)新頁后,把新頁的頁號排入隊(duì)尾。在具體實(shí)現(xiàn)時(shí)可用指針K指示最早被裝入主存的那頁在隊(duì)列中的位置,每次總是選擇指針K指示的頁調(diào)出,在裝入一個(gè)新頁后,在指針指示的位置上填上新頁頁號,然后指針K1,指向下一次可調(diào)出的頁。圖4_6.1是先進(jìn)先出調(diào)度算法的示例。

 2)最近最少用算法(LRU)

    算法思想:總是選擇距現(xiàn)在最長時(shí)間內(nèi)沒有被訪問過的頁面先調(diào)出。

    算法實(shí)現(xiàn):1是在頁表中為每一頁增加一個(gè)計(jì)時(shí)標(biāo)志,記錄該頁面自上次被訪問以來所經(jīng)歷的時(shí)間,每被訪問一次都應(yīng)從“0”開始重新計(jì)時(shí)。于是,產(chǎn)生缺頁中斷,而要裝入新頁時(shí),檢查頁表中各頁的計(jì)時(shí)標(biāo)志,從中選出計(jì)時(shí)值最大的那一頁調(diào)出(即最近一段時(shí)間里最久沒有被使用過的頁),并且把各頁的計(jì)時(shí)標(biāo)志全部置“0”,重新計(jì)時(shí)。當(dāng)再一次產(chǎn)生缺頁中斷時(shí),又可找到最近最久沒有被使用過的頁,將其調(diào)出。這種實(shí)現(xiàn)方法必須對每一頁的訪問情況加以記錄和更新,實(shí)現(xiàn)比較麻煩且開銷大。

    2堆棧實(shí)現(xiàn),這種方法能準(zhǔn)確地選擇最近最少用的頁。棧中存放當(dāng)前在主存中的頁,每當(dāng)訪問一頁時(shí)就調(diào)整一次,使棧頂總是指出最近訪問的頁,而棧底是最近最少用的頁。

例:假定系統(tǒng)為某個(gè)進(jìn)程分配了三個(gè)物理塊,而進(jìn)程的訪問順序?yàn)?/span>701203042303212。采用LRU算法如圖4_6.2所示。

進(jìn)程運(yùn)行時(shí)陸續(xù)將要訪問的701三個(gè)頁面裝入內(nèi)存。因?yàn)榇藭r(shí)內(nèi)存中尚有空閑塊,因此不存在淘汰問題。第四個(gè)要訪問的頁面是2頁面,不在內(nèi)存中,此時(shí)發(fā)生缺頁中斷,需要從外存調(diào)入,而這時(shí)該進(jìn)程已不存在空閑塊,需要選擇淘汰的頁面以被置換。我們將最近最少使用的7頁面淘汰。第五個(gè)要訪問的頁面是0頁面,在系統(tǒng)中已經(jīng)存在,不需要調(diào)入,命中一次。由圖中可看出,采用LRU算法共命中5次(×標(biāo)記)。

    3)最近最不常用調(diào)度算法(LFU)

算法思想:如果一個(gè)頁面被訪問的次數(shù)多,則是經(jīng)常要使用的頁面,就不把它調(diào)出。所以,這種算法總是選擇被訪問次數(shù)少的頁面調(diào)出。

算法實(shí)現(xiàn):為每一頁設(shè)置一個(gè)計(jì)數(shù)器,每當(dāng)訪問一頁時(shí),就把該頁對應(yīng)的計(jì)數(shù)器加1。操作系統(tǒng)確定一個(gè)周期T, 在周期T的一段時(shí)間內(nèi),若沒有發(fā)生缺頁中斷,則把所有的計(jì)數(shù)器清“0”,開始一個(gè)新的周期重新計(jì)數(shù)。若在周期T的時(shí)間內(nèi)發(fā)生了缺頁中斷,則選擇計(jì)數(shù)值最小的那頁調(diào)出(它是最近一段時(shí)間內(nèi)最不常用的頁),同時(shí)把所有的計(jì)數(shù)器清“0”。

    4)最佳頁面調(diào)度算法(OPT

    一個(gè)理想的調(diào)度算法是當(dāng)要裝入一個(gè)新頁而必須調(diào)出一個(gè)頁面時(shí),所選擇的調(diào)出頁應(yīng)該是以后再也不使用的頁或者是距當(dāng)前最長時(shí)間以后才使用的頁。這種調(diào)度算法是最優(yōu)的,然而這種算法是無法實(shí)現(xiàn)的,因?yàn)闊o法預(yù)測作業(yè)的運(yùn)行情況,而只能將其作為衡量其他頁面調(diào)度算法的標(biāo)準(zhǔn)。

l          什么叫“抖動”?

如果采用的頁面調(diào)度算法不合適,就會出現(xiàn)這樣一種現(xiàn)象:剛剛被調(diào)出的頁面又立即要用,因而又要把它裝入,而裝入不久又被選中調(diào)出,調(diào)出不久又要裝入使用,如此反復(fù),使調(diào)度非常頻繁。這種現(xiàn)象稱為“抖動”,或稱為“顛簸”。 

l          缺頁中斷率

    如果作業(yè)執(zhí)行中訪問頁面的總次數(shù)為A,其中有F次訪問的頁面尚未裝入主存,則有F次缺頁中斷,f=F/A,這里的f就稱為缺頁中斷率。影響缺頁中斷的因素有:

1)分配給作業(yè)的主存塊數(shù)----塊數(shù)n↑(增加) f↓(下降)

2)頁面的大小----頁面大小↑ f↓

3)程序編制方法----局部化程度↑ f↓

l          段式虛擬存儲管理

段式虛擬存儲管理以段式存儲管理為基礎(chǔ),在磁盤上保留作業(yè)的各個(gè)分段信息,作業(yè)執(zhí)行時(shí)把需要執(zhí)行的一段或幾段裝入主存。在實(shí)際使用中,也要進(jìn)行查表和地址轉(zhuǎn)換以及“缺段中斷”和調(diào)度(包括調(diào)出、裝入、移動等)工作。 

l          段式虛擬存儲管理的實(shí)現(xiàn)要點(diǎn)

    段式存儲管理把作業(yè)中各個(gè)分段信息都保留在磁盤上,以段為單位分配主存空間。

    當(dāng)作業(yè)可以占用處理執(zhí)行時(shí),首先把當(dāng)前需要的一個(gè)段或幾個(gè)段裝入主存,同時(shí)為該作業(yè)建立段表。作業(yè)執(zhí)行時(shí)若要訪問段已在主存,則可立即把邏輯地址轉(zhuǎn)換成絕對地址,否則產(chǎn)生一個(gè)“缺段中斷”,由操作系統(tǒng)把需要用的段裝入主存。新的段裝好之后重新執(zhí)行被中斷的指令。  點(diǎn)擊見相關(guān)動畫

l          操作系統(tǒng)處理缺段中斷時(shí)應(yīng)做哪些主要工作?

為了裝入所缺的段,操作系統(tǒng)應(yīng)根據(jù)該段的長度,查主存分配表,找出一個(gè)足夠大的連續(xù)區(qū)以容納該分段。如果找不到足夠大的連續(xù)區(qū),則檢查空閑區(qū)的總和。若空閑區(qū)總和能滿足該段要求,則進(jìn)行適當(dāng)移動,將分散的空閑區(qū)集中,否則把主存中的一段或幾段調(diào)出;然后把要訪問的段裝入主存。段被移動、調(diào)出、裝人后都要對段表中相應(yīng)表項(xiàng)作修改。新的段裝入后應(yīng)讓作業(yè)重新執(zhí)行被中斷的指令。

l          提供虛擬存儲器有什么優(yōu)點(diǎn)?

提供虛擬存儲器后,從系統(tǒng)的角度來看,使主存空間能充分地被利用,從而提高了主存空間的利用率。從用戶的角度來看,程序使用的邏輯地址空間可以大于主存的實(shí)際容量,為編制程序提供了方便。

posted on 2009-09-28 14:08 bellgrade 閱讀(1447) 評論(0)  編輯 收藏 引用 所屬分類: 操作系統(tǒng)原理

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久综合伊人| 久久精品在线| 韩国女主播一区| 国产精品久久久久久久电影| 亚洲视频在线二区| 在线精品在线| 精品动漫一区| 正在播放欧美视频| 亚洲一区二区毛片| 久久精品国内一区二区三区| 久久精品99| 亚洲国产精品999| 亚洲国产一区二区在线| 99这里只有精品| 欧美在线视频免费观看| 欧美成人免费全部| 国产欧美大片| 亚洲美女色禁图| 久久精品国产免费观看| 亚洲国产精品小视频| 亚洲综合欧美| 欧美日本不卡高清| 一本久久a久久精品亚洲| 亚洲在线免费视频| 欧美ed2k| 在线观看不卡| 久久久精品一区| 亚洲视频电影图片偷拍一区| 99天天综合性| 午夜精品久久久久久久久| 亚洲国产天堂久久综合| 亚洲中字在线| 国产精品成人v| 一区二区三区四区国产| 亚洲精品午夜精品| 欧美高清在线视频观看不卡| 亚洲国产色一区| 欧美国产一区视频在线观看| 久久久久国产免费免费| 国产欧美婷婷中文| 久久久免费观看视频| 国产精品99久久久久久人| 欧美日本国产在线| 午夜在线播放视频欧美| 亚洲少妇在线| 国产香蕉97碰碰久久人人| 欧美在线1区| 欧美在线播放| 亚洲免费黄色| 亚洲视频1区| 黑人一区二区三区四区五区| 欧美成人精品高清在线播放| 蜜桃精品一区二区三区| 亚洲影视在线| 欧美—级高清免费播放| 亚洲在线一区二区| 免费不卡欧美自拍视频| 欧美暴力喷水在线| 亚洲欧洲一区二区三区| 亚洲美女电影在线| 亚洲欧美成人一区二区在线电影| 国产无一区二区| 亚洲人体偷拍| 国产亚洲美州欧州综合国| 免费在线观看成人av| 欧美人妖在线观看| 久久人人看视频| 国产精品九九| 亚洲精品在线观| 亚洲国产精品福利| 欧美一级专区免费大片| 99国产精品视频免费观看| 久久精品在线观看| 一本色道久久88综合亚洲精品ⅰ | 国产精品国产自产拍高清av| 久热精品视频在线观看一区| 欧美巨乳在线观看| 日韩视频在线观看免费| 久久精品国产77777蜜臀| 国产欧美在线看| 久久久精彩视频| 日韩香蕉视频| 久热爱精品视频线路一| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国产综合久久| 亚洲无限av看| 在线视频欧美一区| 亚洲素人在线| 亚洲午夜av| 亚洲国产成人av好男人在线观看| 日韩视频精品在线观看| 国产亚洲精久久久久久| 欧美成人精品三级在线观看| 99热这里只有精品8| 欧美在线综合视频| 亚洲美女电影在线| 国产综合精品一区| 国产精品久久久久久久久久久久久久 | 欧美日韩亚洲成人| 欧美在线观看视频一区二区| aa日韩免费精品视频一| 免费短视频成人日韩| 欧美在线亚洲综合一区| 91久久极品少妇xxxxⅹ软件| 国产精品激情电影| 欧美日韩亚洲不卡| 欧美精品一区二| 欧美第十八页| 免费久久精品视频| 久久只有精品| 老司机成人网| 久久久国产精品一区| 午夜精品久久久久久久久久久久久 | 久久久蜜臀国产一区二区| 欧美一区二区| 欧美波霸影院| 亚洲一区二区三区成人在线视频精品| 亚洲影院色无极综合| 久久综合色婷婷| 国产精品三区www17con| 亚洲毛片播放| 日韩视频免费在线观看| 一区二区视频免费在线观看 | 欧美一区二区日韩| 午夜欧美大片免费观看| 久久不射2019中文字幕| 久久人人爽人人| 欧美日韩免费观看一区三区 | 亚洲中字在线| 久久久久国产一区二区| 欧美日韩亚洲三区| 国模私拍一区二区三区| 亚洲经典在线看| 久久狠狠婷婷| 亚洲欧洲日韩在线| 欧美亚洲综合在线| 欧美国产日韩一区| 黄色一区二区三区| 亚洲欧美一级二级三级| 亚洲人成亚洲人成在线观看| 久久国产毛片| 国产一区二区剧情av在线| 99re成人精品视频| 91久久夜色精品国产九色| 久久精品盗摄| 国产精品亚洲美女av网站| 一区二区成人精品| 一区二区欧美视频| 欧美日韩一区二区三区在线视频| 中日韩美女免费视频网站在线观看| 久久精品成人欧美大片古装| 国产欧美精品在线播放| 性做久久久久久免费观看欧美| 亚洲欧洲精品一区| 欧美成人资源网| 91久久在线播放| 亚洲高清在线播放| 欧美日韩第一区| 亚洲欧美日韩在线| 亚洲第一福利视频| 亚洲第一页在线| 欧美日韩三级在线| 欧美一区二区日韩| 欧美亚洲一区| 亚洲第一在线视频| 这里是久久伊人| 黄色在线成人| 亚洲永久免费精品| 亚洲第一二三四五区| 99精品久久久| 在线观看欧美激情| 亚洲图片在线| 亚洲人精品午夜| 久久gogo国模裸体人体| 一区二区欧美视频| 久久国产精品99精品国产| aa亚洲婷婷| 欧美黄在线观看| 欧美 日韩 国产在线| 国产情人节一区| 一区二区三区精品| 一卡二卡3卡四卡高清精品视频| 性欧美长视频| 久久高清福利视频| 国产精品免费小视频| 在线亚洲一区二区| 夜夜精品视频一区二区| 免费成人高清视频| 亚洲国产清纯| 亚洲精品日产精品乱码不卡| 欧美一区二区在线视频| 性色av一区二区怡红| 国产伦精品一区二区三区免费迷 | 狠狠色狠狠色综合| 国产精品国产三级国产普通话三级| 久久精品最新地址| 国产亚洲激情在线| 麻豆成人综合网| 亚洲另类视频| 欧美一区二区视频免费观看|