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

經典linux內核面試題

系統 Linux
Linux的內核鎖主要是自旋鎖和信號量。自旋鎖最多只能被一個可執行線程持有,如果一個執行線程試圖請求一個已被爭用(已經被持有)的自旋鎖,那么這個線程就會一直進行忙循環——旋轉——等待鎖重新可用。要是鎖未被爭用,請求它的執行線程便能立刻得到它并且繼續進行……

1) Linux中主要有哪幾種內核鎖?

2) Linux中的用戶模式和內核模式是什么含意?

3) 怎樣申請大塊內核內存?

4) 用戶進程間通信主要哪幾種方式?

5) 通過伙伴系統申請內核內存的函數有哪些?

6) 通過slab分配器申請內核內存的函數有?

7) Linux的內核空間和用戶空間是如何劃分的(以32位系統為例)?

8) vmalloc()申請的內存有什么特點?

9) 用戶程序使用malloc()申請到的內存空間在什么范圍?

10) 在支持并使能MMU的系統中,Linux內核和用戶程序分別運行在物理地址模式還是虛擬地址模式?

11) ARM處理器是通過幾級也表進行存儲空間映射的?

12) Linux是通過什么組件來實現支持多種文件系通的?

13) Linux虛擬文件系統的關鍵數據結構有哪些?(至少寫出四個)

14) 對文件或設備的操作函數保存在那個數據結構中?

15) Linux中的文件包括哪些?

16) 創建進程的系統調用有那些?

17) 調用schedule()進行進程切換的方式有幾種?

18) Linux調度程序是根據進程的動態優先級還是靜態優先級來調度進程的?

19) 進程調度的核心數據結構是哪個?

20) 如何加載、卸載一個模塊?

21) 模塊和應用程序分別運行在什么空間?

22) Linux中的浮點運算由應用程序實現還是內核實現?

23) 模塊程序能否使用可鏈接的庫函數?

24) TLB中緩存的是什么內容?

25) Linux中有哪幾種設備?

26) 字符設備驅動程序的關鍵數據結構是哪個?

27) 設備驅動程序包括哪些功能函數?

28) 如何唯一標識一個設備?

29) Linux通過什么方式實現系統調用?

30) Linux軟中斷和工作隊列的作用是什么?

1. Linux中主要有哪幾種內核鎖?

Linux的同步機制從2.0到2.6以來不斷發展完善。從最初的原子操作,到后來的信號量,從大內核鎖到今天的自旋鎖。這些同步機制的發展伴隨Linux從單處理器到對稱多處理器的過渡;伴隨著從非搶占內核到搶占內核的過度。Linux的鎖機制越來越有效,也越來越復雜。

Linux的內核鎖主要是自旋鎖和信號量。

自旋鎖最多只能被一個可執行線程持有,如果一個執行線程試圖請求一個已被爭用(已經被持有)的自旋鎖,那么這個線程就會一直進行忙循環——旋轉——等待鎖重新可用。要是鎖未被爭用,請求它的執行線程便能立刻得到它并且繼續進行。自旋鎖可以在任何時刻防止多于一個的執行線程同時進入臨界區。

Linux中的信號量是一種睡眠鎖。如果有一個任務試圖獲得一個已被持有的信號量時,信號量會將其推入等待隊列,然后讓其睡眠。這時處理器獲得自由去執行其它代碼。當持有信號量的進程將信號量釋放后,在等待隊列中的一個任務將被喚醒,從而便可以獲得這個信號量。

信號量的睡眠特性,使得信號量適用于鎖會被長時間持有的情況;只能在進程上下文中使用,因為中斷上下文中是不能被調度的;另外當代碼持有信號量時,不可以再持有自旋鎖。

Linux 內核中的同步機制:原子操作、信號量、讀寫信號量和自旋鎖的API,另外一些同步機制,包括大內核鎖、讀寫鎖、大讀者鎖、RCU (Read-Copy Update,顧名思義就是讀-拷貝修改),和順序鎖。

