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

別再說你不懂Linux內存管理了,十張圖給你安排的明明白白!

系統 Linux
本文可以作為一個索引一樣的學習指南,當你想深入某一點學習的時候可以在這些章節里找到切入點,以及這個知識點在內存管理宏觀上的位置。

今天來帶大家研究一下Linux內存管理。

對于精通 CURD 的業務同學,內存管理好像離我們很遠,但這個知識點雖然冷門(估計很多人學完根本就沒機會用上)但絕對是基礎中的基礎。

這就像武俠小說中的內功修煉,學完之后看不到立竿見影的效果,但對你日后的開發工作是大有裨益的,因為你站的更高了。

文中所有示例圖都是我親手畫的,畫圖比碼字還費時間,但大家看圖理解比文字更直觀,所以還是畫了。需要高清示例圖片的同學,文末有獲取方式自取。

再功利點的說,面試的時候不經意間透露你懂這方面知識,并且能說出個一二三來,也許能讓面試官對你更有興趣,離升職加薪,走上人生巔峰又近了一步。

前提約定:本文討論技術內容前提,操作系統環境都是 x86架構的 32 位 Linux系統。

虛擬地址

即使是現代操作系統中,內存依然是計算機中很寶貴的資源,看看你電腦幾個T固態硬盤,再看看內存大小就知道了。

為了充分利用和管理系統內存資源,Linux采用虛擬內存管理技術,利用虛擬內存技術讓每個進程都有4GB 互不干涉的虛擬地址空間。

進程初始化分配和操作的都是基于這個「虛擬地址」,只有當進程需要實際訪問內存資源的時候才會建立虛擬地址和物理地址的映射,調入物理內存頁。

打個不是很恰當的比方,這個原理其實和現在的某某網盤一樣。假如你的網盤空間是1TB,真以為就一口氣給了你這么大空間嗎?那還是太年輕,都是在你往里面放東西的時候才給你分配空間,你放多少就分多少實際空間給你,但你和你朋友看起來就像大家都擁有1TB空間一樣。

虛擬地址的好處

  • 避免用戶直接訪問物理內存地址,防止一些破壞性操作,保護操作系統
  • 每個進程都被分配了4GB的虛擬內存,用戶程序可使用比實際物理內存更大的地址空間

4GB 的進程虛擬地址空間被分成兩部分:「用戶空間」和「內核空間」

用戶空間內核空間

物理地址

