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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux0.11内核剖析--内核体系结构

發(fā)布時間:2023/12/9 linux 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux0.11内核剖析--内核体系结构 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一個完整可用的操作系統(tǒng)主要由 4 部分組成:硬件、操作系統(tǒng)內(nèi)核、操作系統(tǒng)服務(wù)和用戶應(yīng)用程序,如下圖所示:

用戶應(yīng)用程序是指那些字處理程序、 Internet 瀏覽器程序或用戶自行編制的各種應(yīng)用程序;

操作系統(tǒng)服務(wù)程序是指那些向用戶所提供的服務(wù)被看作是操作系統(tǒng)的部分功能的程序。

在 Linux 操作系統(tǒng)上,這些程序包括 X 窗口系統(tǒng)、 shell 命令解釋系統(tǒng)以及那些內(nèi)核編程接口等系統(tǒng)程序;操作系統(tǒng)內(nèi)核程序即是本書所感興趣的部分,它主要用于對硬件資源的抽象和訪問調(diào)度。

Linux 內(nèi)核的主要用途就是為了與計算機硬件進行交互,實現(xiàn)對硬件部件的編程控制和接口操作,調(diào)度對硬件資源的訪問,并為計算機上的用戶程序提供一個高級的執(zhí)行環(huán)境和對硬件的虛擬接口。在本文內(nèi)容中,我們首先基于 Linux 0.11 版的內(nèi)核源代碼,簡明地描述 Linux 內(nèi)核的基本體系結(jié)構(gòu)、主要構(gòu)成模塊。然后對源代碼中出現(xiàn)的幾個重要數(shù)據(jù)結(jié)構(gòu)進行說明。最后描述了構(gòu)建 Linux 0.11 內(nèi)核編譯實驗環(huán)境的方法。

本文地址:http://www.cnblogs.com/archimedes/p/linux011-architecture.html,轉(zhuǎn)載請注明源地址。

1、Linux 內(nèi)核模式

目前,操作系統(tǒng)內(nèi)核的結(jié)構(gòu)模式主要可分為整體式的單內(nèi)核模式和層次式的微內(nèi)核模式。而?Linux 0.11 內(nèi)核,則是采用了單內(nèi)核模式。

單內(nèi)核模式的主要優(yōu)點是內(nèi)核代碼結(jié)構(gòu)緊湊、執(zhí)行速度快,不足之處主要是層次結(jié)構(gòu)性不強。
在單內(nèi)核模式的系統(tǒng)中,操作系統(tǒng)所提供服務(wù)的流程為:應(yīng)用主程序使用指定的參數(shù)值執(zhí)行系統(tǒng)調(diào)用指令(int x80),使 CPU 從用戶態(tài)( User Mode)切換到核心態(tài)( Kernel Model),然后操作系統(tǒng)根據(jù)具體的參數(shù)值調(diào)用特定的系統(tǒng)調(diào)用服務(wù)程序,而這些服務(wù)程序則根據(jù)需要再底層的一些支持函數(shù)以完成特定的功能。在完成了應(yīng)用程序所要求的服務(wù)后,操作系統(tǒng)又從核心態(tài)切換回用戶態(tài),返回到應(yīng)用程序中繼續(xù)執(zhí)行后面的指令。

因此概要地講,單內(nèi)核模式的內(nèi)核也可粗略地分為三個層次:調(diào)用服務(wù)的主程序?qū)印?zhí)行系統(tǒng)調(diào)用的服務(wù)層和支持系統(tǒng)調(diào)用的底層函數(shù)。如下圖所示:
單內(nèi)核模式的簡單結(jié)構(gòu)模型

2、Linux 內(nèi)核系統(tǒng)體系結(jié)構(gòu)

Linux 內(nèi)核主要由 5 個模塊構(gòu)成,它們分別是:進程調(diào)度模塊、內(nèi)存管理模塊、文件系統(tǒng)模塊、進程間通信模塊和網(wǎng)絡(luò)接口模塊

進程調(diào)度模塊用來負責(zé)控制進程對 CPU 資源的使用。所采取的調(diào)度策略是各進程能夠公平合理地訪問 CPU,同時保證內(nèi)核能及時地執(zhí)行硬件操作。

內(nèi)存管理模塊用于確保所有進程能夠安全地共享機器主內(nèi)存區(qū),同時,內(nèi)存管理模塊還支持虛擬內(nèi)存管理方式,使得 Linux 支持進程使用比實際內(nèi)存空間更多大的內(nèi)存容量。并可以利用文件系統(tǒng)把暫時不用的內(nèi)存數(shù)據(jù)塊會被交換到外部存儲設(shè)備上去,當需要時再交換回來。

文件系統(tǒng)模塊用于支持對外部設(shè)備的驅(qū)動和存儲。虛擬文件系統(tǒng)模塊通過向所有的外部存儲設(shè)備提供一個通用的文件接口,隱藏了各種硬件設(shè)備的不同細節(jié)。從而提供并支持與其它操作系統(tǒng)兼容的多種文件系統(tǒng)格式。

進程間通信模塊子系統(tǒng)用于支持多種進程間的信息交換方式。

網(wǎng)絡(luò)接口模塊提供對多種網(wǎng)絡(luò)通信標準的訪問并支持許多網(wǎng)絡(luò)硬件。
這幾個模塊之間的依賴關(guān)系見圖 所示。其中的連線代表它們之間的依賴關(guān)系,虛線和虛框部分表示 Linux 0.11 中還未實現(xiàn)的部分(從 Linux 0.95 版才開始逐步實現(xiàn)虛擬文件系統(tǒng),而網(wǎng)絡(luò)接口的支持到 0.96版才有)。
Linux 內(nèi)核系統(tǒng)模塊結(jié)構(gòu)及相互依賴關(guān)系:

若從單內(nèi)核模式結(jié)構(gòu)模型出發(fā),我們還可以根據(jù) linux 0.11 內(nèi)核源代碼的結(jié)構(gòu)將內(nèi)核主要模塊繪制成下圖所示的框圖結(jié)構(gòu):

3、Linux 內(nèi)核進程控制

  對于 linux 0.11 內(nèi)核來講, 系統(tǒng)最多可有 64 個進程同時存在。 系統(tǒng)除了第一個進程是“手工”建立以外, 其余的都是進程使用系統(tǒng)調(diào)用 fork 創(chuàng)建的新進程。內(nèi)核程序使用進程標識號(process ID, pid)來標識每個進程。進程由可執(zhí)行的指令代碼、數(shù)據(jù)和堆棧區(qū)組成。進程中的代碼和數(shù)據(jù)部分分別對應(yīng)一個執(zhí)行文件中的代碼段、數(shù)據(jù)段。每個進程只能執(zhí)行自己的代碼和訪問自己的數(shù)據(jù)及堆棧區(qū)。進程之間相互之間的通信需要通過系統(tǒng)調(diào)用了進行。對于只有一個 CPU 的系統(tǒng),在某一時刻只能有一個進程正在運行。內(nèi)核通過調(diào)度程序分時調(diào)度各個進程運行。

Linux 系統(tǒng)中,一個進程可以在內(nèi)核態(tài)( kernel mode)或用戶態(tài)( user mode)下執(zhí)行,因此, linux 內(nèi)核棧和用戶棧是分開的。用戶棧用于進程在用戶態(tài)下臨時保存調(diào)用函數(shù)的參數(shù)、局部變量等數(shù)據(jù)。內(nèi)核棧則含有內(nèi)核程序執(zhí)行函數(shù)調(diào)用時的信息。內(nèi)核程序是通過進程表對進程進行管理的,每個進程在進程表中占有一項。在 linux 系統(tǒng)中,進程表項是一個 task 結(jié)構(gòu)
當一個進程在執(zhí)行時, CPU 的所有寄存器中的值、進程的狀態(tài)以及堆棧中的內(nèi)容被稱為該進程的上下文。當內(nèi)核需要切換( switch)至另一個進程時,它就需要保存當前進程的所有狀態(tài),也即保存當前進程的上下文,以便在再次執(zhí)行該進程時,能夠恢復(fù)到切換時的狀態(tài)執(zhí)行下去。在發(fā)生中斷時,內(nèi)核就在被中斷進程的上下文中,在內(nèi)核態(tài)下執(zhí)行中斷服務(wù)例程。但同時會保留所有需要用到的資源,以便中斷服務(wù)結(jié)束時能恢復(fù)被中斷進程的執(zhí)行。
一個進程在其生存期內(nèi),可處于一組不同的狀態(tài)下,稱為進程狀態(tài)。見下圖所示:

當進程正在被 CPU 執(zhí)行時,被稱為處于執(zhí)行狀態(tài)( running)。當進程正在等待系統(tǒng)中的資源而處于等待狀態(tài)時,則稱其處于睡眠等待狀態(tài)。在 linux 系統(tǒng)中,還分為可中斷的和不可中斷的等待狀態(tài)。當系統(tǒng)資源已經(jīng)可用時,進程就被喚醒而進入準備運行狀態(tài),該狀態(tài)稱為就緒態(tài)。當進程已停止運行,但其父進程還沒有詢問其狀態(tài)時,則稱該進程處于僵死狀態(tài)。當進程被終止時,稱其處于停止狀態(tài)。只有當進程從“內(nèi)核運行態(tài)”轉(zhuǎn)移到“睡眠狀態(tài)”時,內(nèi)核才會進行進程切換操作。在內(nèi)核態(tài)下運行的進程不能被其它進程搶占,而且一個進程不能改變另一個進程的狀態(tài)。為了避免進程切換時造成內(nèi)核數(shù)據(jù)錯誤,內(nèi)核在執(zhí)行臨界區(qū)代碼時會禁止一切中斷。

4、Linux 內(nèi)核對內(nèi)存的使用方法

在 linux 0.11 內(nèi)核中,為了有效地使用系統(tǒng)的物理內(nèi)存,內(nèi)存被劃分成幾個功能區(qū)域,見下圖所示:

其中,linux 內(nèi)核程序占據(jù)在物理內(nèi)存的開始部分,接下來是用于供硬盤或軟盤等塊設(shè)備使用的高速緩沖區(qū)部分。當一個進程需要讀取塊設(shè)備中的數(shù)據(jù)時,系統(tǒng)會首先將數(shù)據(jù)讀到高速緩沖區(qū)中;當有數(shù)據(jù)需要寫到塊設(shè)備上去時,系統(tǒng)也是先將數(shù)據(jù)放到高速緩沖區(qū)中,然后由塊設(shè)備驅(qū)動程序?qū)懙皆O(shè)備上。最后部分是供所有程序可以隨時申請使用的主內(nèi)存區(qū)部分。內(nèi)核程序在使用主內(nèi)存區(qū)時,也同樣要首先向內(nèi)核的內(nèi)存管理模塊提出申請,在申請成功后方能使用。對于含有 RAM 虛擬盤的系統(tǒng),主內(nèi)存區(qū)頭部還要劃去一部分,共虛擬盤存放數(shù)據(jù)。
由于計算機系統(tǒng)中所含的實際物理內(nèi)存容量是有限制的。為了能有效地使用這些物理內(nèi)存,Linux 采用了 Intel CPU 的內(nèi)存分頁管理機制,使用虛擬線性地址與實際物理內(nèi)存地址映射的方法讓所有同時執(zhí)行的程序共同使用有限的內(nèi)存。

內(nèi)存分頁管理的基本原理是將整個主內(nèi)存區(qū)域劃分成 4096 字節(jié)為一頁的內(nèi)存頁面。程序申請使用內(nèi)存時,就以內(nèi)存頁為單位進行分配。在使用這種內(nèi)存分頁管理方法時,每個執(zhí)行中的進程(任務(wù))可以使用比實際內(nèi)存容量大得多的線性地址空間。對于 Intel 80386 系統(tǒng),其 CPU 可以提供多達 4G 的線性地址空間。對于 linux 0.11 內(nèi)核,系統(tǒng)設(shè)置全局描述符表 GDT 中的段描述符項數(shù)最大為 256,其中 2 項空閑、 2 項系統(tǒng)使用,每個進程使用兩項。因此,此時系統(tǒng)可以最多容納(256-4)/2 + 1=127 個任務(wù),并且虛擬地址范圍是 ((256-4)/2)* 64MB 約等于8G。 但 0.11 內(nèi)核中人工定義最大任務(wù)數(shù) NR_TASKS = 64 個, 每個進程虛擬地址(或線性地址)范圍是 64M,并且各個進程的虛擬地址起始位置是(任務(wù)號-1)*64MB。 因此所使用的虛擬地址空間范圍是 64MB*64 =4G,見下圖所示。 4G 正好與 CPU 的線性地址空間范圍或物理地址空間范圍相同,因此在 0.11 內(nèi)核中比較容易混淆三種地址概念。

linux 0.11 中,在進行地址映射時,我們需要分清 3 種地址之間的變換: a. 進程虛擬地址,是從虛擬地址 0 開始計,最大 64M; b. CPU 的線性地址空間( 0--4G); c. 實際物理內(nèi)存地址。進程的虛擬地址需要首先通過其局部段描述符變換為 CPU 整個線性地址空間中的地址,然后再使用頁目錄表 PDT(一級頁表)和頁表 PT(二級頁表)映射到實際物理地址頁上。因此兩種變換不能混淆。為了使用實際物理內(nèi)存,每個進程的線性地址通過二級內(nèi)存頁表動態(tài)地映射到主內(nèi)存區(qū)域的不同內(nèi)存頁上。因此每個進程最大可用的虛擬內(nèi)存空間是 64MB。每個進程的邏輯地址通過加上任務(wù)號*64M,即可轉(zhuǎn)換為線性地址。不過在注釋中,我們通常將進程中的地址簡單地稱為線性地址。

5、Linux 內(nèi)核源代碼的目錄結(jié)構(gòu)

由于 Linux 內(nèi)核是一種單內(nèi)核模式的系統(tǒng),因此,內(nèi)核中所有的程序幾乎都有緊密的聯(lián)系,它們之間的依賴和調(diào)用關(guān)系非常密切。所以在閱讀一個源代碼文件時往往需要參閱其它相關(guān)的文件。因此有必要在開始閱讀內(nèi)核源代碼之前,先熟悉一下源代碼文件的目錄結(jié)構(gòu)和安排。

這里我們首先列出 Linux 內(nèi)核完整的源代碼目錄,包括其中的子目錄。然后逐一介紹各個目錄中所包含程序的主要功能,使得整個內(nèi)核源代碼的安排形式能在我們的頭腦中建立起一個大概的框架,以便于后面開始的源代碼閱讀工作。當我們使用 tar 命令將 linux-0.11.tar.gz 解開時,內(nèi)核源代碼文件被放到了 linux 目錄中。其中的目錄結(jié)構(gòu)為:

該內(nèi)核版本的源代碼目錄中含有 14 個子目錄,總共包括 102 個代碼文件。下面逐個對這些子目錄中的內(nèi)容進行描述。
1、內(nèi)核主目錄 linux
linux 目錄是源代碼的主目錄,在該主目錄中除了包括所有的 14 個子目錄以外,還含有唯一的一個makefile 文件。該文件是編譯輔助工具軟件 make 的參數(shù)配置文件。 make 工具軟件的主要用途是通過識別哪些文件已被修改過,從而自動地決定在一個含有多個源程序文件的程序系統(tǒng)中哪些文件需要被重新編譯。因此, make 工具軟件是程序項目的管理軟件。linux 目錄下的這個 makefile 文件還嵌套地調(diào)用了所有子目錄中包含的 makefile 文件,這樣,當 linux 目錄(包括子目錄)下的任何文件被修改過時, make 都會對其進行重新編譯。因此為了編譯整個內(nèi)核所有的源代碼文件,只要在 linux 目錄下運行一次 make 軟件即可。

