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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

哈工大计统实验

發(fā)布時間:2024/3/13 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 哈工大计统实验 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

計算機(jī)系統(tǒng)

大作業(yè)

題 ????目 ?程序人生-Hello’s P2P???

專?????? 業(yè) ??????計算學(xué)部??????????

學(xué)  ?? 號 ???????120L020815???????

班  ?? 級 ?????????2036011????????

學(xué)?????? 生 ???????趙美含????????? ??

指 導(dǎo) 教 師 ??????????劉松波?????????  

計算機(jī)科學(xué)與技術(shù)學(xué)院

2021年5月

摘? 要

本文從簡單的hello.c程序入手,介紹了該程序經(jīng)過預(yù)處理,編譯,匯編,鏈接后生成可執(zhí)行文件的過程。同時本文還介紹了linux下的內(nèi)存管理、進(jìn)程管理、虛擬內(nèi)存、異常信號的相關(guān)內(nèi)容,通過本篇文章,對本學(xué)習(xí)的知識進(jìn)行了總結(jié)。

關(guān)鍵詞:hello.c;預(yù)處理;編譯;鏈接;進(jìn)程;存儲;???????????????????????????

(摘要0分,缺失-1分,根據(jù)內(nèi)容精彩稱都酌情加分0-1分

目? 錄

第1章 概述................................................... - 4 -

1.1 Hello簡介............................................ - 4 -

1.2 環(huán)境與工具........................................... - 4 -

1.3 中間結(jié)果............................................... - 4 -

1.4 本章小結(jié)............................................... - 4 -

第2章 預(yù)處理............................................... - 5 -

2.1 預(yù)處理的概念與作用........................... - 5 -

2.2在Ubuntu下預(yù)處理的命令................ - 5 -

2.3 Hello的預(yù)處理結(jié)果解析.................... - 5 -

2.4 本章小結(jié)............................................... - 5 -

第3章 編譯................................................... - 6 -

3.1 編譯的概念與作用............................... - 6 -

3.2 在Ubuntu下編譯的命令.................... - 6 -

3.3 Hello的編譯結(jié)果解析........................ - 6 -

3.4 本章小結(jié)............................................... - 6 -

第4章 匯編................................................... - 7 -

4.1 匯編的概念與作用............................... - 7 -

4.2 在Ubuntu下匯編的命令.................... - 7 -

4.3 可重定位目標(biāo)elf格式........................ - 7 -

4.4 Hello.o的結(jié)果解析............................. - 7 -

4.5 本章小結(jié)............................................... - 7 -

第5章 鏈接................................................... - 8 -

5.1 鏈接的概念與作用............................... - 8 -

5.2 在Ubuntu下鏈接的命令.................... - 8 -

5.3 可執(zhí)行目標(biāo)文件hello的格式........... - 8 -

5.4 hello的虛擬地址空間......................... - 8 -

5.5 鏈接的重定位過程分析....................... - 8 -

5.6 hello的執(zhí)行流程................................. - 8 -

5.7 Hello的動態(tài)鏈接分析........................ - 8 -

5.8 本章小結(jié)............................................... - 9 -

第6章 hello進(jìn)程管理.......................... - 10 -

6.1 進(jìn)程的概念與作用............................. - 10 -

6.2 簡述殼Shell-bash的作用與處理流程.. - 10 -

6.3 Hello的fork進(jìn)程創(chuàng)建過程............ - 10 -

6.4 Hello的execve過程........................ - 10 -

6.5 Hello的進(jìn)程執(zhí)行.............................. - 10 -

6.6 hello的異常與信號處理................... - 10 -

6.7本章小結(jié).............................................. - 10 -

第7章 hello的存儲管理...................... - 11 -

7.1 hello的存儲器地址空間................... - 11 -

7.2 Intel邏輯地址到線性地址的變換-段式管理............................................................ - 11 -

7.3 Hello的線性地址到物理地址的變換-頁式管理........................................................ - 11 -

7.4 TLB與四級頁表支持下的VA到PA的變換................................................................ - 11 -

7.5 三級Cache支持下的物理內(nèi)存訪問 - 11 -

7.6 hello進(jìn)程fork時的內(nèi)存映射......... - 11 -

7.7 hello進(jìn)程execve時的內(nèi)存映射..... - 11 -

7.8 缺頁故障與缺頁中斷處理................. - 11 -

7.9動態(tài)存儲分配管理.............................. - 11 -

7.10本章小結(jié)............................................ - 12 -

第8章 hello的IO管理....................... - 13 -

8.1 Linux的IO設(shè)備管理方法................. - 13 -

8.2 簡述Unix IO接口及其函數(shù).............. - 13 -

8.3 printf的實(shí)現(xiàn)分析.............................. - 13 -

8.4 getchar的實(shí)現(xiàn)分析.......................... - 13 -

8.5本章小結(jié).............................................. - 13 -

結(jié)論............................................................... - 14 -

附件............................................................... - 15 -

參考文獻(xiàn)....................................................... - 16 -

第1章 概述

1.1 Hello簡介

  • P2P過程:
  • 作為用戶的我們首先需要按照語法規(guī)則編寫hello.c,當(dāng)我們想要運(yùn)行hello.c文件時,hello.c文件得首先經(jīng)過預(yù)處理,編譯,匯編,鏈接4個階段從hello.c文本文件轉(zhuǎn)變?yōu)榭蓤?zhí)行文件,這樣我們的機(jī)器才能運(yùn)行這個文件。

    以linux系統(tǒng)為例,當(dāng)我們在終端運(yùn)行可執(zhí)行文件時,shell解析這段命令,使用fork為我們的hello創(chuàng)建子進(jìn)程,至此完成了從program到progress的過程。

  • 020過程:
  • 當(dāng)程序完成p2p過程之后,就進(jìn)入了020過程

    在此過程中, shell 為我們的程序調(diào)用 execve函數(shù),execve函數(shù)啟動加載器為該進(jìn)程分配獨(dú)立的虛擬內(nèi)存空間,程序運(yùn)行在物理內(nèi)存中,CPU 為其分配時間片執(zhí)行指令,調(diào)用系統(tǒng)I/O,printf函數(shù)顯示相應(yīng)的功能。當(dāng)程序運(yùn)行結(jié)束后,shell 父進(jìn)程負(fù)責(zé)回收 hello 進(jìn)程。

    至此,020過程也告一段落。

    1.2 環(huán)境與工具

    1.2.1 硬件環(huán)境

    ?

    圖1 硬件環(huán)境

    1.2.2 軟件環(huán)境

    Windows:??? windows10、Visual studio 2022、VMware Workstation Pro、code blocks

    Ubuntu:?????? Ubuntu20.04.3(64位)、code blocks

    1.2.3 開發(fā)工具

    Visual studio 2022

    Code Blocks

    1.3 中間結(jié)果

    Hello.c hello.i hello.o hello.s

    1.4 本章小結(jié)

    本章為本篇論文的一個概述,簡單介紹了p2p過程和020過程,介紹了編寫此論文使用的軟硬件環(huán)境和開發(fā)調(diào)試工具以及編寫論文過程中的中間結(jié)果。

    (第1章0.5分)

    第2章 預(yù)處理

    2.1 預(yù)處理的概念與作用

    概念:預(yù)處理一般是指在程序源代碼被翻譯為目標(biāo)代碼的過程中,生成二進(jìn)制代碼之前的過程。預(yù)處理器(cpp)根據(jù)以#開頭的命令,修改顯示的C程序。

    作用:

    1)將源文件中用#include形式聲明的文件復(fù)制到新的程序中。比如hello.c第6-8行中的#include<stdio.h> 等命令告訴預(yù)處理器讀取系統(tǒng)頭文件stdio.h unistd.h stdlib.h 的內(nèi)容,并把它直接插入到程序文本中。

    2)用實(shí)際值替換用#define定義的字符串

    3)根據(jù)#if后面的條件決定需要編譯的代碼

    4)還包括此次hello中沒有的#line,#error,#pragma,以及單獨(dú)的空指令的處理。

    2.2在Ubuntu下預(yù)處理的命令

    預(yù)處理指令:gcc -E hello.c -o hello.i

    如下圖所示:

    得到hello.i文件:

    2.3 Hello的預(yù)處理結(jié)果解析

    ·針對如下三條語句的預(yù)處理

    #include <stdio.h>

    #include <unistd.h>

    #include <stdlib.h>

    #include <stdio.h>

    #include <unistd.h>

    #include <stdlib.h>

    2.4 本章小結(jié)

    本章介紹了預(yù)處理的概念和作用,以及預(yù)處理的命令和結(jié)果解析。預(yù)處理器cpp將一個hello.c源程序編譯為hello.i,原理是根據(jù)以字符#開頭的命令,修改原始的C程序。

    (第2章0.5分)

    第3章 編譯

    3.1 編譯的概念與作用

    概念:編譯階段是編譯器ccl將文本文件hello.i翻譯成hello.s,它包含一個匯編語言程序,該程序包含一個main的定義

    作用:把高級語言翻譯成機(jī)器可以“聽懂”的機(jī)器語言,連接高級語言和機(jī)器語言的橋梁。

    3.2 在Ubuntu下編譯的命令

    指令:gcc -S hello.i -o hello.s,下圖為編譯展示:

    編譯結(jié)果:

    3.3 Hello的編譯結(jié)果解析

    3.3.1開頭匯編指令:

    .file——C文件聲明

    .text——代碼段

    .section .radata——只讀數(shù)據(jù)段

    .align 8——聲明對指令或者數(shù)據(jù)的存放地址進(jìn)行對齊的方式

    .string——聲明string型數(shù)據(jù)

    3.3.2.cfi指令

    Call Frame infromation的意思,.cfi_startproc 用在每個函數(shù)的開始,用于初始化一些內(nèi)部數(shù)據(jù)結(jié)構(gòu),.cfi_endproc 在函數(shù)結(jié)束的時候使用與.cfi_startproc相配套使用。

    3.3.3 常量

    即字符串常量

    保存在如下數(shù)據(jù)段中

    3.3.4變量

  • 局部變量
  • 局部變量為for循環(huán)中的i,由于i最初被賦值為0,所以找到賦值0操作的,即為i,為第42行。

  • 傳遞參數(shù)
  • int argc是該函數(shù)的整型參數(shù),函數(shù)參數(shù)被保存在寄存器中。它是函數(shù)第一個參數(shù),被保存在%edi寄存器中,如下22行
  • 由上圖還可以看到第一個參數(shù)被復(fù)制到-20(%rbp)棧中

  • Char *argc[]是第二個參數(shù),被保存在%rsi中,由上圖被復(fù)制到-32(%rbp)棧中
  • 該代碼中還包含sleep函數(shù),該函數(shù)中參數(shù)是一個由字符串?dāng)?shù)組轉(zhuǎn)化成的整數(shù)參數(shù),在下圖程序中調(diào)用atoi函數(shù),返回值送給了%edi即函數(shù)參數(shù)。見第四十九行:
  • 數(shù)組
  • 該程序包含argv[]數(shù)組的三個元素:

    數(shù)組中的元素一般保存在連續(xù)地址中,尋址方式即可找到數(shù)組:

    3.3.5賦值操作

    本代碼中復(fù)制操作是在進(jìn)行for循壞過程中,對局部變量i進(jìn)行的賦值操作,把0賦值給i:

    3.3.6算數(shù)操作

    也就是for循環(huán)中每次的i++,見下圖51行,每次都加一,每次都在L3中判斷for循環(huán)中的條件,滿足則跳到L4,執(zhí)行一系列指令后將i+1。

    3.3.7判斷操作

  • 在if語句中,判斷argv是否等于4,等于4則不能執(zhí)行。
  • 在for循環(huán)中判斷是否小于8,小于8則執(zhí)行for循環(huán)。
  • 3.3.8控制轉(zhuǎn)移

    在判斷之后會有條件控制,不同的CC會跳轉(zhuǎn)到不同的指令,控制轉(zhuǎn)移分別分為if控制轉(zhuǎn)移和for循環(huán)的控制轉(zhuǎn)移。

  • If條件中的控制轉(zhuǎn)移
  • 相等的話跳轉(zhuǎn)到L2,L2賦值之后跳轉(zhuǎn)到L3,不相等的話繼續(xù)執(zhí)行,打印語句。

  • For循環(huán)中的控制轉(zhuǎn)移
  • L2轉(zhuǎn)移到L3,L3是一個for循環(huán),每次都會比較i和7的大小,如果小于等于就會跳轉(zhuǎn)到L4執(zhí)行for循環(huán)中的指令,不相等則退出for循環(huán)。

    3.3.9數(shù)組指針操作

    數(shù)組元素有字符串?dāng)?shù)組argv[],指針有指向數(shù)組argv的指針。

    對于數(shù)組元素的操作,通常是將數(shù)組首個元素的地址放入棧中,而在該程序中也是這樣,將數(shù)組argv首元素,也是指向argv的指針的地址放入了-32(%rbp)中。

    在for循環(huán)體中,用起始地址加上偏移量字節(jié)大小來訪問的,采用這種尋址方式,就能訪問到數(shù)組中的每個元素,如下圖所示:

    3.3.10函數(shù)操作

  • 函數(shù)調(diào)用
  • 函數(shù)調(diào)用使用call指令

  • 函數(shù)返回
  • 函數(shù)返回使用ret指令

    3.4 本章小結(jié)

    本章主要介紹匯編過程,使用指令gcc -S hello.i -o hello.s,把hello.i轉(zhuǎn)為hello.s,即把hello.s翻譯成機(jī)器能聽懂的匯編語言,是高級語言和機(jī)器語言之間的橋梁,本章介紹了匯編語言的各種指令,如call ret move 判斷等指令,使學(xué)生掌握了看懂匯編語言的能力。

    (第32分)

    第4章 匯編

    4.1 匯編的概念與作用

    匯編概念:匯編階段是指匯編器(as)將hello.s翻譯成機(jī)器語言指令,把這些指令打包成一種叫做可重定位目標(biāo)程序的格式,并且保存在hello.o中。

    匯編作用:將匯編語言翻譯為機(jī)器語言,并將相關(guān)指令以可重定位目標(biāo)程序格式保存在.o文件中

    4.2 在Ubuntu下匯編的命令

    命令:as hello.s -o hello.o

    4.3 可重定位目標(biāo)elf格式

  • 在終端輸入readelf -a hello.o > hello.txt,將hello.o文件讀出到txt文件中
  • 打開hello.txt文件,觀察里面的信息
  • 觀察信息
  • Elf
  • ELF頭以一個16字節(jié)的序列開始,這個序列描述了生成該文件系統(tǒng)下的字的大小以及一些其他信息。ELF頭剩下的部分包含幫助鏈接器語法分析和解釋目標(biāo)文件的信息:包括ELF頭的大小、目標(biāo)文件的類型、機(jī)器類型、節(jié)頭部表的文件偏移,以及節(jié)頭部表中條目的大小和數(shù)量。具體ELF頭的代碼如下:

  • 節(jié)頭部表
  • 描述了.o文件中每一個節(jié)出現(xiàn)的位置,大小,目標(biāo)文件中的每一個節(jié)都有一個固定大小的條目。具體內(nèi)容如下圖所示:

  • 重定位信息
  • 重定位是將EFL文件中的未定義符號關(guān)聯(lián)到有效值的處理過程。在hello.o中,對printf,exit等函數(shù)的未定義的引用和全局變量(sleepsecs)替換為該進(jìn)程的虛擬地址空間中機(jī)器代碼所在的地址。

  • 符號表
  • 符號表(.symtab)是用來存放程序中定義和引用的函數(shù)和全局變量的信息。重定位需要引用的符號都在其中聲明。具體信息如下所示:

    4.4 Hello.o的結(jié)果解析

    通過objdump -d -r hello.o? 生成hello.o的反匯編,下面與第3章的 hello.s進(jìn)行對照分析。

    與hello.s對比的差別如下:

  • 分支轉(zhuǎn)移:在匯編代碼中,分支跳轉(zhuǎn)是直接以.L0等助記符表示,但在反匯編代碼中,分支轉(zhuǎn)移不在依靠段名稱,而是表示為主函數(shù)+段內(nèi)偏移量。因段名稱在匯編語言中為便于編寫的助記符,所以在匯編成機(jī)器語言之后就不存在了,而是確定的地址。
  • 訪問全局變量:匯編代碼中使用.LC0(%rip),反匯編代碼中為0x0(%rip),因?yàn)樵L問時需要重定位,所以初始化為0并添加重定位條目等鏈接之后再確定。
  • 函數(shù)調(diào)用:匯編代碼中函數(shù)調(diào)用時直接使用函數(shù)名稱,而在反匯編的文件中call之后定位到call的下一條指令,即用具體的地址表示。在.rela.text節(jié)中為其添加重定位條目等待鏈接。
  • 4.5 本章小結(jié)

    本章介紹了hello從hello.s到hello.o的匯編過程,查看了hello.o的ELF格式,使用objdump得到反匯編代碼,還將其與hello.s進(jìn)行了比較,了解到了從匯編到機(jī)器匯編的轉(zhuǎn)換。

    (第41分)

    第5章 鏈接

    5.1 鏈接的概念與作用

    鏈接概念:連接的概念是指連接器(ld)將存有printf等函數(shù)的預(yù)編譯好的目標(biāo)文件合并到hello.o程序的過程。如在hello函數(shù)中調(diào)用了printf函數(shù),它是每個編譯器都提供的標(biāo)準(zhǔn)C庫中的一個函數(shù),printf函數(shù)存在于一個預(yù)編譯好的目標(biāo)文件中,而這個文件要通過ld合并到我們的hello.o文件中。

    鏈接的作用:將存有printf等函數(shù)的預(yù)編譯好的目標(biāo)文件合并到hello.o程序。

    5.2 在Ubuntu下鏈接的命令

    命令:ld -o hello -dynamic-linker /lib64/ld-linux-x86-64.so.2 /usr/lib/x86_64-linux-gnu/crt1.o /usr/lib/x86_64-linux-gnu/crti.o hello.o /usr/lib/x86_64-linux-gnu/libc.so /usr/lib/x86_64-linux-gnu/crtn.o

    生成可執(zhí)行文件hello.o

    5.3 可執(zhí)行目標(biāo)文件hello的格式

    ELF Header格式如下:

    類型為EXEC表示為可執(zhí)行文件。

    Section Headers格式如下:

    Section Headers:節(jié)頭部表,記錄各節(jié)名稱、類型、地址、偏移量、大小、全體大小、旗標(biāo)、鏈接、信息、對齊。根據(jù)Section Headers中的信息我們就可以用HexEdit定位各個節(jié)所占的區(qū)間(起始位置,大小)。

    Symbol table的信息如下:

    5.4 hello的虛擬地址空間

    使用edb加載hello,結(jié)果如下:

    虛擬地址信息如下:

    5.5 鏈接的重定位過程分析

  • 新增加的函數(shù)
  • 鏈接加入了新的函數(shù),如printf,getchar,sleep 等函數(shù)。

  • 新增加的節(jié)
  • 增加了.init和.plt節(jié)

  • 地址訪問
  • hello.o中標(biāo)注了重定位信息的部分均被具體的地址,數(shù)據(jù)所代替

    5.6 hello的執(zhí)行流程

    使用edb執(zhí)行hello,下表展示從加載hello到_start,到call main,以及程序終止的所有過程并列出其調(diào)用與跳轉(zhuǎn)的各個子程序名或程序地址。

    5.7 Hello的動態(tài)鏈接分析

    在進(jìn)行動態(tài)鏈接前,首先要進(jìn)行靜態(tài)鏈接,生成部分鏈接的可執(zhí)行目標(biāo)文件hello。動態(tài)鏈接采用了延遲加載的策略,即在調(diào)用函數(shù)時才進(jìn)行符號的映射。使用偏移量表got+過程鏈接表plt實(shí)現(xiàn)函數(shù)的動態(tài)鏈接。got中存放函數(shù)目標(biāo)地址,為每個全局函數(shù)創(chuàng)建一個副本函數(shù),并將對函數(shù)的調(diào)用轉(zhuǎn)換成對副本函數(shù)調(diào)用。

    查看dl_init函數(shù)調(diào)用前后.got.plt節(jié)的變化

    5.8 本章小結(jié)

    鏈接是編譯hello.c程序的最后一步,我們首先了解了連接的概念和作用,然后分析了hello的ELF格式,使用edb加載hello并進(jìn)行了重定位分析。

    (第51分)

    第6章 hello進(jìn)程管理

    6.1 進(jìn)程的概念與作用

    進(jìn)程概念:進(jìn)程是操作系統(tǒng)對一個正在運(yùn)行的程序的一種抽象。在一個系統(tǒng)上可以同時運(yùn)行多個進(jìn)程,而每個進(jìn)程都好像是單獨(dú)的使用硬件,在大多數(shù)系統(tǒng)中,需要運(yùn)行的進(jìn)程數(shù)可以多于他們的CPU個數(shù),一個CPU像是在并發(fā)的執(zhí)行多個進(jìn)程,這就是處理器在進(jìn)程間切換來實(shí)現(xiàn)的。

    進(jìn)程作用:想hello這樣的程序在現(xiàn)代系統(tǒng)上運(yùn)行時,進(jìn)程會提供一種假象,好像系統(tǒng)上只有這個程序在運(yùn)行,程序看上去是獨(dú)占的使用處理器,主存和io設(shè)備,處理器看上去好像在不間斷地執(zhí)行程序中的指令,這些假象都是通過進(jìn)程中的概念來實(shí)現(xiàn)的。

    6.2 簡述殼Shell-bash的作用與處理流程

  • 作用:
  • shell是一個應(yīng)用程序,他在操作系統(tǒng)中提供了一個用戶與系統(tǒng)內(nèi)核進(jìn)行交互的界面。它解釋由用戶輸入的命令并且把它們送到內(nèi)核。

  • 處理流程
  • 1.讀取用戶由鍵盤輸入的命令行。

    2.分析命令,以命令名作為文件名,并將其它參數(shù)改造為系統(tǒng)調(diào)用execve( )內(nèi)部處理所要求的形式。

    3.終端進(jìn)程調(diào)用fork( )建立一個子進(jìn)程。

    4.終端進(jìn)程本身調(diào)用wait4()來等待子進(jìn)程完成(如果是后臺命令,則不等待)。當(dāng)子進(jìn)程運(yùn)行時調(diào)用execve(),子進(jìn)程根據(jù)文件名到目錄中查找有關(guān)文件,調(diào)入內(nèi)存,執(zhí)行這個程序。

    5.如果命令末尾有&,則終端進(jìn)程不用執(zhí)行系統(tǒng)調(diào)用wait4(),立即發(fā)提示符,讓用戶輸入下一條命令;否則終端進(jìn)程會一直等待,當(dāng)子進(jìn)程完成工作后,向父進(jìn)程報告,此時中斷進(jìn)程醒來,作必要的判別工作后,終端發(fā)出命令提示符,重復(fù)上述處理過程。

    6.3 Hello的fork進(jìn)程創(chuàng)建過程

    當(dāng)我們在終端運(yùn)行之前得到的可執(zhí)行文件,使用./hello的命令,shell會對輸入的命令行進(jìn)行解析,因?yàn)?hello 不是一個內(nèi)置的shell 命令所以解析之后終端程序判斷./hello的語義為執(zhí)行當(dāng)前目錄下的可執(zhí)行目標(biāo)文件 hello,之后終端程序首先會調(diào)用 fork 函數(shù)創(chuàng)建一個新的運(yùn)行的子進(jìn)程。

    Shell通過調(diào)用fork函數(shù)創(chuàng)建一個新的運(yùn)行的子程序,新創(chuàng)建的子進(jìn)程得到與父進(jìn)程用戶及虛擬內(nèi)存空間相同的一份副本,包括代和數(shù)據(jù)段,堆棧和共享庫。

    6.4 Hello的execve過程

    調(diào)用函數(shù)fork創(chuàng)建新的子進(jìn)程之后,子進(jìn)程會調(diào)用execve函數(shù),在當(dāng)前進(jìn)程的上下文中加載并運(yùn)行一個新程序hello。execve 函數(shù)從不返回,它將刪除該進(jìn)程的代碼和地址空間內(nèi)的內(nèi)容并將其初始化,然后通過跳轉(zhuǎn)到程序的第一條指令或入口點(diǎn)來運(yùn)行該程序。將私有的區(qū)域映射進(jìn)來,然后將公共的區(qū)域映射進(jìn)來。后面加載器跳轉(zhuǎn)到程序的入口點(diǎn),即設(shè)置PC指向_start 地址。_start函數(shù)最終調(diào)用hello中的 main 函數(shù),這樣,就完成成了在子進(jìn)程中的加載。

    6.5 Hello的進(jìn)程執(zhí)行

    結(jié)合進(jìn)程上下文信息、進(jìn)程時間片,闡述進(jìn)程調(diào)度的過程,用戶態(tài)與核心態(tài)轉(zhuǎn)換等等。

  • 上下文信息:操作系統(tǒng)內(nèi)核使用一種稱為上下文切換的較高層形式的一場控制流來實(shí)現(xiàn)多任務(wù)。上下文就是內(nèi)核重新啟動一個被搶占的進(jìn)程所需的狀態(tài)。它由一些對象的值組成,這些對象包括通用目的寄存器,浮點(diǎn)寄存器,程序計數(shù)器,用戶棧,狀態(tài)寄存器,內(nèi)核棧和各種內(nèi)核數(shù)據(jù)結(jié)構(gòu)。
  • 用戶模式和內(nèi)核模式
  • 處理器使用一個寄存器提供兩種模式的區(qū)分。用戶模式的進(jìn)程不允許執(zhí)行特殊指令,不允許直接引用地址空間中內(nèi)核區(qū)的代碼和數(shù)據(jù);內(nèi)核模式進(jìn)程可以執(zhí)行指令集中的任何命令,并且可以訪問系統(tǒng)中的任何內(nèi)存位置。

  • 進(jìn)程時間片
  • 一個進(jìn)程執(zhí)行它的控制流的一部分的每一時間段叫做時間片。

    對于hello的進(jìn)程執(zhí)行,具體過程如下:鍵盤輸入./hello zmh yeye 1

    首先shell通過加載器加載可執(zhí)行目標(biāo)文件hello,操作系統(tǒng)進(jìn)行上下文切換,切換到hello的進(jìn)程中,此時為用戶態(tài),執(zhí)行完相應(yīng)函數(shù)后,調(diào)用sleep函數(shù),進(jìn)入內(nèi)核態(tài),當(dāng)sleep的時間完成后時定時器發(fā)送一個中斷信號,此時進(jìn)入內(nèi)核狀態(tài)執(zhí)行中斷處理,將hello進(jìn)程從等待隊列中移出重新加入到運(yùn)行隊列,上下文切換再進(jìn)入hello進(jìn)程,回到用戶態(tài)。

    6.6 hello的異常與信號處理

    hello的異常可以分為四類:中斷,陷阱,故障和終止

    1 中斷

    來自I/O設(shè)備的信號 異步 總是返回到下一條指令

    2 陷阱

    有意的異常 同步 總是返回到下一條指令

    3 故障

    潛在可恢復(fù)的錯誤 同步 可能返回到當(dāng)前指令

    4 終止

    不可恢復(fù)的錯誤 同步 不會返回

    鍵盤中各種操作導(dǎo)致的異常

  • 正常操作
  • 回車鍵
  • Ctrl C和Ctrl Z(默認(rèn)掛起前臺作業(yè))
  • 輸入ps(驗(yàn)證沒有被回收)
  • 輸入jobs
  • 輸入pstree
  • 輸入fg(調(diào)到前臺)
  • 輸入kill指令(結(jié)束程序)
  • 6.7本章小結(jié)

    本章了解了進(jìn)程的概念與作用,敘述了shell的處理流程,說明了hello的進(jìn)程處理和異常信號執(zhí)行。

    (第61分)

    第7章 hello的存儲管理

    7.1 hello的存儲器地址空間

  • 邏輯地址
  • 程序代碼經(jīng)過編譯后出現(xiàn)在 匯編程序中地址。邏輯地址由選擇符 (在實(shí)模式下是描述符,在保護(hù)模式下是用來選擇描述符的選擇符)和偏移量(偏 移部分)組成。

  • 線性地址
  • 也叫虛擬地址,是邏輯地址到物理地址變換之間的中間層,即連續(xù)的虛擬地址。

  • 虛擬地址
  • 虛擬地址是程序保護(hù)模式下,程序訪問存儲器所使用的邏輯地址稱為虛擬地址,與實(shí)地址模式下的分段地址類似,虛擬地址也可以寫為[段:偏移量]的形式,這里的段是指段選擇器。

  • 物理地址
  • 計算機(jī)系統(tǒng)的主存被組織成一個由M個連續(xù)的字節(jié)大小的單元組成的數(shù)組。每個字節(jié)都有一個唯一的物理地址。

    7.2 Intel邏輯地址到線性地址的變換-段式管理

    一個邏輯地址由兩部份組成,段標(biāo)識符:段內(nèi)偏移量。段標(biāo)識符是由一個16位長的字段組成,稱為段選擇符。其中前13位是一個索引號。后面3位包含一些硬件細(xì)節(jié)。轉(zhuǎn)換過程如下所示:

  • 看段選擇描述符中的T1字段是0還是1,可以知道當(dāng)前要轉(zhuǎn)換的是GDT中的段,還是LDT中的段,再根據(jù)指定的相應(yīng)的寄存器,得到其地址和大小。
  • 拿出段選擇符中的前13位,可以在這個數(shù)組中查找到對應(yīng)的段描述符,這樣就有了Base,得到基地址。
  • 把基地址Base+Offset,得到下一個階段的地址。
  • 7.3 Hello的線性地址到物理地址的變換-頁式管理

    通過分頁機(jī)制完成,即對虛擬地址的內(nèi)存空間進(jìn)行分頁。在任意時刻,虛擬頁面的集合都分成三個不相交的子集

  • 未分配的
  • 緩存的
  • 未緩存的
  • 系統(tǒng)將每個段分割為被稱為虛擬頁(VP)的大小固定的塊來作為進(jìn)行數(shù)據(jù)傳輸?shù)膯卧?#xff0c;虛擬地址分為虛擬頁號VPN和虛擬頁偏移量VPO,根據(jù)位數(shù)限制分析可以確定VPN和VPO分別占多少位是多少。

    通過頁表基址寄存器PTBR+VPN在頁表中獲得條目PTE,一條PTE中包含有效位、權(quán)限信息、物理頁號。如果有效位是0+NULL則代表沒有在虛擬內(nèi)存空間中分配該內(nèi)存。如果是有效位0+非NULL,則代表在虛擬內(nèi)存空間中分配了但是沒有被緩存到物理內(nèi)存中。如果有效位是1則代表該內(nèi)存已經(jīng)緩存在了物理內(nèi)存中,可以得到其物理頁號PPN,與虛擬頁偏移量共同構(gòu)成物理地址PA。

    7.4 TLB與四級頁表支持下的VA到PA的變換

    36位VPN被劃分成四個9位的片,每個篇被用作到一個頁表的偏移量。CR3寄存器包含L1頁表的物理地址。VPN1提供一個到L1 PTE的偏移量,這個PTE包含L2頁表的基地址。VPN2提供到一個L2 PTE的偏移量,以此類推。

    7.5 三級Cache支持下的物理內(nèi)存訪問

    使用上一步得到的PA,首先取組索引對應(yīng)位,向L1cache中尋找對應(yīng)組。如果存在,則比較標(biāo)志位,并檢查對應(yīng)行的有效位是否為1。如果上述條件均滿足則命中。否則按順序?qū)2cache、L3cache、內(nèi)存進(jìn)行相同操作,直到出現(xiàn)命中。然后向上級cache返回直到L1cache。如果有空閑塊則將目標(biāo)塊放置到空閑塊中,否則將緩存中的某個塊驅(qū)逐,將目標(biāo)塊放到被驅(qū)逐塊的原位置。

    7.6 hello進(jìn)程fork時的內(nèi)存映射

    當(dāng)fork函數(shù)被shell調(diào)用時,會分配給hello一個唯一的PID。為了給hello創(chuàng)建虛擬內(nèi)存,fork創(chuàng)建了當(dāng)前進(jìn)程的mm_struct、區(qū)域結(jié)構(gòu)和頁表的原樣副本。它將兩個進(jìn)程中的每個頁面都標(biāo)記位只讀,并將兩個進(jìn)程中的每個區(qū)域結(jié)構(gòu)都標(biāo)記為私有的寫時復(fù)制。

    當(dāng)fork在hello中返回時,hello現(xiàn)在的虛擬內(nèi)存剛好和調(diào)用shell的虛擬內(nèi)存相同。當(dāng)這兩個進(jìn)程中的任何一個進(jìn)行寫操作時,寫時復(fù)制機(jī)制會創(chuàng)建新頁面。因此也就為每個進(jìn)程保持了私有地址空間的概念。

    7.7 hello進(jìn)程execve時的內(nèi)存映射

    Execve函數(shù)在當(dāng)前進(jìn)程中加載并運(yùn)行包含目標(biāo)文件a.out中的程序,用a.out程序有效的替換了當(dāng)前的程序。加載并運(yùn)行a.out需要以下幾個步驟:

  • 刪除已存在的用戶區(qū)域
  • 映射私有區(qū)域
  • 映射共享區(qū)域
  • 設(shè)置pc
  • 之后調(diào)度此進(jìn)程時,它將從這個入口點(diǎn)開始執(zhí)行。

    7.8 缺頁故障與缺頁中斷處理

    當(dāng)指令引用一個虛擬地址,在MMU中查找頁表時發(fā)現(xiàn)與該地址相對應(yīng)的物理地址不在內(nèi)存中,因此必須從磁盤中取出時就會發(fā)生故障。缺頁故障后會有如下處理:

  • 檢查處理程序是否合法,不合法則終止
  • 檢查進(jìn)程是否有讀、寫或執(zhí)行該區(qū)域頁面的權(quán)限不具有則觸發(fā)保護(hù)異常,終止程序
  • 若二者均正常則內(nèi)核選擇一個犧牲頁面,如果該頁面被修改過則內(nèi)核會將它復(fù)制回磁盤,換入新的頁面并更新頁表。然后將控制轉(zhuǎn)移給hello進(jìn)程,再次執(zhí)行觸發(fā)缺頁故障的指令。
  • 7.9動態(tài)存儲分配管理

  • 動態(tài)存儲分配
  • 當(dāng)運(yùn)行時需要額外內(nèi)存時,用動態(tài)內(nèi)存分配器更方便,也有更好的移植性。

    動態(tài)內(nèi)存分配器維護(hù)著一個進(jìn)程的虛擬內(nèi)存區(qū)域,稱為堆。對于每個進(jìn)程,內(nèi)核維護(hù)一個變量brk,它指向堆的頂部。分配器將堆視為一組不同大小的塊的集合來維護(hù)。每個塊就是一個連續(xù)的虛擬內(nèi)存片,要么是已分配的,要么是空閑的。已分配的塊顯式地保留為供應(yīng)用程序使用。空閑塊可用來分配。空閑塊保持空閑,直到它顯式地被應(yīng)用所分配。一個已分配的塊保持已分配狀態(tài),直到它被釋放,這種釋放要么是應(yīng)用程序顯式執(zhí)行的,要么是內(nèi)存分配器自身隱式執(zhí)行的。

    分配器分為兩種基本風(fēng)格。兩種風(fēng)格都要求應(yīng)用顯示的分配塊,它們的不同之處在于有哪個實(shí)體來負(fù)責(zé)釋放已分配的塊:

  • 顯式分配器:要求應(yīng)用顯式地釋放任何已分配的塊。例如malloc。
  • 隱式分配器:也叫做垃圾收集器,要求分配器檢測一個已分配塊何時不再使用,那么就釋放這個塊,自動釋放未使用的已經(jīng)分配的塊的過程叫做垃圾收集。
  • Malloc函數(shù)
  • malloc函數(shù)返回一個指針,指向大小至少為size字節(jié)的內(nèi)存塊,這個塊可能包含在這個塊內(nèi)的任何數(shù)據(jù)對象類型做對齊。

  • 隱式空閑列表
  • 對比于顯式空閑鏈表,代表并不直接對空閑塊進(jìn)行鏈接,而是將對內(nèi)存空間中的所有塊組織成一個大鏈表,在塊的首尾的四個字節(jié)分別添加header和footer,負(fù)責(zé)維護(hù)當(dāng)前塊的信息(大小和是否分配)。由于每個塊是對齊的,所以每個塊的地址低位總是0,可以用該位標(biāo)注當(dāng)前塊是否已經(jīng)分配。可以利用header和footer中存放的塊大小尋找當(dāng)前塊兩側(cè)的鄰接塊,方便進(jìn)行空閑塊的合并操作。優(yōu)點(diǎn)是簡單,缺點(diǎn)是搜索所需時間與堆中以分配塊和空閑塊的總數(shù)成線性關(guān)系。

  • 顯式空閑列表
  • 顯式結(jié)構(gòu)在空閑塊中增加了8個字節(jié),分別保存當(dāng)前空閑塊的前驅(qū)空閑塊的地址和后繼空閑塊的地址。顯式的結(jié)構(gòu)比隱式結(jié)構(gòu)多維護(hù)了一個鏈表,就是空閑塊的鏈表。這樣做的好處就是在malloc的時候,隱式的方法是要遍歷所有的塊,包括空閑塊了分配塊。但是顯式的結(jié)構(gòu)只需要在空閑塊中維護(hù)的鏈表檢索就可以了,這樣降低了在malloc時候的復(fù)雜度。

    關(guān)于空閑塊的維護(hù)方式一共有兩種,一種是后進(jìn)先出的方式,另一種是按照地址的方式。按照地址維護(hù)很好理解,與隱式的結(jié)構(gòu)大致相同。后進(jìn)先出的方式的思想是,當(dāng)一個分配塊被free之后,將這個塊放到鏈表的最開頭,這樣在malloc的時候會首先看一下最后被free的塊是否符合要求。這樣的好處是釋放一個塊的時候比較高效,直接放在頭部就可以。

    7.10本章小結(jié)

    本章介紹了hello的線性地址空間和物理到線性,線性到邏輯的變換,還介紹了hello進(jìn)程fork,execve時的內(nèi)存映射,以及缺頁故障與缺頁中斷處理和動態(tài)存儲分配管理。

    (第7 2分)

    結(jié)論

    Hello.c只是一個簡單的代碼文件,但是通過這個文件我們了解了一個C語言程序從被寫出到執(zhí)行的一生,平時運(yùn)行代碼文件只是簡單的點(diǎn)個運(yùn)行按鈕,但是真正了解如何編譯后才發(fā)現(xiàn)里面內(nèi)容之豐富,知識之廣泛。本文的hello.c一共經(jīng)歷了一下幾種剖析:

  • 對hello.c程序進(jìn)行預(yù)處理
  • 對于處理后的程序進(jìn)行編譯
  • 對編譯后的程序進(jìn)行匯編
  • 最后進(jìn)行鏈接
  • 以hello.c為例介紹了對進(jìn)程的管理
  • 以hello.c為例介紹了存儲管理
  • (結(jié)論0分,缺失 -1分,根據(jù)內(nèi)容酌情加分)

    附件

    列出所有的中間產(chǎn)物的文件名,并予以說明起作用。

    (附件0分,缺失 -1分)

    參考文獻(xiàn)

    為完成本次大作業(yè)你翻閱的書籍與網(wǎng)站等

    [1]? 林來興. 空間控制技術(shù)[M]. 北京:中國宇航出版社,1992:25-42.

    [2]? 辛希孟. 信息技術(shù)與信息服務(wù)國際研討會論文集:A集[C]. 北京:中國科學(xué)出版社,1999.

    [3]? 趙耀東. 新時代的工業(yè)工程師[M/OL]. 臺北:天下文化出版社,1998 [1998-09-26]. http://www.ie.nthu.edu.tw/info/ie.newie.htm(Big5).

    [4]? 諶穎. 空間交會控制理論與方法研究[D]. 哈爾濱:哈爾濱工業(yè)大學(xué),1992:8-13.

    [5]? KANAMORI H. Shaking Without Quaking[J]. Science,1998,279(5359):2063-2064.

    [6]? CHRISTINE M. Plant Physiology: Plant Biology in the Genome Era[J/OL]. Science,1998,281:331-332[1998-09-23]. http://www.sciencemag.org/cgi/ collection/anatmorp.

    (參考文獻(xiàn)0分,缺失 -1分)

    總結(jié)

    以上是生活随笔為你收集整理的哈工大计统实验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

    人人爱人人添 | 99久久精品国产一区 | 97伊人网 | 三级av免费观看 | 97超碰免费在线观看 | 欧美一级电影免费观看 | 精品视频999 | 99久久婷婷国产一区二区三区 | 91久久精品一区二区三区 | 中文字幕免费播放 | 97超碰超碰久久福利超碰 | 午夜精品一区二区三区在线播放 | www.久久免费 | 久草9视频 | 97国产在线视频 | 国产精品久久久久影视 | 亚洲永久国产精品 | 欧美性色19p | 成人观看| 黄色精品久久 | 一级特黄av| 国产丝袜美腿在线 | 欧美色就是色 | 欧美韩国日本在线 | 亚洲视频aaa | 国产精品嫩草影院9 | 在线免费观看国产黄色 | 狠狠色噜噜狠狠狠狠 | 五月婷婷av在线 | 国产成人精品日本亚洲999 | 丁香网五月天 | 国产精品99久久久精品免费观看 | 久久艹在线观看 | 亚洲精品国产精品国自产观看 | 日韩欧美黄色网址 | 天天操夜夜看 | 国产亚洲精品综合一区91 | 日韩欧美xxxx | 国产精品网站一区二区三区 | 国产欧美高清 | 国产专区精品视频 | 亚洲精品国产精品99久久 | 黄色com| 国产中文字幕在线免费观看 | 91久久偷偷做嫩草影院 | 99热精品免费观看 | 天天天综合网 | av在线免费不卡 | av在线超碰 | 久久这里只有精品久久 | www.亚洲在线| 天天操操操操操 | 天堂在线一区二区 | 色婷婷成人网 | 99一区二区三区 | 91香蕉视频好色先生 | 欧美日韩一区二区免费在线观看 | av动图| 精品国模一区二区 | 欧美精品黑人性xxxx | 在线观看国产福利片 | 99久在线精品99re8热视频 | 日本护士三级少妇三级999 | 91爱爱网址 | 激情在线免费视频 | 一区二区三区在线观看中文字幕 | 91久久国产综合精品女同国语 | 日韩欧美一区二区三区视频 | 国产自产在线视频 | 黄色网在线播放 | 亚洲精品一区二区网址 | 欧美日韩高清不卡 | 男女视频国产 | 97成人精品 | 国产在线最新 | 日日碰狠狠躁久久躁综合网 | 免费日韩视 | 精品久久久久久久久久久久久久久久久久 | 91成人精品国产刺激国语对白 | 99人成在线观看视频 | 国产免费叼嘿网站免费 | 国产精品久久久久久五月尺 | 色偷偷男人的天堂av | 日韩中文字幕a | 在线av资源 | 国产美女被啪进深处喷白浆视频 | 亚洲精品自拍视频在线观看 | 91日韩精品 | 天天色天天干天天 | 99久久精品免费看国产一区二区三区 | 午夜在线观看影院 | 91精品国自产在线观看欧美 | 日韩在线中文字幕 | 亚洲免费黄色 | 中文字幕国产视频 | 久久久国产精品一区二区中文 | 久久99国产精品视频 | 808电影| 亚洲激情av | 国产精品欧美久久久久无广告 | 国产真实在线 | 久久久久99精品国产片 | 伊人婷婷网 | 99精品网站 | 国产视频在线观看一区二区 | av网站在线免费观看 | 高清av中文在线字幕观看1 | a级一a一级在线观看 | 亚洲午夜av电影 | 亚洲精品裸体 | 黄色软件视频大全免费下载 | 麻豆久久一区二区 | 婷婷久操| 日韩久久久久久久久 | 黄色软件大全网站 | 亚洲天堂色婷婷 | 人人干狠狠干 | 国产成免费视频 | 国产一区二区久久久 | 狠狠色狠狠色 | 国产精品午夜av | 天天插天天色 | 97超碰成人 | 天天操天天吃 | 久久精品国产一区二区三区 | 91xav| 亚洲美女视频在线观看 | 久久久久久久久黄色 | 免费视频久久久久 | 色噜噜日韩精品一区二区三区视频 | 中文字幕一区二区三区四区久久 | 国产在线高清精品 | 久久久久国产精品一区二区 | 精品国产理论 | 天天色图 | 手机在线黄色网址 | 黄色网免费 | 网站在线观看你们懂的 | 99婷婷| 四虎免费av| 中文字幕丝袜一区二区 | 国产亚洲成av人片在线观看桃 | 手机在线永久免费观看av片 | 亚洲三级性片 | 一区二区三区在线免费观看 | 91国内产香蕉 | 国产视频每日更新 | 成人黄色片在线播放 | 亚洲免费成人 | 国产亚洲欧美日韩高清 | 国产精品区二区三区日本 | 国产成人久久精品 | 免费看污污视频的网站 | 草久在线播放 | 四虎影视久久久 | 久草在线免费新视频 | 99久热在线精品视频观看 | 欧美aⅴ在线观看 | 国产精品 美女 | 日韩首页| 国产又粗又猛又黄 | 国产三级在线播放 | 探花视频在线版播放免费观看 | 午夜成人免费影院 | 欧美精彩视频在线观看 | 亚洲欧洲日韩在线观看 | 97人人精品 | 亚洲在线网址 | 毛片网在线观看 | 国产一级视频免费看 | 欧美一区二区三区在线看 | av在线播放观看 | 九九九电影免费看 | 国产精品女视频 | 国产精品免费av | 成人不用播放器 | 国产精品黄色影片导航在线观看 | 日韩国产精品久久久久久亚洲 | 精品福利国产 | 免费情缘| 中文一二区 | 亚洲国产视频网站 | 久久www免费人成看片高清 | 成人黄视频 | 中文电影网 | 国产一级免费在线观看 | 99久久www免费 | av 一区 二区 久久 | 在线观看视频国产一区 | 狠色狠色综合久久 | 亚洲激情六月 | ,午夜性刺激免费看视频 | 欧美极品xxx | 夜夜躁日日躁狠狠久久88av | 日韩精品综合在线 | 在线观看视频中文字幕 | 亚洲九九九在线观看 | 日狠狠 | 国产又黄又爽又猛视频日本 | 91精品天码美女少妇 | 久草在在线 | 欧美va天堂va视频va在线 | 狠狠狠综合| 国产资源网 | 色婷婷综合久久久中文字幕 | 国产精品久久久久久久婷婷 | 国产专区精品视频 | 又黄又爽又湿又无遮挡的在线视频 | 久久久国产影院 | 中文av字幕在线观看 | 久久精品视频一 | 青青草国产在线 | 91亚洲激情| 国产毛片在线 | 日本黄色大片儿 | 国产99久久久国产精品成人免费 | 久草综合在线观看 | 久久99国产精品免费 | 国内精自线一二区永久 | 91精品免费在线视频 | 亚洲小视频在线 | 亚洲午夜精 | 亚洲免费一级电影 | 天天操天 | 在线天堂中文www视软件 | 九色视频自拍 | 国产一区二区三区在线免费观看 | 久久不卡国产精品一区二区 | 国产精品系列在线 | 久久蜜臀一区二区三区av | 激情五月综合网 | 日韩特级片 | 国产精品婷婷午夜在线观看 | 一区二区欧美在线观看 | 亚洲激情在线观看 | 亚洲黄色网络 | 天天操夜夜操天天射 | 在线观看黄 | 久久国产系列 | 国产午夜免费视频 | 亚洲精品久久久蜜臀下载官网 | 久草在线免费看视频 | 全黄网站 | 六月天综合网 | 91色国产| 人人干在线 | 亚洲人成人在线 | 一级一片免费观看 | 天天操操操操操操 | av+在线播放在线播放 | 99视频精品全部免费 在线 | 97免费公开视频 | 操一草| 精品一区二区在线免费观看 | 黄色片视频在线观看 | 91福利视频免费观看 | 成人四虎影院 | 久久久久久久久久久网 | 国产中文在线视频 | 免费网站色 | 园产精品久久久久久久7电影 | 黄网站app在线观看免费视频 | 人人射av | 日本黄色免费电影网站 | 免费亚洲黄色 | 天天爽天天碰狠狠添 | 精品9999| 国产视频在线看 | 久久网站免费 | 97碰视频| 亚洲精品高清一区二区三区四区 | 中文字幕成人 | 91av看片 | 在线观看一级视频 | 久热免费在线观看 | 欧美激情视频一区二区三区免费 | 91精品第一页| 国产成人三级 | 一区二区三区 亚洲 | 久久蜜臀一区二区三区av | 97在线看 | 午夜久久成人 | 成人黄色片免费 | av大全免费在线观看 | 黄色片毛片 | 又黄又爽的视频在线观看网站 | 一区二区三区四区不卡 | 欧美精品乱码久久久久久按摩 | 亚洲一区美女视频在线观看免费 | 中文字幕av免费 | 久久香蕉电影网 | 在线观看免费一级片 | 国产在线看一区 | 美女视频久久黄 | 中文字幕a∨在线乱码免费看 | 韩日精品在线观看 | 精品久久久久久综合 | 亚洲综合视频在线 | 亚洲综合色丁香婷婷六月图片 | 一区二区精 | 免费激情网| 欧美日韩国产一区二区在线观看 | 一个色综合网站 | 久久黄色小说 | www.夜色.com| 91麻豆精品国产自产在线 | 精选久久 | 国产精品普通话 | 久草在线免费看视频 | 国产 一区二区三区 在线 | 成人国产亚洲 | 精品少妇一区二区三区在线 | 日韩电影在线观看一区二区 | 免费国产在线视频 | 96精品高清视频在线观看软件特色 | 免费一级日韩欧美性大片 | 久草在线久草在线2 | 久久精品综合一区 | 日韩一级成人av | 国产成人av免费在线观看 | 日韩大片免费在线观看 | 精品免费一区二区三区 | 91大神视频网站 | www日韩视频 | 久久久91精品国产一区二区精品 | 国产精品igao视频网入口 | 久久精品香蕉 | 超碰成人免费电影 | 中文字幕高清在线播放 | 一区二区电影在线观看 | 国产aaa毛片| 国产成人精品av | 免费av小说| 日女人电影 | 国产美女精品视频免费观看 | 久久狠狠一本精品综合网 | 99久久电影 | 亚洲视频免费在线观看 | 国产成人av综合色 | 中文字幕色网站 | 在线观看黄网站 | 日韩欧美国产精品 | 在线看欧美 | 国产精品人人做人人爽人人添 | 欧美激情第八页 | 四虎国产精品永久在线国在线 | 国产又粗又长又硬免费视频 | 国产做a爱一级久久 | 国产精品系列在线 | 日韩网站免费观看 | 国产不卡网站 | 九月婷婷人人澡人人添人人爽 | 欧美日本不卡 | 国产精品免费久久久久 | 欧美性久久久 | 黄色官网在线观看 | 夜夜干天天操 | 精品免费在线视频 | 久久艹国产视频 | 天堂资源在线观看视频 | 天天操天天干天天操天天干 | 在线亚洲日本 | 天天操天天草 | 国产精品久久久久久高潮 | 国产原创在线 | 黄色www免费 | 久久国色夜色精品国产 | 国产麻豆精品传媒av国产下载 | 国产精品一区二区中文字幕 | 国产精品婷婷午夜在线观看 | 五月天色站 | 国产在线精品二区 | 鲁一鲁影院| 久久99在线观看 | 久久人人97超碰com | 国产成人在线播放 | 五月天色综合 | av在线永久免费观看 | 免费观看一级特黄欧美大片 | 国产 在线 高清 精品 | 久草在线视频看看 | 久久久久久免费网 | 亚洲精品久久久久中文字幕二区 | 丁香五婷 | 国产日韩在线视频 | 国产精品久久久久久爽爽爽 | 日韩精品欧美一区 | 欧美日韩国产网站 | 最新av在线免费观看 | 99免费在线视频观看 | 亚洲精品av中文字幕在线在线 | 欧美 亚洲 另类 激情 另类 | 黄色一级在线视频 | 国产免费亚洲 | 国内精品久久久久影院一蜜桃 | 国产日韩av在线 | 夜夜骑天天操 | 中文字幕中文字幕在线中文字幕三区 | 亚洲国产午夜精品 | 手机看片99 | 久久精品视频4 | av黄色免费在线观看 | 最新黄色av网址 | 开心色激情网 | 久久久久久在线观看 | 99久久夜色精品国产亚洲96 | 亚洲精品视频在线观看免费视频 | 日韩免费不卡视频 | 日韩av快播电影网 | 91福利视频一区 | 欧美午夜久久久 | 91麻豆精品国产自产 | 国产一区精品在线观看 | 四虎www.| 亚洲激情免费 | 久草视频免费看 | 九九av| 国产精品毛片久久久久久久 | 日日夜夜精品免费视频 | 久久国产欧美日韩 | 一区二区成人国产精品 | 成人动漫精品一区二区 | 丰满少妇在线观看 | 91亚洲激情| 亚洲伦理中文字幕 | 日本黄色免费在线观看 | 99re8这里有精品热视频免费 | 狠狠色丁香久久综合网 | av在线免费在线观看 | 免费成人看片 | 国产精品免费观看久久 | 久久综合久色欧美综合狠狠 | 婷婷色中文字幕 | 色橹橹欧美在线观看视频高清 | 精品视频免费在线 | 精品五月天 | 久久综合加勒比 | 国产精品系列在线 | 国产日韩视频在线播放 | 欧美a级在线免费观看 | 91九色在线观看 | 亚洲人人av | adc在线观看 | 九九热免费在线视频 | 永久黄网站色视频免费观看w | 欧美日韩精品在线观看视频 | 色久天 | 久草视频免费在线观看 | 狠狠插狠狠操 | www.888av| 日韩在线免费高清视频 | 久久在线视频精品 | 婷婷丁香视频 | 日韩精品综合在线 | 美女视频a美女大全免费下载蜜臀 | 天天躁日日 | 99精品视频免费全部在线 | 亚洲视频 中文字幕 | 久草综合视频 | 丁香婷婷综合激情五月色 | 狠狠综合网 | 中文在线字幕免费观看 | 国产一区二区三区免费在线 | 精品国产伦一区二区三区观看体验 | 久久激情视频免费观看 | www.久久婷婷| 99视频国产精品免费观看 | 久99久精品视频免费观看 | 国产在线色站 | 日日夜夜精品免费观看 | 91免费视频网站在线观看 | 91在线免费播放视频 | 国产精品永久免费观看 | 亚洲免费一级电影 | 四虎亚洲精品 | 黄色91在线| 久久午夜影院 | 久久社区视频 | 中文字幕免费观看视频 | 日韩在线影视 | 国产成人免费高清 | 欧美视频国产视频 | 亚洲天堂网站视频 | 日日干夜夜草 | 日韩欧美国产精品 | 五月综合久久 | 久久久久久毛片 | 一区 二区 精品 | 国产精品久久久久久久久费观看 | 午夜国产在线 | 亚洲精品字幕在线 | 欧洲av不卡| 国产视频中文字幕 | 色视频在线看 | 中文字幕色在线视频 | 亚洲免费视频在线观看 | 五月婷婷久草 | 在线免费观看国产视频 | 色偷偷88888欧美精品久久久 | 亚洲精品99久久久久中文字幕 | 久久久国产精品麻豆 | 国产成人亚洲精品自产在线 | 激情五月伊人 | 国产在线观看二区 | 亚洲成免费 | av电影在线不卡 | 中文在线8新资源库 | 五月天堂网| 免费看片成年人 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 在线看片日韩 | 97在线看| 午夜黄色 | 精品99在线观看 | 国产精品毛片一区二区三区 | 欧美一区免费观看 | av性网站| 亚洲涩涩色 | 亚洲精品毛片一级91精品 | 日韩精品免费一线在线观看 | 黄色在线观看免费网站 | 欧美91成人网 | 日本在线视频网址 | 久久久高清视频 | 久久精品直播 | 久久免费成人网 | 久久国产美女视频 | 亚洲国产视频网站 | 午夜91在线 | 国产精品va在线观看入 | 亚洲精品白浆高清久久久久久 | 国产一级电影在线 | 国产免费嫩草影院 | 日日干美女 | 中文字幕在线电影 | 手机版av在线 | 夜夜婷婷 | 在线亚洲天堂网 | 国产一二三在线视频 | 日韩中午字幕 | 五月丁色 | 亚洲国产美女精品久久久久∴ | 亚洲国产高清在线观看视频 | 三级av免费观看 | 久久天堂精品视频 | 中文字幕日韩精品有码视频 | 欧美日韩免费一区二区三区 | 国产午夜精品理论片在线 | 深夜免费小视频 | 国产中文在线观看 | 四虎影视www | 免费看污在线观看 | 欧美日韩在线播放 | 久久久香蕉视频 | 日韩肉感妇bbwbbwbbw | 婷婷日日 | 日韩黄色影院 | 午夜视频一区二区三区 | 色综合网在线 | 一本到在线 | 一色屋精品视频在线观看 | 国产专区视频在线观看 | 国产999精品久久久久久麻豆 | 亚洲精品中文字幕在线观看 | 久草在线中文888 | 成人免费视频网址 | 国产精久久| 成人国产亚洲 | 国产精品第十页 | 99热在线这里只有精品 | 91理论电影 | 欧美日韩免费一区二区三区 | 99国产精品久久久久久久久久 | 一级特黄av | 日本精品久久久一区二区三区 | 久久久污 | 国内精品中文字幕 | 国产一级性生活 | 在线观看视频黄色 | 亚洲激情在线播放 | 亚洲精品字幕 | 国产九九热| 欧美成年网站 | 久久久久婷 | 91在线中文 | 激情视频免费在线 | 国产黄| 国产亚洲精品久久久久久久久久 | 精品国产99国产精品 | 97视频在线| 国产精品福利在线 | 91 中文字幕 | 日本精品久久久久久 | 国产精品 国内视频 | 国产精品18久久久久久不卡孕妇 | 国产精品一区二区三区99 | 久久久久免费精品视频 | 国产手机免费视频 | 久久久国产毛片 | 免费看日韩片 | 丁香六月国产 | 久久精品亚洲精品国产欧美 | 99国产精品久久久久久久久久 | 久久a v电影 | 一区在线观看 | 在线观看av小说 | 欧美日韩国产二区 | 久久综合五月婷婷 | 久久精品久久久久久久 | 欧美日韩精品网站 | 久久久精品福利视频 | 中文字幕av在线免费 | 国产精品久久久久一区 | 99热播精品 | 狠狠精品 | 天堂av中文字幕 | 在线 高清 中文字幕 | 亚洲手机天堂 | 国产一级二级在线播放 | 五月丁香 | 欧美成人性网 | 在线免费观看视频你懂的 | 国模吧一区 | 色播五月激情五月 | 在线观看v片 | 天天操天天添天天吹 | 六月丁香综合 | av在线免费播放 | a级国产毛片 | 91免费版成人 | 2022久久国产露脸精品国产 | 激情黄色av| 欧美91精品国产自产 | 国产精品黄网站在线观看 | 在线一区观看 | 国产另类av | 久久久久区 | 中文字幕不卡在线88 | 午夜视频免费在线观看 | 激情网色 | 久久不见久久见免费影院 | 久久免费的精品国产v∧ | 国产一级免费在线观看 | 韩国av一区二区 | 97超在线视频| 国产日韩欧美在线影视 | 最近中文字幕在线 | 四虎免费av| 欧美久草视频 | 日韩精品免费一区 | 午夜视频在线观看一区二区 | 在线免费视 | 99免费在线视频 | 成人亚洲精品久久久久 | 丁香婷婷激情国产高清秒播 | 俺要去色综合狠狠 | 亚洲精品高清在线 | 精品国产电影 | 中文字幕色在线 | 久久久久久久久久亚洲精品 | 九九视频网站 | 久久99国产精品二区护士 | 国产精品欧美久久久久久 | 亚洲一区天堂 | 超级碰碰碰视频 | 爱情影院aqdy鲁丝片二区 | 超碰97中文 | 亚洲精品777 | 国产一区二区三区高清播放 | 日韩专区一区二区 | 天天天天天天天天操 | 九九热视频在线免费观看 | 精品91在线| 在线观看中文 | 最新午夜 | 久久久久久久久久久影视 | 不卡的av在线 | 日韩专区 在线 | 一区二区三区四区影院 | 久热精品国产 | 免费亚洲视频在线观看 | 有没有在线观看av | 91成人在线免费观看 | 五月天久久久 | 97视频免费观看2区 亚洲视屏 | 亚洲综合在线播放 | 国产97av| 成人黄色片在线播放 | 久久国产精品一区二区三区四区 | 98超碰人人 | 久久精品免费观看 | 日韩欧美电影网 | 国产精品久久99精品毛片三a | 黄色一级动作片 | 亚洲第一中文字幕 | 免费视频xnxx com| 午夜美女福利 | 亚洲一区免费在线 | 免费亚洲精品 | 在线国产视频观看 | 亚洲伊人婷婷 | 国产婷婷精品av在线 | 国产精品美女久久久久久久久 | 国产在线久草 | 2023av在线| 欧美日韩亚洲第一页 | 福利二区视频 | 99精品99 | 国产高清无线码2021 | 亚洲综合色播 | 超碰97成人| 欧美激情精品久久久久久免费印度 | 免费a级毛片在线看 | 国产又粗又猛又黄又爽 | 国产一区在线观看免费 | 91亚洲欧美 | 综合婷婷久久 | 一级一片免费观看 | 国产破处精品 | 97在线超碰 | 亚洲黄色成人网 | 国产精品一区二区视频 | 麻豆视频网址 | 精品中文字幕视频 | 久久久国产精品成人免费 | 久久人人精 | 91视频在线自拍 | 蜜臀av.com | 久操视频在线播放 | 成人性生爱a∨ | 精品国产一二三 | 精品久久久久久亚洲综合网 | 天天操比| 亚洲黄色免费观看 | 9999精品视频 | 一区二区久久 | 天天操月月操 | 国产色综合天天综合网 | 日韩久久午夜一级啪啪 | 日韩字幕 | 激情影音先锋 | 亚洲精品国产精品国自产在线 | 国产精品色婷婷 | 香蕉视频国产在线 | 精品免费视频. | 国产精品9区 | 麻豆精品传媒视频 | 成人av影视观看 | 伊人伊成久久人综合网站 | 在线观看视频99 | 久久国产精品99精国产 | 91精品999| 在线看片成人 | 国产亚洲精品电影 | japanese黑人亚洲人4k | 日韩理论片 | 999成人免费视频 | 国产v在线观看 | 精品国产免费观看 | 亚洲欧美精品在线 | 99国产成+人+综合+亚洲 欧美 | 日韩视频免费观看高清 | 不卡国产在线 | 日韩激情视频在线观看 | 久久久久久久久久久免费视频 | 欧美久久影院 | 高清av免费一区中文字幕 | 欧美日韩在线播放 | 久草男人天堂 | 久久国产一二区 | 999成人国产 | 99精品色 | 综合国产视频 | 麻豆免费精品视频 | 激情综合国产 | 高清av在线 | 在线观看日本韩国电影 | 91精品国产综合久久久久久久 | 在线影视 一区 二区 三区 | 亚洲狠狠婷婷 | 国产三级久久久 | 人人艹视频| 一级黄色在线免费观看 | 日韩精品中文字幕在线播放 | 亚洲aaa级| 五月天激情婷婷 | 91免费看黄 | 91麻豆精品国产91久久久久 | 激情五月五月婷婷 | 国产亚洲精品久久久久久网站 | 婷婷成人综合 | 天天干天天碰 | 久久久久女教师免费一区 | 国产午夜精品一区 | 不卡电影免费在线播放一区 | 日韩精品一区二区三区三炮视频 | 在线视频免费观看 | 国产精品日韩在线观看 | 一区二区三区高清在线观看 | 亚洲成色 | 五月婷婷激情综合网 | 精品在线播放 | 久久久久欧美精品 | 91精品国产乱码在线观看 | 五月婷婷六月丁香激情 | 国产xx视频 | 99国产视频| 久久久久激情视频 | 亚洲国产影院 | 精品国产一区二区三区在线 | 精品国产一区二区三区久久久久久 | 成年人在线免费看 | 亚洲第一久久久 | a在线观看免费视频 | 亚洲在线资源 | 午夜精品电影 | 国产精品美乳一区二区免费 | 亚洲综合在线五月天 | 日本精品一区二区 | 波多野结衣精品 | 夜夜爽www | 天天操操操操操 | 国产视频黄| 欧美激情精品久久久 | 91大神在线观看视频 | av三区在线 | 狠狠色丁香婷婷综合最新地址 | 欧美精品中文 | 亚洲天堂自拍视频 | 国产美女网站视频 | 亚洲精品成人av在线 | 91人网站| 成年人av在线播放 | 69亚洲精品| 三级黄色片在线观看 | 久久视频这里有精品 | 91精品视频在线 | 国产一区二区日本 | 国产精品99久久久久久武松影视 | 色网站免费在线看 | 激情五月色播五月 | 成年人免费电影 | 欧美视频18 | 在线观看国产亚洲 | 国产中文字幕三区 | 色欧美综合 | 亚洲在线视频播放 | 久久视频在线观看 | 激情五月播播久久久精品 | 亚洲精品麻豆 | 亚洲精品国偷拍自产在线观看 | 免费看一级特黄a大片 | 精品一区在线看 | 永久免费精品视频 | 日韩欧美xxx| 欧美日韩不卡一区二区 | 日韩欧美在线播放 | 波多野结衣在线视频免费观看 | 国产视频精品在线 | 国产成人av电影在线 | 日韩欧美在线视频一区二区 | 色a在线观看 | 狠狠色噜噜狠狠狠狠 | 免费成人av电影 | 国产精品ⅴa有声小说 | 国产精品免费观看在线 | 国产成人久久精品 | 在线观看你懂的网址 | 色五月激情五月 | 手机av在线网站 | 99久久999久久久精玫瑰 | 成人综合日日夜夜 | 亚洲在线视频观看 | 五月天久久久久久 | 一区三区视频在线观看 | 三级黄色网址 | 国产精品成人一区二区 | 久久国产精品第一页 | 青青河边草免费直播 | 国产精品久久久久久婷婷天堂 | 黄色大全免费观看 | 日韩成人免费在线观看 | 超碰免费成人 | 免费观看久久 | 久久精品91久久久久久再现 | 亚洲影院国产 | 欧美爽爽爽 | 一区在线观看 | 免费在线中文字幕 | 黄色软件在线看 | 成人欧美一区二区三区黑人麻豆 | 国产69精品久久久久9999apgf | 91精品在线观看视频 | 日韩av影片在线观看 | 日p视频在线观看 | 亚洲国产精彩中文乱码av | 久久国产精品99久久久久久老狼 | 不卡的av | 九九久 | 在线视频日韩欧美 | 久草在线一免费新视频 | 国产在线观看免 | 色视频网站在线 | 国产视频日本 | 久久久精品综合 | 久久国产a | 亚洲精品大全 | 久久99在线视频 | 五月婷激情| 国产99久久久久久免费看 | 亚洲成aⅴ人在线观看 | 免费亚洲婷婷 | 国内久久看 | 色国产视频| 精品久久电影 | 日日夜夜添 | 国产夫妻自拍av | 久久精品亚洲综合专区 | 久久久久久久久久久久久9999 | 国产成人亚洲在线观看 | 国产精品久久av | 在线观看视频一区二区三区 | 天天射天天舔天天干 | 99精品视频在线 | 在线免费观看一区二区三区 | 夜夜夜影院 | 久久不射电影网 | 国产一区二区综合 | 亚洲美女免费视频 | 粉嫩高清一区二区三区 | 99精品欧美一区二区 | 在线亚洲午夜片av大片 | 国产精品wwwwww | 国产日韩在线播放 | 中文字幕文字幕一区二区 | 婷婷在线播放 | 久久精品这里精品 | 69精品久久久 | 国产精品精品国产色婷婷 | 欧美淫视频 | 天天干天天综合 | 成人黄色免费在线观看 | 在线天堂中文www视软件 | 日韩亚洲欧美中文字幕 | 久草视频免费播放 | 成人黄色免费在线观看 | 亚洲一本视频 | 这里只有精品视频在线 | 狠狠干夜夜爽 | 成人在线黄色 | 国产成人一二片 | 一二三区高清 | 日韩在线观看高清 | 99这里只有久久精品视频 | 国产精品久久久久久久久久久久午夜 | 天天在线操 | 久久国产二区 | 国产精品免费久久久久影院仙踪林 | 国产打女人屁股调教97 | 在线韩国电影免费观影完整版 | 日本公妇色中文字幕 | 国产精品区一区 | 国产69精品久久久久99 | 亚洲视频高清 | 国产高清在线a视频大全 | 亚洲国产欧美在线看片xxoo | 极品国产91在线网站 | 不卡国产在线 | 久草久草在线观看 | 国产精品视频永久免费播放 | 激情伊人五月天久久综合 | 日韩国产精品一区 | www免费黄色 | 亚洲精品午夜久久久久久久久久久 | 国产日韩中文在线 | 久久永久视频 | 欧美一级日韩免费不卡 | 午夜视频免费播放 | 天天躁日日躁狠狠躁av麻豆 | 亚洲精品免费观看 | av在线免费观看黄 | 中文字幕色在线 | 91桃花视频 | 午夜久久影视 | 日本最新一区二区三区 | 西西大胆免费视频 | 欧美一区二区视频97 | 国产精品毛片一区视频播不卡 | 欧美日韩精品电影 | 欧美韩国日本在线观看 | 久久综合视频网 | 成人全视频免费观看在线看 | 久久久久久视频 | 色99导航 | 亚洲人人精品 | 国产福利av在线 | 日日干天天插 | 亚洲成av |