• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    可調(diào)試的信號(hào)量PV原語(yǔ)快速實(shí)現(xiàn)方法

    2022-05-30 02:48:20魏星
    電腦知識(shí)與技術(shù) 2022年31期
    關(guān)鍵詞:信號(hào)量同步生產(chǎn)者

    摘要:為解決操作系統(tǒng)原理教材中同步互斥經(jīng)典算法驗(yàn)證問(wèn)題,提出了一種線程級(jí)可調(diào)試的信號(hào)量PV原語(yǔ)快速代碼實(shí)現(xiàn)方法。利用該方法對(duì)經(jīng)典的簡(jiǎn)單生產(chǎn)者-消費(fèi)者同步問(wèn)題的偽代碼算法進(jìn)行了C語(yǔ)言編程演示。通過(guò)演示說(shuō)明了該方法代碼短小且可在多種操作系統(tǒng)下調(diào)試運(yùn)行。

    關(guān)鍵詞:信號(hào)量;PV原語(yǔ);同步;互斥;生產(chǎn)者-消費(fèi)者問(wèn)題

    中圖分類(lèi)號(hào):TP316 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

    文章編號(hào):1009-3044(2022)31-0090-03

    1 概述

    操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)的核心和靈魂,進(jìn)程是操作系統(tǒng)中最基本最重要的概念[1]。進(jìn)程實(shí)現(xiàn)了并發(fā)多任務(wù),多任務(wù)的同步互斥問(wèn)題是操作系統(tǒng)原理課程的難點(diǎn),對(duì)應(yīng)用軟件多任務(wù)設(shè)計(jì)具有指導(dǎo)意義。信號(hào)量(semaphore) 是荷蘭計(jì)算機(jī)科學(xué)家Dijkstra在1965年提出的同步工具,是一種變量類(lèi)型,有兩個(gè)分量:一個(gè)是信號(hào)量的值,另一個(gè)是信號(hào)量隊(duì)列。該類(lèi)變量?jī)H能由同步原語(yǔ)PV對(duì)其進(jìn)行操作,PV原語(yǔ)具有原子性。信號(hào)量是操作系統(tǒng)實(shí)現(xiàn)進(jìn)程同步的經(jīng)典機(jī)制,也是操作系統(tǒng)類(lèi)課程中的最常用的同步機(jī)制[1-2]。PV原語(yǔ)的算法邏輯簡(jiǎn)單,但是能夠靈活控制任務(wù)狀態(tài)的變化,廣泛應(yīng)用在解決多任務(wù)速度匹配和資源調(diào)度問(wèn)題中。尤其是對(duì)生產(chǎn)者-消費(fèi)者問(wèn)題、理發(fā)師問(wèn)題都有基于信號(hào)量和PV原語(yǔ)的成熟解決算法。

    在操作系統(tǒng)類(lèi)課程中基于信號(hào)量和PV原語(yǔ)解決經(jīng)典同步問(wèn)題時(shí),不能直接進(jìn)行簡(jiǎn)潔代碼演示,只能使用偽代碼進(jìn)行算法表述,結(jié)果由推理獲得。由于偽代碼沒(méi)有明確標(biāo)準(zhǔn),讀者只能遵循經(jīng)典教材的使用范例,但經(jīng)典教材的風(fēng)格也不統(tǒng)一。如在南大版費(fèi)翔林和北大版陳向群的教材中信號(hào)量使用的是P操作和V操作,而在同樣廣泛使用的西電版湯小丹的教材中信號(hào)量使用的是Wait操作和Signal操作[3] 。由于相同問(wèn)題可能會(huì)有不同版本的偽代碼描述,偽代碼不能直接運(yùn)行輸出結(jié)果,容易導(dǎo)致算法難以理解。

    目前操作系統(tǒng)原理教學(xué)中逐步引入了多任務(wù)實(shí)驗(yàn),實(shí)現(xiàn)方法有基于Java線程類(lèi)方法、Linux+SystemV信號(hào)量方法[4]、基于Windows API的進(jìn)程方法[5]。這些方法雖然能夠?qū)崿F(xiàn)多任務(wù)的同步與互斥,但涉及了較多的編程新概念,代碼冗長(zhǎng),需要較復(fù)雜的編程環(huán)境支持。大量非關(guān)鍵的概念和函數(shù),不利于突出信號(hào)量和PV原語(yǔ)的作用。C語(yǔ)言作為普通高校程序設(shè)計(jì)基礎(chǔ)的必修課,同時(shí)也是操作系統(tǒng)實(shí)現(xiàn)的主要語(yǔ)言,具有很好的跨平臺(tái)特性,基于C語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供可調(diào)試運(yùn)行的信號(hào)量和PV原語(yǔ)具有一定的意義。

    2 實(shí)現(xiàn)方法

    現(xiàn)代操作系統(tǒng)中引入了線程概念。線程是輕量級(jí)的進(jìn)程,是操作系統(tǒng)的可被調(diào)度和分派的基本單位。多線程環(huán)境中進(jìn)程可以分為兩部分:資源集合和線程集合。由于同一進(jìn)程中的多線程會(huì)競(jìng)爭(zhēng)處理器資源,或運(yùn)行中出現(xiàn)等待輸入輸出事件,故線程狀態(tài)也有運(yùn)行態(tài)、就緒態(tài)、等待和終止態(tài)。經(jīng)典進(jìn)程同步問(wèn)題就可以轉(zhuǎn)換為線程同步問(wèn)題,解決進(jìn)程同步問(wèn)題的基于PV原語(yǔ)算法可以在線程同步問(wèn)題中來(lái)模擬實(shí)現(xiàn)。

    線程實(shí)現(xiàn)方法分為內(nèi)核級(jí)線程,如Windows 2003;用戶(hù)級(jí)線程,如POSIX中的Pthread庫(kù)、Java線程庫(kù);混合式線程,如Solaris 。內(nèi)核級(jí)線程需要內(nèi)核調(diào)試環(huán)境,配置非常復(fù)雜。用戶(hù)級(jí)線程在用戶(hù)應(yīng)用程序中可以被編程管理,只需要普通的應(yīng)用程序編程環(huán)境。用戶(hù)級(jí)線程庫(kù)在多種編程語(yǔ)言環(huán)境中有相關(guān)庫(kù)或類(lèi)支持,如C語(yǔ)言、Java語(yǔ)言、C#語(yǔ)言等。C語(yǔ)言作為操作系統(tǒng)和系統(tǒng)庫(kù)的主要實(shí)現(xiàn)語(yǔ)言,在編制相關(guān)的多任務(wù)同步演示程序上具有一定的優(yōu)勢(shì)。由于多任務(wù)同步演示環(huán)境需要考慮在Windows平臺(tái)和Unix平臺(tái)上的實(shí)現(xiàn),需要注意消除兩種系統(tǒng)中實(shí)現(xiàn)源代碼的差異性。雖然Java語(yǔ)言、C#語(yǔ)言本身具有跨平臺(tái)的實(shí)現(xiàn),但是集成開(kāi)發(fā)編程環(huán)境龐大(一般大于1GB) ,不如純粹的GNU C語(yǔ)言開(kāi)發(fā)環(huán)境簡(jiǎn)潔,集成GNU C編譯器的DEV C++集成開(kāi)發(fā)環(huán)境安裝包只有50MB左右。

    POSIX(Portable Operating System Interface,縮寫(xiě)為POSIX) 翻譯為可移植操作系統(tǒng)接口,是IEEE為要在各種UNIX操作系統(tǒng)上運(yùn)行軟件,而定義API的一系列互相關(guān)聯(lián)的標(biāo)準(zhǔn)的總稱(chēng)。Pthread庫(kù)是實(shí)現(xiàn)了POSIX線程規(guī)范的一套API,POSIX的信號(hào)量API可以和Pthread協(xié)同工作。Pthread庫(kù)一般用于Unix-like POSIX 系統(tǒng),如Linux、Solaris,在Microsoft Windows上也有實(shí)現(xiàn),具有源代碼級(jí)的可移植性。由于Pthread庫(kù)可在用戶(hù)空間實(shí)現(xiàn),在通用操作系統(tǒng)上均能夠比較方便獲得。因此可以采用一定的封裝技術(shù),在通用操作系統(tǒng)上實(shí)現(xiàn)信號(hào)量和PV原語(yǔ)。

    具體方法是使用線程實(shí)現(xiàn)多任務(wù),利用Pthread提供的sem_t信號(hào)量實(shí)現(xiàn)傳統(tǒng)的信號(hào)量,sem_t信號(hào)量的操作模擬為PV原語(yǔ)。為了減少類(lèi)型和函數(shù)名稱(chēng)的差異帶來(lái)的誤解,引入自定義數(shù)據(jù)類(lèi)型和宏定義進(jìn)行封裝。使用C語(yǔ)言自定義類(lèi)型將Pthread庫(kù)中的sem_t類(lèi)型修改為semaphore類(lèi)型,使用宏定義機(jī)制將sem_wait函數(shù)模擬P操作,sem_post函數(shù)模擬V操作,sem_init函數(shù)對(duì)信號(hào)量進(jìn)行初始化。

    #define ?P(S) ?(sem_wait(S))

    #define ?V(S) ?(sem_post(S))

    typedef ?sem_t ?semaphore;

    經(jīng)過(guò)基本封裝后,PV原語(yǔ)變成兩個(gè)普通的C語(yǔ)言函數(shù),可以直接使用。信號(hào)量semaphore 變成一種自定義數(shù)據(jù)類(lèi)型,利用Pthread多線程替代進(jìn)程模擬多任務(wù)。

    sem_t是Pthread庫(kù)中的自定義union數(shù)據(jù)類(lèi)型,通過(guò)源代碼分析實(shí)際為一個(gè)整數(shù),和經(jīng)典的信號(hào)量定義相似。由于具體實(shí)現(xiàn)中,sem_t變量不能直接賦值,需要通過(guò)函數(shù)sem_init進(jìn)行賦值,信號(hào)量的初始值為sem_init中的第3個(gè)參數(shù)。sem_wait 是Pthread庫(kù)中的一個(gè)函數(shù),功能和經(jīng)典的P操作定義相似,在線程中被定義為一個(gè)原子操作,它的作用是從信號(hào)量的值減1,但它會(huì)先等待該信號(hào)量為一個(gè)非零值才開(kāi)始做減法。sem_post是Pthread庫(kù)中的一個(gè)函數(shù),功能和經(jīng)典的V操作定義相似,在線程中被定義為一個(gè)原子操作,它的作用是信號(hào)量的值加1。這兩個(gè)函數(shù)都是用sem_t 型參數(shù)。C語(yǔ)言中宏定義機(jī)制能夠?yàn)樽兞炕蛘吆瘮?shù)取別名,通過(guò)把sem_t轉(zhuǎn)換為semaphore,把sem_wait轉(zhuǎn)換為P操作,把sem_post轉(zhuǎn)換為V操作,能夠提高代碼的可閱讀性。

    3 算法轉(zhuǎn)換與應(yīng)用

    PV原語(yǔ)是解決經(jīng)典多任務(wù)同步問(wèn)題的有效工具,下面結(jié)合經(jīng)典的簡(jiǎn)單生產(chǎn)者—消費(fèi)者同步問(wèn)題將偽代碼進(jìn)行可調(diào)試運(yùn)行代碼轉(zhuǎn)換。簡(jiǎn)單生產(chǎn)者-消費(fèi)者問(wèn)題是生產(chǎn)者-消費(fèi)者問(wèn)題的特例,即只共享單個(gè)緩沖區(qū),不需要使用緩沖區(qū)互斥操作。典型的簡(jiǎn)單生產(chǎn)者-消費(fèi)者問(wèn)題偽代碼解法如圖1所示[1]。該問(wèn)題解法利用信號(hào)量和PV原語(yǔ)實(shí)現(xiàn)同步。Producer表示生產(chǎn)者任務(wù),Consumer表示消費(fèi)者任務(wù),兩個(gè)任務(wù)共用一個(gè)緩沖區(qū)。生產(chǎn)者和消費(fèi)者是并發(fā)執(zhí)行,兩個(gè)任務(wù)的同步邏輯是緩沖區(qū)為空時(shí)消費(fèi)者需要等待生產(chǎn)者,緩沖區(qū)滿(mǎn)時(shí)生產(chǎn)者需要等待消費(fèi)者。

    在上述偽代碼的解法中,編號(hào)①的部分進(jìn)行緩沖區(qū)B和信號(hào)量的初始化,此處empty的值為1,full的初值為0。編號(hào)②部分由cobegin和coend組成,表示包裹的代碼任務(wù)將并發(fā)執(zhí)行,此處說(shuō)明建立了producer和consumer任務(wù)。編號(hào)③部分producer是生產(chǎn)者任務(wù)實(shí)現(xiàn)代碼,PV原語(yǔ)用于實(shí)現(xiàn)對(duì)緩沖區(qū)B的同步。編號(hào)④部分consumer是消費(fèi)者任務(wù)實(shí)現(xiàn)代碼,PV原語(yǔ)用于實(shí)現(xiàn)對(duì)緩沖區(qū)B的同步。信號(hào)量empty和full的初值和P操作的順序都有嚴(yán)格規(guī)定,但是偽代碼不能直觀看出由于初值和順序調(diào)整引起的執(zhí)行結(jié)果變化。利用Pthread和封裝的信號(hào)量PV原語(yǔ),對(duì)應(yīng)C語(yǔ)言代碼如下圖2所示。為了方便對(duì)比說(shuō)明,將實(shí)現(xiàn)代碼進(jìn)行了重新編排。

    圖2的左上①部分描述了如何構(gòu)造PV原語(yǔ),基于C語(yǔ)言的宏定義有利于得到和偽代碼一致的描述。圖2的右上部分②完成信號(hào)量的初始化和任務(wù)的創(chuàng)建,信號(hào)量的初始值通過(guò)特定函數(shù)進(jìn)行設(shè)置,任務(wù)創(chuàng)建后與主進(jìn)程一起運(yùn)行。其中pthread_create函數(shù)功能是創(chuàng)建線程并立即參與調(diào)度,pthread_join用來(lái)等待一個(gè)特定線程的結(jié)束,sem_init實(shí)現(xiàn)對(duì)信號(hào)量值的初始化。圖2的下半部分③ producer描述了生產(chǎn)者的算法實(shí)現(xiàn),循環(huán)執(zhí)行P操作實(shí)現(xiàn)等待緩沖區(qū)為空,生產(chǎn)產(chǎn)品,然后通知消費(fèi)者消費(fèi);圖2下半部分④ consumer描述了消費(fèi)者的算法實(shí)現(xiàn),循環(huán)執(zhí)行等待緩沖區(qū)有產(chǎn)品,消費(fèi)產(chǎn)品,通知生產(chǎn)者生產(chǎn)。其中關(guān)鍵的P操作V操作位置、empty和full信號(hào)量的初值和偽代碼描述一致。代碼中添加的sleep函數(shù)用于模擬生產(chǎn)者和消費(fèi)者執(zhí)行時(shí)間不一致,同時(shí)sleep函數(shù)調(diào)用會(huì)主動(dòng)觸發(fā)任務(wù)進(jìn)入阻塞狀態(tài),便于更好體現(xiàn)線程調(diào)度的作用。使用有限次數(shù)for循環(huán)代替無(wú)限while循環(huán)是為了觀察分析輸出結(jié)果。

    該問(wèn)題解決方法的代碼長(zhǎng)度可控制到50行,與偽代碼有較好的對(duì)應(yīng)關(guān)系,并可以靈活修改。在Ubuntu Linux 14+GCC 4.2環(huán)境下和Windows 7/8/10 + Dev Cpp V5.0 開(kāi)發(fā)環(huán)境均能夠正常運(yùn)行。輸出結(jié)果如圖3所示為交替輸出生產(chǎn)和消費(fèi)值。在代碼中生產(chǎn)者的任務(wù)執(zhí)行時(shí)間和消費(fèi)者任務(wù)執(zhí)行時(shí)間雖然不一致,但是通過(guò)合理地使用信號(hào)量和PV原語(yǔ),仍然實(shí)現(xiàn)了生產(chǎn)—消費(fèi)同步約束邏輯,即緩沖區(qū)空時(shí)才能執(zhí)行生產(chǎn)任務(wù),緩沖區(qū)滿(mǎn)時(shí)才能執(zhí)行消費(fèi)任務(wù),結(jié)果符合生產(chǎn)者—消費(fèi)者問(wèn)題信號(hào)量同步算法的預(yù)期。

    由于本方法是由C語(yǔ)言程序?qū)崿F(xiàn),可以通過(guò)修改源代碼方式對(duì)信號(hào)量設(shè)置不同的初值,以及修改PV原語(yǔ)的位置能夠獲得多種輸出,通過(guò)信號(hào)量和PV原語(yǔ)算法進(jìn)行推導(dǎo)解釋。比如對(duì)同步信號(hào)量full如果初值設(shè)置為1,empty初值也設(shè)置為0,表示緩沖區(qū)任務(wù)開(kāi)始時(shí)緩沖區(qū)已經(jīng)滿(mǎn)的情況。由于是單緩沖情形,生產(chǎn)者任務(wù)在緩沖區(qū)滿(mǎn)的情況下應(yīng)該不能運(yùn)行,而消費(fèi)者任務(wù)應(yīng)該可以運(yùn)行,所以預(yù)期運(yùn)行結(jié)果應(yīng)該是消費(fèi)者任務(wù)先運(yùn)行,但是消費(fèi)任務(wù)輸出應(yīng)該為0?;谛盘?hào)量PV操作的同步算法,只需要修改圖1源程序中行36和行37,修改后代碼如圖4所示。

    信號(hào)量值修改后運(yùn)行結(jié)果如圖5所示,其中消費(fèi)者任務(wù)先運(yùn)行而緩沖區(qū)初始值為0,所以輸出為消費(fèi)0,而本程序是只設(shè)計(jì)運(yùn)行四次,所以沒(méi)有消費(fèi)4輸出。符合同步算法預(yù)期結(jié)果,能夠直觀反映出信號(hào)量PV原語(yǔ)在同步機(jī)制中的作用。

    綜上所述,本方法中信號(hào)量和PV原語(yǔ)與偽代碼中的信號(hào)量和PV原語(yǔ)基本一致,教材中基于信號(hào)量和PV原語(yǔ)實(shí)現(xiàn)的同步互斥問(wèn)題算法偽代碼能夠快速轉(zhuǎn)換為可運(yùn)行的C語(yǔ)言代碼。類(lèi)似的一些教材中基于信號(hào)量的wait操作和signal操作表示的等待喚醒偽代碼,也能夠使用本方法進(jìn)行C語(yǔ)言轉(zhuǎn)換。為了便于驗(yàn)證和使用源代碼,已經(jīng)在Gitee網(wǎng)站(碼云)上建立代碼倉(cāng)庫(kù)網(wǎng)址是https://gitee.com/wayxingwork/pcdemo。

    4 結(jié)束語(yǔ)

    通過(guò)把Pthread庫(kù)中的信號(hào)量和相關(guān)操作進(jìn)行友好封裝,實(shí)現(xiàn)了多操作系統(tǒng)平臺(tái)下對(duì)經(jīng)典進(jìn)程同步互斥問(wèn)題的可調(diào)試編程,便于學(xué)習(xí)者理解掌握多任務(wù)同步互斥算法知識(shí)。同時(shí),具體實(shí)現(xiàn)方法考慮了開(kāi)發(fā)環(huán)境和代碼獲取等因素,方便在線開(kāi)放課程教學(xué)和課堂演示。

    操作系統(tǒng)原理作為計(jì)算機(jī)專(zhuān)業(yè)基礎(chǔ)課程,教學(xué)課時(shí)一般為48學(xué)時(shí),主要采用講授法進(jìn)行理論教學(xué)。在應(yīng)用型本科和高職高專(zhuān)層次教學(xué)過(guò)程中,經(jīng)常出現(xiàn)教學(xué)效果不佳等問(wèn)題。改進(jìn)的方法主要是教師優(yōu)化教學(xué)模式[6]和教學(xué)方法[7],或者是創(chuàng)新理論推導(dǎo)公式[8]等方法,以及大量的典型習(xí)題訓(xùn)練。通過(guò)對(duì)經(jīng)典問(wèn)題提供可對(duì)照可調(diào)試的代碼解決方法也是一個(gè)改進(jìn)的途徑。

    由于進(jìn)程和線程的概念差異性,本方法是在用戶(hù)空間多任務(wù)層次實(shí)現(xiàn)了可調(diào)試運(yùn)行的信號(hào)量和PV原語(yǔ),和傳統(tǒng)的信號(hào)量的定義仍有一定的差異,如何封裝類(lèi)似管程的高級(jí)同步機(jī)制,后續(xù)需進(jìn)行相關(guān)方面探索研究。

    參考文獻(xiàn):

    [1] 費(fèi)翔林,駱斌.操作系統(tǒng)教程[M].5版.北京:高等教育出版社,2014.

    [2] 陳向群,楊芙清.操作系統(tǒng)教程[M].2版.北京:北京大學(xué)出版社,2006.

    [3] 湯小丹,梁紅兵,哲鳳屏.計(jì)算機(jī)操作系統(tǒng)[M].3版.西安:西安電子科技大學(xué)出版社,2007.

    [4] 費(fèi)翔林,李敏,葉保留.Linux操作系統(tǒng)實(shí)驗(yàn)教程[M].北京:高等教育出版社,2009.

    [5] 金海東,徐云龍.“操作系統(tǒng)”課程中進(jìn)程同步互斥教學(xué)研究[J].計(jì)算機(jī)教育,2009(14):60-62.

    [6] 李欣.計(jì)算機(jī)操作系統(tǒng)課程中PBL教學(xué)模式的應(yīng)用研究[J].信息技術(shù)與信息化,2016(11):123-124.

    [7] 王秋芬,王永新.基于OBE的操作系統(tǒng)原理課程教學(xué)方法改革與實(shí)踐[J].教育教學(xué)論壇,2019(12):167-168.

    [8] 魯力,韓潔,徐琴.PV操作解決進(jìn)程同步問(wèn)題的難點(diǎn)研究與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2017,13(13):38-39.

    【通聯(lián)編輯:謝媛媛】

    收稿日期:2022-05-08

    基金項(xiàng)目:廣東科技學(xué)院校級(jí)科研項(xiàng)目(項(xiàng)目編號(hào):GKY-2021KYZDK-13)

    作者簡(jiǎn)介:魏星(1972—) ,男,重慶人,高級(jí)工程師,碩士,研究方向?yàn)闇y(cè)控技術(shù)。

    猜你喜歡
    信號(hào)量同步生產(chǎn)者
    基于STM32的mbedOS信號(hào)量調(diào)度機(jī)制剖析
    1月巴西生產(chǎn)者價(jià)格指數(shù)上漲3.92%
    2019德國(guó)IF設(shè)計(jì)大獎(jiǎng)
    Nucleus PLUS操作系統(tǒng)信號(hào)量機(jī)制的研究與測(cè)試
    家禽福利的未來(lái):生產(chǎn)者能期待什么?
    素質(zhì)教育理念下藝術(shù)教育改革的思路
    政府職能的轉(zhuǎn)變與中國(guó)經(jīng)濟(jì)結(jié)構(gòu)調(diào)整的同步
    商情(2016年42期)2016-12-23 14:26:58
    公共藝術(shù)與城市設(shè)計(jì)的協(xié)調(diào)與同步
    一場(chǎng)大風(fēng)帶給生產(chǎn)者的思考
    一種新型雙軌同步焊接的焊接裝置
    日韩国内少妇激情av| 亚洲精品国产精品久久久不卡| 亚洲18禁久久av| 五月玫瑰六月丁香| 免费看美女性在线毛片视频| 18禁裸乳无遮挡免费网站照片| 麻豆国产av国片精品| 欧美一级毛片孕妇| 欧美最黄视频在线播放免费| 国产成人精品久久二区二区免费| 久久精品亚洲精品国产色婷小说| 在线国产一区二区在线| 9191精品国产免费久久| 不卡av一区二区三区| 手机成人av网站| 国语自产精品视频在线第100页| 日韩中文字幕欧美一区二区| 亚洲成人久久性| 日本五十路高清| av欧美777| 亚洲男人天堂网一区| 国产亚洲欧美在线一区二区| 极品教师在线免费播放| 国产成人精品无人区| 久久性视频一级片| 欧美色欧美亚洲另类二区| 精品久久久久久成人av| 亚洲 欧美一区二区三区| 国产一级毛片七仙女欲春2| 国产私拍福利视频在线观看| 好男人在线观看高清免费视频| 日韩欧美国产在线观看| 中文亚洲av片在线观看爽| 久久亚洲精品不卡| 高清毛片免费观看视频网站| 一级毛片女人18水好多| 妹子高潮喷水视频| 日本精品一区二区三区蜜桃| 久久久久九九精品影院| 亚洲在线自拍视频| 亚洲专区中文字幕在线| av在线天堂中文字幕| 51午夜福利影视在线观看| x7x7x7水蜜桃| 国产av一区在线观看免费| 中文在线观看免费www的网站 | 日本 av在线| www日本黄色视频网| 1024香蕉在线观看| 美女高潮喷水抽搐中文字幕| 国产一区二区在线av高清观看| 国产精品av久久久久免费| 啪啪无遮挡十八禁网站| 久久久国产成人免费| 又爽又黄无遮挡网站| 亚洲天堂国产精品一区在线| 国产激情偷乱视频一区二区| 久久精品国产综合久久久| 久久国产精品影院| 免费av毛片视频| 又大又爽又粗| 日日摸夜夜添夜夜添小说| 老熟妇仑乱视频hdxx| 国产一区二区在线av高清观看| 久99久视频精品免费| 亚洲av中文字字幕乱码综合| 精品久久久久久,| 在线观看美女被高潮喷水网站 | 亚洲精品中文字幕在线视频| 国产精品一区二区三区四区久久| 1024手机看黄色片| 成人欧美大片| 999久久久国产精品视频| 床上黄色一级片| 亚洲人与动物交配视频| 老司机深夜福利视频在线观看| 在线视频色国产色| 久久精品91无色码中文字幕| 免费观看精品视频网站| 亚洲精品在线观看二区| 色播亚洲综合网| 成人18禁在线播放| ponron亚洲| 欧美日韩中文字幕国产精品一区二区三区| 亚洲成人久久爱视频| 精品高清国产在线一区| 巨乳人妻的诱惑在线观看| 日韩av在线大香蕉| 日韩欧美国产在线观看| 国产午夜福利久久久久久| 国产高清视频在线观看网站| 免费在线观看成人毛片| 欧美性长视频在线观看| 国产精品香港三级国产av潘金莲| 欧美成狂野欧美在线观看| 一级毛片女人18水好多| 亚洲欧美日韩无卡精品| 亚洲精华国产精华精| 高清在线国产一区| 18禁观看日本| 一个人免费在线观看电影 | 日韩精品中文字幕看吧| 国产高清视频在线观看网站| 成在线人永久免费视频| 中文字幕熟女人妻在线| 色精品久久人妻99蜜桃| 久9热在线精品视频| 99久久综合精品五月天人人| 日韩精品中文字幕看吧| 天堂√8在线中文| 黄色片一级片一级黄色片| 亚洲av成人一区二区三| 午夜影院日韩av| 亚洲一码二码三码区别大吗| 一级毛片女人18水好多| 美女免费视频网站| 两性夫妻黄色片| 真人做人爱边吃奶动态| 色噜噜av男人的天堂激情| 日韩高清综合在线| 欧美高清成人免费视频www| 亚洲国产精品999在线| av视频在线观看入口| svipshipincom国产片| 一区二区三区激情视频| 亚洲人成77777在线视频| 欧美丝袜亚洲另类 | 色在线成人网| 免费搜索国产男女视频| 国产在线精品亚洲第一网站| 男女午夜视频在线观看| 中亚洲国语对白在线视频| 精品一区二区三区av网在线观看| 嫩草影视91久久| 国产黄色小视频在线观看| √禁漫天堂资源中文www| 亚洲国产高清在线一区二区三| 久久久水蜜桃国产精品网| 热99re8久久精品国产| 两性午夜刺激爽爽歪歪视频在线观看 | 色综合站精品国产| 午夜成年电影在线免费观看| 男人舔女人的私密视频| 啪啪无遮挡十八禁网站| 国产激情欧美一区二区| 久久亚洲精品不卡| 免费在线观看亚洲国产| 女同久久另类99精品国产91| a级毛片a级免费在线| 欧美成人免费av一区二区三区| 欧美不卡视频在线免费观看 | 亚洲午夜理论影院| 国产私拍福利视频在线观看| 亚洲人成伊人成综合网2020| 国产精品亚洲一级av第二区| 久久中文字幕一级| 99热这里只有是精品50| 丁香欧美五月| 亚洲一卡2卡3卡4卡5卡精品中文| 成人永久免费在线观看视频| 国产精品久久久久久精品电影| 国产av又大| 国产亚洲精品综合一区在线观看 | 人妻丰满熟妇av一区二区三区| 国产精品久久久久久亚洲av鲁大| 99riav亚洲国产免费| 天堂av国产一区二区熟女人妻 | 亚洲人与动物交配视频| 精品不卡国产一区二区三区| 久久中文字幕一级| 亚洲精品国产一区二区精华液| 国产熟女xx| 国产一区二区三区视频了| 国产三级在线视频| 中文字幕人妻丝袜一区二区| 欧美丝袜亚洲另类 | 亚洲精品久久成人aⅴ小说| 久久性视频一级片| 久久精品国产综合久久久| 男女做爰动态图高潮gif福利片| 香蕉国产在线看| 欧美乱码精品一区二区三区| 欧美黄色片欧美黄色片| 婷婷丁香在线五月| 亚洲专区中文字幕在线| 久久亚洲真实| 欧美乱码精品一区二区三区| 免费高清视频大片| 欧美中文日本在线观看视频| 亚洲精品在线美女| 一个人观看的视频www高清免费观看 | 欧美中文综合在线视频| 99国产极品粉嫩在线观看| 亚洲五月天丁香| 麻豆一二三区av精品| 午夜福利欧美成人| 在线看三级毛片| av免费在线观看网站| 九色成人免费人妻av| 精品日产1卡2卡| 精品一区二区三区视频在线观看免费| 亚洲七黄色美女视频| 黄色a级毛片大全视频| 午夜福利18| 一级片免费观看大全| 看免费av毛片| 在线观看一区二区三区| 中文字幕精品亚洲无线码一区| 国产精品一区二区三区四区免费观看 | 黑人巨大精品欧美一区二区mp4| videosex国产| xxx96com| 午夜a级毛片| 日韩有码中文字幕| 国产亚洲精品久久久久久毛片| 淫秽高清视频在线观看| xxx96com| www日本黄色视频网| 欧美人与性动交α欧美精品济南到| 日韩国内少妇激情av| 一二三四社区在线视频社区8| 国产v大片淫在线免费观看| 亚洲电影在线观看av| 在线观看美女被高潮喷水网站 | 在线观看一区二区三区| 夜夜夜夜夜久久久久| 欧美成人午夜精品| 国产精品av久久久久免费| 黑人欧美特级aaaaaa片| 中文字幕人成人乱码亚洲影| 99久久精品国产亚洲精品| 精品少妇一区二区三区视频日本电影| 性色av乱码一区二区三区2| 午夜精品一区二区三区免费看| 国产一区在线观看成人免费| xxxwww97欧美| 亚洲国产高清在线一区二区三| 国产伦人伦偷精品视频| 人人妻人人看人人澡| 久久精品夜夜夜夜夜久久蜜豆 | 欧美色视频一区免费| 伦理电影免费视频| 精华霜和精华液先用哪个| 99在线视频只有这里精品首页| 欧美不卡视频在线免费观看 | 白带黄色成豆腐渣| 天天添夜夜摸| 日日夜夜操网爽| avwww免费| 美女 人体艺术 gogo| 亚洲专区国产一区二区| 亚洲av第一区精品v没综合| 免费在线观看日本一区| 免费电影在线观看免费观看| 国产精品 欧美亚洲| 欧美日本亚洲视频在线播放| 成年人黄色毛片网站| 久久久久国产精品人妻aⅴ院| 久久精品综合一区二区三区| 男女那种视频在线观看| 免费av毛片视频| 免费看日本二区| 少妇粗大呻吟视频| 欧美成狂野欧美在线观看| 婷婷亚洲欧美| 日本免费a在线| 99精品在免费线老司机午夜| 国产av一区二区精品久久| 最新在线观看一区二区三区| 国产精品影院久久| 国产精品美女特级片免费视频播放器 | 精品国产超薄肉色丝袜足j| 亚洲av熟女| 男男h啪啪无遮挡| 99热只有精品国产| 欧洲精品卡2卡3卡4卡5卡区| 啦啦啦免费观看视频1| 美女 人体艺术 gogo| 国产99白浆流出| 一个人观看的视频www高清免费观看 | 亚洲 欧美一区二区三区| 国产精品久久久人人做人人爽| 久久久国产成人精品二区| 午夜视频精品福利| 久9热在线精品视频| 麻豆成人av在线观看| 日本a在线网址| 亚洲国产欧美网| 男女床上黄色一级片免费看| 午夜久久久久精精品| 一级a爱片免费观看的视频| 中文字幕精品亚洲无线码一区| 不卡一级毛片| 亚洲成av人片免费观看| 中文亚洲av片在线观看爽| 久久久久久久精品吃奶| 又黄又爽又免费观看的视频| 18禁美女被吸乳视频| 国产成人精品久久二区二区免费| 国产三级黄色录像| 丁香六月欧美| 99在线人妻在线中文字幕| 国产精品永久免费网站| 在线观看一区二区三区| 一卡2卡三卡四卡精品乱码亚洲| 午夜福利在线在线| 99精品久久久久人妻精品| 在线观看免费视频日本深夜| 久久久久国内视频| 久久国产精品影院| 久久久久久久精品吃奶| 国产精品国产高清国产av| 久久中文字幕人妻熟女| 好看av亚洲va欧美ⅴa在| 欧美日韩中文字幕国产精品一区二区三区| 国产精品野战在线观看| 日本精品一区二区三区蜜桃| 国产成人av激情在线播放| 欧美午夜高清在线| 日本一二三区视频观看| 成人一区二区视频在线观看| 国产三级中文精品| 天天添夜夜摸| 99热6这里只有精品| 国产精品亚洲一级av第二区| 十八禁人妻一区二区| 777久久人妻少妇嫩草av网站| 性色av乱码一区二区三区2| 在线观看舔阴道视频| 国产三级黄色录像| 一级毛片高清免费大全| 90打野战视频偷拍视频| 日韩欧美在线乱码| 国产精品精品国产色婷婷| 看片在线看免费视频| 亚洲18禁久久av| 九色国产91popny在线| 免费av毛片视频| 午夜成年电影在线免费观看| 少妇被粗大的猛进出69影院| 亚洲天堂国产精品一区在线| 他把我摸到了高潮在线观看| 中文在线观看免费www的网站 | 丁香六月欧美| 久久久国产精品麻豆| 亚洲精品av麻豆狂野| 日本精品一区二区三区蜜桃| 脱女人内裤的视频| 欧美日韩中文字幕国产精品一区二区三区| 色综合婷婷激情| 麻豆国产97在线/欧美 | 美女高潮喷水抽搐中文字幕| 淫妇啪啪啪对白视频| 亚洲av美国av| 亚洲欧美日韩高清在线视频| 麻豆国产97在线/欧美 | 亚洲av成人av| 国产1区2区3区精品| 国产av不卡久久| 亚洲欧美日韩高清在线视频| 麻豆国产97在线/欧美 | 久久中文看片网| 黄色丝袜av网址大全| 久久婷婷人人爽人人干人人爱| 欧美中文综合在线视频| 国产精品久久久久久精品电影| 国产精品永久免费网站| 免费在线观看完整版高清| 久久热在线av| 哪里可以看免费的av片| 亚洲中文日韩欧美视频| 舔av片在线| 国产熟女xx| 国产精品av久久久久免费| 香蕉久久夜色| 亚洲av熟女| 亚洲av五月六月丁香网| 18美女黄网站色大片免费观看| 一级黄色大片毛片| 成年人黄色毛片网站| 亚洲一区二区三区色噜噜| 麻豆国产av国片精品| 久久久久久人人人人人| 国产成人一区二区三区免费视频网站| 午夜影院日韩av| 免费看日本二区| www日本黄色视频网| 一卡2卡三卡四卡精品乱码亚洲| 男女下面进入的视频免费午夜| 美女扒开内裤让男人捅视频| 国产私拍福利视频在线观看| 中文字幕久久专区| 91成年电影在线观看| 国产亚洲精品综合一区在线观看 | 久热爱精品视频在线9| www.www免费av| 国产精品久久久久久久电影 | 欧美zozozo另类| 又黄又爽又免费观看的视频| 中国美女看黄片| 全区人妻精品视频| 久9热在线精品视频| 精品电影一区二区在线| 欧美色欧美亚洲另类二区| 午夜福利18| 99久久综合精品五月天人人| 在线永久观看黄色视频| 精品国产乱子伦一区二区三区| 久久香蕉国产精品| 在线观看舔阴道视频| 一个人免费在线观看电影 | 少妇粗大呻吟视频| 午夜福利在线观看吧| 久久 成人 亚洲| 99精品久久久久人妻精品| 好看av亚洲va欧美ⅴa在| 欧美黄色片欧美黄色片| 桃色一区二区三区在线观看| 日韩中文字幕欧美一区二区| 亚洲无线在线观看| 天堂影院成人在线观看| 亚洲专区中文字幕在线| 欧美成人一区二区免费高清观看 | 超碰成人久久| www.999成人在线观看| 可以免费在线观看a视频的电影网站| 一区二区三区高清视频在线| 一个人免费在线观看电影 | 国产亚洲精品av在线| 亚洲激情在线av| 狂野欧美激情性xxxx| 亚洲自拍偷在线| 亚洲av电影不卡..在线观看| 久久精品国产清高在天天线| 丁香六月欧美| 日本免费a在线| 欧美日韩精品网址| 一本一本综合久久| 人人妻,人人澡人人爽秒播| www国产在线视频色| 国产主播在线观看一区二区| 久久久精品大字幕| 久久久水蜜桃国产精品网| 亚洲午夜理论影院| 色播亚洲综合网| 亚洲成人免费电影在线观看| 亚洲人与动物交配视频| 美女免费视频网站| 最近最新中文字幕大全电影3| 床上黄色一级片| netflix在线观看网站| 精品免费久久久久久久清纯| 变态另类成人亚洲欧美熟女| 制服诱惑二区| 午夜福利在线在线| www.精华液| 久久中文看片网| 日日摸夜夜添夜夜添小说| 国内毛片毛片毛片毛片毛片| 日本一本二区三区精品| 日本 av在线| 久久久久久久久免费视频了| 国产精品自产拍在线观看55亚洲| 日韩精品中文字幕看吧| 午夜精品在线福利| 最好的美女福利视频网| 成人18禁在线播放| 国产午夜精品久久久久久| 欧美乱色亚洲激情| www.www免费av| 日韩免费av在线播放| 久久精品国产99精品国产亚洲性色| 草草在线视频免费看| 精品国产乱子伦一区二区三区| 听说在线观看完整版免费高清| 在线十欧美十亚洲十日本专区| 久久精品91无色码中文字幕| 午夜福利高清视频| 久久草成人影院| 国产精品久久久人人做人人爽| 免费观看精品视频网站| 搡老妇女老女人老熟妇| 亚洲成人免费电影在线观看| 老司机午夜十八禁免费视频| 久久精品aⅴ一区二区三区四区| 精品第一国产精品| 亚洲无线在线观看| 男男h啪啪无遮挡| 亚洲精品美女久久av网站| 观看免费一级毛片| 精品国产美女av久久久久小说| 欧美日韩亚洲国产一区二区在线观看| 日韩精品青青久久久久久| 可以在线观看的亚洲视频| 国产午夜福利久久久久久| 嫁个100分男人电影在线观看| 免费无遮挡裸体视频| 亚洲一码二码三码区别大吗| 在线十欧美十亚洲十日本专区| 性色av乱码一区二区三区2| 国产伦一二天堂av在线观看| or卡值多少钱| 亚洲成av人片在线播放无| 91成年电影在线观看| 中文字幕av在线有码专区| 国产精品一区二区三区四区久久| 日韩欧美国产在线观看| 91麻豆精品激情在线观看国产| 国产高清videossex| 亚洲美女视频黄频| 日本在线视频免费播放| 国产av一区二区精品久久| 熟女少妇亚洲综合色aaa.| 国产真人三级小视频在线观看| 欧美成人免费av一区二区三区| 亚洲国产看品久久| 精品久久久久久成人av| 亚洲熟妇熟女久久| 亚洲午夜精品一区,二区,三区| 99在线视频只有这里精品首页| 国产成人系列免费观看| 久久久精品大字幕| 日本a在线网址| 日本黄大片高清| 久久久国产成人精品二区| 日韩欧美三级三区| 一本大道久久a久久精品| 在线观看免费日韩欧美大片| 色在线成人网| 黄色a级毛片大全视频| 日本免费a在线| 妹子高潮喷水视频| 少妇的丰满在线观看| 欧美黑人欧美精品刺激| 一本综合久久免费| 成年人黄色毛片网站| 少妇人妻一区二区三区视频| 精品国产乱子伦一区二区三区| 一夜夜www| 日本黄大片高清| 精品久久蜜臀av无| 亚洲精品美女久久av网站| 国内精品一区二区在线观看| 1024手机看黄色片| 一a级毛片在线观看| 窝窝影院91人妻| av视频在线观看入口| 少妇粗大呻吟视频| 欧洲精品卡2卡3卡4卡5卡区| 露出奶头的视频| 亚洲专区国产一区二区| 日本撒尿小便嘘嘘汇集6| 免费电影在线观看免费观看| 熟妇人妻久久中文字幕3abv| 亚洲成av人片免费观看| 啦啦啦免费观看视频1| 国产激情欧美一区二区| 一级片免费观看大全| 97碰自拍视频| 国产又黄又爽又无遮挡在线| 日本免费a在线| 两个人的视频大全免费| 国产精品久久电影中文字幕| 90打野战视频偷拍视频| 亚洲熟女毛片儿| 少妇的丰满在线观看| 久久精品影院6| 手机成人av网站| 非洲黑人性xxxx精品又粗又长| 午夜免费观看网址| 国产免费男女视频| 别揉我奶头~嗯~啊~动态视频| 日本 av在线| 亚洲成av人片在线播放无| 亚洲五月婷婷丁香| 精华霜和精华液先用哪个| 国产av麻豆久久久久久久| 午夜福利在线观看吧| 亚洲乱码一区二区免费版| 精品国产乱子伦一区二区三区| 亚洲国产精品成人综合色| 国产精品久久久久久亚洲av鲁大| 久久国产精品人妻蜜桃| 两个人视频免费观看高清| 好男人电影高清在线观看| 国产人伦9x9x在线观看| 亚洲无线在线观看| 成人特级黄色片久久久久久久| 欧美一级毛片孕妇| videosex国产| 亚洲熟女毛片儿| 特大巨黑吊av在线直播| videosex国产| 欧美三级亚洲精品| 午夜福利成人在线免费观看| 亚洲av电影在线进入| 国产精品久久久久久久电影 | 后天国语完整版免费观看| avwww免费| 韩国av一区二区三区四区| 制服诱惑二区| 草草在线视频免费看| 国产精品亚洲美女久久久| 国产av又大| 男女下面进入的视频免费午夜| 9191精品国产免费久久| tocl精华| 99久久精品热视频| 又黄又粗又硬又大视频| 国产成人aa在线观看| 精品乱码久久久久久99久播| 亚洲专区字幕在线| 18禁裸乳无遮挡免费网站照片| 亚洲专区中文字幕在线| 成年女人毛片免费观看观看9|