上面章節我們已經知道不管是用戶空間還是內核空間,使用的地址都是虛擬地址,當需進程要實際訪問內存的時候,會由內核的「請求分頁機制」產生「缺頁異?!拐{入物理內存頁。

把虛擬地址轉換成內存的物理地址,這中間涉及利用MMU 內存管理單元(Memory Management Unit ) 對虛擬地址分段和分頁(段頁式)地址轉換,關于分段和分頁的具體流程,這里不再贅述,可以參考任何一本計算機組成原理教材描述。

段頁式內存管理地址轉換

Linux 內核會將物理內存分為3個管理區,分別是:

ZONE_DMA

DMA內存區域。包含0MB~16MB之間的內存頁框,可以由老式基于ISA的設備通過DMA使用,直接映射到內核的地址空間。

ZONE_NORMAL

普通內存區域。包含16MB~896MB之間的內存頁框,常規頁框,直接映射到內核的地址空間。

ZONE_HIGHMEM

高端內存區域。包含896MB以上的內存頁框,不進行直接映射,可以通過永久映射和臨時映射進行這部分內存頁框的訪問。

物理內存區劃分

用戶空間

用戶進程能訪問的是「用戶空間」,每個進程都有自己獨立的用戶空間,虛擬地址范圍從從 0x00000000 至 0xBFFFFFFF 總容量3G 。

用戶進程通常只能訪問用戶空間的虛擬地址,只有在執行內陷操作或系統調用時才能訪問內核空間。

進程與內存

進程(執行的程序)占用的用戶空間按照「 訪問屬性一致的地址空間存放在一起 」的原則,劃分成 5個不同的內存區域。訪問屬性指的是“可讀、可寫、可執行等 。

  • 代碼段

代碼段是用來存放可執行文件的操作指令,可執行程序在內存中的鏡像。代碼段需要防止在運行時被非法修改,所以只準許讀取操作,它是不可寫的。

  • 數據段

數據段用來存放可執行文件中已初始化全局變量,換句話說就是存放程序靜態分配的變量和全局變量。

  • BSS段

 BSS段包含了程序中未初始化的全局變量,在內存中 bss 段全部置零。

  • 堆 heap

堆是用于存放進程運行中被動態分配的內存段,它的大小并不固定,可動態擴張或縮減。當進程調用malloc等函數分配內存時,新分配的內存就被動態添加到堆上(堆被擴張);當利用free等函數釋放內存時,被釋放的內存從堆中被剔除(堆被縮減)

  • 棧 stack

棧是用戶存放程序臨時創建的局部變量,也就是函數中定義的變量(但不包括 static 聲明的變量,static意味著在數據段中存放變量)。除此以外,在函數被調用時,其參數也會被壓入發起調用的進程棧中,并且待到調用結束后,函數的返回值也會被存放回棧中。由于棧的先進先出特點,所以棧特別方便用來保存/恢復調用現場。從這個意義上講,我們可以把堆??闯梢粋€寄存、交換臨時數據的內存區。

上述幾種內存區域中數據段、BSS 段、堆通常是被連續存儲在內存中,在位置上是連續的,而代碼段和棧往往會被獨立存放。堆和棧兩個區域在 i386 體系結構中棧向下擴展、堆向上擴展,相對而生。

你也可以在linux下用size 命令查看編譯后程序的各個內存區域大小:

[lemon ~]# size /usr/local/sbin/sshd
text data bss dec hexfilename
1924532 12412 4268962363840 2411c0/usr/local/sbin/sshd

內核空間

在 x86 32 位系統里,Linux 內核地址空間是指虛擬地址從 0xC0000000 開始到 0xFFFFFFFF 為止的高端內存地址空間,總計 1G 的容量, 包括了內核鏡像、物理頁面表、驅動程序等運行在內核空間 。

內核空間細分區域.

直接映射區

直接映射區 Direct Memory Region:從內核空間起始地址開始,最大896M的內核空間地址區間,為直接內存映射區。

直接映射區的896MB的「線性地址」直接與「物理地址」的前896MB進行映射,也就是說線性地址和分配的物理地址都是連續的。內核地址空間的線性地址0xC0000001所對應的物理地址為0x00000001,它們之間相差一個偏移量PAGE_OFFSET = 0xC0000000

該區域的線性地址和物理地址存在線性轉換關系「線性地址 = PAGE_OFFSET + 物理地址」也可以用 virt_to_phys()函數將內核虛擬空間中的線性地址轉化為物理地址。

高端內存線性地址空間

內核空間線性地址從 896M 到 1G 的區間,容量 128MB 的地址區間是高端內存線性地址空間,為什么叫高端內存線性地址空間?下面給你解釋一下:

前面已經說過,內核空間的總大小 1GB,從內核空間起始地址開始的 896MB 的線性地址可以直接映射到物理地址大小為 896MB 的地址區間。

退一萬步,即使內核空間的1GB線性地址都映射到物理地址,那也最多只能尋址 1GB 大小的物理內存地址范圍。

請問你現在你家的內存條多大?快醒醒都 2023 年了,一般 PC 的內存都大于 1GB 了吧!

所以,內核空間拿出了最后的 128M 地址區間,劃分成下面三個高端內存映射區,以達到對整個物理地址范圍的尋址。而在 64 位的系統上就不存在這樣的問題了,因為可用的線性地址空間遠大于可安裝的內存。

動態內存映射區

vmalloc Region 該區域由內核函數vmalloc來分配,特點是:線性空間連續,但是對應的物理地址空間不一定連續。vmalloc 分配的線性地址所對應的物理頁可能處于低端內存,也可能處于高端內存。

永久內存映射區

Persistent Kernel Mapping Region 該區域可訪問高端內存。訪問方法是使用 alloc_page (_GFP_HIGHMEM) 分配高端內存頁或者使用kmap函數將分配到的高端內存映射到該區域。

固定映射區

Fixing kernel Mapping Region 該區域和 4G 的頂端只有 4k 的隔離帶,其每個地址項都服務于特定的用途,如 ACPI_BASE 等。

內核空間物理內存映射

回顧一下

上面講的有點多,先別著急進入下一節,在這之前我們再來回顧一下上面所講的內容。如果認真看完上面的章節,我這里再畫了一張圖,現在你的腦海中應該有這樣一個內存管理的全局圖。

內核空間用戶空間全圖

內存數據結構

要讓內核管理系統中的虛擬內存,必然要從中抽象出內存管理數據結構,內存管理操作如「分配、釋放等」都基于這些數據結構操作,這里列舉兩個管理虛擬內存區域的數據結構。

用戶空間內存數據結構

在前面「進程與內存」章節我們提到,Linux進程可以劃分為 5 個不同的內存區域,分別是:代碼段、數據段、BSS、堆、棧,內核管理這些區域的方式是,將這些內存區域抽象成vm_area_struct的內存管理對象。

vm_area_struct是描述進程地址空間的基本管理單元,一個進程往往需要多個vm_area_struct來描述它的用戶空間虛擬地址,需要使用「鏈表」和「紅黑樹」來組織各個vm_area_struct。

鏈表用于需要遍歷全部節點的時候用,而紅黑樹適用于在地址空間中定位特定內存區域。內核為了內存區域上的各種不同操作都能獲得高性能,所以同時使用了這兩種數據結構。

用戶空間進程的地址管理模型:

wm_arem_struct

內核空間動態分配內存數據結構

在內核空間章節我們提到過「動態內存映射區」,該區域由內核函數vmalloc來分配,特點是:線性空間連續,但是對應的物理地址空間不一定連續。vmalloc 分配的線性地址所對應的物理頁可能處于低端內存,也可能處于高端內存。

vmalloc 分配的地址則限于vmalloc_start與vmalloc_end之間。每一塊vmalloc分配的內核虛擬內存都對應一個vm_struct結構體,不同的內核空間虛擬地址之間有4k大小的防越界空閑區間隔區。

與用戶空間的虛擬地址特性一樣,這些虛擬地址與物理內存沒有簡單的映射關系,必須通過內核頁表才可轉換為物理地址或物理頁,它們有可能尚未被映射,當發生缺頁時才真正分配物理頁面。

動態內存映射

總結一下

Linux內存管理是一個非常復雜的系統,本文所述只是冰山一角,從宏觀角度給你展現內存管理的全貌,但一般來說,這些知識在你和面試官聊天的時候還是夠用的,當然也希望大家能夠通過讀書了解更深層次的原理。

本文可以作為一個索引一樣的學習指南,當你想深入某一點學習的時候可以在這些章節里找到切入點,以及這個知識點在內存管理宏觀上的位置。

本文創作過程我也畫了大量的示例圖解,可以作為知識索引,個人感覺看圖還是比看文字更清晰明了,你可以在我公眾號「后端技術學堂」后臺回復「內存管理」獲取這些圖片的高清原圖。

老規矩,感謝各位的閱讀,文章的目的是分享對知識的理解,技術類文章我都會反復求證以求最大程度保證準確性,若文中出現明顯紕漏也歡迎指出,我們一起在探討中學習。今天的技術分享就到這里,我們下期再見。

原創不易,看到這里,如果在我這有一點點收獲,就動動手指「轉發」和「在看」是對我持續創作的最大支持。

責任編輯:龐桂玉 來源: Linux學習
相關推薦

2020-06-18 10:48:44

Linux 系統 數據

2020-12-22 10:57:36

DockerLinux程序員

2020-11-18 09:25:39

Docker

2011-04-27 17:05:39

2010-08-03 09:17:00

2010-06-29 14:38:14

Linux服務器

2010-07-05 15:33:49

2010-09-09 09:52:03

Linux服務器

2010-07-14 09:55:12

2010-08-25 09:09:58

2010-09-06 17:35:03

PPPOE配置

2021-02-23 08:10:18

Nginx反向代理負載均衡器

2020-02-10 19:42:01

CPIP 協議,

2011-11-04 16:49:26

Action BarAndroid

2010-10-15 10:01:19

無線網絡構建

2020-06-08 11:10:53

Java回調機制代碼

2012-02-20 21:59:08

無線路由設置

2010-10-08 15:05:00

無線路由設置

2010-08-06 10:00:05

負載均衡

2025-06-19 10:00:00

數據庫MySQL日志
點贊
收藏

51CTO技術棧公眾號

国产免费a级片| 亚洲专区在线视频| 亚洲 国产 图片| 手机在线观看免费av| 99久久国产综合精品成人影院| 亚洲福中文字幕伊人影院| 国产精品久久久久久久久久东京| 国产免费a级片| 黄色大片在线播放| 三级影片在线观看欧美日韩一区二区 | 国产啊啊啊视频在线观看| 日韩和欧美的一区| 日韩精品高清视频| 国产精品久久久久久久乖乖| 99久久精品国产一区色| 日韩情爱电影在线观看| 日本韩国欧美一区二区三区| 久精品国产欧美| 国产亚洲自拍av| 日本一区二区三区播放| 亚洲色图在线看| 国产精品入口福利| 中文字幕黄色网址| 高清av一区二区三区| 久久久蜜桃精品| 日韩免费观看在线观看| 四虎影成人精品a片| sm捆绑调教国产免费网站在线观看| 国产乱一区二区| 久久成人在线视频| 国产黄色一区二区三区| 成a人片在线观看| 国产美女在线精品| 欧美日韩第一页| 亚洲成人福利视频| 人人超在线公开视频| 国产成人午夜精品5599| 欧美精品xxx| 国产精品无码一区二区三| 国产夫妻在线| 国产欧美精品一区| 国产在线98福利播放视频| 99久久久无码国产精品不卡| 91麻豆精品国产91久久久更新资源速度超快 | 一本在线高清不卡dvd| 久久精品日产第一区二区三区乱码| 久久久午夜影院| 九九久久精品| 欧美天堂亚洲电影院在线播放| 青青草原亚洲| 国产又黄又大又粗的视频| 在线成人直播| 亚洲精品福利免费在线观看| 波多野结衣50连登视频| 国产福利免费在线观看| 免费在线欧美视频| 操日韩av在线电影| 人妻激情偷乱频一区二区三区| 国产在线美女| 国产色婷婷亚洲99精品小说| 国产区亚洲区欧美区| www.xxxx日本| 久久精品色综合| 欧美在线一二三| 亚洲成人动漫在线| 性xxxx视频| 久久狠狠亚洲综合| 97视频网站入口| 无码人中文字幕| 国产精品丝袜在线播放| 色婷婷av一区二区三区gif| 中文字幕免费在线不卡| 色一情一乱一乱一区91av| 日韩精品免费视频人成| 欧美成在线观看| 在线免费看黄视频| 91蜜桃臀久久一区二区| 色噜噜久久综合| 欧美狂野激情性xxxx在线观| 成人一区二区不卡免费| 国产精品一区二区在线观看网站| 欧美专区日韩视频| 欧美成人一区二区三区高清| 精品中文一区| 精品99一区二区三区| 无需播放器的av| 在线天堂资源| 亚洲一区二区三区影院| 亚洲国产一区二区精品视频 | 高清在线观看日韩| 国产欧美日韩免费看aⅴ视频| 日韩精品一区二区在线播放| 亚洲91中文字幕无线码三区| 亚洲丝袜在线视频| 在线精品视频播放| 激情视频亚洲| 欧美日韩一卡二卡| 国产成人无码一二三区视频| av美女在线观看| 亚洲免费观看视频| 一区二区日本| av在线免费一区| 久久久精品日韩欧美| 国产亚洲一区二区三区在线播放| 国产精品一品二区三区的使用体验| 久久国产欧美| 78m国产成人精品视频| 免费在线一区二区三区| 国产精品久久久久久影院8一贰佰| 亚洲天堂免费观看| 亚洲黄色在线网站| 性欧美xxxx免费岛国不卡电影| 日韩精品影音先锋| 91欧美一区二区三区| 亚州欧美在线| 欧美日韩国产区一| 天天爽人人爽夜夜爽| 精品欧美一区二区三区在线观看| 91久久精品一区二区三区| 欧美日韩国产精品激情在线播放| √天堂8资源中文在线| 亚洲一区二区美女| 无码 制服 丝袜 国产 另类| 免费污视频在线观看| 亚洲成人av在线电影| 国产二区视频在线| ****av在线网毛片| 欧美性猛交xxxx免费看漫画| 日本三级免费网站| 欧美成人精品三级网站| 欧美午夜视频网站| 亚洲精品成人在线播放| 精品视频在线一区| 日韩一级二级三级| 911亚洲精选| 亚洲+小说+欧美+激情+另类| 亚洲免费电影一区| 卡一卡二卡三在线观看| 色综合久久网| 精品中文字幕乱| 日韩福利片在线观看| 国产美女一区| 国产精品久久久久久久久久免费| 亚洲一线在线观看| 国产美女在线精品| 精品午夜一区二区三区| 国产98在线| 亚洲人吸女人奶水| 久久久久久久久久网| 日韩伦理三区| 欧美人体做爰大胆视频| 亚洲欧美综合视频| 免费成人网www| 日韩在线观看成人| 国产乡下妇女做爰| 日韩精品一二三区| 91久久精品一区二区别| 日本人妖在线| 亚洲欧美综合色| 久久人人爽人人爽人人av| 毛片无码国产| 欧美一区二区三区在线电影 | 99re热这里只有精品视频| 亚洲v国产v在线观看| 色呦呦呦在线观看| 在线亚洲高清视频| 性折磨bdsm欧美激情另类| 猛男gaygay欧美视频| 九九精品在线视频| 午夜精品一区二| 国产成人免费视频网站高清观看视频| 久久综合给合久久狠狠色| 天天在线视频色| 婷婷成人激情在线网| 日本 片 成人 在线| www一区二区三区| 亚洲激情在线观看视频免费| 波多野结衣欲乱| 国产精品一区亚洲| 亚洲一区久久久| 国产女人在线视频| 亚洲欧美日韩国产成人精品影院| 日本不卡在线观看视频| 嫩呦国产一区二区三区av| 亚洲丝袜一区在线| 精品美女久久久久| 国产精品1区2区| 日本一区二区精品视频| 8x8ⅹ拨牐拨牐拨牐在线观看| 欧美三级资源在线| 美国黄色一级毛片| 亚洲美女黄网| 91精品久久久久久蜜桃| 91在线直播| 色噜噜狠狠色综合中国| 7788色淫网站小说| 欧美视频久久| 91亚洲va在线va天堂va国| 色视频在线观看| 亚洲精品视频免费观看| 天天干天天爽天天射| 在线成人动漫av| 欧美一区深夜视频| 色婷婷综合视频| 亚洲第一福利视频在线| 韩国三级在线播放| 午夜国产一区二区| 国产精品一区二区三区久久久| 黄色美女网站在线观看| 黑人精品xxx一区| 欧洲一级黄色片| 中文日韩欧美| 精品视频高清无人区区二区三区| 色呦呦在线看| 亚洲精品在线网站| 日韩 国产 在线| av电影一区二区| 欧美日韩黄色一级片| 久久精品亚洲成在人线av网址| 国内成人精品视频| 色wwwwww| 色婷婷av一区二区三区大白胸| 免费看黄色的视频| 久久综合五月| 亚洲看片网站| 香蕉久久久久久| 蜜臀久久99精品久久久久久宅男| 国产精品自偷自拍| 亚洲最色的网站| 日韩成人av一区二区| 国产视频一区三区| 日韩jizzz| 亚洲综合资源| 九色91av视频| 亚洲 欧美 自拍偷拍| 色呦呦网站一区| 国产又黄又粗又猛又爽的| 另类中文字幕网| 黄色一级大片免费| 卡一精品卡二卡三网站乱码| 日韩av电影中文字幕| 永久免费在线观看视频| 欧美一区二区私人影院日本| 免费一级片在线观看| av电影在线观看完整版一区二区| 狠狠操精品视频| 先锋资源久久| 久久99欧美| 国产黄色一区| 欧美激情在线观看| 欧美另类自拍| 欧美裸体bbwbbwbbw| 日韩精品视频免费看| 国产精品欧美综合在线| xxxxwww一片| 日韩中文字幕91| 伊人久久av导航| 欧美亚洲国产日韩| 国产精品自产拍在线观看| 四虎影院观看视频在线观看| 精品亚洲一区二区| 国产内射老熟女aaaa∵| 欧美午夜激情在线| 91香蕉视频在线播放| 91视频免费播放| 99中文字幕在线| 久久福利毛片| 精品一区二区三区毛片| 在线成人动漫av| 波多野结衣久草一区| 欧美色网在线| 97福利一区二区| 免费人成在线观看播放视频| 亚洲国产精品字幕| 中文字幕av在线免费观看| 亚洲成人动漫一区| 手机在线免费看片| 国产片一区二区三区| 国产+高潮+白浆+无码| 激情小说亚洲一区| 99视频精品免费| 亚洲毛片播放| 欧洲精品在线播放| 2023国产精品久久久精品双| 日韩精品福利视频| 日韩av中文字幕一区| 69堂成人精品视频免费| 中文字幕日本一区二区| 91精品国产91久久久久福利| 性欧美ⅴideo另类hd| 中文字幕亚洲二区| 懂色av中文在线| 亚洲男人天堂2023| 性感美女视频一二三| 精品91自产拍在线观看一区| 国产高清在线免费| 欧美高清你懂得| 中文字幕一区二区三区四区免费看 | 六月婷婷色综合| 欧美精品性生活| 久久先锋资源| 成年人视频在线免费| 国产精品视区| 欧美爱爱视频免费看| 亚洲第一黄网| 成年人看的毛片| 亚洲国产裸拍裸体视频在线观看乱了中文| 99精品一区二区三区的区别| 久久大综合网| 国产精品99久久久久久大便| 婷婷综合伊人| 三年中文高清在线观看第6集| 日本不卡高清| 亚洲欧洲精品一区二区三区波多野1战4| 美女少妇全过程你懂的久久| 欧美日韩国产免费一区二区三区| 亚州av日韩av| 欧美一级二级三级九九九| 免费短视频成人日韩| 日本一区二区三区四区高清视频 | 国产麻豆视频一区| 99中文字幕在线| 国产一区二区伦理片| ass极品水嫩小美女ass| 成人午夜电影小说| 玖玖爱在线精品视频| 91小视频在线免费看| 精品无码人妻一区二区免费蜜桃| 国产欧美一二三区| 亚洲区一区二区三| 亚洲精品视频在线观看网站| 国产成人精品av久久| 福利一区福利二区微拍刺激| 亚洲 日本 欧美 中文幕| 欧美日韩久久一区二区| 999免费视频| 337p日本欧洲亚洲大胆精品| 污视频网站在线播放| 亚洲欧美一区二区三区在线 | 久久精品亚洲精品国产欧美kt∨ | 91精品国产91久久久久久吃药| 92国产精品| 国产日韩欧美在线| 欧美视频二区欧美影视| 国产一区免费在线观看| 国产aⅴ精品一区二区三区久久| 视频一区三区| 欧美精品aa| 欧美视频第一区| 国内国产精品久久| 狠狠人妻久久久久久综合蜜桃| 国产亚洲福利社区一区| 亚洲波多野结衣| 精品动漫一区二区三区| 糖心vlog精品一区二区| 日韩欧美一二三区| 欧美精品a∨在线观看不卡| 久久网福利资源网站| 九色porny视频在线观看| 国产精品一区二区久久久久| 91蝌蚪精品视频| 亚洲精品一区二区三| 在线播放日韩| 亚洲天堂网2018| 91香蕉视频在线| 国产精品久久久久久久精| 日韩欧美在线视频观看| 国产色综合视频| 国产视频精品久久久| av毛片在线免费| 日韩av电影手机在线| 成人涩涩网站| 自拍另类欧美| 丝袜美腿亚洲色图| 88av在线播放| 中文字幕亚洲欧美在线不卡| 国产无套丰满白嫩对白| 日韩午夜在线播放| 91网页在线观看| 欧美孕妇性xx| www.国产精品一区| 中文字幕中文字幕在线中一区高清| 香蕉av777xxx色综合一区| 免费黄色在线播放| 亚洲欧洲精品天堂一级| 国产精品无码粉嫩小泬| 日韩精品免费在线| 色呦呦在线视频| 成人字幕网zmw| 色999国产精品| 亚洲一二三区av| 久久综合久久久久88| 日本少妇激情舌吻| 欧美zozozo| 永久免费网站在线| 91免费欧美精品| 91精品国产调教在线观看| 中文av一区二区三区| 国产三区在线成人av| 综合网在线观看|