2. Linux中的用戶模式和內核模式是什么含意?

MS-DOS等操作系統在單一的CPU模式下運行,但是一些類Unix的操作系統則使用了雙模式,可以有效地實現時間共享。在Linux機器上,CPU要么處于受信任的內核模式,要么處于受限制的用戶模式。除了內核本身處于內核模式以外,所有的用戶進程都運行在用戶模式之中。

內核模式的代碼可以無限制地訪問所有處理器指令集以及全部內存和I/O空間。如果用戶模式的進程要享有此特權,它必須通過系統調用向設備驅動程序或其他內核模式的代碼發出請求。另外,用戶模式的代碼允許發生缺頁,而內核模式的代碼則不允許。

在2.4和更早的內核中,僅僅用戶模式的進程可以被上下文切換出局,由其他進程搶占。除非發生以下兩種情況,否則內核模式代碼可以一直獨占CPU:

(1) 它自愿放棄CPU;

(2) 發生中斷或異常。

2.6內核引入了內核搶占,大多數內核模式的代碼也可以被搶占。

3. 怎樣申請大塊內核內存?

在Linux內核環境下,申請大塊內存的成功率隨著系統運行時間的增加而減少,雖然可以通過vmalloc系列調用申請物理不連續但虛擬地址連續的內存,但畢竟其使用效率不高且在32位系統上vmalloc的內存地址空間有限。所以,一般的建議是在系統啟動階段申請大塊內存,但是其成功的概率也只是比較高而已,而不是100%。如果程序真的比較在意這個申請的成功與否,只能退用“啟動內存”(Boot Memory)。下面就是申請并導出啟動內存的一段示例代碼:

  1. void* x_bootmem = NULL;
  2. EXPORT_SYMBOL(x_bootmem);
  3. unsigned long x_bootmem_size = 0;
  4. EXPORT_SYMBOL(x_bootmem_size);
  5. static int __init x_bootmem_setup(char *str)
  6. {
  7. x_bootmem_size = memparse(str, &str);
  8. x_bootmem = alloc_bootmem(x_bootmem_size);
  9. printk("Reserved %lu bytes from %p for x\n", x_bootmem_size, x_bootmem);
  10. return 1;
  11. }
  12. __setup("x-bootmem=", x_bootmem_setup);

可見其應用還是比較簡單的,不過利弊總是共生的,它不可避免也有其自身的限制:

內存申請代碼只能連接進內核,不能在模塊中使用。被申請的內存不會被頁分配器和slab分配器所使用和統計,也就是說它處于系統的可見內存之外,即使在將來的某個地方你釋放了它。一般用戶只會申請一大塊內存,如果需要在其上實現復雜的內存管理則需要自己實現。在不允許內存分配失敗的場合,通過啟動內存預留內存空間將是我們唯一的選擇。

4. 用戶進程間通信主要哪幾種方式?

(1)管道(Pipe):管道可用于具有親緣關系進程間的通信,允許一個進程和另一個與它有共同祖先的進程之間進行通信。

(2)命名管道(named pipe):命名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關系進程間的通信。命名管道在文件系統中有對應的文件名。命名管道通過命令mkfifo或系統調用mkfifo來創建。

(3)信號(Signal):信號是比較復雜的通信方式,用于通知接受進程有某種事件發生,除了用于進程間通信外,進程還可以發送信號給進程本身;linux除了支持Unix早期信號語義函數sigal外,還支持語義符合Posix.1標準的信號函數sigaction(實際上,該函數是基于BSD的,BSD為了實現可靠信號機制,又能夠統一對外接口,用sigaction函數重新實現了signal函數)。

(4)消息(Message)隊列:消息隊列是消息的鏈接表,包括Posix消息隊列system V消息隊列。有足夠權限的進程可以向隊列中添加消息,被賦予讀權限的進程則可以讀走隊列中的消息。消息隊列克服了信號承載信息量少,管道只能承載無格式字節流以及緩沖區大小受限等缺

