精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

我的內存怎么不夠用了?

存儲 存儲軟件
內存是稀缺的,隨著應用使用內存也在膨脹。當程序越來復雜,進程對內存的需求會越來越大。從安全角度考慮,進程間使用內存需要隔離。另外還有一些特殊場景,存在不希望 CPU 進行緩存的場景。
本文轉載自微信公眾號「JerryCodes」,作者KyleJerry。轉載本文請聯系JerryCodes公眾號。  
  •  為什么內存不夠用?
  • 交換(Swap)技術
  • 虛擬內存
  • 頁(Page)和頁表
  • MMU
  • 頁表條目
  • 大頁面問題

內存是稀缺的,隨著應用使用內存也在膨脹。當程序越來復雜,進程對內存的需求會越來越大。從安全角度考慮,進程間使用內存需要隔離。另外還有一些特殊場景,存在不希望 CPU 進行緩存的場景。這個時候,有一個虛擬化層承接各種各樣的訴求,統一進行處理,就會有很大的優勢。

為什么內存不夠用?

要理解一個技術,就必須理解它為何而存在。總體來說,虛擬化技術是為了解決內存不夠用的問題,那么內存為何不夠用呢?

主要是因為程序越來越復雜。比如說我現在給你錄音的機器上就有 200 個進程,目前內存的消耗是 21G,我的內存是 64G 的,但是多開一些程序還是會被占滿。另外,如果一個程序需要使用大的內存,比如 1T,是不是應該報錯?如果報錯,那么程序就會不好寫,程序員必須小心翼翼地處理內存的使用,避免超過允許的內存使用閾值。以上提到的這些都是需要解決的問題,也是虛擬化技術存在的價值和意義。

那么如何來解決這些問題呢?歷史上有過不少的解決方案,但最終沉淀下的是虛擬化技術。接下來我為你介紹一種歷史上存在過的 Swap 技術以及虛擬化技術。

交換(Swap)技術

Swap 技術允許一部分進程使用內存,不使用內存的進程數據先保存在磁盤上。注意,這里提到的數據,是完整的進程數據,包括正文段(程序指令)、數據段、堆棧段等。輪到某個進程執行的時候,嘗試為這個進程在內存中找到一塊空閑的區域。如果空間不足,就考慮把沒有在執行的進程交換(Swap)到磁盤上,把空間騰挪出來給需要的進程。

 

上圖中,內存被拆分成多個區域。內核作為一個程序也需要自己的內存。另外每個進程獨立得到一個空間——我們稱為地址空間(Address Space)。你可以認為地址空間是一塊連續分配的內存塊。每個進程在不同地址空間中工作,構成了一個原始的虛擬化技術。

比如:當進程 A 想訪問地址 100 的時候,實際上訪問的地址是基于地址空間本身位置(首字節地址)計算出來的。另外,當進程 A 執行時,CPU 中會保存它地址空間的開始位置和結束位置,當它想訪問超過地址空間容量的地址時,CPU 會檢查然后報錯。

上圖描述的這種方法,是一種比較原始的虛擬化技術,進程使用的是基于地址空間的虛擬地址。但是這種方案有很多明顯的缺陷,比如:

  1. 碎片問題:上圖中我們看到進程來回分配、回收交換,內存之間會產生很多縫隙。經過反反復復使用,內存的情況會變得十分復雜,導致整體性能下降。
  2. 頻繁切換問題:如果進程過多,內存較小,會頻繁觸發交換。

首先重新 Review 下我們的設計目標。

  1. 隔離:每個應用有自己的地址空間,互不影響。
  2. 性能:高頻使用的數據保留在內存中、低頻使用的數據持久化到磁盤上。
  3. 程序好寫(降低程序員心智負擔):讓程序員不用關心底層設施。

現階段,Swap 技術已經初步解決了問題 1。

關于問題 2,Swap 技術在性能上存在著碎片、頻繁切換等明顯劣勢。

關于問題3, 使用 Swap 技術,程序員需要清楚地知道自己的應用用多少內存,并且小心翼翼地使用內存,避免需要重新申請,或者研發不斷擴容的算法——這讓程序心智負擔較大。

經過以上分析,需要更好的解決方案,就是我們接下來要學習的虛擬化技術。

虛擬內存

