日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Binder机制(一)

發布時間:2025/5/22 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Binder机制(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

binder的介紹:

由于不同的進程不可以直接互相訪問,所以需要一些機制來確保進程間能夠通信,在linxu中,有以下幾種:
1.管道(Pipe)及有名管道(named pipe):管道可用于具有親緣關系進程間的通信,有名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關系進程間的通信。
2.信號(Signal):信號是比較復雜的通信方式,用于通知接受進程有某種事件發生,除了用于進程間通信外,進程還可以發送信號給進程本身;linux除了支持Unix早期信號語義函數sigal外,還支持語義符合Posix.1標準的信號函數sigaction(實際上,該函數是基于BSD的,BSD為了實現可靠信號機制,又能夠統一對外接口,用sigaction函數重新實現了signal函數);
3.報文(Message)隊列(消息隊列):消息隊列是消息的鏈接表,包括Posix消息隊列system V消息隊列。有足夠權限的進程可以向隊列中添加消息,被賦予讀權限的進程則可以讀走隊列中的消息。消息隊列克服了信號承載信息量少,管道只能承載無格式字節流以及緩沖區大小受限等缺點。
4.共享內存:使得多個進程可以訪問同一塊內存空間,是最快的可用IPC形式。是針對其他通信機制運行效率較低而設計的。往往與其它通信機制,如信號量結合使用,來達到進程間的同步及互斥。
5.信號量(semaphore):主要作為進程間以及同一進程不同線程之間的同步手段。
6.套接口(Socket):更為一般的進程間通信機制,可用于不同機器之間的進程間通信。起初是由Unix系統的BSD分支開發出來的,但現在一般可以移植到其它類Unix系統上:Linux和System V的變種都支持套接字。
上面幾點來源于:https://www.ibm.com/developerworks/cn/linux/l-ipc/
基于上面的各種機制及手機的應用場景,安卓采用binder機制來實現進程間的共享機制。

根據(Aleksandar Gargenta)描述,安卓出于安全性、穩定性和內存管理的目的,android的應用和系統服務需要運行在分離的進程中,但是它們之間需要通訊和共享數據,但同時也要滿足以下幾點:

  • 安全性:每一個進程就是一個沙盒,運行在一個不同的系統標識中。
  • 穩定性:如果一個進程失常(例如:崩潰),它不影響其它的進程。
  • 內存管理:“不需要”的進程會被移除,為新的釋放資源(主要是內存)。
  • 事實上,一個單獨的Android應用可以讓它的組件運行在不同的進程中。
    那安卓為什么會采用binder機制,而不用其他的機制呢?那就是基于binder機制以下幾點:
  • 線程遷移:遠程對象可以像本地的一樣調用自動管理線程池方法;“跳轉”到其它的進程中;同步和異步(單向)的調用模式。
  • 分辨發送者和接受者(通過UID/PID)- 對于安全很重要。
  • 獨特的跨進程邊界對象映射。
  • 一個遠程對象的引用可以傳遞到的另外的進程中,并且可以用作一個標志令牌。
  • 各個進程之間發送文件描述符的能力。
  • 簡單的Android接口定義語言(AIDL)。
  • 內置支持很多編組的常見數據類型。
  • 通過自動生成的代理和存根簡化事務調用模型(只有Java)。
  • 跨進程遞歸 – 例如:當調用本地對象上的方法時就跟遞歸的語義一樣。
  • 如果客戶端和服務器運行在同樣的進程中,就會是本地執行模式(不是IPC數據信號編集)。
    不過binder也存在以下的缺陷:
  • 不支持RPC(只有本地).
  • 客戶端與服務之間是基于消息的通信 – 不適合流.
  • 沒有被POSIX或任何其他標準定義.

binder的初步分析:

采用binder驅動協議,其客戶端(binder client)和服務器端(binder sever)進程間通信的過程,大概如圖:

其術語如下:
Binder (Framework):所有的IPC架構。
Binder Driver:內核級別的驅動,處理各個進程之間的通信。
Binder Protocol:底層協議(基于ioctl),用于與Binder驅動通信。
IBinder Interface:定義良好的行為(例如:方法),Binder對象必須實現。
AIDL:Android接口定義語言,用于描述IBinder接口的業務操作。
Binder (Object):通用IBinder接口的實現。
Binder Token:一個抽象的32位數值,在系統的所有進程中唯一的標識一個Binder對象.
Binder Service:真正實現Binder(對象)的業務操作.
Binder Client:一個對象,使用Binder服務提供的行為.
Binder Transaction:遠程Binder對象調用一個行為(例如:一個方法),基于Binder協議,可能涉及發送、接受的數據.
Parcel:"可以在IBinder中發送消息的容器(數據和對象的引用)",事務處理的數據單元——一個用作流出請求,另一個用作流入.
Marshalling:將高級的應用程序數據結構(例如:請求、響應參數)轉化成parcel對象的過程,目的是將它們嵌套進Binder的事務中.
Unmarshalling:將Binder事務中獲取到的parcel對象重構成高級應用的數據結構的過程(例如:請求、響應參數).
Proxy:一個AIDL接口的實現,編組、解組數據,映射調用事務的方法,將一個封裝的IBinder引用指向Binder對象.
Stub:一個AIDL接口局部的實現,當編組/解組數據時,映射事務到Binder Service調用.
Context Manager:一個特殊的已知處理的Binder對象,被用作為其它Binder注冊、查詢.
從上次寫的內存管理了解到,用內存映射可以提高文件傳輸效率,具體介紹可以參考下面的博客:
http://blog.csdn.net/xuguoli_beyondboy/article/details/50153145
android系統中,我們常常需要獲得由servicemanager管理的系統服務如:WindowService,WiFiService等等,但從上面我們了解到應用程序和服務是獨立在各個進程運行,因此應用程序肯定要頻繁發送數據給服務或從服務得到數據,由于是不同進程的通訊,其應用程序不能直接訪問服務數據,因此android用基于binder驅動的內存映射方式來實現這效果并且提高效率,其數據通信如圖:

拷貝過程:

  • Client將數據從用戶空間傳輸到Binder驅動;
  • Binder驅動將第1步得到的數據拷貝到Service通過mmap申請得到的那塊物理空間;
  • Binder驅動將第2步得到的物理空間對應的虛擬地址傳遞給Service的用戶空間;
  • Service的用戶空間通過Binder驅動傳遞過來的虛擬地址來訪問Client傳輸過來的數據。
    注:整個過程只有第2步是需要拷貝數據的,這也是Binder進程間通信機制的精華所在。
  • 這樣只對數據進行一次拷貝就完成了進程間的數據交換,從而大大了提高了客戶端和服務端的數據交互效率。
    Linux中的字符設備通常要經過alloc_chrdev_region(),cdev_init()等一系列操作才能在內核中注冊自己,而misc類型驅動則相對簡單,只需要調用misc_register()就可以輕松解決。
    binder.c(commondriversandroidbinder.c)與驅動相關的源碼:

    static struct miscdevice binder_miscdev = {//動態分配次設備號.minor = MISC_DYNAMIC_MINOR,.name = "binder",//驅動名稱.fops = &binder_fops//Binder驅動支持的文件操作 }; //binder提供給上層應用操作文件的接口 static const struct file_operations binder_fops = {.owner = THIS_MODULE,.poll = binder_poll,.unlocked_ioctl = binder_ioctl,//IO設備操作管理.compat_ioctl = binder_ioctl,.mmap = binder_mmap,.open = binder_open,.flush = binder_flush,.release = binder_release, };

    當上層進層在訪問Binder驅動時,首先就需要打開/dev/binder節點,這個操作最終的實現是在binder_open()中。
    源碼:

    //Binder驅動為用戶創建一個它自己的binder_proc實體,之后用戶對Binder設備的操作將以這個對象為基礎 static int binder_open(struct inode *nodp, struct file *filp) {struct binder_proc *proc;binder_debug(BINDER_DEBUG_OPEN_CLOSE, "binder_open: %d:%d\n",current->group_leader->pid, current->pid);proc = kzalloc(sizeof(*proc), GFP_KERNEL);//分配空間if (proc == NULL)return -ENOMEM;get_task_struct(current);proc->tsk = current;INIT_LIST_HEAD(&proc->todo);//進程任務鏈表init_waitqueue_head(&proc->wait);//進程等待鏈表proc->default_priority = task_nice(current);//初始化優先級binder_lock(__func__);//獲取鎖binder_stats_created(BINDER_STAT_PROC);//binder_stats是binder中的統計載體數據載體hlist_add_head(&proc->proc_node, &binder_procs);//將proc加入到binder_procs的隊列頭部proc->pid = current->group_leader->pid;//進程IDINIT_LIST_HEAD(&proc->delivered_death);filp->private_data = proc;//將這個proc與filp關聯起來,這樣下次通過filp就能找到這個procbinder_unlock(__func__);//解除鎖if (binder_debugfs_dir_entry_proc) {char strbuf[11];snprintf(strbuf, sizeof(strbuf), "%u", proc->pid);proc->debugfs_entry = debugfs_create_file(strbuf, S_IRUGO,binder_debugfs_dir_entry_proc, proc, &binder_proc_fops);}return 0; }

    初始化完成之后,就需要把一塊拿來共享的內存塊映射到用戶進程中,其函數是mmap(),它會返回指向該塊內存的虛擬地址,關于虛擬地址和物理地址轉換,可以參考我之前寫的一篇博客:
    http://blog.csdn.net/xuguoli_beyondboy/article/details/50153145
    源碼:

    //內存映射 static int binder_mmap(struct file *filp, struct vm_area_struct *vma) {int ret;struct vm_struct *area;//內核的虛擬地址,而vm_area_struct *vma表示用戶的虛擬地址struct binder_proc *proc = filp->private_data;//進程結構體const char *failure_string;//失敗字符記錄struct binder_buffer *buffer//它表示要映射的物理內存在內核空間的起始位置if (proc->tsk != current)return -EINVAL;//最大虛擬內存為4Mif ((vma->vm_end - vma->vm_start) > SZ_4M)vma->vm_end = vma->vm_start + SZ_4M;binder_debug(BINDER_DEBUG_OPEN_CLOSE,"binder_mmap: %d %lx-%lx (%ld K) vma %lx pagep %lx\n",proc->pid, vma->vm_start, vma->vm_end,(vma->vm_end - vma->vm_start) / SZ_1K, vma->vm_flags,(unsigned long)pgprot_val(vma->vm_page_prot));//是否禁止了mmapif (vma->vm_flags & FORBIDDEN_MMAP_FLAGS) {ret = -EPERM;failure_string = "bad vm_flags";goto err_bad_arg;}vma->vm_flags = (vma->vm_flags | VM_DONTCOPY) & ~VM_MAYWRITE;mutex_lock(&binder_mmap_lock);//獲取鎖//判斷進程是否做過映射if (proc->buffer) {ret = -EBUSY;failure_string = "already mapped";goto err_already_mapped;}//獲取空閑的物理內存映射到內核的虛擬地址area = get_vm_area(vma->vm_end - vma->vm_start, VM_IOREMAP);if (area == NULL) {ret = -ENOMEM;failure_string = "get_vm_area";goto err_get_vm_area_failed;}proc->buffer = area->addr;//映射后的虛擬地址//它表示的是內核使用的虛擬地址與進程使用的虛擬地址之間的差值,即如果某個物理頁面在內核空間中對應的虛擬地址是addr的話,//那么這個物理頁面在進程空間對應的虛擬地址就為addr + user_buffer_offset。proc->user_buffer_offset = vma->vm_start - (uintptr_t)proc->buffer;mutex_unlock(&binder_mmap_lock); #ifdef CONFIG_CPU_CACHE_VIPTif (cache_is_vipt_aliasing()) {while (CACHE_COLOUR((vma->vm_start ^ (uint32_t)proc->buffer))) {pr_info("binder_mmap: %d %lx-%lx maps %p bad alignment\n", proc->pid, vma->vm_start, vma->vm_end, proc->buffer);vma->vm_start += PAGE_SIZE;}} #endif//僅分配頁page數組的空間proc->pages = kzalloc(sizeof(proc->pages[0]) * ((vma->vm_end - vma->vm_start) / PAGE_SIZE), GFP_KERNEL);if (proc->pages == NULL) {ret = -ENOMEM;failure_string = "alloc page array";goto err_alloc_pages_failed;}proc->buffer_size = vma->vm_end - vma->vm_start;vma->vm_ops = &binder_vm_ops;vma->vm_private_data = proc;//來為虛擬地址空間分配一個空閑的物理頁內存if (binder_update_page_range(proc, 1, proc->buffer, proc->buffer + PAGE_SIZE, vma)) {ret = -ENOMEM;failure_string = "alloc small buf";goto err_alloc_small_buf_failed;}//將內核和用戶進程虛擬內存聯系起來buffer = proc->buffer;INIT_LIST_HEAD(&proc->buffers);//插入到已經維護已經被分配的列表中list_add(&buffer->entry, &proc->buffers);buffer->free = 1;//此內存可用//插入到維護空閑物理內存的紅黑樹中binder_insert_free_buffer(proc, buffer);proc->free_async_space = proc->buffer_size / 2;barrier();proc->files = get_files_struct(current);proc->vma = vma;proc->vma_vm_mm = vma->vm_mm;/*pr_info("binder_mmap: %d %lx-%lx maps %p\n",proc->pid, vma->vm_start, vma->vm_end, proc->buffer);*/return 0;err_alloc_small_buf_failed:kfree(proc->pages);proc->pages = NULL; err_alloc_pages_failed:mutex_lock(&binder_mmap_lock);vfree(proc->buffer);proc->buffer = NULL; err_get_vm_area_failed: err_already_mapped:mutex_unlock(&binder_mmap_lock); err_bad_arg:pr_err("binder_mmap: %d %lx-%lx %s failed %d\n",proc->pid, vma->vm_start, vma->vm_end, failure_string, ret);return ret;}//分配物理內存,映射到內核和用戶進程的虛擬地址中 static int binder_update_page_range(struct binder_proc *proc, int allocate,void *start, void *end,struct vm_area_struct *vma) {void *page_addr;//物理內存頁地址unsigned long user_page_addr;//用戶頁的虛擬地址struct vm_struct tmp_area;//內核的虛擬地址struct page **page;//指向物理頁的頁指針struct mm_struct *mm;binder_debug(BINDER_DEBUG_BUFFER_ALLOC,"%d: %s pages %p-%p\n", proc->pid,allocate ? "allocate" : "free", start, end);if (end <= start)return 0;trace_binder_update_page_range(proc, allocate, start, end);if (vma)mm = NULL;elsemm = get_task_mm(proc->tsk);if (mm) {down_write(&mm->mmap_sem);vma = proc->vma;if (vma && mm != proc->vma_vm_mm) {pr_err("%d: vma mm and task mm mismatch\n",proc->pid);vma = NULL;}}if (allocate == 0)goto free_range;if (vma == NULL) {pr_err("%d: binder_alloc_buf failed to map pages in userspace, no vma\n",proc->pid);goto err_no_vma;}for (page_addr = start; page_addr < end; page_addr += PAGE_SIZE) {int ret;struct page **page_array_ptr;page = &proc->pages[(page_addr - proc->buffer) / PAGE_SIZE];BUG_ON(*page);//分配頁的物理空間*page = alloc_page(GFP_KERNEL | __GFP_HIGHMEM | __GFP_ZERO);if (*page == NULL) {pr_err("%d: binder_alloc_buf failed for page at %p\n",proc->pid, page_addr);goto err_alloc_page_failed;}//初始化內核的虛擬地址及將物理內存映射到內核的虛擬地址tmp_area.addr = page_addr;tmp_area.size = PAGE_SIZE + PAGE_SIZE /* guard page? */;page_array_ptr = page;ret = map_vm_area(&tmp_area, PAGE_KERNEL, &page_array_ptr);if (ret) {pr_err("%d: binder_alloc_buf failed to map page at %p in kernel\n",proc->pid, page_addr);goto err_map_kernel_failed;}//將物理內存映射到用戶進程的虛擬地址user_page_addr =(uintptr_t)page_addr + proc->user_buffer_offset;ret = vm_insert_page(vma, user_page_addr, page[0]);if (ret) {pr_err("%d: binder_alloc_buf failed to map page at %lx in userspace\n",proc->pid, user_page_addr);goto err_vm_insert_page_failed;}/* vm_insert_page does not seem to increment the refcount */}if (mm) {up_write(&mm->mmap_sem);mmput(mm);}return 0;free_range:for (page_addr = end - PAGE_SIZE; page_addr >= start;page_addr -= PAGE_SIZE) {page = &proc->pages[(page_addr - proc->buffer) / PAGE_SIZE];if (vma)zap_page_range(vma, (uintptr_t)page_addr +proc->user_buffer_offset, PAGE_SIZE, NULL); err_vm_insert_page_failed:unmap_kernel_range((unsigned long)page_addr, PAGE_SIZE); err_map_kernel_failed:__free_page(*page);*page = NULL; err_alloc_page_failed:;} err_no_vma:if (mm) {up_write(&mm->mmap_sem);mmput(mm);}return -ENOMEM; }

    這節初步介紹用戶進程和內核是如何共享一塊物理內存,這也大概了解用戶進程如何和數據內核交互數據。
    參考資料:
    http://blog.csdn.net/Luoshengyang/article/details/6621566
    http://events.linuxfoundation.org/images/stories/slides/abs2013_gargentas.pdf
    https://www.ibm.com/developerworks/cn/linux/l-ipc/

    總結

    以上是生活随笔為你收集整理的Binder机制(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    免费在线观看亚洲视频 | 黄色毛片一级片 | 日本久久免费视频 | 国产亚州精品视频 | 日韩免费看的电影 | 久久av影视| 91精品在线免费 | 九九热久久久 | 91精品1区 | 国产99在线播放 | 美女又爽又黄 | 国产裸体bbb视频 | 丁香婷婷在线 | 欧美成人精品欧美一级乱 | 国产精品久久久久久久久久尿 | 精品免费视频123区 午夜久久成人 | 草莓视频在线观看免费观看 | 人人爽人人爽人人爽学生一级 | www.黄色网.com | 五月婷婷影视 | 黄色av免费看 | 99视频| 日本成址在线观看 | 插婷婷 | 国产激情电影综合在线看 | 久久久这里有精品 | 97人人模人人爽人人少妇 | 免费a v在线| 日韩在线观看视频网站 | 日韩专区一区二区 | 国产美女免费视频 | 在线看岛国av | 久久久久久欧美二区电影网 | 国产91在| 久久久久99精品成人片三人毛片 | 中文字幕在线看片 | 国产免费高清视频 | 日韩中文字幕视频在线观看 | 国内丰满少妇猛烈精品播放 | 国产色就色 | 午夜天使 | 99看视频在线观看 | 黄a网站 | 亚洲狠狠 | 四虎国产精品免费观看视频优播 | 成年人视频在线免费播放 | 免费观看av网站 | 日日日爽爽爽 | 一级性生活片 | 97在线公开视频 | 射射射综合网 | 天天干天天操人体 | 毛片一级免费一级 | 国产伦精品一区二区三区无广告 | 午夜久久精品 | 在线电影日韩 | 国产午夜在线观看视频 | 81精品国产乱码久久久久久 | 久久久国产99久久国产一 | 粉嫩aⅴ一区二区三区 | 四虎最新入口 | 亚洲午夜剧场 | 久久国内精品 | 国产中文字幕在线视频 | 国产精品麻豆99久久久久久 | 麻豆系列在线观看 | 96精品视频 | 欧美日韩在线免费观看视频 | 亚洲天堂色婷婷 | 五月婷婷爱| 国产在线精品一区二区不卡了 | 日韩精品一区二区免费视频 | wwwwww国产| 在线免费观看黄色 | 中文字幕免费一区 | 99久久婷婷国产 | 96在线| 久久艹在线| 亚洲精品xxx| 黄av资源| 日本黄色免费播放 | av 一区 二区 久久 | 亚洲伦理中文字幕 | 久久精品一区二区三区中文字幕 | 97免费公开视频 | 亚洲精品免费在线视频 | 天堂中文在线视频 | 一区二区三区四区久久 | 国产精品毛片久久久久久久 | 西西大胆免费视频 | 欧美在线18 | 亚洲国产一区二区精品专区 | 日韩在线免费播放 | 精品av在线播放 | 国产成人精品av在线 | 色搞搞| 精品久久久久久国产偷窥 | 97激情影院 | www.com.日本一级| 99在线精品视频观看 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 中文字幕亚洲国产 | 日韩黄色大片在线观看 | 日韩精品最新在线观看 | 亚洲成人欧美 | 日韩视频专区 | 色天天综合久久久久综合片 | 欧美色插 | 日日爽视频 | 国产精品2019 | 久久香蕉国产精品麻豆粉嫩av | 国产色爽 | 992tv人人草 黄色国产区 | 一级免费黄视频 | 在线观看免费一级片 | 午夜色大片在线观看 | 天天插日日射 | 人人玩人人添人人澡超碰 | 91亚洲在线 | 黄色软件网站在线观看 | 久久蜜臀一区二区三区av | 五月天婷婷在线观看视频 | 日日夜夜干 | 激情视频在线高清看 | 婷婷日 | 99热在线观看 | 成人中文字幕在线观看 | 黄色91在线观看 | .国产精品成人自产拍在线观看6 | 欧美一级免费高清 | 激情久久久久 | 免费a网址 | 亚洲精品无 | 日日碰狠狠躁久久躁综合网 | 日日碰狠狠添天天爽超碰97久久 | 日韩在线二区 | 一级欧美黄 | 国产美腿白丝袜足在线av | 久久免费视频这里只有精品 | 国产精品第7页 | 国产免费一区二区三区网站免费 | 操操操日日 | 国产精品女人久久久久久 | 成人在线黄色电影 | 91九色视频在线 | 国产高清精品在线观看 | 精品国产一区二区三区av性色 | av观看久久久 | 激情综合色图 | 区一区二在线 | 国产精品99免视看9 国产精品毛片一区视频 | 国产日产精品久久久久快鸭 | 人人揉人人揉人人揉人人揉97 | 久久久久色| 国产录像在线观看 | 99在线热播 | 久草在线免费色站 | 亚洲欧洲国产精品 | 久要激情网 | 黄色成人91 | 91视频高清 | 天天se天天cao天天干 | 亚洲香蕉在线观看 | 久久久99精品免费观看 | 色噜噜狠狠色综合中国 | 精品久久国产一区 | 国产色女 | 最新91在线视频 | 349k.cc看片app | 午夜av免费观看 | 不卡在线一区 | 久久神马影院 | 亚洲精品在线视频播放 | 成人动漫精品一区二区 | 97精品在线观看 | 91精品小视频 | 国产视频精品免费播放 | 中文字幕精品一区二区精品 | 黄网站免费大全入口 | 中文字幕国语官网在线视频 | 欧洲一区二区在线观看 | 亚洲成人网在线 | 人人爽人人香蕉 | 国产成人免费精品 | 国产免费午夜 | 成年人免费观看国产 | www.国产在线视频 | 黄网站色欧美视频 | 1024久久 | 天天天射| 国产精品高潮在线观看 | www.黄色片网站 | 免费毛片一区二区三区久久久 | 色激情在线 | 天天色天天射天天操 | 可以免费观看的av片 | 国产亚洲精品久 | 成人国产精品一区二区 | 免费看毛片在线 | 99视频免费在线观看 | 国产精品毛片一区二区在线看 | 国产成人av综合色 | 国产高清av免费在线观看 | 岛国av在线免费 | 色 免费观看 | 福利区在线观看 | 免费在线观看国产精品 | 久久久久北条麻妃免费看 | 久久婷婷亚洲 | 久久久久久久久国产 | wwwav视频 | 顶级bbw搡bbbb搡bbbb | 久久久精品二区 | 狂野欧美激情性xxxx | 欧美91精品久久久久国产性生爱 | 日韩高清无线码2023 | www91在线| 欧美黄色特级片 | 处女av在线| 手机av片 | 欧美成人按摩 | 97av精品| 成人在线网站观看 | 又爽又黄又无遮挡网站动态图 | 激情婷婷亚洲 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 久久久久久美女 | 久久综合狠狠综合 | 国产美女视频免费 | 九九久久视频 | 国产99久久九九精品免费 | 精品亚洲男同gayvideo网站 | 成人一区二区在线 | 精品欧美在线视频 | 人人爽人人爽人人爽人人爽 | 久久免费观看少妇a级毛片 久久久久成人免费 | 欧美性天天 | 免费在线观看黄 | 免费在线观看亚洲视频 | 91高清完整版在线观看 | 国内外成人免费在线视频 | 日韩精品视频在线观看网址 | 免费黄色在线网址 | 久久久免费在线观看 | 久久亚洲美女 | 综合婷婷 | 成人蜜桃网 | 热久久视久久精品18亚洲精品 | 在线成人小视频 | 日韩激情视频 | 久久不射电影网 | 操高跟美女 | 天天操夜 | www在线观看国产 | 中文字幕 在线看 | 国产精品99久久久久久久久久久久 | 亚洲国产精品第一区二区 | 日日干天天 | 在线最新av | 99精品在线视频播放 | 日韩av片无码一区二区不卡电影 | av三级在线免费观看 | 麻豆影视网 | 国产精品免费在线播放 | 精品嫩模福利一区二区蜜臀 | 日本 在线 视频 中文 有码 | 中文字幕一区二区三区四区在线视频 | 日韩黄色网络 | 最新av电影网站 | 日日干网址 | 最近中文字幕在线中文高清版 | 久久久免费精品 | 一级α片 | 精品91久久久久 | 最近高清中文字幕 | 久久综合久久综合九色 | 天天天色综合 | 九色在线| 亚洲国产精品电影 | 国产日产在线观看 | 国产精品9999久久久久仙踪林 | 精品国产乱码久久久久久三级人 | 亚洲视频精品在线 | 91中文字幕在线播放 | 一区二区中文字幕在线 | 日韩在线观看影院 | 国产剧情亚洲 | 91中文字幕永久在线 | 中文字幕在线观看资源 | 久久久久久激情 | 在线观看成人 | 久久久在线观看 | 亚洲人成在线观看 | 国产亚洲精品电影 | 亚洲国产婷婷 | 最近中文字幕免费 | 91黄色在线视频 | 久久精品视频在线 | 五月激情婷婷丁香 | 国产精品99久久久久人中文网介绍 | 久草在线最新免费 | 精品av在线播放 | 欧美-第1页-屁屁影院 | 亚洲精品www久久久 www国产精品com | 免费v片| 日本高清中文字幕有码在线 | 丁香六月婷婷综合 | 亚洲欧美日韩国产精品一区午夜 | 亚洲一级电影在线观看 | 国产一区二区在线免费观看 | 久久久麻豆视频 | 久久免费精品一区二区三区 | 毛片网站免费在线观看 | 天天操天天摸天天爽 | 欧美孕妇与黑人孕交 | 波多野结依在线观看 | 欧美精品国产综合久久 | 在线电影日韩 | 日韩三级中文字幕 | 日本xxxxav| 国产精品成人品 | 最新av在线免费观看 | 欧美久久影院 | 日日操夜夜操狠狠操 | 国产精品国产三级在线专区 | 丁香婷婷激情五月 | 91高清完整版在线观看 | 久久国产精品99久久人人澡 | 国产不卡精品视频 | 91精品系列 | 在线精品视频免费播放 | 日韩在线高清 | 一区二区视频播放 | 欧美综合在线视频 | 最近中文字幕高清字幕免费mv | 看片的网址 | 六月丁香六月婷婷 | 亚洲影视资源 | 久久免费电影网 | 欧美精品亚洲二区 | 国产精品麻豆免费版 | 久久人人爽人人人人片 | 天天色天天射天天干 | 一区 在线观看 | 九九日韩 | 激情久久婷婷 | wwwwww国产 | 激情中文在线 | 超级碰碰碰视频 | .国产精品成人自产拍在线观看6 | 日韩欧美一区二区三区在线 | 久久久久99精品成人片三人毛片 | 干干夜夜 | 久久久www成人免费精品张筱雨 | 在线看一级片 | 国产精品资源在线 | a级国产乱理伦片在线观看 亚洲3级 | 日韩高清免费无专码区 | 国产精品视频永久免费播放 | 日韩区欠美精品av视频 | 一区二区三区视频 | 日本精品一二区 | 国产亲近乱来精品 | 国产美女免费视频 | 午夜免费福利片 | 色综合久久久久综合99 | 国产精品九九视频 | 亚洲午夜精品一区二区三区电影院 | 亚洲精品视频在线观看免费视频 | 一区二区精品视频 | 久草视频在线资源站 | 久久久久久麻豆 | 91一区二区三区久久久久国产乱 | 亚洲精品美女在线 | 日韩精品免费一区二区三区 | 天天干天天搞天天射 | 欧美不卡视频在线 | 欧美专区日韩专区 | 日本不卡一区二区 | 少妇资源站 | 亚洲码国产日韩欧美高潮在线播放 | 97国产精品久久 | 91看片在线播放 | 永久免费精品视频网站 | 97精品国产97久久久久久久久久久久 | 天天操天 | 国内精品久久久久久 | av高清一区二区三区 | 亚洲一二三区精品 | 中文字幕人成乱码在线观看 | 天天操·夜夜操 | 久久久久国产精品一区二区 | 免费黄av | 麻豆91精品91久久久 | 日韩电影在线观看一区 | 五月婷婷.com | 国产伦精品一区二区三区在线 | 特级毛片网 | 国产一区二区成人 | 91激情视频在线播放 | 天天干天天射天天操 | 91av原创 | 久久这里 | 国产精品理论片在线观看 | 日日精品| 91麻豆精品国产91久久久久久久久 | 在线观看久 | 日本高清dvd | 中文在线免费视频 | 国产在线观看你懂得 | 国内精品久久久久影院优 | 久久人人爽人人片av | 久久精品网| 日韩中文字幕免费视频 | 五月天高清欧美mv | 一区二区精品在线视频 | 国产系列在线观看 | 午夜丁香视频在线观看 | 波多野结衣视频一区 | 丁香av| 久久久免费看视频 | 精品一区二区影视 | 五月天亚洲激情 | 午夜视频播放 | 深夜免费福利网站 | 91大神dom调教在线观看 | 精品一区久久 | 久久综合九色综合97婷婷女人 | 天天搞天天干天天色 | 丁香婷婷激情五月 | 国产一级特黄电影 | 美女福利视频 | 91大神免费视频 | 中文字幕在线一区观看 | 亚洲精品videossex少妇 | 欧美日韩3p | 国产专区精品视频 | 久久久高清免费视频 | 亚洲精品视频在线观看视频 | 国产99久久精品一区二区300 | 亚洲三级国产 | 国产精品精品国产色婷婷 | 久久视讯 | 麻豆av电影 | 免费黄色网址网站 | av免费观看网站 | 精品字幕 | 欧美午夜a| 欧美日韩精品影院 | 午夜电影一区 | 亚洲国产一区在线观看 | 国产自在线观看 | 在线欧美最极品的av | 中文字幕免费高清在线观看 | 9热精品 | 久久女同性恋中文字幕 | 日韩免费视频网站 | 久久69精品久久久久久久电影好 | 黄色a在线观看 | 国产自产高清不卡 | 亚洲成人av电影在线 | 欧美性大战久久久久 | a天堂最新版中文在线地址 久久99久久精品国产 | 免费av在 | 中文字幕日韩高清 | 久久久免费看片 | 一区二区三区免费看 | 亚洲成人频道 | 国产成人在线一区 | 成人蜜桃 | 一级黄网 | 超碰在线99 | 日韩一区二区在线免费观看 | 天天激情综合网 | 成人网444ppp | 精品久久久一区二区 | 在线电影 一区 | 久久9999久久免费精品国产 | a在线播放 | 日韩视频免费观看高清 | 日韩精品免费一区二区三区 | 国产生活一级片 | av日韩中文| 亚州精品在线视频 | 欧美日韩综合在线观看 | av福利电影 | 人人爽人人爽人人片av | 99精品在线免费视频 | 日韩在线网址 | 国产视频 亚洲精品 | 又黄又爽又色无遮挡免费 | 最近日本字幕mv免费观看在线 | 久久久国产视频 | 婷婷激情影院 | 免费观看mv大片高清 | 午夜在线国产 | 免费视频 三区 | 夜夜干夜夜 | 亚洲午夜精品久久久久久久久 | 亚洲无吗天堂 | 欧美精品xxx| 91精品在线免费观看 | 久久午夜网 | 午夜久久影院 | 麻豆视传媒官网免费观看 | 91污视频在线 | 少妇av片 | 日韩精品免费 | 欧美久久久久久久久 | 3d黄动漫免费看 | 日本性高潮视频 | 色综合天天色综合 | 国产破处在线视频 | 在线免费观看视频 | 成年人看片 | 婷婷四房综合激情五月 | 国产视| 亚洲激情影院 | 成人免费在线看片 | 久久久久久久久久久影院 | 在线观看视频一区二区三区 | 久久三级视频 | 一区二区三区日韩在线 | 久久爱导航| 97精品国产一二三产区 | 91精品国产麻豆国产自产影视 | 草莓视频在线观看免费观看 | 国产精品热视频 | 日韩一区二区在线免费观看 | 1024手机基地在线观看 | 久草久草在线 | 九九热精品在线 | 九九久久影视 | 亚洲精品视频在线免费 | 婷婷丁香五 | 免费日韩 精品中文字幕视频在线 | 一区二区视频免费在线观看 | 日日婷婷夜日日天干 | 99免费在线观看 | 久久国产精品精品国产色婷婷 | 国产精品一区二区三区观看 | www.色午夜.com | 久久兔费看a级 | 国产亚洲精品久久久久久移动网络 | 激情五月婷婷激情 | 久久er99热精品一区二区三区 | 黄色的网站免费看 | 欧美日韩久 | 久久99婷婷 | 91av大全 | av电影在线观看完整版一区二区 | 亚洲精品国产精品国自产观看浪潮 | 亚洲精品美女在线观看播放 | av成年人电影 | 色多多视频在线观看 | 丁香六月天 | 免费国产ww| 97精品视频在线 | 成人av网站在线播放 | aaa日本高清在线播放免费观看 | 国产精品一区二区三区在线看 | 91精品视频在线免费观看 | 成人va视频| 国产精品视频专区 | 天天艹 | 成av在线| 久久99国产精品免费 | 97香蕉超级碰碰久久免费软件 | www视频在线免费观看 | 欧美黑人巨大xxxxx | 国产精品美女久久久久久2018 | 91亚洲精品乱码久久久久久蜜桃 | 日韩99热| 黄色一区二区在线观看 | 天天插天天狠 | 国产黄色片一级三级 | 婷婷网站天天婷婷网站 | 99精品偷拍视频一区二区三区 | 97国产情侣爱久久免费观看 | 久久久久久高潮国产精品视 | 91久久久国产精品 | 久久久久国产视频 | 99久久影视 | 狠狠躁夜夜躁人人爽视频 | 99久久精品视频免费 | 欧美激情xxxx性bbbb | 狠狠色丁香婷婷综合久小说久 | 日韩网 | 91麻豆精品国产91久久久无限制版 | 亚洲乱码国产乱码精品天美传媒 | 欧美日韩国产精品一区二区三区 | 在线观看中文av | 欧美91视频 | 91免费网站在线观看 | 不卡的av在线播放 | 中文字幕在线日 | 九九九九九九精品 | 亚洲乱码久久久 | 日日干天天操 | 国产大陆亚洲精品国产 | 最新国产中文字幕 | 婷婷久久网站 | 一级黄色片毛片 | 色姑娘综合网 | 成人午夜精品 | 久久精品一级片 | 成人午夜电影网站 | 黄网站污| 碰超在线 | 久久中文字幕在线视频 | 久久久影片| 国产精品久久久久久久久久尿 | 精品中文字幕在线播放 | 不卡的av在线播放 | 免费在线观看黄色网 | 天天综合色| 日日碰夜夜爽 | 国产免费视频一区二区裸体 | 91日韩精品视频 | 国产精品毛片一区二区 | 久久综合综合久久综合 | 香蕉视频网站在线观看 | 国产精品久久人 | 91丨九色丨首页 | 国产一区二区高清 | 波多野结衣一区二区 | 一区二区不卡在线观看 | 亚洲人视频在线 | av观看网站 | 亚洲黄色免费观看 | 91视频91蝌蚪 | 国产99久久九九精品免费 | 超碰.com| 国产免费久久av | 午夜久久久久久久 | 亚洲精品成人在线 | 成人av观看| 三级黄色网络 | 成人黄色在线电影 | 国内精品久久久久久久97牛牛 | 久久公开视频 | 狠狠狠色丁香婷婷综合久久五月 | 国产高清视频免费最新在线 | 91热爆视频| 亚洲成av人影院 | 波多野结衣亚洲一区二区 | 五月婷社区 | 中文字幕在线观看91 | 久久久久久久久久免费视频 | av黄色在线观看 | 国产在线一区观看 | 久久久精品 一区二区三区 国产99视频在线观看 | www.国产高清 | 日韩精品在线视频 | 久草香蕉在线 | 在线观看国产麻豆 | 久久免费美女视频 | 在线观看的av网站 | 国产亚洲视频中文字幕视频 | 九九精品视频在线观看 | www.综合网.com| 国产精品自产拍 | 久久久国际精品 | 99视频在线免费观看 | 超碰国产在线 | 精品中文字幕视频 | 在线婷婷 | 日韩精品视频在线观看网址 | 天堂网一区二区三区 | 免费观看www7722午夜电影 | 91av中文| 久久超碰97| 九九九在线观看视频 | 亚洲成人精品在线 | 99久久影视 | av看片网址| 亚洲视频axxx| 精品在线免费观看 | 日韩精品在线免费播放 | 麻豆国产精品一区二区三区 | 白丝av免费观看 | 特级毛片网站 | 日韩免费 | 国产日韩在线观看一区 | 五月天最新网址 | 精品福利av| 在线观看精品一区 | 国产精品成人自产拍在线观看 | 久久6精品 | 色人久久 | 色婷婷综合久久久久 | 免费黄色网址大全 | 丁香网五月天 | 欧美精品一区二区在线观看 | 综合天堂av久久久久久久 | 91黄色视屏| 久久精品视频播放 | 欧美一性一交一乱 | 亚洲我射av| 正在播放日韩 | 激情丁香5月 | 一区二区三区四区在线免费观看 | 免费a级大片 | 欧美性春潮| 婷婷色网址 | 韩国一区二区av | 中文字幕一区二区三区四区久久 | 韩国精品一区二区三区六区色诱 | 四虎www | 日韩免费不卡av | 最新动作电影 | 欧美一级黄色网 | 婷婷久久久| 国产亚洲精品久久久久动 | 伊人影院得得 | 日韩在线视频免费看 | 国产视频1 | 亚洲精品国产区 | 久草在线资源观看 | 激情久久综合 | 黄色在线视频网址 | 国模视频一区二区三区 | 一级免费黄色 | 国内免费久久久久久久久久久 | 国产精品入口a级 | 久久91久久久久麻豆精品 | 男女啪啪网站 | 在线视频日韩欧美 | 奇米网777| 黄色大全视频 | 日韩激情视频在线观看 | 中文字幕在线国产精品 | 欧美一区,二区 | 国产福利在线免费 | 伊人在线视频 | 黄网站www| 久久国产免费 | 欧美激情精品久久久 | 超碰在线资源 | 亚洲国产精品推荐 | 国产精品av免费 | 激情综合一区 | 亚洲成人资源在线观看 | 在线观看中文字幕网站 | 狠狠网站| 免费在线一区二区 | 久久亚洲福利视频 | 日韩综合在线观看 | 欧美日韩超碰 | 麻豆成人精品视频 | 午夜精品久久久久久久99热影院 | 国产中文视 | 天天插一插 | 日韩精品91偷拍在线观看 | 久久黄色成人 | 在线观看视频免费播放 | 久久精品一二三区 | 久久免费99 | 日本mv大片欧洲mv大片 | www久久国产| 成人在线免费av | 欧美激情另类文学 | 2022中文字幕在线观看 | 91视频成人免费 | 久久系列 | 中文字幕成人av | 91最新中文字幕 | 精品久久一 | 欧美一级片在线观看视频 | 91热视频在线观看 | 欧美性精品 | 欧美精品在线观看一区 | 婷婷五天天在线视频 | 日韩在线观看不卡 | 欧美精品久久久久久久亚洲调教 | 五月婷丁香网 | 激情综合网五月激情 | 在线看日韩av | 亚洲一区 av | 国产精品亚州 | 国产精品18久久久久久久久久久久 | 欧美精品一区二区在线播放 | 91九色最新地址 | 国产 欧美 日产久久 | 免费午夜在线视频 | 国产精品一区二区三区视频免费 | 青青河边草免费观看完整版高清 | 日韩国产欧美在线播放 | 九九国产视频 | 91精品国产福利在线观看 | 伊人狠狠色丁香婷婷综合 | 日韩高清国产精品 | 久久久91精品国产一区二区精品 | 美女福利视频网 | 欧美日韩在线观看视频 | 久久久网址| 91chinese在线| 97人人超碰在线 | 在线观看国产福利片 | 啪啪资源 | 精品在线免费观看 | 精品久久久久久综合 | 国内视频1区 | 在线视频精品播放 | 中文十次啦 | 三级av免费 | 91麻豆精品国产自产在线游戏 | 6699私人影院 | 激情深爱五月 | 免费看的黄色录像 | www.狠狠 | 日韩午夜大片 | 亚洲一级片免费观看 | 少妇bbw搡bbbb搡bbb | 久久久久精 | 成片免费观看视频 | 亚洲一级黄色大片 | 热久精品| 在线观看免费视频你懂的 | 亚洲 欧美 精品 | 国产精品video爽爽爽爽 | 久久精品伊人 | 国产 色 | 激情视频国产 | 水蜜桃亚洲一二三四在线 | 精品自拍网 | 摸bbb搡bbb搡bbbb | 精品中文字幕在线观看 | 99久久这里只有精品 | 国产97在线视频 | 精品欧美在线视频 | 狠狠色噜噜狠狠狠狠2022 | 黄色在线观看污 | 天天综合入口 | 色综合www| 天天玩夜夜操 | 69久久久久久久 | 97国产精品视频 | 亚洲伦理电影在线 | 日本在线视频一区二区三区 | 国产国产人免费人成免费视频 | 射射色 | 欧美肥妇free | 韩国精品一区二区三区六区色诱 | 久久国产精品第一页 | 欧美成人亚洲成人 | 国产一区二区三区四区在线 | 中文字幕视频一区 | 久久国内精品视频 | 日韩免费不卡av | 欧美专区国产专区 | 国产小视频91| 久久男人免费视频 | 国产成人777777 | .国产精品成人自产拍在线观看6 | 激情视频综合网 | 久久这里| 国产免费三级在线观看 | aaa毛片视频 | 色99中文字幕 | 中文字幕在线观看一区二区三区 | av免费黄色 | 日韩成人av在线 | 免费看片日韩 | 免费观看mv大片高清 | 一区二区三区不卡在线 | 中文字幕视频观看 | 日韩欧美视频免费在线观看 | av片一区 | 国产专区欧美专区 | 国产精品嫩草影院123 | 精品国内自产拍在线观看视频 | 精品一区电影国产 | 天天插狠狠插 | 国产福利91精品 | 手机看片国产 | 最新精品国产 | 人人澡人摸人人添学生av | 亚洲香蕉在线观看 | 96亚洲精品久久久蜜桃 | 在线视频久 | 国产一级在线观看视频 | 精品视频在线播放 | 91网站观看 | 最新av网站在线观看 | 亚洲综合视频在线 | 亚洲精品国偷自产在线91正片 | 国内精品久久久久国产 | 看毛片网站 | www久| 在线观看视频在线观看 | 天天激情站| 中文在线最新版天堂 | 91av电影| 激情图片qvod | 国产视频中文字幕 | 美女久久久久久久久久 | 久久久久五月 | 日韩h在线观看 | 午夜国产一区 | 国产精品18久久久久久不卡孕妇 | 日韩专区在线播放 | 欧美一级专区免费大片 | 精品uu | 国产美女永久免费 | 久久高清国产视频 | 蜜桃视频日韩 | 久久黄色a级片 | 最新久久免费视频 | 在线观看日韩免费视频 | 一区二区三区在线免费观看视频 | 91成熟丰满女人少妇 | 亚洲国产日韩在线 | 黄色免费高清视频 | 国产区在线看 | 国产高清绿奴videos | 中文字幕乱码亚洲精品一区 | 狠狠激情中文字幕 | 黄色视屏在线免费观看 | 国产精品区在线观看 | 日韩电影久久久 | 狠狠插狠狠操 | 久久精品久久精品 | 狠狠色丁香久久婷婷综合丁香 | 欧美色图亚洲图片 | 四虎成人精品永久免费av | 国产在线视频一区 | 日韩欧在线 | 99久久99久久精品免费 | 欧美日韩高清一区二区 | 国产精品大全 | 天天干天天干天天干天天干天天干天天干 | 欧美日韩一区二区在线观看 | 亚洲人成人天堂h久久 | 欧美精品一区二区性色 | 国产视频一区二区三区在线 | 日韩av中文在线观看 | 亚洲精品在线国产 | 9999国产| 丁香婷婷射 | 精品亚洲一区二区 | 国产精品 国产精品 | 国产精品日韩在线播放 | 久久成人综合视频 | 国产98色在线 | 日韩 | 久草视频播放 | 久久人人看 | 日韩手机视频 | 亚洲一级电影 | 天天玩天天干天天操 | 精品福利av | 9999精品视频 | 国产在线观看免费av | 国产97在线视频 | 在线精品观看国产 | 国产精品99久久免费黑人 | 91精品一区二区在线观看 | 久草免费福利在线观看 | 国产精品久久久久久69 | 亚洲高清久久久 | 免费在线中文字幕 | 在线成人一区 | 亚洲高清网站 | 人人澡视频 | 在线观看视频免费播放 | 午夜久草 | 成人欧美日韩国产 | 亚洲一区二区三区四区在线视频 | 中文字幕在线看视频国产中文版 | 中文在线字幕免费观看 | 国产精品第72页 | 免费污片| 毛片一区二区 | 超碰在线免费97 | 伊人婷婷色 | 久久久国产精品成人免费 | 一区二区不卡 | 亚洲黄污| 亚洲 成人 欧美 | 欧美日韩综合在线观看 | 97视频免费观看2区 亚洲视屏 | 国产免费观看av | 亚洲欧洲国产日韩精品 | www.超碰97.com| 国产精品自产拍在线观看蜜 | 国产成人精品亚洲a | 国产激情免费 | 狠狠色狠狠色合久久伊人 | 丁香五香天综合情 | 欧美日韩在线观看一区二区三区 | 成人网色| 欧洲av在线 | 亚洲精品美女在线 | 国产免费不卡av | 亚洲电影图片小说 | 久久精品视频在线 | 午夜精品一区二区三区在线视频 | 中文字幕在线看视频 |