(5)共享內存:使得多個進程可以訪問同一塊內存空間,是最快的可用IPC形式。是針對其他通信機制運行效率較低而設計的。往往與其它通信機制,如信號量結合使用,來達到進程間的同步及互斥。

(6)信號量(semaphore):主要作為進程間以及同一進程不同線程之間的同步手段。

(7)套接字(Socket):更為一般的進程間通信機制,可用于不同機器之間的進程間通信。起初是由Unix系統的BSD分支開發出來的,但現在一般可以移植到其它類Unix系統上:Linux和System V的變種都支持套接字。

5. 通過伙伴系統申請內核內存的函數有哪些?

在物理頁面管理上實現了基于區的伙伴系統(zone based buddy system)。對不同區的內存使用單獨的伙伴系統(buddy system)管理,而且獨立地監控空閑頁。相應接口alloc_pages(gfp_mask, order),_ _get_free_pages(gfp_mask, order)等。

補充知識:

1.原理說明

Linux內核中采 用了一種同時適用于32位和64位系統的內 存分頁模型,對于32位系統來說,兩級頁表足夠用了,而在x86_64系 統中,用到了四級頁表。

* 頁全局目錄(Page Global Directory)

* 頁上級目錄(Page Upper Directory)

* 頁中間目錄(Page Middle Directory)

* 頁表(Page Table)

頁全局目錄包含若干頁上級目錄的地址,頁上級目錄又依次包含若干頁中間目錄的地址,而頁中間目錄又包含若干頁表的地址,每一個頁表項指 向一個頁框。Linux中采用4KB大小的 頁框作為標準的內存分配單元。

多級分頁目錄結構

1.1.伙伴系統算法

在實際應用中,經常需要分配一組連續的頁框,而頻繁地申請和釋放不同大小的連續頁框,必然導致在已分配頁框的內存塊中分散了許多小塊的 空閑頁框。這樣,即使這些頁框是空閑的,其他需要分配連續頁框的應用也很難得到滿足。

為了避免出現這種情況,Linux內核中引入了伙伴系統算法(buddy system)。把所有的空閑頁框分組為11個 塊鏈表,每個塊鏈表分別包含大小為1,2,4,8,16,32,64,128,256,512和1024個連續頁框的頁框塊。***可以申請1024個連 續頁框,對應4MB大小的連續內存。每個頁框塊的***個頁框的物理地址是該塊大小的整數倍。

假設要申請一個256個頁框的塊,先從256個頁框的鏈表中查找空閑塊,如果沒有,就去512個 頁框的鏈表中找,找到了則將頁框塊分為2個256個 頁框的塊,一個分配給應用,另外一個移到256個頁框的鏈表中。如果512個頁框的鏈表中仍沒有空閑塊,繼續向1024個頁 框的鏈表查找,如果仍然沒有,則返回錯誤。

頁框塊在釋放時,會主動將兩個連續的頁框塊合并為一個較大的頁框塊。

1.2.slab分配器

slab分配器源于 Solaris 2.4 的 分配算法,工作于物理內存頁框分配器之上,管理特定大小對象的緩存,進行快速而高效的內存分配。

slab分配器為每種使用的內核對象建立單獨的緩沖區。Linux 內核已經采用了伙伴系統管理物理內存頁框,因此 slab分配器直接工作于伙伴系 統之上。每種緩沖區由多個 slab 組成,每個 slab就是一組連續的物理內存頁框,被劃分成了固定數目的對象。根據對象大小的不同,缺省情況下一個 slab 最多可以由 1024個頁框構成。出于對齊 等其它方面的要求,slab 中分配給對象的內存可能大于用戶要求的對象實際大小,這會造成一定的 內存浪費。

2.常用內存分配函數

2.1.__get_free_pages

unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order)