虛擬化技術中,操作系統設計了虛擬內存(理論上可以無限大的空間),受限于 CPU 的處理能力,通常 64bit CPU,就是 264 個地址。

 

虛擬化技術中,應用使用的是虛擬內存,操作系統管理虛擬內存和真實內存之間的映射。操作系統將虛擬內存分成整齊小塊,每個小塊稱為一個頁(Page)。之所以這樣做,原因主要有以下兩個方面。

一方面應用使用內存是以頁為單位,整齊的頁能夠避免內存碎片問題。

另一方面,每個應用都有高頻使用的數據和低頻使用的數據。這樣做,操作系統就不必從應用角度去思考哪個進程是高頻的,僅需思考哪些頁被高頻使用、哪些頁被低頻使用。如果是低頻使用,就將它們保存到硬盤上;如果是高頻使用,就讓它們保留在真實內存中。

如果一個應用需要非常大的內存,應用申請的是虛擬內存中的很多個頁,真實內存不一定需要夠用。

頁(Page)和頁表

接下來,我們詳細討論下這個設計。操作系統將虛擬內存分塊,每個小塊稱為一個頁(Page);真實內存也需要分塊,每個小塊我們稱為一個 Frame。Page 到 Frame 的映射,需要一種叫作頁表的結構。

上圖展示了 Page、Frame 和頁表 (PageTable)三者之間的關系。Page 大小和 Frame 大小通常相等,頁表中記錄的某個 Page 對應的 Frame 編號。頁表也需要存儲空間,比如虛擬內存大小為 10G, Page 大小是 4K,那么需要 10G/4K = 2621440 個條目。如果每個條目是 64bit,那么一共需要 20480K = 20M 頁表。操作系統在內存中劃分出小塊區域給頁表,并負責維護頁表。

 

頁表維護了虛擬地址到真實地址的映射。每次程序使用內存時,需要把虛擬內存地址換算成物理內存地址,換算過程分為以下 3 個步驟:

  1. 通過虛擬地址計算 Page 編號;
  2. 查頁表,根據 Page 編號,找到 Frame 編號;
  3. 將虛擬地址換算成物理地址。

下面我通過一個例子給你講解上面這個換算的過程:如果頁大小是 4K,假設程序要訪問地址:100,000。那么計算過程如下。

頁編號(Page Number) = 100,000/4096 = 24 余1619。24 是頁編號,1619 是地址偏移量(Offset)。

查詢頁表,得到 24 關聯的 Frame 編號(假設查到 Frame 編號 = 10)。

換算:通常 Frame 和 Page 大小相等,替換 Page Number 為 Frame Number 物理地址 = 4096 * 10 + 1619 = 42579。

MMU

上面的過程發生在 CPU 中一個小型的設備——內存管理單元(Memory Management Unit, MMU)中。如下圖所示:

 

當 CPU 需要執行一條指令時,如果指令中涉及內存讀寫操作,CPU 會把虛擬地址給 MMU,MMU 自動完成虛擬地址到真實地址的計算;然后,MMU 連接了地址總線,幫助 CPU 操作真實地址。

這樣的設計,就不需要在編寫應用程序的時候擔心虛擬地址到物理地址映射的問題。我們把全部難題都丟給了操作系統——操作系統要確定MMU 可以讀懂自己的頁表格式。所以,操作系統的設計者要看 MMU 的說明書完成工作。

難點在于不同 CPU 的 MMU 可能是不同的,因此這里會遇到很多跨平臺的問題。解決跨平臺問題不但有繁重的工作量,更需要高超的編程技巧,Unix 最初期的移植性(跨平臺)是 C 語言作者丹尼斯·里奇實現的。

MMU 需要查詢頁表(這是內存操作),而 CPU 執行一條指令通過 MMU 獲取內存數據,難道可以容忍在執行一條指令的過程中,發生多次內存讀取(查詢)操作?難道一次普通的讀取操作,還要附加幾次查詢頁表的開銷嗎?當然不是,這里還有一些高速緩存的設計,這部分后面還可以繼續討論。

頁表條目

上面我們籠統介紹了頁表將 Page 映射到 Frame。那么,頁表中的每一項(頁表條目)長什么樣子呢?下圖是一個頁表格式的一個演示。

 

