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

Linux操作系統內核工作原理介紹

系統 Linux
牛津字典中對"kernel"一詞的定義是:"較軟的、通常是一個堅果可食用的部分。"當然還有第二種定義:"某個東西核心或者最重要的部分。"對Linux來說,它的Kernel無疑屬于第二種解釋。讓我們來看看這個重要的東西是如何工作的,先從一點理論說起。廣義地來說kernel就是一個軟件,它在硬件和運行在計算機上的應用程序之間提供了一個層。嚴格點從計算機科學的角度來說,Linux中的Kernel指的是Linus Torvalds在90年代初期寫的那點代碼。

        本文發表于Linux Format magazine雜志,作者從技術深度上解釋了Linux Kernel是如何工作的。相信對Linux開發者來說有不小的幫助。

        牛津字典中對"kernel"一詞的定義是:"較軟的、通常是一個堅果可食用的部分。"當然還有第二種定義:"某個東西核心或者最重要的部分,即內核。"對Linux來說,它的Kernel無疑屬于第二種解釋。讓我們來看看這個重要的東西是如何工作的,先從一點理論說起。廣義地來說kernel就是一個軟件,它在硬件和運行在計算機上的應用程序之間提供了一個層。嚴格點從計算機科學的角度來說,Linux中的Kernel指的是Linus Torvalds在90年代初期寫的那點代碼。

        所有的你在Linux各版本中看到的其他東西--Bash shell、KDE窗口管理器、web瀏覽器、X服務器、Tux Racer以及所有的其他,都不過是運行在Linux上的應用而已,而不是操作系統自身的一部分。為了給大家一個更加直觀的感覺,我來舉個例子,比如RHEL5的安裝大概要占據2.5GB的硬盤空間(具體多大當然視你的選擇安裝來定),在這其中,kernel以及它的各個模塊組件,只有47MB,所占比例約為2%。 

        那么kernel到底是如何工作的呢? 如下面的圖表。Kernel通過許多的進入端口也就是我們從技術角度所說的系統調用,來使得運行在它上面的應用程序可用。Kernel使用的系統調用比如"讀"和"寫"來提供你硬件的抽象(abstraction)。

 

        從程序員的視角來看,這些看起來只是普通的功能調用,然而實際上系統調用在處理器的操作模式上,從用戶空間到Kernel空間有一個明顯的切換。同時,系統調用提供了一個"Linux虛擬機",可以被認為是對硬件的抽象。

        Kernel提供的更明顯的抽象之一是文件系統。舉例來說,這里有一段短的程序是用C寫的,它打開了一個文件并將內容拷貝到標準的輸出:

  1. #include     
  2. int main()     
  3. {  
  4.    int fd, count;   
  5.    char buf[1000];     
  6.    fd=open("mydata", O_RDONLY);    
  7.    count = read(fd, buf, 1000);    
  8.    write(1, buf, count);    
  9.    close(fd);     
  10. }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         

        在這里,你可以看到四個系統調用的例子:打開、讀、寫和關閉。不談這段程序語法的細節,重點是:通過這些系統調用Linux Kernel提供了一個文件的"錯覺",而實際上它不過是一堆數據有了個名字,這樣一來你就不必去與硬件底層的堆棧、分區、頭和指針、分區等交涉了,而是直接以例子中的方式與硬件"交流",這也就是我們所說的抽象(abstraction),將底層的東西以更易懂的方式表達出來。 

        系統文件是Kernel提供的較為明顯的一種抽象。還有一些特性不是這么的明顯,比如進程調度。任何一個時間,都可能有好幾個進程或者程序等待著運行。Kernel的時間調度給每個進程分配CPU時間,所以就一段時間內來說,我們會有種錯覺:電腦同一時間運行好幾個程序。這是另外一個C程序:

  1. #include   
  2. main()  
  3.  
  4. {  
  5.  
  6. if (fork()) {  
  7.  
  8. write(1, "Parent\n", 7);  
  9.  
  10. wait(0);  
  11.  
  12. exit(0);  
  13.  
  14. }  
  15.  
  16. else {  
  17.  
  18. write(1, "Child\n", 6);  
  19.  
  20. exit(0);  
  21.  
  22. }  
  23.  
  24. }  
  25.  

         在這個程序中創建了一個新進程,而原來的進程(父進程)和新進程(子進程)都編寫了標準輸出然后結束。注意系統調用fork(), exit() 以及 wait()執行程序的創建、結束和各自同步。這是進程管理和調度中最典型的簡單調用。

 