__get_free_pages函數是最原始的內存分配方式,直接從伙伴系統中獲取原始頁框,返回值為***個頁框的起始地址。__get_free_pages在實現上只是封裝了alloc_pages函 數,從代碼分析,alloc_pages函數會分配長度為1<

2.2.kmem_cache_alloc

struct kmem_cache *kmem_cache_create(const char *name, size_t size

size_t align, unsigned long flags,

void (*ctor)(void*, struct kmem_cache *, unsigned long),

void (*dtor)(void*, struct kmem_cache *, unsigned long))

void *kmem_cache_alloc(struct kmem_cache *c, gfp_t flags)

kmem_cache_create/ kmem_cache_alloc是基于slab分配器的一種內存分配方式,適用于反復分配釋放同一大小內存塊的場合。首先用kmem_cache_create創建一個高速緩存區域,然后用kmem_cache_alloc從 該高速緩存區域中獲取新的內存塊。kmem_cache_alloc一次能分配的***內存由mm/slab.c文件中的MAX_OBJ_ORDER宏定義,在默認的2.6.18內核版本中,該宏定義為5,于是一次最多能申請1<<5 * 4KB也就是128KB的連續物理內存。分析內核源碼發現,kmem_cache_create函數的size參數大于128KB時會調用BUG()。測試結果驗證了分析結果,用kmem_cache_create分配超過128KB的內存時使內核崩潰。

2.3.kmalloc

void *kmalloc(size_t size, gfp_t flags)

kmalloc是內核中最常用的一種內存分配方式,它通過調用kmem_cache_alloc函數來實現。kmalloc一次最多能申請的內存大小由include/linux/Kmalloc_size.h的 內容來決定,在默認的2.6.18內核版本中,kmalloc一次最多能申請大小為131702B也就是128KB字節的連續物理內存。測試結果表明,如果試圖用kmalloc函數分配大于128KB的內存,編譯不能通過。

2.4.vmalloc

void *vmalloc(unsigned long size)

前面幾種內存分配方式都是物理連續的,能保證較低的平均訪問時間。但是在某些場合中,對內存區的請求不是很頻繁,較高的內存訪問時間也 可以接受,這是就可以分配一段線性連續,物理不連續的地址,帶來的好處是一次可以分配較大塊的內存。圖3-1表 示的是vmalloc分配的內存使用的地址范圍。vmalloc對 一次能分配的內存大小沒有明確限制。出于性能考慮,應謹慎使用vmalloc函數。在測試過程中, ***能一次分配1GB的空間。

Linux內核部分內存分布

2.5.dma_alloc_coherent

void *dma_alloc_coherent(struct device *dev, size_t size,

ma_addr_t *dma_handle, gfp_t gfp)

DMA是一種硬件機制,允許外圍設備和主存之間直接傳輸IO數據,而不需要CPU的參與,使用DMA機制能大幅提高與設備通信的 吞吐量。DMA操作中,涉及到CPU高速緩 存和對應的內存數據一致性的問題,必須保證兩者的數據一致,在x86_64體系結構中,硬件已經很 好的解決了這個問題,dma_alloc_coherent和__get_free_pages函數實現差別不大,前者實際是調用__alloc_pages函 數來分配內存,因此一次分配內存的大小限制和后者一樣。__get_free_pages分配的內 存同樣可以用于DMA操作。測試結果證明,dma_alloc_coherent函 數一次能分配的***內存也為4M。

2.6.ioremap

void * ioremap (unsigned long offset, unsigned long size)

ioremap是一種更直接的內存“分配”方式,使用時直接指定物理起始地址和需要分配內存的大小,然后將該段 物理地址映射到內核地址空間。ioremap用到的物理地址空間都是事先確定的,和上面的幾種內存 分配方式并不太一樣,并不是分配一段新的物理內存。ioremap多用于設備驅動,可以讓CPU直接訪問外部設備的IO空間。ioremap能映射的內存由原有的物理內存空間決定,所以沒有進行測試。

2.7.Boot Memory