2、引導(dǎo)啟動程序目錄 boot
boot 目錄中含有 3 個匯編語言文件,是內(nèi)核源代碼文件中最先被編譯的程序。這 3 個程序完成的主要功能是當計算機加電時引導(dǎo)內(nèi)核啟動,將內(nèi)核代碼加載到內(nèi)存中,并做一些進入 32 位保護運行方式前的系統(tǒng)初始化工作。 其中 bootsect.s 和 setup.s 程序需要使用 as86 軟件來編譯, 使用的是 as86 的匯編語言格式(與微軟的類似),而 head.s 需要用 GNU as 來編譯,使用的是 AT&T 格式的匯編語言。這兩種匯編語言在下一章的代碼注釋里以及代碼列表后面的說明中會有簡單的介紹。bootsect.s 程序是磁盤引導(dǎo)塊程序,編譯后會駐留在磁盤的第一個扇區(qū)中(引導(dǎo)扇區(qū), 0 磁道(柱面),0 磁頭,第 1 個扇區(qū))。在 PC 機加電 ROM BIOS 自檢后,將被 BIOS 加載到內(nèi)存 0x7C00 處進行執(zhí)行。setup.s 程序主要用于讀取機器的硬件配置參數(shù),并把內(nèi)核模塊 system 移動到適當?shù)膬?nèi)存位置處。head.s 程序會被編譯連接在 system 模塊的最前部分,主要進行硬件設(shè)備的探測設(shè)置和內(nèi)存管理頁面的初始設(shè)置工作。

3、文件系統(tǒng)目錄 fs
是文件系統(tǒng)實現(xiàn)程序的目錄,共包含 17 個 C 語言程序。這些程序之間的主要引用關(guān)系所示圖中每個方框代表一個文件,從上到下按基本按引用關(guān)系放置。其中各文件名均略去了后綴.c,虛框中是的程序文件不屬于文件系統(tǒng),帶箭頭的線條表示引用關(guān)系,粗線條表示有相互引用關(guān)系。


由圖可以看出,該目錄中的程序可以劃分成四個部分:高速緩沖區(qū)管理、低層文件操作、文件數(shù)據(jù)訪問和文件高層函數(shù),對于文件系統(tǒng),我們可以將它看成是內(nèi)存高速緩沖區(qū)的擴展部分。所有對文件系統(tǒng)中數(shù)據(jù)的訪問,都需要首先讀取到高速緩沖區(qū)中。本目錄中的程序主要用來管理高速緩沖區(qū)中緩沖塊的使用分配和塊設(shè)備上的文件系統(tǒng)。
4、頭文件主目錄 include
頭文件目錄中總共有 32 個.h 頭文件。其中主目錄下有 13 個, asm 子目錄中有 4 個, linux 子目錄中有10 個, sys 子目錄中有 5 個:

<a.out.h> //a.out 頭文件,定義了 a.out 執(zhí)行文件格式和一些宏。 <const.h> //常數(shù)符號頭文件,目前僅定義了 i 節(jié)點中 i_mode 字段的各標志位。 <ctype.h> //字符類型頭文件。定義了一些有關(guān)字符類型判斷和轉(zhuǎn)換的宏。 <errno.h> //錯誤號頭文件。包含系統(tǒng)中各種出錯號。 (Linus 從 minix 中引進的)。 <fcntl.h> //文件控制頭文件。用于文件及其描述符的操作控制常數(shù)符號的定義。 <signal.h> //信號頭文件。定義信號符號常量,信號結(jié)構(gòu)以及信號操作函數(shù)原型。 <stdarg.h> //標準參數(shù)頭文件。以宏的形式定義變量參數(shù)列表。主要說明了 -個類型(va_list)和三個宏(va_start, va_arg 和 va_end),用于vsprintf、vprintf、vfprintf 函數(shù) <stddef.h> //標準定義頭文件。定義了 NULL, offsetof(TYPE, MEMBER)。 <string.h> //字符串頭文件。主要定義了一些有關(guān)字符串操作的嵌入函數(shù)。 <termios.h> // 終端輸入輸出函數(shù)頭文件。主要定義控制異步通信口的終端接口。 <time.h> //時間類型頭文件。其中最主要定義了 tm 結(jié)構(gòu)和一些有關(guān)時間的函數(shù)原形。 <unistd.h> //Linux 標準頭文件。定義了各種符號常數(shù)和類型,并申明了各種函數(shù)。如定義了__LIBRARY__,則還包括系統(tǒng)調(diào)用號和內(nèi)嵌匯編_syscall0()等。 <utime.h> //用戶時間頭文件。定義了訪問和修改時間結(jié)構(gòu)以及 utime()原型

體系結(jié)構(gòu)相關(guān)頭文件子目錄 include/asm
這些頭文件主要定義了一些與 CPU 體系結(jié)構(gòu)密切相關(guān)的數(shù)據(jù)結(jié)構(gòu)、宏函數(shù)和變量。共 4 個文件。

<asm/io.h> //io 頭文件。以宏的嵌入?yún)R編程序形式定義對 io 端口操作的函數(shù)。 <asm/memory.h> //內(nèi)存拷貝頭文件。含有 memcpy()嵌入式匯編宏函數(shù)。 <asm/segment.h> // 段操作頭文件。定義了有關(guān)段寄存器操作的嵌入式匯編函數(shù)。 <asm/system.h> // 系統(tǒng)頭文件。定義了設(shè)置或修改描述符/中斷門等的嵌入式匯編宏。

Linux 內(nèi)核專用頭文件子目錄 include/linux

<linux/config.h> //內(nèi)核配置頭文件。定義鍵盤語言和硬盤類型( HD_TYPE)可選項。 <linux/fdreg.h> //軟驅(qū)頭文件。含有軟盤控制器參數(shù)的一些定義。 <linux/fs.h> //文件系統(tǒng)頭文件。定義文件表結(jié)構(gòu)( file,buffer_head,m_inode 等)。 <linux/hdreg.h> //硬盤參數(shù)頭文件。定義訪問硬盤寄存器端口,狀態(tài)碼,分區(qū)表等信息。 <linux/head.h> //head 頭文件,定義了段描述符的簡單結(jié)構(gòu),和幾個選擇符常量。 <linux/kernel.h> //內(nèi)核頭文件。含有一些內(nèi)核常用函數(shù)的原形定義。 <linux/mm.h> //內(nèi)存管理頭文件。含有頁面大小定義和一些頁面釋放函數(shù)原型。 <linux/sched.h> //調(diào)度程序頭文件,定義了任務(wù)結(jié)構(gòu) task_struct、初始任務(wù) 0 的數(shù)據(jù),//還有一些有關(guān)描述符參數(shù)設(shè)置和獲取的嵌入式匯編函數(shù)宏語句。 <linux/sys.h> //系統(tǒng)調(diào)用頭文件。含有 72 個系統(tǒng)調(diào)用 C 函數(shù)處理程序,以'sys_'開頭。 <linux/tty.h> //tty 頭文件,定義了有關(guān) tty_io,串行通信方面的參數(shù)、常數(shù)。

系統(tǒng)專用數(shù)據(jù)結(jié)構(gòu)子目錄 include/sys

<sys/stat.h> //文件狀態(tài)頭文件。含有文件或文件系統(tǒng)狀態(tài)結(jié)構(gòu) stat{}和常量。 <sys/times.h> //定義了進程中運行時間結(jié)構(gòu) tms 以及 times()函數(shù)原型。 <sys/types.h> //類型頭文件。定義了基本的系統(tǒng)數(shù)據(jù)類型。 <sys/utsname.h> //系統(tǒng)名稱結(jié)構(gòu)頭文件。 <sys/wait.h> //等待調(diào)用頭文件。定義系統(tǒng)調(diào)用 wait()核 waitpid()及相關(guān)常數(shù)符號。

5、內(nèi)核初始化程序目錄 init
該目錄中僅包含一個文件 main.c。用于執(zhí)行內(nèi)核所有的初始化工作,然后移到用戶模式創(chuàng)建新進程,并在控制臺設(shè)備上運行 shell 程序。程序首先根據(jù)機器內(nèi)存的多少對緩沖區(qū)內(nèi)存容量進行分配,如果還設(shè)置了要使用虛擬盤,則在緩沖區(qū)內(nèi)存后面也為它留下空間。之后就進行所有硬件的初始化工作,包括人工創(chuàng)建第一個任務(wù)( task 0),并設(shè)置了中斷允許標志。在執(zhí)行從核心態(tài)移到用戶態(tài)之后,系統(tǒng)第一次調(diào)用創(chuàng)建進程函數(shù) fork(),創(chuàng)建出一個用于運行 init()的進程,在該子進程中,系統(tǒng)將進行控制臺環(huán)境設(shè)置,并且在生成一個子進程用來運行 shell程序。