前臺幕后

        Kernel還有一個更加不易見到的功能,連程序員都不易察覺,那就是存儲管理。每個程序運行得都好像它有個自己的地址空間來調用一樣,實際上它跟其他進程一樣共享計算機的物理存儲,如果系統運行的存儲過低,它的地址空間甚至會被磁盤的交互區暫時寄用。存儲管理的另外一個方面是防止一個進程訪問其他進程的地址空間--對于多進程操作系統來說這是很必要的一個防范措施。

         Kernel同樣還配置網絡鏈接協議比如IP、TCP和UDP等,它們在網絡上提供機器對機器(machine-to-machine)和進程對進程(process-to-process)的通信。這里又會造成一種假象,即TCP在兩個進程之間提供了一個固定連接--就好像連接兩個電話的銅線一樣,實際中卻并沒有固定的連接,特殊的引用協議比如FTP、DNS和HTTP是通過用戶級程序來實施的,而并非Kernel的一部分。

        Linux(像之前的Unix)在安全方面口碑很好,這是因為Kernel跟蹤記錄了每個運行進程的user ID和group ID,每次當一個應用企圖訪問資源(比如打開一個文件來寫入)的時候,Kernel就會核對文件上的訪問許可然后做出允許/禁止的命令。這種訪問控制模式最終對整個Linux系統的安全作用很大。

        Kernel還提供了一大套模塊的集合,其功能包括如何處理與硬件設備交流的諸多細節、如何從磁盤讀取一個分區、如果從網絡接口卡獲取數據包等。有時我們稱這些為設備驅動。

 

模塊化的Kernel

        現在我們隊Kernel是做什么的已經有了一些了解,讓我們再來簡單看下它的物理組成。早期版本的Linux Kernel是整體式的,也就是說所有的部件都靜態地連接成一個(很大的)執行文件。

        相比較而言,現在的Linux Kernel是模塊化的:許多功能包含在模塊內,然后動態地載入kernel中。這使得kernel的內核很小,而且在運行kernel時可以不必reboot就能載入和替代模塊。

        Kernel的內核在boot time時從位于/boot 目錄的一個文件加載進存儲中,通常這個/boot 目錄會被叫做KERNELVERSION,KERNELVERSION與kernel版本有關。(如果你想知道你的kernel版本是什么,運行命令行顯示系統信息-r。)kernel的模塊位于目錄/lib/modules/KERNELVERSION之下,所有的組件都會在kernel安裝時被拷貝。

#p#

管理模塊

        大部分情況下,Linux管理它的模塊不需要你的幫忙,但是如果必要的時候有命令行可以來手動檢查和管理模塊。比如,為了查清楚當前到底哪個模塊在載入kernel。這里有一個輸出的例子: 

  1. # lsmod  
  2.  
  3. pcspkr 4224 0  
  4.  
  5. hci_usb 18204 2  
  6.  
  7. psmouse 38920 0  
  8.  
  9. bluetooth 55908 7 rfcomm,l2cap,hci_usb  
  10.  
  11. yenta_socket 27532 5  
  12.  
  13. rsrc_nonstatic 14080 1 yenta_socket  
  14.  
  15. isofs 36284 0  
  16.  

       輸出的內容包括:模塊的名字、大小、使用次數和依賴于它的模塊列表。使用次數對防止卸載當前活躍的模塊非常總要。Linux只允許使用次數為零的模塊被移除。

       你可以使用modprobe來手動加載和卸載模塊,(還有兩個命令行叫做insmod和rmmod,但modprobe更易于使用因為它自動移除了模塊依賴)。比如lsmod的輸出在我們的電腦上顯示了一個名叫isofs的卸載模塊,它的使用次數是零而且沒有依賴模塊,(isofs是一個模塊,它支持CD上使用的ISO系統文件格式)這種情況下,kernel會允許我們卸載模塊:# modprobe -r isofs

 

        現在,isofs不再顯示在Ismod的輸出中,kernel由此節省了36,284字節的存儲。如果你放入CD并且讓它自動安裝,kernel將自動重新載入isofs模塊,而且isofs的使用次數增加到1次。如果這時候你還試圖移除模塊,就不會成功了因為它正在被使用:

