成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

linux使用什么實現虛擬內存

虛擬內存的實現需要建立在離散分配的內存管理方式的基礎上,實現方法有3種:1、請求分頁存儲管理方式;2、請求分段存儲管理方式;3、段頁式存儲管理方式。不管哪種方式,都需要有一定的硬件支持:1、一定容量的內存和外存;2、頁表機制(或段表機制),作為主要的數據結構;3、中斷機構,當用戶程序要訪問的部分尚未調入內存,則產生中斷;4、地址變換機構,邏輯地址到物理地址的變換。

linux使用什么實現虛擬內存

程序員必備接口測試調試工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api設計、調試、文檔、自動化測試工具
后端、前端、測試,同時在線協作,內容實時同步

本教程操作環境:linux7.3系統、Dell G3電腦。

1. 虛擬內存概述

傳統存儲管理方式同時將多個進程保存在內存中以便允許多道程序設計。它們都具有以下兩個共同的特征:

  • 一次性 作業必須一次性全部裝入內存后,方能開始運行。這會導致兩種情況發生:
    1)當作業很大,不能全部被裝入內存時,將使該作業無法運行;
    2)當大量作業要求運行時,由于內存不足以容納所有作業,只能使少數作業先運行,導致多道程序度的下降。
  • 駐留性: 作業被裝入內存后,就一直駐留在內存中,其任何部分都不會被換出,直至作業運行結束。運行中的進程,會因等待 I/O 而被阻塞,可能處于長期等待狀態。

因此,許多在程序運行中不用或暫時不用的程序(數據)占據了大量的內存空間,而一些需要運行的作業又無法裝入運行,顯然浪費了寶貴的內存資源。

1.1 虛擬存儲器的定義和特征

基于局部性原理,在程序裝入時,可以將程序的一部分裝入內存,而將其余部分留在外存,就可以啟動程序執行。在程序執行過程中,當所訪問的信息不在內存時,由操作系統將所需要的部分調入內存,然后繼續執行程序。另一方面,操作系統將內存中暫時不使用的內容換出到外存上,從而騰出空間存放將要調入內存的信息。

這樣,由于系統提供了部分裝入、請求調入和置換功能后(對用戶完全透明),給用戶的感覺是好像存在一個比實際物理內存大得多的存儲器,稱為虛擬存儲器。

虛擬存儲器的大小由計算機的地址結構決定,并非是內存和外存的簡單相加。

虛擬存儲器有以下三個主要特征:

  • 多次性:無需在作業運行時一次性地全部裝入內存,而是允許被分成多次調入內存運行。
  • 對換性:無需在作業運行時一直常駐內存,而是允許在作業的運行過程中,進行換進和換出。
  • 虛擬性:從邏輯上擴充內存的容量,使用戶所看到的內存容量,遠大于實際的內存容量。

1.2 虛擬內存技術的實現

虛擬內存中,允許將一個作業分多次調入內存。

釆用連續分配方式時,會使相當一部分內存空間都處于暫時或“永久”的空閑狀態,造成內存資源的嚴重浪費,而且也無法從邏輯上擴大內存容量。

因此,虛擬內存的實現需要建立在離散分配的內存管理方式的基礎上。虛擬內存的實現有以下三種方式:

  • 請求分頁存儲管理
  • 請求分段存儲管理
  • 段頁式存儲管理

不管哪種方式,都需要有一定的硬件支持。一般需要的支持有以下幾個方面:

  • 一定容量的內存和外存。
  • 頁表機制(或段表機制),作為主要的數據結構。
  • 中斷機構,當用戶程序要訪問的部分尚未調入內存,則產生中斷。
  • 地址變換機構,邏輯地址到物理地址的變換。

連續分配方式指為一個用戶程序分配一個連續的內存空間。

  • 固定分區分配:將內存空間劃分為若干個固定大小的區域,在每個分區中只裝入一道作業,便可以有多道作業并發執行。缺乏靈活性,會產生大量的內部碎片內存的利用率很低
  • 動態分區分配:根據進程的實際需要,動態地為之分配內存空間。作業裝入內存時,把可用內存分出一個連續區域給作業,且分區的大小正好合適作業大小的需要。會產生很多外部碎片。