6、內(nèi)核程序主目錄 kernel
linux/kernel 目錄中共包含 12 個代碼文件和一個 Makefile 文件,另外還有 3 個子目錄。由于這些文件中代碼之間調(diào)用關(guān)系復(fù)雜,因此這里就不詳細列出各文件之間的引用關(guān)系圖,但仍然可以進行大概分類,如圖所示:

asm.s //程序是用于處理系統(tǒng)硬件異常所引起的中斷,對各硬件異常的實際處理程序則是在 traps.c 文件中,在各個中斷處理過程中,將分別調(diào)用traps.c 中相應(yīng)的 C 語言處理函數(shù) exit.c //程序主要包括用于處理進程終止的系統(tǒng)調(diào)用。包含進程釋放、會話(進程組)終止和程序退出處理函數(shù)以及殺死進程、終止進程、掛起進程等系統(tǒng)調(diào)用函數(shù)。 fork.c //程序給出了 sys_fork()系統(tǒng)調(diào)用中使用了兩個 C 語言函數(shù): find_empty_process()和 copy_process()。 mktime.c //程序包含一個內(nèi)核使用的時間函數(shù) mktime(),用于計算從 1970 年 1 月 1 日 0 時起到開機當日的秒數(shù),作為開機秒時間。僅在 init/main.c 中被調(diào)用一次。 panic. //程序包含一個顯示內(nèi)核出錯信息并停機的函數(shù) panic()。 printk.c //程序包含一個內(nèi)核專用信息顯示函數(shù) printk()。 sched.c //程序中包括有關(guān)調(diào)度的基本函數(shù)(sleep_on、 wakeup、 schedule 等)以及一些簡單的系統(tǒng)調(diào)用函數(shù)。另外還有幾個與定時相關(guān)的軟盤操作函數(shù)。 signal.c //程序中包括了有關(guān)信號處理的 4 個系統(tǒng)調(diào)用以及一個在對應(yīng)的中斷處理程序中處理信號的函數(shù) do_signal()。 sys.c //程序包括很多系統(tǒng)調(diào)用函數(shù),其中有些還沒有實現(xiàn)。 system_call.s //程序?qū)崿F(xiàn)了 linux 系統(tǒng)調(diào)用(int 0x80)的接口處理過程,實際的處理過程則包含在各系統(tǒng)調(diào)用相應(yīng)的 C 語言處理函數(shù)中,這些處理函數(shù)分布在整個 linux 內(nèi)核代碼中 vsprintf.c //程序?qū)崿F(xiàn)了現(xiàn)在已經(jīng)歸入標準庫函數(shù)中的字符串格式化函數(shù)。

塊設(shè)備驅(qū)動程序子目錄 kernel/blk_dev
通常情況下,用戶是通過文件系統(tǒng)來訪問設(shè)備的,因此設(shè)備驅(qū)動程序為文件系統(tǒng)實現(xiàn)了調(diào)用接口。在使用塊設(shè)備時,由于其數(shù)據(jù)吞吐量大,為了能夠高效率地使用塊設(shè)備上的數(shù)據(jù),在用戶進程與塊設(shè)備之間使用了高速緩沖機制。在訪問塊設(shè)備上的數(shù)據(jù)時,系統(tǒng)首先以數(shù)據(jù)塊的形式把塊設(shè)備上的數(shù)據(jù)讀入到高速緩沖區(qū)中,然后再提供給用戶。 blk_dev 子目錄共包含 4 個 c 文件和 1 個頭文件。頭文件 blk.h 由于是塊設(shè)備程序?qū)S玫?#xff0c;所以與 C 文件放在一起。這幾個文件之間的大致關(guān)系,如圖所示:

blk.h //中定義了 3 個 C 程序中共用的塊設(shè)備結(jié)構(gòu)和數(shù)據(jù)塊請求結(jié)構(gòu)。 hd.c //程序主要實現(xiàn)對硬盤數(shù)據(jù)塊進行讀/寫的底層驅(qū)動函數(shù),主要是 do_hd__request()函數(shù); floppy.c //程序中主要實現(xiàn)了對軟盤數(shù)據(jù)塊的讀/寫驅(qū)動函數(shù),主要是 do_fd_request()函數(shù)。 ll_rw_blk.c //中程序?qū)崿F(xiàn)了低層塊設(shè)備數(shù)據(jù)讀/寫函數(shù) ll_rw_block(),內(nèi)核中所有其它程序都是通過該函數(shù)對塊設(shè)備進行數(shù)據(jù)讀寫操作。

你將看到該函數(shù)在許多訪問塊設(shè)備數(shù)據(jù)的地方被調(diào)用,尤其是在高速緩沖區(qū)處理文件 fs/buffer.c 中。

字符設(shè)備驅(qū)動程序子目錄 kernel/chr_dev
字符設(shè)備程序子目錄共含有 4 個 C 語言程序和 2 個匯編程序文件。 這些文件實現(xiàn)了對串行端口 rs-232、串行終端、鍵盤和控制臺終端設(shè)備的驅(qū)動。下圖(圖 2.12)是這些文件之間的大致調(diào)用層次關(guān)系:

tty_io.c //程序中包含 tty 字符設(shè)備讀函數(shù) tty_read()和寫函數(shù) tty_write(),為文件系統(tǒng)提供了上層訪問接//口。另外還包括在串行中斷處理過程中調(diào)用的 C 函數(shù) do_tty_interrupt(),該函數(shù)將會在中斷類型為讀字符//的處理中被調(diào)用。 console.c //文件主要包含控制臺初始化程序和控制臺寫函數(shù) con_write(),用于被 tty 設(shè)備調(diào)用。還包含//對顯示器和鍵盤中斷的初始化設(shè)置程序 con_init()。rs_io.s //匯編程序用于實現(xiàn)兩個串行接口的中斷處理程序。 該中斷處理程序會根據(jù)從中斷標識寄存器(端//口 0x3fa 或 0x2fa)中取得的 4 種中斷類型分別進行處理,并在處理中斷類型為讀字符的代碼中調(diào)用do_tty_interrupt()。serial.c //用于對異步串行通信芯片 UART 進行初始化操作,并設(shè)置兩個通信端口的中斷向量。//另外還包括 tty 用于往串口輸出的 rs_write()函數(shù)。tty_ioctl.c //程序?qū)崿F(xiàn)了 tty 的 io 控制接口函數(shù) tty_ioctl()以及對 termio(s)終端 io 結(jié)構(gòu)的讀寫函數(shù),并會//在實現(xiàn)系統(tǒng)調(diào)用 sys_ioctl()的 fs/ioctl.c 程序中被調(diào)用。keyboard.S //程序主要實現(xiàn)了鍵盤中斷處理過程 keyboard_interrupt。

協(xié)處理器仿真和操作程序子目錄 kernel/math
該子目錄中目前僅有一個 C 程序 math_emulate.c。其中的 math_emulate()函數(shù)是中斷 int7 的中斷處理程序調(diào)用的 C 函數(shù)。當機器中沒有數(shù)學(xué)協(xié)處理器,而 CPU 卻又執(zhí)行了協(xié)處理器的指令時,就會引發(fā)該中斷。因此,使用該中斷就可以用軟件來仿真協(xié)處理器的功能。本書所討論的內(nèi)核版本還沒有包含有關(guān)協(xié)處理器的仿真代碼。本程序中只是打印一條出錯信息,并向用戶程序發(fā)送一個協(xié)處理器錯誤信號 SIGFPE。
7、內(nèi)核庫函數(shù)目錄 lib
內(nèi)核庫函數(shù)主要用于用戶編程調(diào)用,是編譯系統(tǒng)標準庫的接口函數(shù)之一。其中共有 12 個 C 語言文件,除了一個由 tytso 編制的 malloc.c 程序較長以外,其它的程序很短,有的只有一二行代碼。
8、內(nèi)存管理程序目錄 mm
該目錄包括 2 個代碼文件。主要用于管理程序?qū)χ鲀?nèi)存區(qū)的使用,實現(xiàn)了進程邏輯地址到線性地址以及線性地址到主內(nèi)存區(qū)中物理內(nèi)存地址的映射,通過內(nèi)存的分頁管理機制,在進程的虛擬內(nèi)存頁與主內(nèi)存區(qū)的物理內(nèi)存頁之間建立了對應(yīng)關(guān)系。
page.s 文件包括內(nèi)存頁面異常中斷( int 14)處理程序,主要用于處理程序由于缺頁而引起的頁異常中斷和訪問非法地址而引起的頁保護。
memory.c 程序包括對內(nèi)存進行初始化的函數(shù) mem_init(),由 page.s 的內(nèi)存處理中斷過程調(diào)用的do_no_page()和 do_wp_page()函數(shù)。在創(chuàng)建新進程而執(zhí)行復(fù)制進程操作時,即使用該文件中的內(nèi)存處理函數(shù)來分配管理內(nèi)存空間。
9、編譯內(nèi)核工具程序目錄 tools
該目錄下的 build.c 程序用于將 Linux 各個目錄中被分別編譯生成的目標代碼連接合并成一個可運行的內(nèi)核映象文件 image。具體的功能后面詳細介紹