# modprobe -r isofs

FATAL: Module isofs is in use.

         Lsmod只是列出了當前被載入的模塊,modprobe則將列出所有可用的模塊,它實際上輸出了/lib/modules/KERNELVERSION目錄下所有的模塊,名單會很長!實際上,使用modprobe來手動加載一個模塊并不常見,但確實可以通過modprobe命令行來對模塊設置參數,例如:# modprobe usbcore blinkenlights=1

        我們并不是在創建blinkenlights,而是usbcore模塊的實參數。

        那么如何知道一個模塊會接受什么參數呢?一個比較好的方法是使用modinfo命令,它列出了關于模塊的種種信息。這里有一個關于模塊snd-hda-intel的例子:

  1. # modinfo snd-hda-intel  
  2.  
  3. filename: /lib/modules/2.6.20-16-generic/kernel/sound/pci/hda/snd-hda-intel.ko  
  4.  
  5. description: Intel HDA driver  
  6.  
  7. license: GPL  
  8.  
  9. srcversion: A3552B2DF3A932D88FFC00C  
  10.  
  11. alias: pci:v000010DEd0000055Dsv*sd*bc*sc*i*  
  12.  
  13. alias: pci:v000010DEd0000055Csv*sd*bc*sc*i*  
  14.  
  15. depends: snd-pcm,snd-page-alloc,snd-hda-codec,snd  
  16.  
  17. vermagic: 2.6.20-16-generic SMP mod_unload 586  
  18.  
  19. parm: index:Index value for Intel HD audio interface. (int)  
  20.  
  21. parm: id:ID string for Intel HD audio interface. (charp)  
  22.  
  23. parm: model:Use the given board model. (charp)  
  24.  
  25. parm: position_fix:Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF, 3 = FIFO size). (int)  
  26.  
  27. parm: probe_mask:Bitmask to probe codecs (default = -1). (int)  
  28.  
  29. parm: single_cmd:Use single command to communicate with codecs (for debugging only). (bool)  
  30.  
  31. parm: enable_msi:Enable Message Signaled Interrupt (MSI) (int)  
  32.  
  33. parm: enable:bool 
  34.  

         對我們來說比較有興趣的以"parm"開頭的那些部分:顯示了模塊所接受的參數。這些描述都比較簡明,如果想要更多的信息,那就安裝kernel的源代碼,在類似于/usr/src/KERNELVERSION/Documentation的目錄下你會找到。里面會有一些有趣的東西,比如文件/usr/src/KERNELVERSION/Documentation/sound/alsa/ALSA-Configuration.txt描述的是被許多ALSA聲音模塊承認的參數;/usr/src/KERNELVERSION/Documentation/kernel-parameters.txt這個文件也很有用。

         前幾天在Ubuntu論壇有一個例子,說的是如何將參數傳遞到一個模塊。實際上問題的關鍵是snd-hda-intel參數在正確驅動聲音硬件時需要一點操作,而且在boot time加載時會中止。解決方法的一部分是將probe_mask=1選項賦給模塊,如果你是手動加載模塊,你需要輸入:# modprobe snd-hda-intel probe_mask=1

        更有可能,你在文件/etc/modprobe.conf中放置這樣類似的一行:options snd-hda-intel probe_mask=1

        這"告訴"modprobe每次在加載snd-hda-intel模塊時包含probe_mask=1選項。現在的有些Linux版本將這一信息分離進/etc/modprobe.d下的不同文件中了,而不是放入modprobe.conf中。

 