頁表條目本身的編號可以不存在頁表中,而是通過偏移量計算。比如地址 100,000 的編號,可以用 100,000 除以頁大小確定。

  • Absent(“在”)位,是一個 bit。0 表示頁的數據在磁盤中(不再內存中),1 表示在內存中。如果讀取頁表發現 Absent = 0,那么會觸發缺頁中斷,去磁盤讀取數據。
  • Protection(保護)字段可以實現成 3 個 bit,它決定頁表用于讀、寫、執行。比如 000 代表什么都不能做,100 代表只讀等。
  • Reference(訪問)位,代表這個頁被讀寫過,這個記錄對回收內存有幫助。
  • Dirty(“臟”)位,代表頁的內容被修改過,如果 Dirty =1,那么意味著頁面必須回寫到磁盤上才能置換(Swap)。如果 Dirty = 0,如果需要回收這個頁,可以考慮直接丟棄它(什么也不做,其他程序可以直接覆蓋)。
  • Caching(緩存位),描述頁可不可以被 CPU 緩存。CPU 緩存會造成內存不一致問題,在上個模塊的加餐中我們討論了內存一致性問題,具體你可以參考“模塊四”的加餐內容。

Frame Number(Frame 編號),這個是真實內存的位置。用 Frame 編號乘以頁大小,就可以得到 Frame 的基地址。

在 64bit 的系統中,考慮到 Absent、Protection 等字段需要占用一定的位,因此不能將 64bit 都用來描述真實地址。但是 64bit 可以尋址的空間已經遠遠超過了 EB 的級別(1EB = 220TB),這已經足夠了。在真實世界,我們還造不出這么大的內存呢。

大頁面問題

最后,我們討論一下大頁面的問題。假設有一個應用,初始化后需要 12M 內存,操作系統頁大小是 4K。那么應該如何設計呢?

為了簡化模型,下圖中,假設這個應用只有 3 個區域(3 個段)——正文段(程序)、數據段(常量、全局變量)、堆棧段。一開始我們 3 個段都分配了 4M 的空間。隨著程序執行,堆棧段的空間會繼續增加,上不封頂。

上圖中,進程內部需要一個頁表存儲進程的數據。如果進程的內存上不封頂,那么頁表有多少個條目合適呢?進程分配多少空間合適呢?如果頁表大小為 1024 個條目,那么可以支持 1024*4K = 4M 空間。按照這個計算,如果進程需要 1G 空間,則需要 256K 個條目。我們預先為進程分配這 256K 個條目嗎?創建一個進程就劃分這么多條目是不是成本太高了?

 

為了減少條目的創建,可以考慮進程內部用一個更大的頁表(比如 4M),操作系統繼續用 4K 的頁表。這就形成了一個二級頁表的結構,如下圖所示:

 

這樣 MMU 會先查詢 1 級頁表,再查詢 2 級頁表。在這個模型下,進程如果需要 1G 空間,也只需要 1024 個條目。比如 1 級頁編號是 2, 那么對應 2 級頁表中 [2* 1024, 3*1024-1] 的部分條目。而訪問一個地址,需要同時給出一級頁編號和二級頁編號。整個地址,還可以用 64bit 組裝,如下圖所示:

MMU 根據 1 級編號找到 1 級頁表條目,1 級頁表條目中記錄了對應 2 級頁表的位置。然后 MMU 再查詢 2 級頁表,找到 Frame。最后通過地址偏移量和 Frame 編號計算最終的物理地址。這種設計是一個遞歸的過程,因此還可增加 3 級、4 級……每增加 1 級,對空間的利用都會提高——當然也會帶來一定的開銷。這對于大應用非常劃算,比如需要 1T 空間,那么使用 2 級頁表,頁表的空間就節省得多了。而且,這種多級頁表,頂級頁表在進程中可以先只創建需要用到的部分,就這個例子而言,一開始只需要 3 個條目,從 256K 個條目到 3 個,這就大大減少了進程創建的成本。

 

責任編輯:武曉燕 來源: JerryCodes
相關推薦

2013-12-19 10:08:52

AWS服務器

2024-11-22 12:32:34

TypeScript校驗靜態類型

2024-07-25 12:33:45

2019-07-24 14:05:17

Redis內存集群

2019-07-25 15:23:05

Redis電腦數據庫

2013-06-14 13:27:36

內存Linux交換分區

2015-07-16 15:16:41

內存泄露解決辦法

2019-11-15 10:41:10

Vim分屏終端

2022-08-01 10:00:47