6、內(nèi)核系統(tǒng)與用戶程序的關(guān)系

在 Linux 系統(tǒng)中,內(nèi)核為應(yīng)用程序提供了兩方面的接口。其一是系統(tǒng)調(diào)用接口,也即中斷調(diào)用 int 0x80;另一方面是通過內(nèi)核庫函數(shù),與內(nèi)核進行信息交流。內(nèi)核庫函數(shù)是基本 C 函數(shù)庫 libc 的組成部分。許多的系統(tǒng)調(diào)用是作為基本 C 語言函數(shù)庫的一部分實現(xiàn)的。系統(tǒng)調(diào)用主要是提供給系統(tǒng)軟件直接使用或用于庫函數(shù)的實現(xiàn)。而一般用戶開發(fā)的程序則是通過調(diào)用象 libc 等庫中的函數(shù)來訪問內(nèi)核資源。通過調(diào)用這些庫中的程序,應(yīng)用程序代碼能夠完成各種常用工作,例如,打開和關(guān)閉對文件或設(shè)備的訪問、進行科學(xué)計算、出錯處理以及訪問組和用戶標識號 ID 等系統(tǒng)信息。系統(tǒng)調(diào)用是內(nèi)核與外界接口的最高層。在內(nèi)核中,每個系統(tǒng)調(diào)用都有一個序列號(在include/linux/unistd.h 頭文件中定義),并常以宏的形式實現(xiàn)。

參考資料

Linux內(nèi)核完全注釋(趙炯)

轉(zhuǎn)載于:https://www.cnblogs.com/wuyudong/p/linux011-architecture.html

總結(jié)

以上是生活随笔為你收集整理的Linux0.11内核剖析--内核体系结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