linux使用什么實現虛擬內存

離散分配方式將一個進程分散地裝入到許多不相鄰的分區中,便可充分地利用內存。

分頁存儲的概念:

  • 頁面、頁框和塊。進程中的塊稱為頁或頁面(Page),具有頁號;內存中的塊稱為頁框(Page Frame,頁框=內存塊=物理塊=物理頁面,具有頁框號。外存也以同樣的單位進行劃分,直接稱為塊(Block)。進程在執行時需要申請主存空間,就是要為每個頁面分配主存中的可用頁框,這就產生了頁和頁框的一一對應。各個頁面不必連續存放,可以放到不相鄰的各個頁框中。
  • 地址結構:前一部分為頁號P,后一部分為頁內偏移量W。地址長度為32 位,其中0~11位為頁內地址,即每頁大小為4KB;12~31位為頁號,地址空間最多允許有2^20頁。
  • 頁表。為了便于在內存中找到進程的每個頁面所對應的物理塊,系統為每個進程建立一張頁表,記錄頁面在內存中對應的物理塊號,頁表一般存放在內存中。在配置了頁表后,進程執行時,通過查找該表,即可找到每頁在內存中的物理塊號??梢姡摫淼淖饔檬?strong>實現從頁號到物理塊號的地址映射。

linux使用什么實現虛擬內存

2. 請求分頁管理方式實現虛擬內存

請求分頁是目前最常用的一種實現虛擬存儲器的方法。

請求分頁系統建立在基本分頁系統基礎之上,為了支持虛擬存儲器功能而增加了請求調頁功能和頁面置換功能。

在請求分頁系統中,只要求將當前需要的一部分頁面裝入內存,便可以啟動作業運行。
在作業執行過程中,當所要訪問的頁面不在內存時,再通過調頁功能將其調入,同時還可以通過置換功能將暫時不用的頁面換出到外存上,以便騰出內存空間。

為了實現請求分頁,系統必須提供一定的硬件支持。除了需要一定容量的內存及外存的計算機系統,還需要有頁表機制、缺頁中斷機構、地址變換機構。

2.1 頁表機制

請求分頁系統的頁表機制不同于基本分頁系統,請求分頁系統在一個作業運行之前不要求全部一次性調入內存。

因此在作業的運行過程中,必然會出現要訪問的頁面不在內存的情況,如何發現和處理這種情況是請求分頁系統必須解決的兩個基本問題。為此,在請求頁表項中增加了四個字段,分別為:

請求分頁系統中的頁表項
頁號 物理塊號 狀態位 P 訪問字段 A 修改位 M 外存地址
  • 狀態位 P:用于指示該頁是否已調入內存,供程序訪問時參考。
  • 訪問字段 A:用于記錄本頁在一段時間內被訪問的次數,或記錄本頁最近己有多長時間未被訪問,供置換算法換出頁面時參考。
  • 修改位 M:標識該頁在調入內存后是否被修改過。
  • 外存地址:用于指出該頁在外存上的地址,通常是物理塊號,供調入該頁時參考。

2.2 缺頁中斷機構

在請求分頁系統中,每當所要訪問的頁面不在內存時,便產生一個缺頁中斷,請求操作系統將所缺的頁調入內存。

此時應將缺頁的進程阻塞(調頁完成喚醒),如果內存中有空閑塊,則分配一個塊,將要調入的頁裝入該塊,并修改頁表中相應頁表項;若此時內存中沒有空閑塊,則要淘汰某頁(若被淘汰頁在內存期間被修改過,則要將其寫回外存)。

缺頁中斷作為中斷同樣要經歷,諸如保護CPU環境、分析中斷原因、轉入缺頁中斷處理程序、恢復CPU環境等幾個步驟。但與一般的中斷相比,它有以下兩個明顯的區別:

  • 在指令執行期間產生和處理中斷信號,而非一條指令執行完后,屬于內部中斷。
  • 一條指令在執行期間,可能產生多次缺頁中斷。

2.3 地址變換機構

請求分頁系統中的地址變換機構,是在分頁系統地址變換機構的基礎上,為實現虛擬內存,又增加了某些功能而形成的。

linux使用什么實現虛擬內存
請求分頁中的地址變換過程

在進行地址變換時,先檢索快表

  • 若找到要訪問的頁,便修改頁表項中的訪問位(寫指令則還須重置修改位),然后利用頁表項中給出的物理塊號和頁內地址形成物理地址。
  • 若未找到該頁的頁表項,應到內存中去查找頁表,再對比頁表項中的狀態位P,看該頁是否已調入內存,未調入則產生缺頁中斷,請求從外存把該頁調入內存。

頁表指出邏輯地址中的頁號與所占主存物理塊號的對應關系。頁式存儲管理在用動態重定位方式裝入作業時,要利用頁表做地址轉換工作。

快表(TLB,Translation Lookaside Buffer)就是存放在高速緩沖存儲器的部分頁表。作為當前進程頁表的Cache,它的作用與頁表相似,但加快了地址映射速度,提高了訪問速率。

由于采用頁表做地址轉換,讀寫內存數據時CPU要訪問兩次主存(查詢頁表、訪問目的地址)。

有了快表,有時只要訪問一次高速緩沖存儲器,一次主存,這樣可加速查找并提高指令執行速度。

3. 頁面置換算法

進程運行時,若其訪問的頁面不在內存而需將其調入,但內存已無空閑空間時,就需要從內存中調出一頁程序或數據,送入磁盤的對換區。

選擇調出頁面的算法就稱為頁面置換算法。好的頁面置換算法應有較低的頁面更換頻率,也就是說,應將以后不會再訪問或者以后較長時間內不會再訪問的頁面先調出。

3.1 最佳置換算法(OPT)

最佳(Optimal, OPT)置換算法所選擇的被淘汰頁面將是以后永不使用的,或者是在最長時間內不再被訪問的頁面,這樣可以保證獲得最低的缺頁率。

但由于人們目前無法預知進程在內存下的若千頁面中哪個是未來最長時間內不再被訪問的,因而該算法無法實現,但最佳置換算法可以用來評價其他算法

假定系統為某進程分配了三個物理塊,并考慮有以下頁面號引用串:
7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1

進程運行時,先將7, 0, 1三個頁面依次裝入內存。進程要訪問頁面2時,產生缺頁中斷,根據最佳置換算法,選擇第18次訪問才需調入的頁面7予以淘汰。然后,訪問頁面0時,因為已在內存中所以不必產生缺頁中斷。訪問頁面3時又會根據最佳置換算法將頁面1淘汰……依此類推。從圖中可以看出釆用最佳置換算法時的情況。

利用最佳置換算法時的置換圖
訪問頁面 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
物理塊1 7 7 7 2 2 2 2 2 7
物理塊2 0 0 0 0 4 0 0 0
物理塊3 1 1 3 3 3 1 1
缺頁否

可以看到,發生缺頁中斷的次數為9,頁面置換的次數為6。

3.2 先進先出(FIFO)頁面置換算法

優先淘汰最早進入內存的頁面,亦即在內存中駐留時間最久的頁面。

該算法實現簡單,只需把調入內存的頁面根據先后次序鏈接成隊列,設置一個指針總指向最早的頁面。但該算法與進程實際運行時的規律不適應,因為在進程中,有的頁面經常被訪問。

利用FIFO置換算法時的置換圖
訪問頁面 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
物理塊1 7 7 7 2 2 2 4 4 4 0 0 0 7 7 7
物理塊2 0 0 0 3 3 3 2 2 2 1 1 1 0 0
物理塊3 1 1 1 0 0 0 3 3 3 2 2 2 1
缺頁否

利用FIFO算法時進行了 12 次頁面置換,比最佳置換算法正好多一倍。

FIFO算法還會產生當所分配的物理塊數增大而頁故障數不減反增的異常現象,這是由 Belady于1969年發現,故稱為Belady異常,如下表所示。

訪問頁面 1 2 3 4 1 2 5 1 2 3 4 5
物理塊1 1 1 1 4 4 4 5 5 5
物理塊2 2 2 2 1 1 1 3 3
物理塊3 3 3 3 2 2 2 4
缺頁否
增加物理塊數后對比
物理塊1* 1 1 1 1 5 5 5 5 4 4
物理塊2* 2 2 2 2 1 1 1 1 5
物理塊3* 3 3 3 3 2 2 2 2
物理塊4* 4 4 4 4 3 3 3
缺頁否

只有FIFO算法可能出現Belady異常,而LRU和OPT算法永遠不會出現Belady異常。

3.3 最近最久未使用(LRU)置換算法

最近最久未使用(LRU,Least Recently Used)置換算法選擇最近最長時間未訪問過的頁面予以淘汰,它認為過去一段時間內未訪問過的頁面,在最近的將來可能也不會被訪問。

該算法為每個頁面設置一個訪問字段,來記錄頁面自上次被訪問以來所經歷的時間,淘汰頁面時選擇現有頁面中值最大的予以淘汰。

LRU頁面置換算法時的置換圖
訪問頁面 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
物理塊1 7 7 7 2 2 4 4 4 0 1 1 1
物理塊2 0 0 0 0 0 0 3 3 3 0 0
物理塊3 1 1 3 3 2 2 2 2 2 7
缺頁否

LRU性能較好,但需要寄存器和棧的硬件支持,開銷更大。

LRU是堆棧類的算法。理論上可以證明,堆棧類算法不可能出現Belady異常。FIFO算法基于隊列實現,不是堆棧類算法。

3.4 時鐘(CLOCK)置換算法

LRU算法的性能接近于OPT,但是實現起來比較困難,且開銷大;FIFO算法實現簡單,但性能差。所以操作系統的設計者嘗試了很多算法,試圖用比較小的開銷接近LRU的性能,這類算法都是CLOCK算法的變體。

簡單的CLOCK算法是給每一幀關聯一個附加位,稱為使用位。當某一頁首次裝入主存,以及后續被訪問時,使用位被置為1。

對于頁替換算法,用于替換的候選幀集合看做一個循環緩沖區,并且有一個指針與之相關聯。當某一頁被替換時,該指針被設置成指向緩沖區中的下一幀。

當需要替換一頁時,操作系統掃描緩沖區,以查找第一個使用位為0的一幀。每當遇到一個使用位為1的幀時,操作系統就將該位重新置為0;如果所有幀的使用位均為1,則指針在緩沖區中完整地循環一周,把所有使用位都置為0,并且停留在最初的位置上,替換該幀中的頁。由于該算法循環地檢查各頁面的情況,故稱為CLOCK算法,又稱為最近未用(Not Recently Used, NRU)算法。

CLOCK算法的性能比較接近LRU,而通過增加使用的位數目,可以使得CLOCK算法更加高效。在使用位used的基礎上再增加一個修改位modified,則得到改進型的CLOCK置換算法。

每一幀都處于以下四種情況之一:

  • 最近未被訪問,也未被修改(u=0, m=0)。

  • 最近被訪問,但未被修改(u=1, m=0)。

  • 最近未被訪問,但被修改(u=0, m=1)。

  • 最近被訪問,被修改(u=1, m=1)。

算法執行如下操作步驟:

  • 從指針的當前位置開始,掃描幀緩沖區。在這次掃描過程中,對使用位不做任何修改。選擇遇到的第一個幀(u=0, m=0)用于替換。

  • 如果第1步失敗,則重新掃描,查找(u=0, m=1)的幀。選擇遇到的第一個這樣的幀用于替換。在這個掃描過程中,對每個跳過的幀,把它的使用位設置成0。

  • 如果第2步失敗,指針將回到它的最初位置,并且集合中所有幀的使用位均為0。重復第1步,并且如果有必要,重復第2步。這樣將可以找到供替換的幀。

改進型的CLOCK算法優于簡單CLOCK算法之處在于替換時首選沒有變化的頁。由于修改過的頁在被替換之前必須寫回,因而這樣做會節省時間。

4. 頁面分配策略

4.1 駐留集大小

對于分頁式的虛擬內存,在準備執行時,不需要也不可能把一個進程的所有頁都讀取到主存,因此,操作系統必須決定讀取多少頁。也就是說,給特定的進程分配多大的主存空間,這需要考慮以下幾點:

  • 分配給一個進程的存儲量越小,在任何時候駐留在主存中的進程數就越多,從而可以提高處理機的時間利用效率。

  • 如果一個進程在主存中的頁數過少,盡管有局部性原理,頁錯誤率仍然會相對較高。

  • 如果頁數過多,由于局部性原理,給特定的進程分配

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
熟女少妇精品一区二区| 无码夫の前で人妻を犯す中字| 日本少妇毛茸茸高潮| 太太你也不想你丈夫被开除吧| 无码精品人妻一区二区三区免费看| 无遮高潮国产免费观看| 亚洲第一无码AV无码专区| 一边下奶一边吃面膜视频讲解| 337P粉嫩日本欧洲亚洲大胆| A级毛片高清免费播放| 丰满多毛的大隂户毛茸茸| 国产欧美日韩综合精品二区| 久激情内射婷内射蜜桃人妖| 免费无码午夜福利电影网| 日本熟妇啪啪日本丰满熟妇啪啪日| 屠户家的小娇花哒哒啦爱你| 亚洲精品卡2卡三卡4卡2卡乱码| 中国自产一战二战三战来源| 成A人片亚洲日本久久| 国产三级久久精品三级| 久久亚洲欧美国产精品| 日本JAPANESE醉酒人妻| 无线乱码A区B区C区| 一边做饭一边躁狂怎么办| ZZTT155.CCM黑料| 国产亲妺妺乱的性69视频播放| 久久久久久久久蜜桃| 人妻内射.PORN| 亚洲A∨无码一区二区| 中文字幕丰满伦子无码| 丰满熟妇乱又伦在线无码视频| 好爽好湿好硬好大免费视频| 男生女生差差差轮滑免费| 熟妇人妻精品一区二区视频免费的 | 欧美颜射内射中出口爆在线| 无码专区6080YY电影| 岳女二人名器共侍一夫的出处| 从今天开始当城主| 精品人妻AV区乱码| 日本久久久久亚洲中字幕| 亚洲А∨天堂久久精品9966| FREE性欧美18ⅩXOO极品| 国产婷婷成人久久Av免费高清| 免费观看A级毛片| 无码纯肉视频在线观看| 中文字幕一本性无码| 国产精华液一二三区别| 内射人妻无码色AV麻豆| 一个吃我奶头两个舔我下面| YY6090新视觉影院| 国色天香一卡2卡3卡4卡| 欧美黑人粗暴多交高潮水最多| 小拗女一区二区三区| 97久久超碰极品视觉盛宴| 国产熟妇XXXXXⅩ性Ⅹ交| 欧美成人激情视频| 亚洲爆乳少妇无码激情| 草莓 丝瓜 香蕉 向日葵 榴莲| 久久国产劲爆∧V内射-百度| 熟妇高潮精品一区二区三区| 中国熟妇人妻XXXXX| 国产手机AV片在线无码观你| 秋霞午夜无码鲁丝片午夜| 亚洲欧美国产免费综合视频| 粉嫩性色一区二区三区AV| 里番本子库绅士ACG全彩无码 | 泷泽萝拉AV种子| 无码中文字幕AV免费放| XXXXX18日本人HDXX| 精品无码人妻一区二区免费蜜桃| 搡BBBB搡BBBB搡BBBB| 中文字幕四区五区六区蜜桃| 国内精品人妻无码久久久影院| 人人爽人人模人人人爽人人爱| 亚洲熟妇AV一区二区三区浪潮| 国产成年无码V片在线| 欧美 亚洲 国产 日韩 综AⅤ| 亚洲精品无码成人片| 国产韩国精品一区二区三区久久| 免费国产在线精品一区| 亚洲精品色午夜无码专区日韩| 公车上拨开丁字裤进入电影| 欧美人与动牲交A精品| 亚洲码与欧洲码一二三四区别| 跪下吃他胯下的体育生H| 欧美黑人性暴力猛交喷水| 亚洲在AV人极品无码网站| 国产男男GAY做受ⅩXX小说| 日本少妇三级HD激情在线观看| 中文字幕V亚洲日本在线| 精品国产亚洲一区二区三区| 我和闺蜜在KTV被八人伦| 波多野结衣一区二区三区高清| 免费A级毛片无码A∨蜜芽| 亚洲精品第一国产综合精品99| 国产成人综合亚洲AV| 人人做人人爽人人爱| 337P日本欧洲亚洲大胆精筑| 久久久久亚洲AV无码尤物黑人| 亚洲AV无码成人YELLOW| 国产成年女人毛片80S网站| 人人妻人人爽人人澡人人| 999久久久国产精品消防器材| 久久久久亚洲AV无码永不| 亚洲国产精品久久久久久久蜜桃| 国产精品毛片无遮挡| 日韩精品一区二区三区中文无码| GAYFUCKⅩⅩⅩⅩHD激情| 麻豆视频传媒入口| 一面亲上边一面膜下边| 精品无码一区二区三区爱欲| 亚洲AV伊人久久青青草原| 国产丝袜无码一区二区视频| 为老公升职我主动奉献的句子说说| 大战丰满无码人妻50P免费| 全部免费特黄特色大片| AV色蜜桃一区二区三区| 哦┅┅快┅┅用力啊┅┅在线观看| 真人作爱90分钟免费看视频| 久久夜色精品国产亚洲AV| 亚洲熟妇AV日韩熟妇AV| 久久精品国产精油按摩| 亚洲欧洲成人AV电影网| 精品综合久久久久久888蜜芽| 亚洲国产婷婷六月丁香| 精品厕所偷拍各类美女TP嘘嘘| 亚洲爆乳成AV人在线视菜奈实| 国内自拍视频一区二区三区| 亚洲AV日韩精品久久久久久久| 国产在线无码免费网站永久| 亚洲AV日韩AV高潮喷潮无码天| 国外免费B2B网站| 亚洲丰满熟妇乱XXXXX网站| 和丰满少妇作爱过程视频| 亚洲国产欧美在线综合| 精品国产免费人成网站| 亚洲欧美成人久久综合中文网| 久久精品国产亚洲精品| 又色又爽又黄18禁美女裸身无遮| 乱色视频中文字幕| 99热精品国产三级在线| 人妻丰满熟妇AⅤ无码无码区免费| 被老头侵犯的人妻| 色噜噜狠狠色综合网| 国产成人最新三级在线视频| 午夜三级理论在线观看高清| 狠狠躁天天躁日日躁欧美| 亚洲男女一区二区三区| 久久亚洲精品国产精品| 50岁丰满女人裸体毛茸茸| 人妻仑乱A级毛片免费看| 绯色精品人妻av一区二区| 无码AV一区二区三区不卡| 黑人巨大JEEP日本人| 亚洲综合久久无码色噜噜赖水| 内谢少妇XXXXX8老少交| 超碰人人看人人2017| 无码久久精品国产亚洲AV影片| 好紧真爽喷水高潮视频办公室 | YYY6080韩国三级理论| 色噜噜狠狼综合在线视频| 国产乱沈阳女人高潮乱叫老 | 偷拍中国熟妇牲交| 好男人影视官网在线WWW| 一区二区三区无码被窝影院| 欧美日韩无套内射另类| 寡妇好丰满奶好大| 亚洲国产精品成人一区二区在线| 久久强奷乱码老熟女网站| JZZIJZZIJ日本成熟少妇| 婷婷色香合缴缴情AV第三区| 精品国产污污免费网站入口| 44分钟欧美人与禽交片MP4| 三级国产三级在线| 好男人官网在线观看免费播放| 在线观看大片免费播放器| 人妻精品久久久久中文字幕一冢本 | 无码人妻一区二区三区免费视频 | 色欲久久久天天天综合网| 皇上捏住宫女的巨峰| 2023年新番肉食系| 特级毛片内射WWW无码| 精品无码人妻一区二区三区 | 皇叔撞着小公主的小说叫什么| 综合在线视频精品专区| 少妇极品熟妇人妻| 精品亚洲AⅤ在线观看| XXXXFREE少妇过瘾| 亚洲AV无码专区里番在线观看| 男生听到女生喘气是什么心理现象 | 全部孕妇毛片丰满孕妇孕交| 国内AI明星造梦鞠婧祎MV| 84PAO国产成视频永久免费| 天堂在\/线中文在线8| 久久久久久精品无码 | 51精产国品一二三产区区| 无码国产伦一区二区三区视频| 麻豆精品一区二区综合AV| 国产CHINESE中国HDXX| 岳今晚让我玩个够肥水一体探岳|