如果要分配大量的連續物理內存,上述的分配函數都不能滿足,就只能用比較特殊的方式,在Linux內 核引導階段來預留部分內存。

2.7.1.在內核引導時分配內存

void* alloc_bootmem(unsigned long size)

可以在Linux內核引導過程中繞過伙伴系統來分配大塊內存。使用方法是在Linux內核引導時,調用mem_init函數之前 用alloc_bootmem函數申請指定大小的內存。如果需要在其他地方調用這塊內存,可以將alloc_bootmem返回的內存首地址通過EXPORT_SYMBOL導 出,然后就可以使用這塊內存了。這種內存分配方式的缺點是,申請內存的代碼必須在鏈接到內核中的代碼里才能使用,因此必須重新編譯內核,而且內存管理系統 看不到這部分內存,需要用戶自行管理。測試結果表明,重新編譯內核后重啟,能夠訪問引導時分配的內存塊。

2.7.2.通過內核引導參數預留頂部內存

在Linux內核引導時,傳入參數“mem=size”保留頂部的內存區間。比如系統有256MB內 存,參數“mem=248M”會預留頂部的8MB內存,進入系統后可以調用ioremap(0xF800000,0x800000)來申請這段內存。

3.幾種分配函數的比較

分配原理***內存其他

__get_free_pages直接對頁框進行操作4MB適用于分配較大量的連續物理內存

kmem_cache_alloc基于slab機制實現128KB適合需要頻繁申請釋放相同大小內存塊時使用

kmalloc基于kmem_cache_alloc實現128KB最常見的分配方式,需要小于頁框大小的內存時可以使用

vmalloc建立非連續物理內存到虛擬地址的映射物理不連續,適合需要大內存,但是對地址連續性沒有要求的場合

dma_alloc_coherent基于__alloc_pages實現4MB適用于DMA操 作

ioremap實現已知物理地址到虛擬地址的映射適用于物理地址已知的場合,如設備驅動

alloc_bootmem在啟動kernel時,預留一段內存,內核看不見小于物理內存大小,內存管理要求較高

原文鏈接:http://blog.csdn.net/zheng123123123123/article/details/11555081

責任編輯:牛小雨 來源: V明亮的博客
相關推薦

2025-06-18 09:01:27

Linux系統啟動系統

2016-03-03 10:07:39

ios內存管理面試總結

2024-04-15 08:34:43

2024-04-28 08:23:18

2025-08-22 10:45:57

Go字符串語言

2016-05-05 17:45:43

Spring面試題答案

2024-07-24 08:38:07

2021-06-27 22:48:28

Redis數據庫內存

2020-06-04 14:40:40

面試題Vue前端

2010-04-15 11:54:55

面試

2015-08-19 09:35:49

Java main面試題

2011-03-24 13:27:37

SQL

2025-05-29 08:10:00

Linux進程系統

2023-11-13 07:37:36

JS面試題線程

2024-04-09 08:32:58

Java面試題線程

2017-09-18 09:35:14

2015-04-22 12:19:42

JAVAJAVA面試題答案解析

2025-06-03 09:18:11

2020-11-23 07:08:17

JVM逃逸元空間

2025-05-27 08:10:00

Go數組Map
點贊
收藏

51CTO技術棧公眾號