日韩高清在线不卡 | 久久夜色网 | 日韩一区二区三免费高清在线观看 | 国产精品欧美久久 | 亚洲免费一级电影 | 韩国中文三级 | 丁香影院在线 | 免费看一级片 | 午夜视频99 | 免费视频久久久 | 久久精品导航 | 99精品国产99久久久久久福利 | 日韩欧美电影在线 | 国产美女精品在线 | 成人a级网站 | 99re国产 | 婷婷色网视频在线播放 | 日韩精品免费在线观看视频 | 亚洲成人国产精品 | 日韩久久久久久 | 97超碰国产精品 | www.激情五月.com | 久久国产经典视频 | 精品96久久久久久中文字幕无 | 国产精品久久久久久久久久不蜜月 | 日韩在线视频免费观看 | 午夜少妇 | 午夜精品在线看 | 美女黄久久 | 天天干夜夜爽 | 97干com | 亚洲天堂毛片 | 99色视频 | 久久草在线免费 | 字幕网在线观看 | 国产高清成人 | 日韩欧美一区二区三区在线 | 玖玖视频免费在线 | 日韩系列在线观看 | 国产69精品久久久久久久久久 | 久久精品超碰 | 日韩专区一区二区 | www视频免费在线观看 | 色婷婷激婷婷情综天天 | 天天色天天操天天爽 | 亚洲国产片色 | 成人av影院在线观看 | 四虎精品成人免费网站 | 在线视频成人 | 涩涩色亚洲一区 | 日韩在线视频线视频免费网站 | 超碰在线公开 | 亚洲精品中文字幕在线观看 | 久久综合欧美 | 毛片随便看 | 一区二区三区韩国免费中文网站 | 5月丁香婷婷综合 | 色综合久久中文字幕综合网 | 久久国产精品免费视频 | 亚洲视频456| 久久综合天天 | 精品日韩av | 天天草综合网 | 麻豆成人小视频 | 久久精品久久久久 | 日韩特级片| 日韩午夜三级 | 偷拍福利视频一区二区三区 | 狠狠干狠狠艹 | 在线观看成人av | 久久一区二区三区超碰国产精品 | 久久久久看片 | 九九爱免费视频在线观看 | 久久av电影| 五月花丁香婷婷 | 久久视频在线免费观看 | 91av在线视频免费观看 | 免费观看v片在线观看 | 探花视频在线观看+在线播放 | 中文字幕之中文字幕 | 亚洲欧洲日韩在线观看 | 国产精品久久在线观看 | 国产精品 国内视频 | 一区二区三区在线影院 | 97av在线视频免费播放 | 奇人奇案qvod | 天天干,夜夜操 | 久久99精品国产麻豆宅宅 | 久久久久久视频 | 成年人在线看视频 | 久久99亚洲网美利坚合众国 | 国产成人三级在线观看 | 日韩精品久久久免费观看夜色 | 精品一二三四五区 | 中国美女一级看片 | 成人久久18免费网站图片 | 亚洲高清免费在线 | 99热这里只有精品1 av中文字幕日韩 | 国产国语在线 | 日韩欧美精品一区二区三区经典 | 91精品国| 色综合久久综合中文综合网 | 综合色站 | 香蕉国产91 | 亚洲专区路线二 | 一级久久精品 | 夜夜操网 | 天天射天天操天天干 | 蜜臀av性久久久久av蜜臀三区 | 欧美日本啪啪无遮挡网站 | 91麻豆福利| 亚洲电影久久久 | av中文字幕日韩 | 国产一区av在线 | 免费观看成人 | 9色在线视频 | 日日爽视频 | 国产麻豆剧传媒免费观看 | 色在线最新 | 香蕉影视 | 日本久久99| 天天久久综合 | 人人干在线观看 | 国产精品久久久 | 欧美亚洲xxx | 日韩一区精品 | 国产成人精品久久 | 日日干美女 | 国产精品久久久一区二区 | 又黄又爽又刺激视频 | 人人插人人草 | 日韩久久久久久久久久 | 久久av免费电影 | 中文字幕超清在线免费 | 午夜av片| 亚洲成人av在线播放 | 成人久久久精品国产乱码一区二区 | 亚洲电影图片小说 | 久久论理 | 精品亚洲午夜久久久久91 | 成人久久精品 | 国产精品欧美久久久久久 | 亚洲精品在线网站 | 日本黄色黄网站 | 在线中文字幕网站 | 久久久网站 | 婷婷精品国产欧美精品亚洲人人爽 | 国产精品一区欧美 | 免费亚洲片| www夜夜操 | 91九色在线视频观看 | 国产1级视频 | 日韩视频免费播放 | 久久综合亚洲鲁鲁五月久久 | 亚洲精品裸体 | 久久av观看 | 超碰免费av | 伊人成人精品 | 国际精品久久 | 久草免费资源 | 国产在线最新 | 亚洲精品1234区 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 播五月婷婷 | 五月天丁香视频 | 国产美女视频一区 | 国产综合福利在线 | 亚洲精品乱码久久久久v最新版 | 美女视频又黄又免费 | 在线免费中文字幕 | 国产99久久久国产精品免费看 | 九九九电影免费看 | 国产超碰在线观看 | 在线观看国产成人av片 | 精品一区电影 | 特黄免费av | 超碰在线98| 91av视频免费在线观看 | 色在线中文字幕 | 久久国产精品一区二区三区 | 免费看黄的视频 | 在线观看日本高清mv视频 | 欧美精品久久久久久久久久白贞 | 鲁一鲁影院 | 成人福利在线 | 国产成人精品一区二区三区免费 | 精品一二三四视频 | 国产成人精品一区二区在线 | 黄色影院在线观看 | 三级av中文字幕 | 中文字幕av免费 | 在线免费观看国产黄色 | 精品一区二区综合 | 国产流白浆高潮在线观看 | 色综合久久中文综合久久牛 | 九九热在线免费观看 | 久久久高清免费视频 | 亚洲国产影院av久久久久 | 免费日韩视 | 国产日韩精品一区二区三区在线 | 国内精品视频在线 | 日韩美女高潮 | 蜜桃传媒一区二区 | 91传媒91久久久 | 成人9ⅰ免费影视网站 | 午夜精品电影 | www.亚洲黄| 国产成人精品女人久久久 | 久久国产精品精品国产色婷婷 | 日韩精品久久久久久久电影99爱 | 就要干b| 国产美女搞久久 | 国产这里只有精品 | 国产不卡在线视频 | 久久久久久久久久久久国产精品 | 欧美国产日韩久久 | 九九热精品视频在线观看 | www.久久99| 日韩在线观看视频在线 | 欧美吞精 | 中文字幕在线免费看 | 国产精品 国内视频 | 国产成人久久av | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产成年人av| 日韩网站在线看片你懂的 | 久久久久成人精品 | 一区二区三区久久 | 狠狠色伊人亚洲综合成人 | 国产午夜精品一区二区三区四区 | 国产特级毛片 | 午夜电影av| 天天操天天摸天天射 | 岛国精品一区二区 | av片免费播放 | 日韩av电影免费观看 | 免费视频91蜜桃 | 日韩二区在线观看 | 99精品视频在线看 | 四虎影视8848dvd | 香蕉视频国产在线观看 | 午夜精品久久久久久99热明星 | av免费网页 | 99精品国产99久久久久久97 | 亚洲精品在线免费 | 黄色av在 | 日韩在线视频免费播放 | 久章草在线观看 | 中文在线亚洲 | 久色 网 | ww视频在线观看 | 99精品国自产在线 | 日韩一级理论片 | www天天操 | 日本丰满少妇免费一区 | 成人在线免费视频 | 久久久受www免费人成 | 婷婷爱五月天 | 亚洲a在线观看 | 国产做aⅴ在线视频播放 | 国产偷国产偷亚洲清高 | 天天操天天操天天干 | 天天色天天射天天综合网 | 美女视频一区二区 | 中文字幕在线播放日韩 | 8x成人在线 | 国产清纯在线 | 九九久久精品视频 | 99精品视频网| 亚洲精品久久久久中文字幕二区 | 欧洲精品久久久久毛片完整版 | 久久草在线免费 | 九九九九色 | 欧美久久久久久久久 | 在线观看黄 | 亚洲精品99久久久久中文字幕 | 麻豆国产在线视频 | 在线亚州 | 国内精品99| 色www精品视频在线观看 | 国产在线精品国自产拍影院 | 玖玖爱在线观看 | 在线中文视频 | 国产精品入口久久 | 免费一级片在线观看 | 啪啪精品 | 首页国产精品 | 这里只有精彩视频 | 国内一级片在线观看 | av黄色一级片 | 五月婷婷中文网 | 日韩av一区二区在线播放 | 日韩在线视| 久久一区国产 | 九九在线视频 | 久保带人 | 国产中文字幕在线 | 欧美日韩视频在线观看一区二区 | 国产r级在线观看 | 国产精品嫩草影院9 | 久久爽久久爽久久av东京爽 | 不卡视频国产 | 久久综合九色综合欧美就去吻 | 天天干夜夜夜操天 | 色橹橹欧美在线观看视频高清 | 日本三级久久久 | 国产一区二区三区高清播放 | 久久在线视频在线 | 国产精品99视频 | 99电影 | 91av蜜桃 | 成年人网站免费在线观看 | 91福利在线观看 | 欧美精品久久久久久 | 国产一级在线视频 | 亚州成人av在线 | 中文字幕亚洲高清 | 久久精品香蕉 | 玖玖视频网 | 国产精品一区电影 | 五月天中文字幕mv在线 | 欧美在线视频一区二区三区 | 成人av地址 | bbbbb女女女女女bbbbb国产 | 天天干天天上 | 国产精品理论片在线播放 | 中文字幕色在线视频 | 在线看黄色的网站 | 亚州免费视频 | 婷婷精品国产欧美精品亚洲人人爽 | 国产精品麻豆视频 | 久久精品99久久久久久 | 国产中文字幕三区 | 精品一区中文字幕 | 欧美久久久久久久久中文字幕 | 麻豆国产精品视频 | 欧美日韩国内在线 | 五月婷婷中文 | 日韩专区在线播放 | 九月婷婷综合网 | 久久久影视 | 波多在线视频 | 精品国产综合区久久久久久 | 日狠狠 | 天天伊人狠狠 | 97国产大学生情侣酒店的特点 | 免费亚洲一区二区 | 久久免费视频在线观看 | 久久美女电影 | 黄色免费观看网址 | 欧美日韩精品久久久 | 国产精品久久久久久久久久东京 | 久久精品99精品国产香蕉 | 欧美黄色特级片 | 亚洲精品中文字幕在线 | 中文字幕一区二区三区在线播放 | 久久久久久久久精 | 久草在线免费资源 | 国产高清av | 经典三级一区 | 丁香婷婷激情网 | 亚洲精品999| 成人av.com| 免费观看性生活大片 | 日韩午夜电影网 | 免费观看性生交大片3 | 综合网成人 | 99精品免费久久久久久久久日本 | 免费h漫在线观看 | 江苏妇搡bbbb搡bbbb | 久久尤物电影视频在线观看 | 国产精品日韩 | 成人黄色在线观看视频 | 天天操天天操天天操天天 | 美女网站在线看 | 国产精品视频在线看 | 最新高清无码专区 | 欧美黑人性猛交 | 99综合影院在线 | 一区二区三区动漫 | 久久精品一区二区三 | 成人手机在线视频 | 91网在线观看 | 99精品国产福利在线观看免费 | 成人av电影在线播放 | 亚洲国产网址 | 久久伦理| 青青久视频| 欧美另类tv| 在线免费观看的av网站 | 国产va在线 | 亚洲高清久久久 | 人人插人人搞 | 色偷偷av男人天堂 | 综合激情久久 | 91欧美国产 | 日韩黄色在线观看 | 狠狠狠狠干 | 97在线视频网站 | 在线91av | 天天干夜夜想 | av3级在线| av在线免费在线观看 | 天天干天天做天天爱 | 成人在线播放av | 91在线国产观看 | 成人在线免费小视频 | 一级做a视频 | 免费在线色| 99视频精品免费视频 | 成人久久久久 | 美女免费视频观看网站 | 日本三级久久久 | 99精品视频免费在线观看 | 国产又黄又爽又猛视频日本 | 人人讲 | 99久久精品免费视频 | 精品福利网站 | 综合色婷婷 | 九色在线 | 日本精品久久久久 | 男女拍拍免费视频 | 国产麻豆电影在线观看 | 久久乐九色婷婷综合色狠狠182 | 一区二区不卡视频在线观看 | 国产色婷婷精品综合在线手机播放 | 日韩精品不卡 | 国产精品黑丝在线观看 | 成人福利av | 天天激情| 999久久国产精品免费观看网站 | 美女黄频在线观看 | 亚洲国产成人av网 | 亚洲成人黄色在线观看 | 日韩电影在线观看一区二区 | 久久精品九色 | 亚洲另类视频 | av中文字幕网址 | 欧美一级久久久久 | 友田真希x88av | 国产中文字幕视频 | 国产第一页福利影院 | 国产精品原创视频 | 日韩在线视频观看 | 国产精品久久久精品 | 麻豆视频国产精品 | 国产99一区二区 | 国产91亚洲| 91自拍91 | 韩国av电影网 | 国产又粗又长的视频 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 在线天堂中文在线资源网 | 亚洲欧美视频网站 | 五月婷婷播播 | 一区二区三区四区久久 | h网站免费在线观看 | 五月婷婷国产 | 在线免费观看黄色 | 欧美成人精品欧美一级乱黄 | 摸bbb搡bbb搡bbbb | 91粉色视频 | 免费看成人 | 国产亚洲综合精品 | 成人影音在线 | 一区二区三区精品在线 | av福利在线导航 | 天天av综合网 | 久久成年人 | 国产在线不卡精品 | 欧美一级免费片 | www亚洲精品 | 久久国产精品99久久久久久老狼 | 亚洲激精日韩激精欧美精品 | 亚洲一区二区三区四区在线视频 | 日韩精品一区二区在线 | 亚洲精品成人在线 | 成人国产精品免费观看 | 欧美尹人| 国产美女免费观看 | 91九色视频| 国产精品国产三级在线专区 | 激情视频国产 | 日本成址在线观看 | 中文字幕在线观看播放 | 欧美aa一级 | 久久99婷婷| 深爱激情五月综合 | 青青草在久久免费久久免费 | 最近日本韩国中文字幕 | 国产免费久久精品 | 国产精品专区在线观看 | 黄色国产在线观看 | 在线国产日韩 | av丝袜在线 | 色婷婷伊人| 日韩性xxxx | 三三级黄色片之日韩 | 91视视频在线直接观看在线看网页在线看 | 日韩欧美高清 | www.超碰97.com | 精品久久一区二区三区 | 日韩精品影视 | 伊人干综合| 波多野结衣电影久久 | 色婷婷中文 | 91成人精品一区在线播放 | 99在线精品视频在线观看 | 国产福利中文字幕 | 久久国产精品免费视频 | 亚洲精选视频在线 | 天天插天天狠天天透 | av在线看片 | 成人黄色电影在线播放 | 国产精品24小时在线观看 | 国产精品 日韩 | 一级片免费观看视频 | 麻花天美星空视频 | 欧美日韩成人一区 | 亚洲乱码一区 | 美女精品久久 | 不卡中文字幕在线 | 日本成址在线观看 | 欧美日比视频 | 天堂av最新网址 | 操操综合 | 欧美一级日韩三级 | 欧美日韩国产一区二 | 97电影院网 | 久久深夜福利免费观看 | 国产99久久久精品 | 在线а√天堂中文官网 | 日韩一二三在线 | 日韩精品亚洲专区在线观看 | 日本久久精品 | 欧美激情奇米色 | 日韩艹 | 久久在线一区 | 丁香六月婷 | 国产日韩精品一区二区在线观看播放 | 免费在线观看成年人视频 | 欧美极品久久 | 在线影视 一区 二区 三区 | 久久久久久久久久亚洲精品 | 欧美激情精品久久久久 | 国产一区二区日本 | 日韩精品一区二区在线观看 | 欧美高清视频不卡网 | 亚洲午夜精品久久久 | 国产一区欧美一区 | 天天天天射 | 91九色成人蝌蚪首页 | 中文在线免费视频 | 国内丰满少妇猛烈精品播 | 天堂av网站 | 黄网站app在线观看免费视频 | 狠狠色2019综合网 | 欧美 日韩 视频 | 成人a在线观看 | www中文在线 | 91av视频网| 日本韩国精品在线 | 久久黄色小说 | 在线看毛片网站 | 欧美亚洲国产精品久久高清浪潮 | 丝袜制服综合网 | 黄色小网站免费看 | 国产精品 日韩精品 | 97国产大学生情侣酒店的特点 | 亚洲 欧洲 国产 日本 综合 | 中文日韩在线视频 | 国产日产av | 亚洲理论电影网 | 色婷婷在线观看视频 | 2019免费中文字幕 | 在线黄色免费av | 国产一级久久久 | 五月天久久久久 | 2024国产在线| 久久午夜电影 | 在线观看涩涩 | 天天干 夜夜操 | 中文字幕 国产视频 | 四虎成人精品永久免费av | 国产精品露脸在线 | 99久久精品午夜一区二区小说 | 福利视频网址 | 午夜狠狠操| 精品久久久成人 | 超碰电影在线观看 | 久久国产品 | 欧美国产日韩一区 | 免费成人黄色av | 亚洲播放一区 | 国产一区二区观看 | 九九热精品国产 | 91网站免费观看 | 亚洲天堂网视频在线观看 | 夜夜夜夜夜夜操 | 色吧久久 | 中文不卡视频在线 | 成人app在线免费观看 | 天堂av影院| 国产女人免费看a级丨片 | 91桃色在线免费观看 | 美女久久久久久久久久 | 网站在线观看你们懂的 | 美女久久久久久 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 99国产精品免费网站 | 九九视频在线播放 | 久久蜜桃av | 正在播放久久 | 久久久精品免费看 | 欧洲成人av | 91夫妻自拍| 国产精品视频免费在线观看 | 亚洲精品视频在线 | 免费av小说 | 亚洲黄色免费电影 | 成年免费在线视频 | 久久久久久福利 | 国产一区成人 | 国产精品一区二区吃奶在线观看 | 国产一区二区三区高清播放 | 91天堂素人约啪 | 黄色软件在线观看免费 | 玖玖在线资源 | 亚洲人片在线观看 | 成人av中文字幕在线观看 | 免费福利小视频 | 激情av在线资源 | 视频在线精品 | 97视频在线观看网址 | 欧美日韩视频在线一区 | 视频一区二区视频 | 精品国产资源 | 国产不卡av在线 | 日韩免费成人av | 亚洲免费视频观看 | 国产成人久久精品77777 | 免费三级a | 日p视频在线观看 | 国产97视频在线 | 国产精品成人一区二区 | 91av视频在线观看 | 国产成人精品免费在线观看 | 国产精品欧美久久久久久 | 少妇bbw揉bbb欧美 | 五月天中文字幕 | 午夜18视频在线观看 | 人人草人 | 国产在线中文字幕 | 国产精品美女久久 | 久久精品欧美日韩精品 | 久久系列 | 日本黄色a级大片 | 在线免费91| 国产亚洲精品久久 | 一级黄色a视频 | 久久人人爽爽人人爽人人片av | 亚洲一区美女视频在线观看免费 | 久久99精品国产99久久 | 成人免费观看完整版电影 | 丁香视频| 国产又粗又硬又爽的视频 | 国产九九热视频 | 欧美美女一级片 | 国产亚洲精品久久久久秋 | 精品一区电影国产 | 99视频免费播放 | www.日日日.com| 狠日日| 伊人久在线 | 精品福利网 | 亚洲午夜激情网 | 国产成人精品不卡 | 国内精品久久久久影院男同志 | 开心色插 | 久草精品网 | 在线观看网站av | 欧美作爱视频 | 免费观看xxxx9999片 | 国产一级在线免费观看 | 日韩三级一区 | 国产欧美精品xxxx另类 | 91成人在线视频 | 欧美日韩精品在线免费观看 | 香蕉在线视频观看 | 中文字幕高清有码 | 国产精品 亚洲精品 | av日韩av | 99亚洲精品 | 99色免费视频 | 中文字幕在线专区 | 久久精品视频播放 | 久免费 | 成年美女黄网站色大片免费看 | 99午夜| 国产韩国精品一区二区三区 | 人人草人人做 | 婷婷网站天天婷婷网站 | 日韩精品一区二区三区视频播放 | 97自拍超碰 | 成人免费看黄 | 麻豆免费在线播放 | 日韩精品一区二区三区免费视频观看 | 国产高清不卡av | 午夜久久网站 | 久久精品中文字幕少妇 | 久草在线视频网站 | 黄色大片网 | 在线91播放 | 97人人模人人爽人人少妇 | 久久久精品国产一区二区 | 日韩在线观看视频一区二区三区 | 国产精品久久久久久久久大全 | 欧美在线视频二区 | 精品uu | 成年人在线观看 | 在线91av | 亚洲成人av免费 | 国产999精品久久久 免费a网站 | 在线网址你懂得 | 国产大片黄色 | 字幕网av| 久草资源在线观看 | 黄色官网在线观看 | 亚洲精品中文在线观看 | 国产精品美女久久久久aⅴ 干干夜夜 | 亚洲综合欧美精品电影 | 国产精品涩涩屋www在线观看 | 亚洲天天摸日日摸天天欢 | 成人小电影在线看 | 国产成人精品综合久久久久99 | 黄av免费在线观看 | 久久精品国产美女 | 99久久精品午夜一区二区小说 | 免费又黄又爽 | 久久精品www人人爽人人 | 九九视频免费观看视频精品 | 日韩一级电影网站 | av在线播放一区二区三区 | 欧美va电影| 天天射天天拍 | 夜夜躁狠狠躁日日躁 | 99视频在线观看免费 | 波多在线视频 | 久草在线视频在线 | 天天干天天插伊人网 | 成年人毛片在线观看 | 91福利视频在线 | 亚洲性xxxx | 日韩精品一区二区三区水蜜桃 | 久久久国产精品人人片99精片欧美一 | 在线观看国产v片 | 亚洲黄网站 | av免费福利 | 成人av电影在线观看 | 中文字幕网站视频在线 | 国产久草在线观看 | 久久久久免费精品视频 | 激情综合婷婷 | 99欧美精品 | 成人综合免费 | 久草电影在线观看 | 国产少妇在线观看 | 韩国在线一区 | 国产剧情在线一区 | 狠狠干 狠狠操 | 日韩伦理片一区二区三区 | 国产精品美女久久久久久免费 | 国产999视频 | 久久精品国产亚洲a | 欧美黄色软件 | 日韩,精品电影 | 亚洲综合在线一区二区三区 | 久久艹艹| 国产日韩欧美精品在线观看 | 天堂av在线中文在线 | 亚洲 欧美变态 另类 综合 | 国产精品自产拍在线观看 | 国产黄色视 | 西西44人体做爰大胆视频 | 国产在线观看99 | 久久99热精品这里久久精品 | www.久热 | 97热视频| 国产黄色大片 | 国产欧美久久久精品影院 | 国产黄网站在线观看 | 国产一卡久久电影永久 | 韩国av免费在线 | 久久一区精品 | 免费观看不卡av | 亚洲免费不卡 | a级国产乱理伦片在线观看 亚洲3级 | 免费视频久久久 | 天天爽天天做 | 久久免费中文视频 | 五月婷婷综 | 狠狠狠狠狠狠狠狠 | 超碰个人在线 | 韩国精品在线 | 日韩高清免费无专码区 | 婷婷国产视频 | 精品久久久久久久久久久久 | 天天操天天是 | 亚洲视频免费在线 | 亚洲国产精品成人女人久久 | 欧美成年网站 | 成人a在线观看 | 亚洲在线视频播放 | 特级毛片网 | 国产精品99爱 | 天天干,天天草 | 91福利社在线观看 | 天天操天天色综合 | 天天色天天射天天操 | 久久精品理论 | 人人爱在线视频 | 2021国产在线 | 伊人中文在线 | 国产老太婆免费交性大片 | 日韩精品一区在线观看 | a'aaa级片在线观看 | 99爱视频在线观看 | 日韩一级理论片 | 97超碰影视 | 精品国产视频在线观看 | 国产 一区二区三区 在线 | 亚洲视频精品在线 | 91精品视频播放 | 免费观看日韩 | 色资源二区在线视频 | 视频99爱 | 操高跟美女| 麻豆果冻剧传媒在线播放 | 丰满少妇一级片 | 中文字幕电影在线 | 成年人在线看片 | 人人爱夜夜操 | 高清av在线免费观看 | 激情影院在线观看 | 亚洲 综合 国产 精品 | 91av免费在线观看 | 伊色综合久久之综合久久 | 欧美精品久久久久a | 激情开心色 | 日韩久久在线 | 久久精品日产第一区二区三区乱码 | 欧美久久久久久久久久久久 | 久久视频精品在线观看 | 视频成人| 成人一级视频在线观看 | 国产精品毛片久久久久久 | 人人网av| 免费观看www7722午夜电影 | 成人三级视频 | 亚洲国产影院 | 九色精品免费永久在线 | 91黄色成人| 99久精品 | av福利在线免费观看 | 91成年人在线观看 | 激情丁香5月 | a视频在线播放 | 国产视频每日更新 | a黄色一级片 | 三上悠亚一区二区在线观看 | 黄色片网站av | 六月丁香在线观看 | 午夜精品一区二区三区四区 | 亚洲久草网 | 久久久久黄色 | 视频精品一区二区三区 | 日韩免费播放 | 911国产精品| 久久激情精品 | 日韩网站一区二区 | 亚洲春色综合另类校园电影 | 色综合综合 | 国产精品久久久久久久久久久杏吧 | 国产精品观看视频 | 国产精品成 | 午夜精品久久久久久久99婷婷 | av中文字幕在线播放 | 精品亚洲欧美无人区乱码 | 草久视频在线观看 | 久久国产亚洲视频 | 在线视频 成人 | 久草视频播放 | 欧美日韩午夜 | 黄a网站| 久久精品免费 | 婷婷午夜激情 | 国产精品 国产精品 | 视频一区二区在线 | 中文字幕综合在线 | 五月天久久综合 | 午夜精品久久久 | 国产二区免费视频 | 国内精品久久久精品电影院 | 国产精品一区二区电影 | 日本高清久久久 | 国产亚洲在线视频 | 欧美热久久 | 日韩精品一区二区三区高清免费 | 国产成人免费在线观看 | 日韩在线一级 | 国产成人av综合色 | 国产一级片观看 | 日韩一区二区三区高清在线观看 | 成人免费xxxxxx视频 | 久久久久久久久久久久国产精品 | 国产va饥渴难耐女保洁员在线观看 | 久在线观看视频 | 亚洲最大激情中文字幕 | 亚洲六月丁香色婷婷综合久久 | 欧美日韩久久 | 成人久久电影 | 天天爱天天舔 | 91精品国自产在线 | 国产又黄又硬又爽 | 九九免费在线视频 | 欧美日韩国产成人 | 一区二区在线不卡 | 99久国产| 国产白浆在线观看 | 国产一区二区三区在线免费观看 | 天天天天天干 | 日韩高清dvd| 91av手机在线| 亚洲成a人片在线www | 国产乱码精品一区二区蜜臀 | 永久免费看av | 国产一区自拍视频 | 成人欧美日韩国产 | 久久久久久免费 | 色就是色综合 | 操操操操网 | 久久久高清一区二区三区 | 欧美天天射 | 十八岁以下禁止观看的1000个网站 | 日本黄色免费播放 | 激情久久小说 | 亚洲欧洲精品在线 | 久久久精品国产免费观看同学 | 国产视频一区二区在线播放 | 九九久久精品视频 | www五月天婷婷 | 亚洲欧美精品一区 | 亚洲综合精品视频 | 九九热国产| 久久人人爽爽 | 四虎在线观看精品视频 | 国产一级在线看 | 成人网看片 | 99爱这里只有精品 | 日韩午夜电影 | 国产精品wwwwww| 国产成人免费在线 | 九色琪琪久久综合网天天 | 亚洲97在线 | 奇米7777狠狠狠琪琪视频 | 黄色片亚洲 | 国产成人精品区 | 国产在线污 | 日韩一区二区三区观看 | 欧美日韩中文字幕在线视频 | 国产精品99久久久精品 | 中文字幕日韩电影 | 欧美一区在线观看视频 | 午夜久久久久久久 | 中文字幕色站 | 亚洲第一区在线观看 | 亚洲国产精品传媒在线观看 | 亚洲视频分类 | 自拍超碰在线 | 中文字幕在线观看网站 | 在线 国产 日韩 | 天天艹天天爽 | 国产专区欧美专区 | 97高清视频 | 一级特黄aaa大片在线观看 | 久久伦理影院 | 最近更新好看的中文字幕 | 精品一区二区免费在线观看 | 91精品一区二区在线观看 | 天天躁日日躁狠狠躁av麻豆 | 成年人在线观看网站 | 国产99久久久久 | 99精品国产免费久久久久久下载 | 国内精品久久久久影院优 | 国产一区91 | 成人免费观看视频大全 | 尤物九九久久国产精品的分类 | 在线看岛国av|