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

    指控系統(tǒng)中多操作系統(tǒng)啟動(dòng)工具的研究*

    2014-06-15 17:34:27連建永顧忠明張安琳黃道穎張安琴
    火力與指揮控制 2014年10期
    關(guān)鍵詞:鏈表內(nèi)核調(diào)用

    連建永,顧忠明,張安琳,黃道穎★,張安琴

    (1.鄭州輕工業(yè)學(xué)院,鄭州 450002;2.中國建設(shè)銀行江蘇省分行,南京 210002)

    指控系統(tǒng)中多操作系統(tǒng)啟動(dòng)工具的研究*

    連建永1,顧忠明1,張安琳1,黃道穎1★,張安琴2

    (1.鄭州輕工業(yè)學(xué)院,鄭州 450002;2.中國建設(shè)銀行江蘇省分行,南京 210002)

    指控系統(tǒng)中GRUB2作為啟動(dòng)引導(dǎo)器,管理多種操作系統(tǒng)平臺(tái)。GRUB2采用模塊化設(shè)計(jì),可以提供給使用者更大的靈活性和性能改進(jìn)。Linux系統(tǒng)的模塊化設(shè)計(jì)與運(yùn)行機(jī)制已被廣泛討論,有關(guān)GRUB2的模塊化設(shè)計(jì)與運(yùn)行機(jī)制的資料卻很少。為了了解它的模塊化編程與運(yùn)行機(jī)制,通過對(duì)一個(gè)模塊程序的分析,介紹了GRUB2中模塊程序的基本結(jié)構(gòu)及模塊化設(shè)計(jì)的靈活性;并討論了GRUB2的模塊運(yùn)行機(jī)制,明確了模塊運(yùn)行所需的底層工作。在此基礎(chǔ)上,可以對(duì)GRUB2進(jìn)行二次開發(fā),擴(kuò)展其應(yīng)用場合。

    GRUB2,操作系統(tǒng),模塊機(jī)制,可加載模塊

    引言

    在指控系統(tǒng)中,為滿足各種不同的應(yīng)用,使用了多種操作系統(tǒng),在多個(gè)操作系統(tǒng)的應(yīng)用平臺(tái)中,如何管理和啟動(dòng)這些操作系統(tǒng),并加入自己的系統(tǒng)管理功能,一直是困擾科研人員的問題,為此,引入GRUB2并在其上進(jìn)行二次開發(fā),設(shè)計(jì)了新的GRUB(GRand Unified Bootloader)啟動(dòng)引導(dǎo)器,用于實(shí)現(xiàn)管理和啟動(dòng)指控系統(tǒng)中的多個(gè)操作系統(tǒng)并實(shí)現(xiàn)特定系統(tǒng)功能。GRUB是目前技術(shù)比較先進(jìn)、開放源代碼的較為安全的多操作系統(tǒng)啟動(dòng)管理工具,它由Erich和Brian Ford在 1995年設(shè)計(jì),歷經(jīng)多年,已由GRUB Legacy發(fā)展到了GRUB2。經(jīng)過重寫,GRUB2在編碼規(guī)范和體系結(jié)構(gòu)完全不同于GRUB Legacy,更加規(guī)范、安全、健壯和可擴(kuò)展,可以提供給使用者更大的靈活性和性能改進(jìn)。

    GRUB2具有模塊化、層次化、基于對(duì)象的框架,在此框架基礎(chǔ)上進(jìn)行二次開發(fā),可以生成操作系統(tǒng)多版本啟動(dòng)管理系統(tǒng)滿足前述需求。

    與Linux的LKM(LoadableKernelModule)機(jī)制[1]類似,GRUB2采用了模塊化設(shè)計(jì),又加上它是開源設(shè)計(jì),在操作系統(tǒng)的啟動(dòng)管理等方面吸引了眾多人員的研究。但由于GRUB2的模塊程序的設(shè)計(jì)與調(diào)試是基于類Linux的微內(nèi)核環(huán)境,和Linux有著一定的不同,許多程序員對(duì)GRUB2的模塊程序的基本結(jié)構(gòu)不太了解,對(duì)GRUB2的進(jìn)一步開發(fā)造成了諸多不便。這就是本文討論GRUB2的模塊程序的基本結(jié)構(gòu)和模塊機(jī)制的原因。

    1 一個(gè)基本的GRUB2模塊程序

    雖然GRUB2模塊程序的設(shè)計(jì)與調(diào)試是基于類Linux的微內(nèi)核環(huán)境,GRUB2的模塊化設(shè)計(jì)和Linux有著一定差異,但前者的基本思想?yún)s是借鑒了Linux的,因此,兩者有著異曲同工之處。在Linux的LKM中,一個(gè)內(nèi)核模塊程序至少包含兩個(gè)函數(shù):模塊被加載時(shí)執(zhí)行的入口函數(shù)mod_entry_func()和模塊被卸載時(shí)執(zhí)行的結(jié)束函數(shù)mod_exit_func()(在最新內(nèi)核中兩函數(shù)可以任意命名),通過宏module_init()和module_exit()實(shí)現(xiàn)。類似于Linux的模塊程序中的module_init()和module_exit(),GRUB2的模塊程序包含初始化函數(shù)GRUB_MOD_INIT()和結(jié)束函數(shù)GRUB_MOD_FINI(),用于模塊程序的初始化和釋放;同時(shí)還有一個(gè)完成模塊功能的函數(shù)grub_cmd_##name##。

    以Hello World為例來說明GRUB2模塊程序是怎樣的結(jié)構(gòu)。以grub-1.97~beta4版本中的模塊程序hello.c為例,如下:

    2 程序代碼分析

    這個(gè)程序主要包括3個(gè)部分:grub_cmd_hello()、GRUB_MOD_INIT(hello)、GRUB_MOD_FINI(hello)。GRUB_MOD_INIT()是模塊程序的初始化函數(shù),GRUB_MOD_FINI()是模塊函數(shù)的結(jié)束函數(shù),這兩者具有較為固定的格式,而grub_cmd_hello()則是完成“Hello World”功能的函數(shù)。這些函數(shù)組成了GRUB2模塊程序的基本結(jié)構(gòu),圖1則提供了模塊程序的源代碼的基本結(jié)構(gòu)。

    圖1 GRUB2的模塊程序的基本結(jié)構(gòu)

    功能函數(shù)grub_cmd_##name##完成了對(duì)模塊程序?qū)崿F(xiàn)功能的定義;初始化函數(shù)GRUB_MOD_INIT()完成模塊的加載,其內(nèi)的注冊(cè)函數(shù)grub_register_extcmd()則實(shí)現(xiàn)模塊命令的注冊(cè);結(jié)束函數(shù)GRUB_MOD_FINI()則完成模塊的卸載,其內(nèi)的grub_unregister_extcmd()則對(duì)該模塊注冊(cè)的命令進(jìn)行注銷。

    2.1 初始化函數(shù)

    GRUB_MOD_INIT()是模塊程序的初始化函數(shù),用來初始化一個(gè)模塊。其在dl.h中的定義如下:

    當(dāng)使用GRUB2內(nèi)嵌的命令insmod加載一個(gè)模塊 時(shí) ,insmod只 能 識(shí) 別 模 塊 程 序 中 的GRUB_MOD_INIT()函數(shù),所以在GRUB_MOD_INIT()中,通常會(huì)有模塊命令的注冊(cè)函數(shù)grub_register_extcmd(),其具體承擔(dān)了加載的工作。GRUB_MOD_INIT()會(huì)通過grub_register_extcmd()調(diào)用功能主體函數(shù)grub_cmd_##name##,完成模塊的加載。grub_register_extcmd()在extcmd.h中的定義如下:

    其中name參數(shù)是模塊名稱,func參數(shù)為描述模塊命令功能的數(shù)據(jù)結(jié)構(gòu),flags參數(shù)為模塊命令的標(biāo)識(shí),不同的值代表著模塊命令不同的作用,summary是命令用法的概述,discritions是命令功能的描述,parser有關(guān)解釋器信息。例如在hello模塊程序中:

    模塊的名稱是hello,調(diào)用grub_cmd_hello完成功能,標(biāo)識(shí)為GRUB_COMMAND_FLAG_BOTH,即可以在命令行和菜單兩個(gè)環(huán)境中運(yùn)行;命令格式為hello,功能描述為“Say hello”。

    2.2 結(jié)束函數(shù)

    GRUB_MOD_FINI()是模塊程序的結(jié)束函數(shù),用來釋放一個(gè)模塊,它在模塊卸載時(shí)被調(diào)用。其在dl.h中的定義為:

    類似GRUB_MOD_INIT(),GRUB_MOD_FINI()中有注銷函數(shù)grub_unregister_extcmd()。卸載模塊時(shí),GRUB_MOD_FINI() 會(huì)通過 grub_unregister_extcmd()完成模塊的卸載。

    2.3 功能函數(shù)

    在GRUB2的模塊程序中,除去固定格式的GRUB_MOD_INI()和GRUB_MOD_FINI(),通常還要有完成模塊功能的部分,且為了代碼的規(guī)范性和易讀性,常以grub_cmd_##name##命名,且參數(shù)形式如下:

    其中“__attribute__((unused)”表示該函數(shù)或變量可能為空,這個(gè)屬性可以避免編譯器產(chǎn)生警告信息。功能函數(shù)的編寫,采用ANSI C編碼規(guī)范,沒有固定的格式,且編寫復(fù)雜函數(shù)時(shí),可能需要添加新的庫函數(shù)來滿足功能的實(shí)現(xiàn)。

    3 模塊機(jī)制

    分析了GRUB2中模塊程序的基本結(jié)構(gòu),下面介紹模塊程序中的函數(shù)具體是怎樣加載到內(nèi)核中,而用戶又是怎樣訪問模塊中的函數(shù)、實(shí)現(xiàn)模塊功能的。

    事實(shí)上,用戶不能直接訪問模塊中的函數(shù),而是通過系統(tǒng)調(diào)用進(jìn)入內(nèi)核空間,然后由內(nèi)核空間完成相應(yīng)的工作[2]。在GRUB2中通常使用內(nèi)嵌的命令insmod和rmmod來加載和卸載模塊。insmod開始加載模塊過程,通過系統(tǒng)調(diào)用將模塊二進(jìn)制文件復(fù)制到內(nèi)核空間,由內(nèi)核完成加載過程。通過rmmod卸載模塊的過程與加載過程基本類似。

    3.1 模塊的加載

    模塊的加載最終要實(shí)現(xiàn)模塊程序中命令的注冊(cè),則模塊的加載可以看作兩個(gè)步驟:①使用insmod將模塊掛載到內(nèi)核中,并在模塊鏈表中維護(hù)一組該模塊的狀態(tài);②內(nèi)核解析模塊程序,將模塊程序?qū)崿F(xiàn)的命令注冊(cè)到內(nèi)核中,并在命令鏈表維護(hù)一組該模塊命令的狀態(tài)量。

    當(dāng)使用insmod加載一個(gè)模塊程序編譯的二進(jìn)制文件時(shí),先經(jīng)insmod進(jìn)入內(nèi)核空間,再由內(nèi)核進(jìn)行對(duì)二進(jìn)制文件的解析和操作,完成模塊命令的加載。

    命令insmod定義了需要加載的模塊,通過系統(tǒng)調(diào)用,開始加載過程。insmod會(huì)做以下工作:①通過系統(tǒng)調(diào)用,申請(qǐng)足夠的內(nèi)核空間,將模塊二進(jìn)制文件拷貝到已分配空間。②每個(gè)模塊必須包含初始化函數(shù)和結(jié)束函數(shù),而只有insmod能夠識(shí)別它,因此insmod必須知道這些地址,并傳遞給內(nèi)核。③同時(shí)insmod為模塊創(chuàng)建一個(gè)關(guān)于該模塊的列表,填寫依賴關(guān)系等信息[3]。

    進(jìn)入內(nèi)核空間以后,內(nèi)核首先會(huì)進(jìn)行檢查它是否一個(gè)有效的ELF文件,是否適合當(dāng)前的結(jié)構(gòu)等等。完成檢查后,就會(huì)對(duì)模塊二進(jìn)制文件進(jìn)行解析。由于insmod已將初始化函數(shù)GRUB_MOD_INIT()和結(jié)束函數(shù)GRUB_MOD_FINI()的地址傳遞給內(nèi)核,內(nèi)核會(huì)進(jìn)行對(duì)模塊函數(shù)的注冊(cè)。內(nèi)核經(jīng)過解析找到模塊程序的初始化函數(shù),并經(jīng)過多級(jí)的調(diào)用,將模塊程序所包含的命令加載到了內(nèi)核中。圖2為模塊函數(shù)在加載時(shí)具體調(diào)用的過程。

    由于模塊程序中只有GRUB_MOD_INIT()和GRUB_MOD_FINI()能夠被直接識(shí)別到,所以模塊命令的注冊(cè)函數(shù)grub_register_extcmd()必須放在GRUB_MOD_INIT()中,使內(nèi)核找到注冊(cè)函數(shù)。注冊(cè)函數(shù)grub_register_extcmd()通過多級(jí)調(diào)用,調(diào)用了grub_register_command_prio()。而它才真正將模塊函數(shù)中的命令掛載到內(nèi)核中,同時(shí)將模塊命令的數(shù)據(jù)結(jié)構(gòu)注冊(cè)進(jìn)內(nèi)核的模塊命令鏈表:它將傳遞過來的參數(shù)重新分配一個(gè)數(shù)據(jù)結(jié)構(gòu)和足夠的內(nèi)存空間來保存新模塊,并按照名稱依次將它放到模塊命令鏈表上,同時(shí)定義了它的優(yōu)先級(jí)。這樣內(nèi)核才認(rèn)識(shí)了這個(gè)模塊,并且得到了該模塊的參數(shù)。

    3.2 模塊的調(diào)用

    將模塊加載到內(nèi)核后,內(nèi)核會(huì)維護(hù)兩組有關(guān)模塊的鏈表:模塊鏈表與命令鏈表。在命令鏈表中,各命令以struct grub_command的數(shù)據(jù)結(jié)構(gòu)按照名稱依次存儲(chǔ)著一個(gè)個(gè)命令的信息。圖3提供了一個(gè)模塊命令鏈表的簡單模型:name參數(shù)為模塊命令名稱,prio為該命令的優(yōu)先級(jí),func為命令調(diào)用的功能函數(shù),flags為標(biāo)志位,summary為命令用法的概述,discritions為命令功能的描述,data為隨機(jī)產(chǎn)生的數(shù)據(jù)。

    圖3 模塊命令鏈表

    當(dāng)應(yīng)用程序去調(diào)用這個(gè)模塊命令時(shí),內(nèi)核會(huì)根據(jù)用戶的命令參數(shù),查找模塊命令鏈表,找到與之對(duì)應(yīng)的模塊命令,并根據(jù)數(shù)據(jù)結(jié)構(gòu)的各項(xiàng)定義,找到對(duì)應(yīng)完成用戶要求的函數(shù),完成函數(shù)功能,如查找不到,返回錯(cuò)誤。比如,在命令行輸入“hello”命令,會(huì)傳遞到內(nèi)核,內(nèi)核會(huì)遍歷命令鏈表,查找名稱為“hello”的命令,進(jìn)而根據(jù)該模塊命令的數(shù)據(jù)結(jié)構(gòu),調(diào)用它的功能函數(shù)grub_cmd_hello,并完成其功能,則會(huì)出現(xiàn)“Hello World”字符串。

    3.3 模塊的卸載

    模塊的卸載過程類似模塊的加載。使用rmmod卸載模塊時(shí),首先會(huì)進(jìn)行幾個(gè)健康檢查,如參數(shù)是否正確,模塊是否存在依賴關(guān)系,確保安全刪除模塊。然后rmmod會(huì)調(diào)用grub_dl_unload(),它會(huì)修改模塊鏈表:注銷該模塊的符號(hào)輸出表,節(jié)信息表,修改依賴關(guān)系,接著開始模塊的內(nèi)核清理過程。

    內(nèi)核調(diào)用模塊程序的GRUB_MOD_FINI(),并經(jīng)過多級(jí)調(diào)用,撤銷注冊(cè)函數(shù)所做的一切。模塊命令的注銷過程如圖4所示。

    圖4 模塊命令的卸載過程

    模塊的注銷函數(shù)grub_unregister_extcmd()放在結(jié)束函數(shù)GRUB_MOD_FINI()中。注銷函數(shù)調(diào)用了grub_unregister_command(),它將模塊命令從內(nèi)核注銷,同時(shí)將該模塊命令從內(nèi)核的模塊命令鏈表刪除,同時(shí)釋放內(nèi)存空間。之后該模塊不存在依賴項(xiàng),系統(tǒng)將這個(gè)模塊從安裝期間添加的各種列表中刪除,為模塊分配的各種內(nèi)存被釋放,包括參數(shù)內(nèi)存、鏈表內(nèi)存和模塊的ELF內(nèi)存。

    4 結(jié)束語

    通過上述一個(gè)模塊程序代碼的分析,可以得出以下結(jié)論:(1)GRUB2下的模塊程序都有一個(gè)初始化函數(shù) GRUB_MOD_INIT () 和 結(jié) 束 函 數(shù)GRUB_MOD_FINI()。

    (2)當(dāng)用戶加載或者卸載模塊時(shí),會(huì)通過系統(tǒng)調(diào)用內(nèi)核函數(shù),將模塊掛載到內(nèi)核空間;接著內(nèi)核解析模塊程序,將模塊中的命令加載到內(nèi)核。

    (3)利用GRUB2的模塊化設(shè)計(jì),可以進(jìn)行二次開發(fā),添加某些特殊功能的模塊,可以對(duì)指控系統(tǒng)的系統(tǒng)環(huán)境、現(xiàn)場數(shù)據(jù)和技術(shù)狀態(tài)實(shí)現(xiàn)操作系統(tǒng)級(jí)的快速還原。

    [1]劉天華,陳 梟,朱宏峰,等.Linux可加載內(nèi)核模塊機(jī)制的研究與應(yīng)用[J].微計(jì)算機(jī)信息,2007,21(20):48-49,127.

    [2]周應(yīng)華.對(duì)Linux可加載內(nèi)核模塊應(yīng)用框架的研究[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2007(4):69-73.

    [3]孫海彬,傅 謙,徐良賢.Linux內(nèi)核模塊的實(shí)現(xiàn)機(jī)制[J].微型機(jī)與應(yīng)用.2001,15(3):29-33.

    ResearchonMultipleOSBoot-loaderforCommandandControlSystems

    Lian Jian-yong1,GU Zhong-ming1,Zhang An-lin1,Huang Dao-ying1*,Zhang An-qin2
    (1.Zhengzhou University of Light Industry,Zhengzhou 450002,China;
    2.China Construction Bank of Jiangsu Branch,Nanjing 210002,China)

    As a boot loader,GRUB2 for Command and Control Systems manage a wide range of OS platform.GRUB2 uses a modular design,provided to the user greater flexibility and performance improvements.It is being discussed very clear on Linux module programming and running mechanism,but the same information about GRUB2 is seldom.In order to understand GRUB2's modular programming and running,by analyzing a module program,its basic structure of module program in the GRUB2 is introduced and the flexibility of GRUB2 modular design is showed,by discussing GRUB2 module mechanism,the underlying work solution that required to run the module is clarified.On this basis,GRUB2 can be redeveloped to consummate its functions and extend its application occasions.

    GRand Unified Bootloader 2,OS,Module Mechanism,LKM(Loadable Kernel Module)

    TP316

    A

    1002-0640(2014)10-0154-04

    2013-09-09

    2013-10-07

    河南省重點(diǎn)科技攻關(guān)基金(132102210418);鄭州市科技計(jì)劃基金(112PPTGY249-7);鄭州輕工業(yè)學(xué)院研究生科技創(chuàng)新基金資助項(xiàng)目

    連建永(1989- ),男,河北邯鄲人,碩士研究生。研究方向:計(jì)算機(jī)網(wǎng)絡(luò)及操作系統(tǒng)。

    黃道穎(1967- ),男,河南信陽人,博士,教授,碩導(dǎo)。研究方向:計(jì)算機(jī)網(wǎng)絡(luò),分布式計(jì)算系統(tǒng)。

    猜你喜歡
    鏈表內(nèi)核調(diào)用
    萬物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
    強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
    核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
    基于二進(jìn)制鏈表的粗糙集屬性約簡
    跟麥咭學(xué)編程
    基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
    Linux內(nèi)核mmap保護(hù)機(jī)制研究
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    基于鏈表多分支路徑樹的云存儲(chǔ)數(shù)據(jù)完整性驗(yàn)證機(jī)制
    基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
    亚洲欧美日韩高清在线视频| 国产爱豆传媒在线观看| 亚洲,欧美精品.| 午夜亚洲福利在线播放| 又爽又黄无遮挡网站| 久久久久久久久免费视频了| 亚洲 欧美 日韩 在线 免费| 国产精品免费一区二区三区在线| 欧美黑人巨大hd| 欧美日韩一级在线毛片| 怎么达到女性高潮| 久久久久久九九精品二区国产| 久久天堂一区二区三区四区| 18禁裸乳无遮挡免费网站照片| 最新在线观看一区二区三区| 99久久99久久久精品蜜桃| 999精品在线视频| 在线视频色国产色| 亚洲欧美一区二区三区黑人| 亚洲欧美精品综合久久99| 99国产精品99久久久久| 我的老师免费观看完整版| 久久婷婷人人爽人人干人人爱| 日日干狠狠操夜夜爽| 中文字幕精品亚洲无线码一区| 亚洲国产中文字幕在线视频| 国产精品1区2区在线观看.| 91av网一区二区| 成在线人永久免费视频| 99久久精品国产亚洲精品| 国产探花在线观看一区二区| 身体一侧抽搐| 亚洲18禁久久av| 国产成人影院久久av| 亚洲男人的天堂狠狠| 熟妇人妻久久中文字幕3abv| 美女免费视频网站| 精品免费久久久久久久清纯| 性欧美人与动物交配| 成人精品一区二区免费| 日韩欧美 国产精品| 在线免费观看的www视频| 欧美黑人巨大hd| 99热这里只有精品一区 | 人人妻,人人澡人人爽秒播| 久久久水蜜桃国产精品网| 性色avwww在线观看| 日韩中文字幕欧美一区二区| 国产私拍福利视频在线观看| tocl精华| 天堂av国产一区二区熟女人妻| 欧美日韩黄片免| 97超视频在线观看视频| 禁无遮挡网站| 精品一区二区三区av网在线观看| 欧美三级亚洲精品| 天堂动漫精品| 亚洲人成伊人成综合网2020| 欧美绝顶高潮抽搐喷水| 午夜a级毛片| av在线天堂中文字幕| 免费在线观看亚洲国产| 免费在线观看视频国产中文字幕亚洲| 午夜福利欧美成人| 日日干狠狠操夜夜爽| 欧美一级毛片孕妇| 一个人看视频在线观看www免费 | 亚洲国产欧美人成| 国产淫片久久久久久久久 | 又大又爽又粗| 一级毛片女人18水好多| 久久久久久九九精品二区国产| 变态另类丝袜制服| 免费在线观看亚洲国产| 757午夜福利合集在线观看| 久久久国产欧美日韩av| 欧美日韩乱码在线| 欧美黄色淫秽网站| 久久精品亚洲精品国产色婷小说| 亚洲国产看品久久| 桃红色精品国产亚洲av| 看片在线看免费视频| 老熟妇仑乱视频hdxx| 国产精品九九99| 午夜精品久久久久久毛片777| 免费在线观看日本一区| 亚洲真实伦在线观看| 国产精品自产拍在线观看55亚洲| 亚洲欧美精品综合久久99| 岛国在线观看网站| 色噜噜av男人的天堂激情| 国产精品久久久久久人妻精品电影| 99久久综合精品五月天人人| 国产亚洲精品久久久久久毛片| 黄片小视频在线播放| 男人的好看免费观看在线视频| 观看免费一级毛片| 午夜福利高清视频| 亚洲av日韩精品久久久久久密| 久9热在线精品视频| 丰满人妻熟妇乱又伦精品不卡| 脱女人内裤的视频| 人人妻人人看人人澡| 国产成人av激情在线播放| 手机成人av网站| 久久人人精品亚洲av| 一a级毛片在线观看| 欧美性猛交╳xxx乱大交人| 中亚洲国语对白在线视频| 两性夫妻黄色片| 欧美中文日本在线观看视频| 精品午夜福利视频在线观看一区| 免费在线观看亚洲国产| 免费一级毛片在线播放高清视频| 亚洲欧美日韩无卡精品| 最近最新免费中文字幕在线| 日本在线视频免费播放| 我的老师免费观看完整版| 国产精品日韩av在线免费观看| 美女 人体艺术 gogo| 好看av亚洲va欧美ⅴa在| 国产精品久久久av美女十八| 岛国在线免费视频观看| 色尼玛亚洲综合影院| 99视频精品全部免费 在线 | 成人精品一区二区免费| 2021天堂中文幕一二区在线观| 日本免费a在线| 91麻豆av在线| 亚洲中文字幕日韩| 露出奶头的视频| 日本黄色片子视频| 女同久久另类99精品国产91| 久久久水蜜桃国产精品网| 中文字幕精品亚洲无线码一区| 国产午夜精品论理片| 国产精品久久久av美女十八| 亚洲精品久久国产高清桃花| 看黄色毛片网站| 亚洲美女黄片视频| 男人的好看免费观看在线视频| 免费在线观看日本一区| 美女免费视频网站| 成年人黄色毛片网站| 国产精品野战在线观看| 美女大奶头视频| 国产精品久久久久久人妻精品电影| 国产高清videossex| 色哟哟哟哟哟哟| 女生性感内裤真人,穿戴方法视频| 老司机午夜十八禁免费视频| h日本视频在线播放| 香蕉av资源在线| 欧美乱妇无乱码| 看黄色毛片网站| 97人妻精品一区二区三区麻豆| 黄色视频,在线免费观看| 亚洲精品456在线播放app | 禁无遮挡网站| 国产精品亚洲美女久久久| av欧美777| 青草久久国产| 欧美乱色亚洲激情| 日韩欧美一区二区三区在线观看| 午夜激情福利司机影院| 国产精品1区2区在线观看.| 97超视频在线观看视频| 亚洲一区高清亚洲精品| 亚洲 欧美 日韩 在线 免费| 在线观看美女被高潮喷水网站 | 欧美激情在线99| 国产综合懂色| 亚洲国产精品sss在线观看| 亚洲黑人精品在线| 一级毛片高清免费大全| 国产精品久久久人人做人人爽| 真人一进一出gif抽搐免费| 亚洲午夜理论影院| 男女做爰动态图高潮gif福利片| 搡老妇女老女人老熟妇| 中出人妻视频一区二区| 中文亚洲av片在线观看爽| 国产精品日韩av在线免费观看| 欧美色欧美亚洲另类二区| 亚洲午夜精品一区,二区,三区| 国产精品免费一区二区三区在线| 欧美3d第一页| 亚洲中文字幕一区二区三区有码在线看 | 午夜精品久久久久久毛片777| 好看av亚洲va欧美ⅴa在| 草草在线视频免费看| 99在线视频只有这里精品首页| 亚洲成av人片在线播放无| 精品国产三级普通话版| 中文字幕精品亚洲无线码一区| 又黄又爽又免费观看的视频| 亚洲精品粉嫩美女一区| 国内久久婷婷六月综合欲色啪| 不卡一级毛片| 搡老妇女老女人老熟妇| 亚洲 欧美一区二区三区| 午夜福利18| 男女下面进入的视频免费午夜| 国产精品一区二区三区四区久久| 97超级碰碰碰精品色视频在线观看| 超碰成人久久| 国产精品一区二区三区四区久久| 法律面前人人平等表现在哪些方面| 国产高清视频在线播放一区| 又大又爽又粗| 亚洲国产精品合色在线| 国产成年人精品一区二区| e午夜精品久久久久久久| 在线观看免费视频日本深夜| 嫩草影院精品99| 国产av一区在线观看免费| 精品电影一区二区在线| 国模一区二区三区四区视频 | 精品久久久久久久毛片微露脸| 国产久久久一区二区三区| 男人舔女人的私密视频| 精品久久久久久久末码| 亚洲专区字幕在线| 亚洲无线在线观看| 午夜久久久久精精品| 国产三级在线视频| 别揉我奶头~嗯~啊~动态视频| 757午夜福利合集在线观看| 五月玫瑰六月丁香| 亚洲欧美精品综合久久99| 亚洲一区二区三区色噜噜| 香蕉丝袜av| 国产精品一区二区免费欧美| 国内揄拍国产精品人妻在线| 两人在一起打扑克的视频| 一级黄色大片毛片| 亚洲九九香蕉| 怎么达到女性高潮| 欧美午夜高清在线| 精品久久蜜臀av无| 99国产极品粉嫩在线观看| 99riav亚洲国产免费| 亚洲一区二区三区不卡视频| 亚洲熟妇熟女久久| 男女那种视频在线观看| 草草在线视频免费看| 在线免费观看不下载黄p国产 | 久久性视频一级片| 亚洲专区字幕在线| 国产成年人精品一区二区| 亚洲精品456在线播放app | 久久这里只有精品19| 亚洲欧美精品综合一区二区三区| 成在线人永久免费视频| 国产伦精品一区二区三区四那| 久久精品aⅴ一区二区三区四区| 亚洲人与动物交配视频| 一级黄色大片毛片| 色播亚洲综合网| 亚洲av中文字字幕乱码综合| 欧美黄色片欧美黄色片| 夜夜夜夜夜久久久久| 欧美不卡视频在线免费观看| 性色av乱码一区二区三区2| 99精品在免费线老司机午夜| 88av欧美| 欧美中文综合在线视频| 亚洲美女黄片视频| 久久久色成人| 久久香蕉精品热| 极品教师在线免费播放| 成人精品一区二区免费| АⅤ资源中文在线天堂| 精品99又大又爽又粗少妇毛片 | 无人区码免费观看不卡| 色哟哟哟哟哟哟| 一夜夜www| 成人欧美大片| 欧美黑人欧美精品刺激| 亚洲欧洲精品一区二区精品久久久| 亚洲成人精品中文字幕电影| 精品熟女少妇八av免费久了| 亚洲电影在线观看av| 日日干狠狠操夜夜爽| 真人做人爱边吃奶动态| АⅤ资源中文在线天堂| 一本精品99久久精品77| 少妇丰满av| 国产成人一区二区三区免费视频网站| 一二三四在线观看免费中文在| 亚洲九九香蕉| 亚洲午夜理论影院| 色综合站精品国产| 一级毛片女人18水好多| 深夜精品福利| 国产人伦9x9x在线观看| 亚洲美女视频黄频| 欧美极品一区二区三区四区| 天天躁狠狠躁夜夜躁狠狠躁| 精品一区二区三区四区五区乱码| 动漫黄色视频在线观看| www.www免费av| www日本在线高清视频| 琪琪午夜伦伦电影理论片6080| 一本精品99久久精品77| 久久99热这里只有精品18| 日本黄色片子视频| 午夜免费成人在线视频| 亚洲色图 男人天堂 中文字幕| 免费av不卡在线播放| 我要搜黄色片| 在线观看舔阴道视频| 哪里可以看免费的av片| 国产高清三级在线| 久久中文看片网| 美女扒开内裤让男人捅视频| 中文字幕人成人乱码亚洲影| 又爽又黄无遮挡网站| 久久精品人妻少妇| 99在线视频只有这里精品首页| 久久国产精品影院| 中亚洲国语对白在线视频| 搞女人的毛片| 观看美女的网站| 亚洲av片天天在线观看| 一个人免费在线观看的高清视频| 免费一级毛片在线播放高清视频| 亚洲精品国产精品久久久不卡| 日韩欧美在线二视频| www.自偷自拍.com| 岛国在线免费视频观看| 高潮久久久久久久久久久不卡| 99国产极品粉嫩在线观看| 国产精品女同一区二区软件 | 国内精品久久久久精免费| 国产精品综合久久久久久久免费| 最近视频中文字幕2019在线8| 午夜福利成人在线免费观看| 精品不卡国产一区二区三区| 国产一区二区激情短视频| 久久久久国产一级毛片高清牌| 国产亚洲精品久久久久久毛片| 女生性感内裤真人,穿戴方法视频| 国产精品亚洲av一区麻豆| 国语自产精品视频在线第100页| 岛国视频午夜一区免费看| 狂野欧美白嫩少妇大欣赏| 岛国在线观看网站| 天堂动漫精品| 亚洲av电影不卡..在线观看| 国产午夜福利久久久久久| 香蕉丝袜av| 美女扒开内裤让男人捅视频| 成人av一区二区三区在线看| 性色av乱码一区二区三区2| 国产高清三级在线| 免费看a级黄色片| 操出白浆在线播放| 精品电影一区二区在线| 1024手机看黄色片| 成人av一区二区三区在线看| 成人av在线播放网站| 国产一级毛片七仙女欲春2| 十八禁人妻一区二区| 国语自产精品视频在线第100页| 国产高清有码在线观看视频| 国产精品国产高清国产av| 岛国在线免费视频观看| 亚洲午夜精品一区,二区,三区| 51午夜福利影视在线观看| 国产成+人综合+亚洲专区| 极品教师在线免费播放| 无限看片的www在线观看| 极品教师在线免费播放| 黑人操中国人逼视频| 欧美性猛交黑人性爽| 天堂av国产一区二区熟女人妻| 九色成人免费人妻av| 看免费av毛片| 久久精品综合一区二区三区| 中文字幕高清在线视频| 黄色视频,在线免费观看| 亚洲午夜理论影院| 嫩草影院精品99| 99久久99久久久精品蜜桃| 露出奶头的视频| 色综合婷婷激情| 久久久久久国产a免费观看| 一级毛片精品| 午夜福利免费观看在线| 亚洲av片天天在线观看| 制服丝袜大香蕉在线| 在线观看舔阴道视频| 听说在线观看完整版免费高清| 久久久久久久久中文| 噜噜噜噜噜久久久久久91| 在线国产一区二区在线| 最近视频中文字幕2019在线8| 欧美日本视频| а√天堂www在线а√下载| 少妇熟女aⅴ在线视频| 欧美激情在线99| 欧美激情久久久久久爽电影| 免费搜索国产男女视频| 亚洲专区国产一区二区| 中亚洲国语对白在线视频| 国产精品1区2区在线观看.| 久久天躁狠狠躁夜夜2o2o| 变态另类成人亚洲欧美熟女| 国产成人影院久久av| 午夜两性在线视频| 久9热在线精品视频| 日韩免费av在线播放| 午夜激情福利司机影院| 精品久久久久久,| 精品午夜福利视频在线观看一区| 久久婷婷人人爽人人干人人爱| 亚洲天堂国产精品一区在线| www.999成人在线观看| 日日摸夜夜添夜夜添小说| 淫秽高清视频在线观看| 一个人看视频在线观看www免费 | 蜜桃久久精品国产亚洲av| 久久这里只有精品中国| 久久热在线av| 日韩三级视频一区二区三区| 在线国产一区二区在线| 一个人免费在线观看电影 | 免费观看的影片在线观看| 精品一区二区三区视频在线观看免费| 成人精品一区二区免费| 久久香蕉国产精品| 黑人操中国人逼视频| 亚洲性夜色夜夜综合| 国产精品99久久久久久久久| 露出奶头的视频| 国产伦一二天堂av在线观看| 岛国在线免费视频观看| 精品不卡国产一区二区三区| 国产欧美日韩一区二区精品| 亚洲av成人不卡在线观看播放网| 99久久精品国产亚洲精品| 国产精品久久久av美女十八| 欧美国产日韩亚洲一区| 岛国视频午夜一区免费看| 精品国内亚洲2022精品成人| 久久久久久国产a免费观看| 亚洲成av人片在线播放无| 黄频高清免费视频| av福利片在线观看| 99在线视频只有这里精品首页| 国产高清视频在线播放一区| av片东京热男人的天堂| 一a级毛片在线观看| 伦理电影免费视频| 97超视频在线观看视频| 真人做人爱边吃奶动态| 国产伦人伦偷精品视频| av福利片在线观看| 久9热在线精品视频| 国产三级中文精品| 老司机福利观看| 日韩欧美一区二区三区在线观看| 日韩大尺度精品在线看网址| a级毛片a级免费在线| 老司机深夜福利视频在线观看| 一个人观看的视频www高清免费观看 | 久久久久亚洲av毛片大全| 国产精品亚洲av一区麻豆| 亚洲美女视频黄频| 免费观看精品视频网站| 中文字幕熟女人妻在线| 欧美日韩瑟瑟在线播放| 麻豆av在线久日| 麻豆久久精品国产亚洲av| aaaaa片日本免费| 日韩 欧美 亚洲 中文字幕| 亚洲天堂国产精品一区在线| 国产精品一及| 日本三级黄在线观看| 18禁黄网站禁片免费观看直播| 一进一出抽搐动态| 中文亚洲av片在线观看爽| 色播亚洲综合网| 中文资源天堂在线| 波多野结衣高清作品| 伦理电影免费视频| 久久精品夜夜夜夜夜久久蜜豆| 两人在一起打扑克的视频| 亚洲中文字幕日韩| 一个人观看的视频www高清免费观看 | 欧美av亚洲av综合av国产av| 国产综合懂色| 九九热线精品视视频播放| 国产熟女xx| 国产精品爽爽va在线观看网站| 99精品在免费线老司机午夜| 麻豆国产97在线/欧美| 香蕉久久夜色| 这个男人来自地球电影免费观看| 亚洲 国产 在线| 欧美一级毛片孕妇| 亚洲精品色激情综合| 亚洲成av人片在线播放无| 亚洲国产精品成人综合色| 国产一区二区三区视频了| 两人在一起打扑克的视频| 草草在线视频免费看| 啦啦啦观看免费观看视频高清| 偷拍熟女少妇极品色| 网址你懂的国产日韩在线| 久久久国产成人免费| 2021天堂中文幕一二区在线观| 国产成人啪精品午夜网站| 老汉色av国产亚洲站长工具| 特级一级黄色大片| 桃红色精品国产亚洲av| 婷婷精品国产亚洲av在线| 人妻久久中文字幕网| 亚洲18禁久久av| 久久久久免费精品人妻一区二区| 国模一区二区三区四区视频 | 欧美成人免费av一区二区三区| 国产精品一及| 9191精品国产免费久久| 免费看十八禁软件| 日韩精品青青久久久久久| 人妻久久中文字幕网| 亚洲国产欧洲综合997久久,| 特级一级黄色大片| 亚洲成av人片免费观看| 无遮挡黄片免费观看| 久久国产精品人妻蜜桃| 欧美性猛交╳xxx乱大交人| av福利片在线观看| 无人区码免费观看不卡| 草草在线视频免费看| 国产欧美日韩精品一区二区| 欧美zozozo另类| 黄色 视频免费看| 女人被狂操c到高潮| 宅男免费午夜| 亚洲午夜理论影院| 在线观看午夜福利视频| 婷婷精品国产亚洲av在线| 久久伊人香网站| 琪琪午夜伦伦电影理论片6080| 婷婷亚洲欧美| 国产真实乱freesex| 国产又色又爽无遮挡免费看| 国产精品电影一区二区三区| 亚洲av第一区精品v没综合| 国产99白浆流出| www国产在线视频色| 岛国视频午夜一区免费看| 亚洲一区二区三区不卡视频| 嫁个100分男人电影在线观看| 男女午夜视频在线观看| 久久国产精品人妻蜜桃| 偷拍熟女少妇极品色| 夜夜看夜夜爽夜夜摸| 美女高潮的动态| 欧美黄色片欧美黄色片| 搞女人的毛片| 最近在线观看免费完整版| 午夜福利欧美成人| 国产伦精品一区二区三区四那| 99久久无色码亚洲精品果冻| 嫩草影视91久久| 精品久久久久久久久久久久久| 成在线人永久免费视频| 夜夜看夜夜爽夜夜摸| 狂野欧美激情性xxxx| 男女床上黄色一级片免费看| 特级一级黄色大片| 后天国语完整版免费观看| www日本黄色视频网| 啦啦啦观看免费观看视频高清| 欧美成人性av电影在线观看| 日本免费一区二区三区高清不卡| 婷婷丁香在线五月| 国产一区二区激情短视频| 亚洲精品一卡2卡三卡4卡5卡| 99热6这里只有精品| 91麻豆精品激情在线观看国产| 好看av亚洲va欧美ⅴa在| 久久性视频一级片| 美女免费视频网站| 国产av麻豆久久久久久久| 亚洲国产欧美一区二区综合| 神马国产精品三级电影在线观看| 欧美大码av| 一个人免费在线观看电影 | 欧美3d第一页| 一二三四社区在线视频社区8| 久久久久国产精品人妻aⅴ院| 三级毛片av免费| 久久天堂一区二区三区四区| 亚洲国产欧美网| 性色avwww在线观看| 亚洲成人精品中文字幕电影| 99精品在免费线老司机午夜| 欧美成人一区二区免费高清观看 | 亚洲欧洲精品一区二区精品久久久| 91av网站免费观看| 国产精品综合久久久久久久免费| 99久久成人亚洲精品观看| 一个人免费在线观看电影 | 成人三级做爰电影| 国产精品爽爽va在线观看网站| 亚洲电影在线观看av| 熟女少妇亚洲综合色aaa.| 成在线人永久免费视频| 麻豆久久精品国产亚洲av| 国产精品永久免费网站|