亚洲精品久久久蜜桃| 亚洲国产电影| 91福利在线播放| 亚洲免费久久| 亚洲天堂国产精品| 女人天堂亚洲aⅴ在线观看| 国产成人久久精品77777最新版本| 欧美成人精品在线观看| 无码成人精品区在线观看| 三级在线看中文字幕完整版| 欧美国产1区2区| 亚洲在线免费看| 成人在线免费看视频| 日韩极品一区| 亚洲加勒比久久88色综合| 污污视频网站免费观看| 亚洲丝袜一区| av一区二区三区| 成人h猎奇视频网站| 日本免费一二三区| 国产精品99久久| 亚洲高清av在线| www.桃色.com| 美女高潮在线观看| 综合av第一页| 中文字幕亚洲专区| 性猛交╳xxx乱大交| 成人涩涩视频| 欧美日韩午夜激情| 国产精品大全| 自拍偷拍福利视频| 国产精品一区亚洲| 久久久久久久久久国产精品| jizz日本在线播放| 亚洲黄页网站| 亚洲成人a级网| www,av在线| 色婷婷综合久久久中字幕精品久久 | 你懂的免费在线观看| 韩国三级在线一区| 国产精品久久二区| 国产成人在线观看网站| 欧美国内亚洲| www.欧美精品| 人人妻人人澡人人爽| 奇米777国产一区国产二区| 欧美成人vr18sexvr| 国产三级生活片| 懂色aⅴ精品一区二区三区| 欧美日韩国产在线看| avove在线观看| 欧美激情二区| 国产精品久久久久影院老司| 日韩精品欧美在线| 国内精品一区视频| 久久亚洲精品小早川怜子| 国产精品一区免费观看| 亚洲欧美强伦一区二区| 国产揄拍国内精品对白| 91免费的视频在线播放| 国产精品美女一区| 精品一区二区三区在线观看| 国产日韩在线观看av| 中文字幕在线播出| 精品在线视频一区| 91丝袜美腿美女视频网站| 国产精品久久久久久久久久久久久久久久| 美女任你摸久久| 国产日韩换脸av一区在线观看| 销魂美女一区二区| 美女脱光内衣内裤视频久久网站 | 亚洲午夜久久久影院伊人| av电影在线观看网址| 国产精品网曝门| 中文字幕在线中文字幕日亚韩一区| 免费在线看黄色| 亚洲欧美日韩久久| 一本久道高清无码视频| 国产精品蜜芽在线观看| 日韩欧美在线一区| 三级在线免费看| 91精品国产一区二区在线观看| 欧美精品vⅰdeose4hd| 日批视频在线看| 卡通动漫国产精品| 亚洲色图色老头| 三级黄色免费观看| 狠狠爱成人网| 国产大片精品免费永久看nba| 中文字幕日韩国产| 国产成人精品影视| 欧美日韩在线不卡一区| 麻豆网站在线看| 香蕉乱码成人久久天堂爱免费| 37pao成人国产永久免费视频| 国产激情欧美| 精品久久久久久亚洲综合网| 国产精品亚洲无码| 婷婷综合久久| 国外色69视频在线观看| 在线视频精品免费| 国产成人精品亚洲日本在线桃色| 国产一区二区中文字幕免费看| 国产鲁鲁视频在线观看免费| 亚洲理论在线观看| 国产欧美日韩网站| 成人自拍视频网| 亚洲缚视频在线观看| 一级片久久久久| 亚洲国产网站| 成人精品一区二区三区电影黑人| 神马午夜一区二区| 国产精品国产三级国产普通话蜜臀| 妺妺窝人体色www看人体| 男人的天堂免费在线视频| 欧美日韩国产一级片| 丰满大乳奶做爰ⅹxx视频| 99re6这里只有精品| 韩国日本不卡在线| 国产三级在线观看视频| 国产欧美精品一区二区色综合朱莉| 中国 免费 av| 日韩和的一区二在线| 精品国一区二区三区| 亚洲精品一区二区三区在线播放| 性久久久久久| 国产精品一区二区免费| av网站免费在线观看| 在线观看一区二区精品视频| 亚洲精品中文字幕在线播放| 日韩欧美高清在线播放| 日本韩国在线不卡| 网站黄在线观看| 亚洲综合在线第一页| 在线观看国产福利| 不卡一区2区| 欧美有码在线观看| 亚洲 美腿 欧美 偷拍| 一区二区三区四区高清精品免费观看 | 在线成人国产| 91国产丝袜在线放| 久久精品视频观看| 欧美老女人第四色| 国产欧美小视频| 蜜臀av性久久久久av蜜臀妖精| 免费久久99精品国产自| 超碰在线cao| 亚洲成色777777在线观看影院| 国产精品久久久久久久精| 久久精品久久99精品久久| 无遮挡亚洲一区| 日韩欧美一区二区三区在线观看| 亚洲无av在线中文字幕| 蜜臀精品一区二区三区| 久久色视频免费观看| 久久精品午夜福利| 国产精品美女久久久久久不卡| 97在线观看视频国产| 五月婷婷综合久久| 精品久久久久久| 性色av蜜臀av色欲av| 亚洲自啪免费| 欧美一进一出视频| 国产亚洲一区二区手机在线观看 | 阿v天堂2014| 日本免费新一区视频| 亚洲精品一区二区三区樱花| 日韩成人精品一区二区三区| 久久精品电影一区二区| 亚洲精品国产精品国自| 日本伊人色综合网| youjizz.com亚洲| 香蕉成人app| 国外视频精品毛片| 青青草手机在线| 欧美系列亚洲系列| 日本少妇高清视频| 99久久免费精品高清特色大片| 啊啊啊一区二区| 欧美日韩中字| 7777精品伊久久久大香线蕉语言| 波多野结依一区| 亚洲网站在线播放| 99热这里是精品| 欧美日韩免费区域视频在线观看| 国产伦理片在线观看| 激情综合网av| 国产人妻777人伦精品hd| 久久不卡国产精品一区二区| 91啪国产在线| 欧洲久久久久久| av资源网在线观看| 日韩写真欧美这视频| 日本在线视频免费| 欧美韩国日本一区| 99riav国产精品视频| 校园激情久久| 精品嫩模一区二区三区| 亚洲欧洲美洲国产香蕉| 成人信息集中地欧美| 国产传媒在线| 色婷婷久久一区二区| 免费a视频在线观看| 欧洲色大大久久| 麻豆成人在线视频| 国产亚洲一二三区| 国产成人av片| 日本不卡中文字幕| 国产免费黄色一级片| 日韩在线第七页| 精品中文字幕一区| 日韩免费成人| 国产精品爽爽ⅴa在线观看| 青青草原av在线| 中文字幕免费精品一区高清| 色婷婷av一区二区三区之e本道| 欧美日本在线视频| 成年人av网站| 午夜电影一区二区| 久久久久久福利| 中文字幕亚洲区| 久久久久久久久久久国产精品| 国产福利一区二区三区在线视频| 国产91色在线观看| 天堂蜜桃一区二区三区| av免费观看大全| 欧美日一区二区在线观看 | 奇米视频7777| 狂野欧美一区| 久久国产精品视频在线观看| 亚洲va在线| 一级做a爰片久久| 国产综合久久久| 九九九九精品| 成人午夜三级| 97se亚洲综合在线| 韩国一区二区三区视频| 国产日本欧美视频| 不卡亚洲精品| 国产精品第1页| 日韩免费电影| 全球成人中文在线| 伊人久久视频| 欧洲成人午夜免费大片| 毛片在线网站| 青青草国产精品一区二区| 黄色在线网站噜噜噜| 午夜精品久久久久久久99黑人| 秋霞在线午夜| 久久男人资源视频| 国产亚av手机在线观看| 欧美日韩ab片| 国产蜜臀一区二区打屁股调教| 色综合色综合久久综合频道88| 超碰免费公开在线| 欧美国产亚洲视频| 黑人玩欧美人三根一起进| 久久久久免费精品国产| av在线私库| 欧美一级视频在线观看| 亚洲女同av| 国产91色在线|| 国产激情欧美| 亚洲japanese制服美女| 日本超碰一区二区| 国产精品一区二区三区精品 | 日韩电影网在线| 日韩三级电影网| 亚洲欧美激情精品一区二区| 国产福利在线看| 精品国产欧美一区二区三区成人| av免费在线网站| 91国内在线视频| www.久久.com| 亚洲伊人一本大道中文字幕| 午夜电影一区| 久久影视中文粉嫩av| 精品盗摄女厕tp美女嘘嘘| 亚洲一区二区三区涩| 欧美激情第二页| 国产 福利 在线| 免费av网站大全久久| 永久免费看片在线观看| 91丨国产丨九色丨pron| 在线观看免费小视频| 亚洲卡通动漫在线| 800av免费在线观看| 欧美亚洲高清一区二区三区不卡| 国产日韩精品suv| 日韩福利在线播放| 久久bbxx| 欧美最顶级丰满的aⅴ艳星| 国产精品高清一区二区| 久久99精品久久久久久久久久| 日韩欧美一区免费| 亚洲 欧美 日韩 国产综合 在线| 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲精品a区| 欧美精品一区在线| 中文字幕一区二区三区欧美日韩 | 亚洲国产精品成人av| 成年人在线视频免费观看| 欧美激情亚洲激情| 成人免费一区| 九九久久99| 一本一道久久a久久精品蜜桃 | 手机在线免费看毛片| 欧美视频在线免费看| 999久久久久| 国产一区二区三区在线观看网站| 日本高清成人vr专区| 国产精品久在线观看| 国内精品偷拍| 成年人免费观看的视频| 久久亚洲色图| 影音先锋黄色资源| 一区二区三区中文在线观看| av片免费观看| 亚洲精品mp4| 黄网站在线观| 亚洲aaa激情| 国产精品久久久久久久久久10秀 | 色吧亚洲日本| 国产高清精品一区二区三区| 天天色天天射综合网| www.超碰com| 久久久噜噜噜久久中文字幕色伊伊 | 日韩欧美黄色| 欧美视频在线观看视频| 国产一区二区不卡在线| www成人啪啪18软件| 色8久久精品久久久久久蜜| 亚洲av成人无码久久精品老人| 欧美国产日韩一区二区三区| 日本少妇精品亚洲第一区| 在线观看亚洲视频啊啊啊啊| 蜜臀av性久久久久蜜臀av麻豆 | 亚洲美女屁股眼交| 一二三四区在线| 中文日韩在线视频| 日韩一区二区三区免费| 欧美日韩亚洲免费| 久久av一区| 亚洲av综合一区二区| 欧美性xxxx极品高清hd直播| 亚洲日本在线播放| **欧美日韩vr在线| 首页亚洲中字| 亚洲国产精品久久久久爰色欲| 91性感美女视频| 97久久久久久久| 亚洲精品一区二区三区婷婷月| 深夜在线视频| 欧洲精品一区色| 免费一级欧美片在线观看| 亚洲黄色网址大全| 欧美狂野另类xxxxoooo| 国产精品刘玥久久一区| 亚洲xxx大片| 黄色av一区| 中文文字幕文字幕高清| 欧美性黄网官网| 国产露出视频在线观看| 成人免费网站在线| 欧美日韩国产探花| 亚洲一区二区三区无码久久| 欧美日韩视频免费播放| h视频在线观看免费| 国产日本欧美一区二区三区| 欧美 日韩 国产一区二区在线视频| 少妇献身老头系列| 黑人巨大精品欧美一区二区免费| 精品电影在线| 国产色视频一区| 红桃视频国产精品| 久操视频免费看| 欧美久久久久中文字幕| 欧美日韩色网| 蜜桃久久影院| 久久精品99国产国产精| 国产亚洲精品成人| 亚洲视频在线观看免费| 成人国产精品久久| 日本欧美视频在线观看| 国产欧美一区二区三区在线老狼| 一区二区三区精彩视频| 欧美一级黄色片| 国产不卡123| 亚洲欧洲一区二区在线观看| 国产成人精品www牛牛影视| 男人日女人网站| 久久在线视频在线| 亚洲动漫在线观看| 在线成人精品视频| 色综合久久久久综合99| 在线视频国产区| 日韩福利视频| 成人性生交大片免费看中文 | 精品国产日本| 毛片av一区二区三区|