AI趨勢

2017-03-23 11:24:26

Windows 10Windows系統盤

2023-06-12 07:20:39

2023-05-17 07:28:18

電腦16GB內存

2013-05-02 09:16:16

程序員

2024-08-05 11:08:53

內存File項目

2016-11-25 15:03:33

FacebookWIFI

2018-11-22 14:34:01

局域網IP擴容

2013-10-23 14:28:30

2021-08-08 08:17:45

事件響應日志網絡安全

2022-02-01 15:38:04

手機內存數據備份
點贊
收藏

51CTO技術棧公眾號

久久久欧美一区二区| 欧美日韩久久不卡| 久久国产精品久久| 国产又粗又猛又爽又| 日韩成人a**站| 67194成人在线观看| 欧美亚洲黄色片| 美女做暖暖视频免费在线观看全部网址91 | 欧美午夜黄色| 久久成人免费网| 韩日欧美一区二区| 中文字幕av久久爽一区| 麻豆视频久久| 色综合欧美在线视频区| youjizz.com亚洲| 天天影院图片亚洲| 国产在线日韩欧美| 日本精品免费一区二区三区| 男人与禽猛交狂配| 蜜臀久久99精品久久一区二区| 在线看国产一区二区| 老子影院午夜伦不卡大全| 国产人成在线视频| 成人免费精品视频| 国产精品免费一区二区三区都可以| 久久久久久久久97| 999精品色在线播放| 亚洲精品少妇网址| 日本泡妞xxxx免费视频软件| 日韩在线观看不卡| 精品日韩中文字幕| 99re6这里有精品热视频| 成人高清免费观看mv| 99热精品国产| y111111国产精品久久婷婷| 国产成人精品一区二区色戒| 国产精品久久久久毛片大屁完整版| 久久午夜a级毛片| 天天操天天舔天天射| 日韩中文av| 亚洲激情成人网| 国产sm在线观看| 成人噜噜噜噜| 91麻豆精品久久久久蜜臀| 久久久久久三级| 精品欧美一区二区三区在线观看| 欧美日韩国产在线| 六月婷婷激情综合| av文字幕在线观看| 亚洲欧洲精品一区二区三区 | 日韩在线不卡一区| 日韩在线影院| 色综合中文综合网| 免费观看精品视频| 忘忧草在线影院两性视频| 午夜成人免费电影| 免费在线观看视频a| 国产后进白嫩翘臀在线观看视频 | 亚洲一区综合| 91青青在线视频| 国产精品欧美综合在线| 亚洲成人自拍视频| 一区二区三区视频网站| 国产精品久久久一本精品 | 亚洲乱码电影| 久久久国产精品亚洲一区| 久久高清内射无套| 欧美fxxxxxx另类| 久久99久久久久久久噜噜| 久久久久黄色片| 亚洲全部视频| 青青草精品毛片| av毛片在线免费观看| 日本成人中文字幕| 91精品国产综合久久久久久久久 | 免费一级欧美片在线观看| 国产精品欧美日韩久久| 国产伦精品一区二区三区视频痴汉| 久久超级碰视频| 91久久极品少妇xxxxⅹ软件 | 国产在线观看免费视频今夜| 激情综合中文娱乐网| 91超碰caoporn97人人| 国产免费一级视频| 精品制服美女丁香| 国产91aaa| 男男电影完整版在线观看| 中文字幕欧美三区| 成年丰满熟妇午夜免费视频 | 天天操天天干天天舔| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美xxxx黑人又粗又长密月| 97人人在线| 亚洲精品少妇30p| 欧美 日韩 国产在线观看| 美女写真久久影院| 91精品国产综合久久福利软件| 日本一级大毛片a一| 九九综合九九| 欧美高清视频在线观看| 无码人妻丰满熟妇区五十路 | 久久久久久婷婷| 国产伦精品一区二区三区视频| 色999日韩欧美国产| www.99re7.com| 日韩成人免费电影| 99超碰麻豆| 国产69久久| 亚洲一区二区高清| 一区二区三区韩国| 国偷自产视频一区二区久| 深夜成人在线观看| 伊人久久综合视频| 精品一区二区在线观看| 蜜桃网站成人| 日本孕妇大胆孕交无码| 欧洲国内综合视频| 久久久午夜精品福利内容| 欧美a级成人淫片免费看| 国内精品美女av在线播放| 一区二区三区精| 91麻豆精品视频| 毛片在线视频观看| 伦一区二区三区中文字幕v亚洲| 亚洲激情在线视频| 三级av在线免费观看| 日韩电影一区二区三区四区| 精品国产_亚洲人成在线| 国产写真视频在线观看| 欧美亚洲国产bt| 人妻无码一区二区三区| 伊人久久亚洲影院| 亚洲自拍偷拍区| 欧美三级电影一区二区三区| 色网综合在线观看| 蜜桃精品成人影片| 极品av少妇一区二区| 亚洲伊人久久大香线蕉av| 欧美黑人激情| 欧美另类高清zo欧美| 亚洲一级片在线播放| 欧美中文日韩| 久久久久久一区| 国模私拍一区二区国模曼安| 欧美军同video69gay| 999久久久国产| 日韩国产欧美在线播放| 欧美美乳视频网站在线观看| 涩涩av在线| 日韩久久精品成人| 免费观看一区二区三区毛片| av在线不卡免费看| 日韩欧美一区二| 日本欧美三级| 日本欧美中文字幕| 久久视频www| 在线观看视频欧美| 五月激情四射婷婷| 免费观看在线色综合| 亚洲春色在线| 亚洲综合资源| 欧美美女操人视频| 好吊视频一二三区| 婷婷中文字幕综合| 久久精品国产亚洲AV熟女| 天堂成人国产精品一区| 视频在线观看成人| 久久天天久久| 美女视频黄免费的亚洲男人天堂| 国产福利小视频| 亚洲国产一区二区视频| 91久久免费视频| 日本视频免费一区| 中文字幕第一页亚洲| 在线视频亚洲欧美中文| 91福利视频在线观看| 国产人成在线视频| 91麻豆精品国产91久久久使用方法| 日韩精品123区| 成人免费黄色在线| 国产精品无码一本二本三本色| 日韩理论电影| av成人午夜| av日韩电影| 色偷偷av一区二区三区| 成 人片 黄 色 大 片| 欧美日韩国产一区在线| 美国一级片在线观看| 成人中文字幕合集| 欧美日韩大尺度| 你懂的亚洲视频| 青青影院一区二区三区四区| 亚洲伦理一区二区| 午夜欧美不卡精品aaaaa| 高清在线观看av| 日韩你懂的在线观看| 人妻丰满熟妇av无码区| 亚洲靠逼com| www.色天使| 国产传媒久久文化传媒| 毛葺葺老太做受视频| 欧美精选一区| 色噜噜一区二区| 福利在线一区| 成人福利免费观看| 中国字幕a在线看韩国电影| 久久精品国亚洲| 欧美捆绑视频| 精品国精品国产| 亚洲中文无码av在线| 夜夜揉揉日日人人青青一国产精品| 欧洲女同同性吃奶| 成人18精品视频| 91丝袜超薄交口足| 日韩av一二三| 国内外成人激情视频| 欧美精品福利| 中文字幕乱码一区二区三区 | 日本一区视频在线播放| 91精品丝袜国产高跟在线| 国产精品视频免费在线观看| 成av人片在线观看www| 久久综合伊人77777尤物| 国产精品视频一区二区久久| 精品成人在线观看| 国产乱淫a∨片免费观看| 欧洲日韩一区二区三区| 亚洲国产成人无码av在线| 亚洲一区二区视频在线| 糖心vlog免费在线观看| 中文字幕的久久| 中文幕无线码中文字蜜桃| 成人小视频在线| 国产sm在线观看| 国模娜娜一区二区三区| 成人性生交免费看| 丝袜诱惑亚洲看片| 免费在线激情视频| 999亚洲国产精| 阿v天堂2018| 国内精品久久久久久久影视蜜臀| av电影一区二区三区| 91欧美国产| 一区二区三区视频| 日韩a一区二区| 杨幂一区欧美专区| 日韩欧美视频| 亚洲狠狠婷婷综合久久久| 九九视频精品全部免费播放| 欧美高清一区二区| 亚洲最大在线| 日本公妇乱淫免费视频一区三区| 天堂av一区二区三区在线播放| 国产一区自拍视频| 久久久精品国产**网站| 久久成人资源| 视频一区中文| 色综合666| 国产精品88久久久久久| 91免费视频黄| 国产精品www994| 天堂…中文在线最新版在线| 国产精品永久| 免费无码国产v片在线观看| 久久国产日韩| 手机在线成人免费视频| 精品无人码麻豆乱码1区2区| 日韩精品视频网址| 成人高清视频在线| 野花社区视频在线观看| 国产免费成人在线视频| 国产黄色小视频网站| 亚洲超丰满肉感bbw| 丁香六月婷婷综合| 精品视频在线看| 国内精品久久久久久久久久| 亚洲黄色在线观看| 国产免费a∨片在线观看不卡| 视频在线观看一区二区| 五月天激情在线| 69av在线播放| 久久久精品一区二区毛片免费看| 99高清视频有精品视频| 久久不卡国产精品一区二区 | 亚洲国产一区二区精品专区| 女人喷潮完整视频| 蜜臀99久久精品久久久久久软件| 国产91在线免费观看| 91丨九色丨黑人外教| 日韩一卡二卡在线观看| 午夜伦理一区二区| 波多野结衣绝顶大高潮| 欧美一级在线观看| 日本韩国精品一区二区| 久久成人免费视频| 午夜影院在线观看国产主播| 国产精品视频男人的天堂| 国产精品乱战久久久| 五月婷婷一区| 亚洲黄色av| 日本黄色的视频| wwwwxxxxx欧美| 欧美黑人性猛交xxx| 色综合久久中文综合久久牛| 国产成人精品免费看视频| 亚洲日本中文字幕免费在线不卡| www免费视频观看在线| 日韩av片电影专区| 91成人精品在线| 亚洲欧洲精品在线观看| 国产模特精品视频久久久久| 国产黑丝在线视频| 国产三级欧美三级日产三级99| 精品无码久久久久| 欧美日韩aaa| 国内精品一区视频| 午夜精品久久久99热福利| 四虎影视精品永久在线观看| 欧美激情第一页在线观看| 激情国产一区| 亚洲图片 自拍偷拍| 国产精品婷婷午夜在线观看| 国产成人在线免费观看视频| 日韩美女一区二区三区四区| 黄色片网站在线| 国产精品高潮视频| 欧美精品中文| www污在线观看| 国产麻豆成人精品| 97在线观看视频免费| 在线精品国精品国产尤物884a| 亚洲av片一区二区三区| 欧美二区乱c黑人| 韩国三级成人在线| 樱花www成人免费视频| 日本三级亚洲精品| 制服 丝袜 综合 日韩 欧美| 婷婷丁香久久五月婷婷| 亚洲乱码精品久久久久..| 久久av在线播放| aa亚洲一区一区三区| 亚洲欧洲精品在线| 麻豆专区一区二区三区四区五区| аⅴ天堂中文在线网| 91久久人澡人人添人人爽欧美| 日韩欧美电影在线观看| 欧美专区在线视频| 一区二区美女| 久热免费在线观看| 久久精品这里都是精品| 精品不卡一区二区| 亚洲人成毛片在线播放| 国产精品扒开腿做爽爽爽视频软件| 欧美激情专区| 日韩精品一二三区| 久久日免费视频| 777a∨成人精品桃花网| 中文av资源在线| 成人免费91在线看| 亚洲免费激情| 亚洲精品理论片| 色狠狠桃花综合| 69久久夜色| 亚洲在线免费视频| 国内精品福利| 在线观看国产免费视频| 色美美综合视频| 麻豆网在线观看| 成人动漫视频在线观看完整版| 亚洲福利免费| 成人午夜福利一区二区| 欧美日韩国产综合草草| 直接在线观看的三级网址| 国产精品日韩高清| 免费在线成人| 992在线观看| 欧美成人精品福利| 中文字幕资源网在线观看免费| 色中色综合成人| 国产v综合v亚洲欧| 91丝袜一区二区三区| 久久精品电影网站| 免费萌白酱国产一区二区三区| 激情网站五月天| 一区二区在线观看视频在线观看| 天天综合网在线| 国产精品综合网站| 精品成人国产| 亚洲理论片在线观看| 欧美一区二区性放荡片| 成人直播视频| 国产女人18毛片| 26uuu欧美| 国产精品熟女久久久久久| 97国产精品视频| 日韩一区二区在线| 这里只有精品在线观看视频 | 中文一区二区三区四区| 波多野结衣作品集| 亚洲精选免费视频|