/proc系統文件

        Linux kernel同樣通過/proc系統文件來展示了許多細節。為了說明/proc,我們首先需要擴展我們對于文件的理解。除了認為文件就是存儲在硬盤或者CD或者存儲空間上的持久信息之外,我們還應當把它理解為任何可以通過傳統系統調用如:打開、讀、寫、關閉等訪問的信息,當然它也可以被常見的程序訪問。

        /proc之下的"文件"完全是kernel虛擬的一個部分,給我們一個視角可以看到kernel內部的數據結構。實際上,許多Linux的報告工具均能夠很好地呈現在/proc下的文件中尋到的格式化版本的信息。比如,一列/proc/modules將展示一列當前加載的模塊。

         同樣的,/proc/meminfo提供了關于虛擬存儲系統當前狀態的更多細節信息,而類如vmstat的工具則是以一種更加可理解的方式提供了相同的一些信息;/proc/net/arp顯示了系統ARP cache的當前內容,從命令行來說,arp -a顯示的也是相同的信息。

         尤其有意思的是/proc/sys下的"文件"。/proc/sys/net/ipv4/ip_forward下的設置告訴我們kernel是否將轉發IP數據包,也就是說是否扮演網關的作用。現在,kernel告訴我們這是關閉的:# cat /proc/sys/net/ipv4/ip_forward 

         當你發現你可以對這些文件寫入的時候,你會覺得更加有意思。繼續舉例來說:# echo 1 > /proc/sys/net/ipv4/ip_forward

 

將在運行的kernel中打開IP 轉發(IP forwarding)

        除了使用cat和echo來檢查和更正/proc/sys下的設置以外,你也可以使用sysctl命令:

 # sysctl net.ipv4.ip_forward

net.ipv4.ip_forward = 0

       這等同于:

# cat /proc/sys/net/ipv4/ip_forward  

      也等同于:

# sysctl -w net.ipv4.ip_forward=1

net.ipv4.ip_forward = 1

      還等同于:

# echo 1 > /proc/sys/net/ipv4/ip_forward

       需要注意的是,以這種方式你所做的設置改變只能影響當前運行的kernel的,當reboot的時候就不再有效。如果想讓設置永久有效,將它們放置在/etc/sysctl.conf文件中。在boot time時,sysctl將自動重新確定它在此文件下找到的任何設置。

       /etc/sysctl.conf下的代碼行大概是這樣的:net.ipv4.ip_forward=1

 

性能調優(performance tuning)

         有這樣一個說法:/proc/sys下可寫入的參數孕育了整個Linux性能調優的亞文化。我個人覺得這種說法有點過夸,但這里會有幾個你確實很想一試的例子:Oracle 10g的安裝說明,要求你設置一組參數,包括:kernel.shmmax=2147483648 這將公用存儲器的大小設置為2GB。(公用存儲器是處理期內的通信機制,允許存儲單元在多個進程的地址空間內同時可用)

        IBM 'Redpaper'在Linux性能和調優方面的說明在調教/proc/sys下的參數方面給出了不少建議,包括:vm.swappiness=100 這個參數控制著存儲頁如何被交換到磁盤。

        一些參數可以被設置從而提高安全性,如net.ipv4.icmp_echo_ignore_broadcasts=1 它"告訴"kernel不必響應ICMP請求,從而使得你的網絡免受類如Smurf攻擊之類的拒絕服務器(denial-of-service)型攻擊。

net.ipv4.conf.all.rp_filter=1 則是"告訴"kernel加強入站過濾(ingress filtering)和出站過濾(egress filtering)

那么有沒有一個說明能涵蓋這所有的參數?好吧,這有一行命令:# sysctl -a 它將展示所有的參數名字和當前值。列表很長,但是你無法知道這些參數是做什么的。另外比較有用的參考是Red Hat Enterprise Linux Reference Guide,對此有整章節的描述,你可以從www.redhat.com/docs/manuals/enterprise上下載。

 

【編輯推薦】

  1. 一個中國留學生在德國所感受到的Linux氛圍
  2. 10大IT技術偉人 Linux之父居首 
  3. Linux之父稱創新已成下三濫詞 勸人少用為好
  4. Linux內核開發二號大師Alan Cox投奔Intel
責任編輯:zhaolei
相關推薦

2011-01-14 16:23:46

Linux內核

2009-12-17 18:19:12

Linux操作系統

2009-12-11 16:53:52

Linux操作系統

2009-12-23 09:34:51

Fedora VMne

2009-09-01 09:14:42

2009-02-17 16:07:29

Linux操作系統內核啟動參數

2009-12-22 13:05:15

Linux sysfs

2011-01-04 15:36:45

linux特征

2009-06-19 20:32:00

Linux

2009-06-25 08:53:03

Linux操作系統

2009-06-29 08:38:14

Linux操作系統

2009-07-03 06:55:33

Linux

2009-12-09 17:25:19

Linux操作系統

2011-01-14 16:01:27

2011-01-14 16:51:44

Linux內核

2020-12-28 08:51:06

操作系統微內核Dubbo

2009-08-27 10:23:52

2009-12-21 10:55:29

Fedora 7 li

2009-03-27 18:27:48

2025-05-12 09:12:59

點贊
收藏

51CTO技術棧公眾號

国产一区二区不卡视频在线观看| 久久久国产成人精品| 免费无码av片在线观看| 成人精品福利| 国产精品一区二区久久精品爱涩 | 黄色在线免费| 盗摄精品av一区二区三区| 日本一本a高清免费不卡| www.99re6| 欧美激情影院| 91精品国产福利| aaa毛片在线观看| h片在线免费| 国产亚洲一本大道中文在线| 99久热re在线精品996热视频| 亚洲午夜18毛片在线看| 最新欧美人z0oozo0| 精品丝袜一区二区三区| 成人在线短视频| 日韩毛片一区| 色综合色狠狠天天综合色| 天天想你在线观看完整版电影免费| 香蕉人妻av久久久久天天| 紧缚奴在线一区二区三区| 青青a在线精品免费观看| 欧美日韩偷拍视频| 成人3d精品动漫精品一二三| 亚洲精品videossex少妇| 中文字幕avav| 亚州精品国产| 欧美色窝79yyyycom| 久久精品视频16| 2020国产在线视频| 1024国产精品| 一区二区三区四区五区精品| 四虎影视在线观看2413| 成人网在线免费视频| 91香蕉嫩草影院入口| 清纯唯美亚洲综合| 中文字幕网站在线观看| 精品国产影院| 精品国产一区a| 992kp免费看片| 成人免费一区| 欧美天天综合网| 少妇高清精品毛片在线视频| 国产白浆在线免费观看| 亚洲成在线观看| 野外做受又硬又粗又大视频√| 岛国成人毛片| 亚洲精品国产第一综合99久久| 在线看视频不卡| 午夜激情视频在线| 国产精品国产三级国产a| 日本免费高清一区| 精品电影在线| 欧美极品美女视频| 亚洲欧美日产图| av男人的天堂在线| 一色屋精品亚洲香蕉网站| 最新不卡av| 成人福利在线观看视频| 亚洲狼人国产精品| 成人免费观看在线| av免费不卡国产观看| 欧美日韩国产在线看| 日本精品一区在线观看| 欧美色网一区| 在线欧美一区二区| 亚洲国产日韩欧美在线观看| 91成人精品观看| 日韩精品中文字幕在线不卡尤物| 国产高潮失禁喷水爽到抽搐| 久本草在线中文字幕亚洲| 日韩精品免费在线视频观看| 九色porny自拍视频| 精品视频日韩| 大胆欧美人体视频| 国产精品自拍视频一区| 久久综合影音| 91免费欧美精品| 少妇精品视频一区二区| eeuss鲁片一区二区三区在线观看| 黄色99视频| 国产高清免费av在线| 自拍偷拍欧美精品| xxxx18hd亚洲hd捆绑| 欧美三区四区| 91精品国产综合久久国产大片| 久久久久无码国产精品一区李宗瑞| aaa国产精品| 亚洲天堂一区二区三区| 欧美激情图片小说| 亚洲尤物在线| 91九色国产社区在线观看| 男人天堂综合网| 国产精品视频一二| 18禁裸男晨勃露j毛免费观看| 人人草在线视频| 91麻豆精品久久久久蜜臀| 中文字幕人妻一区二区三区| 成人在线丰满少妇av| 久久久久久久久中文字幕| 波多野结衣在线电影| 成人永久看片免费视频天堂| 日韩精品久久一区二区三区| 激情av在线播放| 欧美三级欧美一级| 波多野结衣先锋影音| 欧美hentaied在线观看| 91wwwcom在线观看| www.国产黄色| 亚洲国产电影在线观看| 免费观看国产精品视频| 95精品视频| 亚洲一区二区黄| 五月天婷婷综合网| 国产成人在线免费观看| 色噜噜狠狠一区二区三区| 国产福利在线免费观看| 欧美久久一二区| wwwwxxxx国产| 亚洲深夜福利| 国产aⅴ精品一区二区三区黄| 国产高清免费在线播放| 色综合色综合色综合色综合色综合 | 好吊日视频在线观看| 91精品办公室少妇高潮对白| 久久久久久婷婷| 国内精品嫩模av私拍在线观看| 91精品国产综合久久男男| 国产日韩精品在线看| 欧美日韩国产页| 无码人妻丰满熟妇啪啪网站| 亚洲一区二区三区无吗| 国产欧美在线看| caoporn国产精品免费视频| 欧美日韩精品中文字幕| 欧洲一级黄色片| 99精品国产福利在线观看免费| 成人黄色片视频网站| 色综合999| 精品久久久久一区二区国产| 欧美成人免费看| 国产精品综合二区| 大荫蒂性生交片| 粉嫩久久久久久久极品| 欧美精品video| 国产77777| 懂色aⅴ精品一区二区三区蜜月| 风间由美一二三区av片| 香蕉亚洲视频| 日韩欧美亚洲v片| 日本精品裸体写真集在线观看| 亚洲最新av在线| 亚洲中文字幕一区二区| 亚洲视频小说图片| 超碰人人cao| aa级大片欧美三级| 欧美日韩精品不卡| 成人国产精品一区二区免费麻豆 | 日韩精品一区三区| 91蜜桃婷婷狠狠久久综合9色| 国产最新免费视频| 欧美日韩国产免费观看视频| 国产欧美在线播放| 亚洲第一图区| 日韩电影在线观看中文字幕| 无码人妻丰满熟妇区五十路| 国产精品久久免费看| 在线成人免费av| 亚洲日产国产精品| 日韩免费av电影| 麻豆精品久久| 国产91精品不卡视频| 日韩精品毛片| 亚洲成人激情在线| 亚洲精品国产无码| 亚洲精品你懂的| 制服丝袜av在线| 天堂va蜜桃一区二区三区| 特色特色大片在线| 亚洲免费毛片| 91视频九色网站| 在线能看的av网址| 久久精品中文字幕免费mv| 丁香花免费高清完整在线播放| 色综合天天天天做夜夜夜夜做| 免费国产羞羞网站美图| 91蜜桃视频在线| 久久久福利影院| 免费在线观看成人av| 自拍视频一区二区三区| 先锋影音国产精品| 91亚洲国产成人精品性色| 中文字幕在线看片| 久久久久久12| 免费av网站在线观看| 精品偷拍一区二区三区在线看| 在线免费观看日韩视频| 欧美日韩国产色| 人妻少妇精品一区二区三区| 欧美激情在线一区二区三区| 国产51自产区| 国内精品国产三级国产a久久| 欧美女人性生活视频| 欧美三级网页| 小说区视频区图片区| 免费视频国产一区| 国产精品初高中精品久久| 四虎成人精品一区二区免费网站| 91成人福利在线| 男男gaygays亚洲| 日韩中文字幕第一页| 日本在线一二三| 精品国产成人系列| 一本色道久久综合无码人妻| 日本二三区不卡| 久久99精品波多结衣一区| 一区二区三区不卡在线观看| 亚洲熟女毛茸茸| 国产天堂亚洲国产碰碰| 亚洲av无码国产精品久久| 成人午夜激情视频| 无码人妻一区二区三区精品视频| 韩国三级中文字幕hd久久精品| 午夜视频在线瓜伦| 性伦欧美刺激片在线观看| 国产一区二区三区乱码| 欧美日本不卡高清| 国产免费xxx| 亚洲欧美综合久久久| 亚洲最大免费| 99精品视频在线| 亚洲欧美成人一区| 欧美激情777| 咪咪色在线视频| 伊人久久大香线| 日本女人高潮视频| 国产精品vip| 欧美成人精品免费| 极品少妇一区二区三区| 岛国大片在线播放| 亚洲精品系列| 成人在线免费观看av| 亚洲一区欧美二区| 人妻少妇被粗大爽9797pw| 翔田千里一区二区| 黄色一级二级三级| 久久国产精品99精品国产 | 国产91在线观看丝袜| 久久久久久久久久影视| 高清shemale亚洲人妖| 中文字幕第3页| 久久午夜电影网| 91激情视频在线观看| 国产精品久久久久永久免费观看| 自拍偷拍第9页| 一区二区三区欧美亚洲| 久久9999久久免费精品国产| 亚洲成av人片在线| 凹凸精品一区二区三区| 91.麻豆视频| 亚洲精品国产精品国| 日韩国产高清污视频在线观看| 欧美日本韩国一区二区| 中文字幕在线看视频国产欧美| 国产在线高清理伦片a| 午夜精品福利在线观看| 欧美日韩精品免费观看视欧美高清免费大片 | 成人综合在线网站| 国产交换配乱淫视频免费| 久久婷婷国产综合国色天香| 欧美性猛交xxxx乱大交少妇| 亚洲精选视频在线| www.伊人久久| 88在线观看91蜜桃国自产| 高清毛片aaaaaaaaa片| 亚洲欧美制服综合另类| 韩国av网站在线| 97视频在线观看播放| 99riav视频一区二区| 成人av免费看| 欧美日韩精品一区二区视频| 色一情一乱一乱一区91| 国产精品社区| 91视频免费入口| 久久久电影一区二区三区| 国产精品国产精品88| 精品高清美女精品国产区| 在线观看中文字幕码| 日韩国产一区三区| 顶级网黄在线播放| 国产精品久久久久福利| 精品自拍偷拍| 成人在线免费高清视频| 视频一区二区三区入口| 国产无套精品一区二区三区| 久久精品欧美一区二区三区不卡| 99视频只有精品| 欧美曰成人黄网| 蜜桃久久一区二区三区| 色悠悠久久久久| 中文不卡1区2区3区| 成人一区二区在线| 久久人体视频| 六月丁香婷婷在线| 国产成a人亚洲精品| 天天操夜夜操av| 欧美在线免费观看亚洲| 天堂中文网在线| 久热99视频在线观看| 97久久网站| 欧美一级二级三级| 亚洲作爱视频| 亚洲乱妇老熟女爽到高潮的片| 国产精品视频免费| jizz国产在线| 亚洲男人av在线| 中文字幕资源网在线观看免费| 国产精品swag| 亚洲午夜91| gogo亚洲国模私拍人体| 国产精品国模大尺度视频| 成人黄色三级视频| 国产亚洲精品91在线| 久久人体大尺度| 欧美激情一区二区三区在线视频 | 全部免费毛片在线播放网站| 欧美激情aaaa| 99亚洲乱人伦aⅴ精品| 国产一级不卡视频| 国产成人精品免费看| 老湿机69福利| 欧美成人一区二区三区在线观看| 久久精品视频免费看| 成人h视频在线| 围产精品久久久久久久| 天天看片天天操| 自拍偷拍欧美精品| 99国产揄拍国产精品| 久久这里有精品| 亚洲国产精品免费视频| 欧美极品少妇无套实战| 成人性生交大合| 91美女免费看| 在线电影中文日韩| 免费一区二区三区四区| 国产手机视频在线观看| 国产成人一区二区精品非洲| 久久无码精品丰满人妻| 亚洲国产成人精品电影| 亚洲女同志freevdieo| 秋霞毛片久久久久久久久| 日韩高清不卡一区二区| 污污视频网站在线免费观看| 欧美一区二区在线视频| 欧美人与性动交α欧美精品济南到| 99理论电影网| 99精品久久久| 色欲AV无码精品一区二区久久| 欧美亚洲国产bt| sm国产在线调教视频| 国产精品免费在线播放| 国产欧美日本| 欧美人与禽zoz0善交| 欧美一级精品在线| 51精品视频| 色综合电影网| 国产老肥熟一区二区三区| 久久精品视频国产| 一区二区三欧美| 韩国一区二区三区视频| 少妇高潮毛片色欲ava片| 欧美国产激情一区二区三区蜜月| 国产日韩一级片| 欧美在线亚洲一区| 欧美wwwww| 国产精品久久无码| 欧美日本一区二区在线观看| 俺来俺也去www色在线观看| 久久久影院一区二区三区| 韩国成人精品a∨在线观看| 国产午夜精品无码| 最新日韩中文字幕| 精品按摩偷拍| 久久精品国产99久久99久久久| 欧美日韩国产黄| 日本三级在线播放完整版| 狠狠色综合网站久久久久久久| 麻豆精品一区二区综合av| 国产精久久久久久| 日韩在线观看你懂的| 日本99精品| 中文字幕 91| 欧美日韩国产一区二区三区| 欧美a在线看| 欧美日韩亚洲综合一区二区三区激情在线| 久久国产乱子精品免费女| 青青草成人av|