亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

從Linux環(huán)境到軟中斷:一份95分操作系統(tǒng)實(shí)驗(yàn)報(bào)告全解析

從Linux環(huán)境到軟中斷:一份95分操作系統(tǒng)實(shí)驗(yàn)報(bào)告全解析 簡(jiǎn)介西南交通大學(xué)操作系統(tǒng)實(shí)驗(yàn)報(bào)告完整收錄胡曉鵬老師課程的六個(gè)實(shí)驗(yàn)涵蓋Linux環(huán)境與Shell命令、C程序編譯調(diào)試、/proc內(nèi)核狀態(tài)觀測(cè)、軟中斷通信、進(jìn)程調(diào)度及線程同步等主題適合正在學(xué)習(xí)操作系統(tǒng)或Linux編程的本科生對(duì)照參考。報(bào)告基于2020—2021學(xué)年軟件工程專業(yè)真實(shí)作業(yè)評(píng)分達(dá)95分不僅給出每次實(shí)驗(yàn)的目的、步驟與總結(jié)還詳細(xì)展示了cd、ls、ps、chmod等命令用法以及vi、gcc、gdb工具鏈操作和cpuinfo、meminfo、loadavg、interrupts等內(nèi)核文件的編程觀測(cè)方法。壓縮包內(nèi)共1個(gè)docx文檔約1.48MB目錄結(jié)構(gòu)按實(shí)驗(yàn)編號(hào)清晰劃分方便直接查閱或借鑒格式。該資源已有401人學(xué)習(xí)對(duì)需要完成同類實(shí)驗(yàn)、撰寫實(shí)驗(yàn)報(bào)告或理解Linux內(nèi)核抽象的同學(xué)具有較高參考價(jià)值可直接作為實(shí)驗(yàn)流程梳理、命令細(xì)節(jié)核對(duì)和報(bào)告排版范本使用。1. 一份 95 分的操作系統(tǒng)實(shí)驗(yàn)報(bào)告從讀懂 Linux 到跑通軟中斷某高校軟件工程專業(yè)的操作系統(tǒng)課設(shè)里有一份評(píng)分 95 的實(shí)驗(yàn)報(bào)告覆蓋了 Linux 環(huán)境與 C 語(yǔ)言調(diào)試、/proc 文件系統(tǒng)觀測(cè)、軟中斷通信、進(jìn)程調(diào)度、線程同步、內(nèi)存管理、系統(tǒng)調(diào)用和缺頁(yè)統(tǒng)計(jì)八個(gè)實(shí)驗(yàn)。這份報(bào)告值得參考的點(diǎn)不在于每個(gè)實(shí)驗(yàn)都跑通了而在于它把「代碼演示」和「機(jī)制理解」放在了一起——比如用 Ctrl\ 觸發(fā) SIGQUIT 來(lái)觀察父子進(jìn)程的終止順序比如通過(guò) /proc/cpuinfo 和 /proc/meminfo 去對(duì)應(yīng)課堂上講的內(nèi)核變量。對(duì)于正在做操作系統(tǒng)課設(shè)或準(zhǔn)備 OS 方向面試的人來(lái)說(shuō)這套實(shí)驗(yàn)編排剛好覆蓋了進(jìn)程管理、內(nèi)存管理、信號(hào)機(jī)制、系統(tǒng)調(diào)用四大主線。本文就按這份報(bào)告的結(jié)構(gòu)拆開(kāi)講從環(huán)境準(zhǔn)備到 /proc 觀測(cè)再到軟中斷和進(jìn)程調(diào)度最后落到內(nèi)存管理、系統(tǒng)調(diào)用和缺頁(yè)統(tǒng)計(jì)并給出驗(yàn)收和答辯的方法。如果你是照著課設(shè)要求逐項(xiàng)做可以直接按這個(gè)順序推進(jìn)。2. 實(shí)驗(yàn)環(huán)境準(zhǔn)備Linux 目錄結(jié)構(gòu)、Shell 命令與 gcc/gdb 調(diào)試鏈操作系統(tǒng)實(shí)驗(yàn)的第一步永遠(yuǎn)是環(huán)境。報(bào)告中的實(shí)驗(yàn) 1 花費(fèi)了大量篇幅在「熟悉 Linux 界面與目錄結(jié)構(gòu)」和「在終端里跑通一個(gè) C 程序」上。這一步看起來(lái)基礎(chǔ)實(shí)際決定了后面七個(gè)實(shí)驗(yàn)?zāi)懿荒茼樌七M(jìn)尤其是 fork、signal 這類依賴進(jìn)程機(jī)制的程序必須在一個(gè)能穩(wěn)定運(yùn)行的環(huán)境里調(diào)試。2.1 Linux 目錄結(jié)構(gòu)先搞清楚東西放在哪報(bào)告里記錄了一個(gè)很直觀的觀察Linux 和 Windows 的目錄組織方式完全不同。Windows 用盤符C:、D:區(qū)分存儲(chǔ)區(qū)域Linux 則是單一根目錄/用正斜杠/分割路徑。初次接觸時(shí)容易混淆的點(diǎn)在于/bin存放最常用的命令ls、cp、mv/home是用戶主目錄的根/etc保存系統(tǒng)配置文件/proc是虛擬文件系統(tǒng)運(yùn)行時(shí)的內(nèi)核信息都在這里。報(bào)告特別標(biāo)注了/proc下的數(shù)字目錄——每個(gè)數(shù)字對(duì)應(yīng)一個(gè)正在運(yùn)行的進(jìn)程 PID里面是進(jìn)程的運(yùn)行時(shí)信息。我把這些目錄的用途整理成一張速查表方便對(duì)照目錄路徑主要用途實(shí)驗(yàn)中的使用場(chǎng)景/bin常用命令存放處ls、cp、mv的執(zhí)行文件/home用戶主目錄存放實(shí)驗(yàn)代碼文件/proc虛擬文件系統(tǒng)內(nèi)核狀態(tài)接口實(shí)驗(yàn) 1、實(shí)驗(yàn) 7 讀取系統(tǒng)信息/tmp臨時(shí)文件編譯中間文件的臨時(shí)輸出/lostfound異常關(guān)機(jī)后的文件恢復(fù)區(qū)一般用不到做實(shí)驗(yàn)時(shí)一個(gè)典型的操作流程是用cd進(jìn)入工作目錄用ls確認(rèn)文件存在用mv重命名文件。報(bào)告里提到一個(gè)細(xì)節(jié)想修改已編輯好的文件名在終端用mv agrc.c oslab.1.c即可如果用 vim 編輯也可以在保存時(shí)用:w new_filename直接另存為新文件。兩個(gè)方法都能用前者是 Shell 層的操作后者是編輯器內(nèi)的操作場(chǎng)景不同選擇不同。2.2 Shell 命令與管道重定向不只是敲命令報(bào)告在實(shí)驗(yàn) 1 中列出的命令包括cd切換目錄、ls列出文件、ps查看進(jìn)程狀態(tài)、chmod修改權(quán)限以及 redirect重定向和 pipe管道機(jī)制。這里的核心在于Shell 不只是逐條執(zhí)行命令還能通過(guò)重定向把輸出寫入文件通過(guò)管道把前一個(gè)命令的輸出作為后一個(gè)命令的輸入。比如ps -ef | grep test就是查看進(jìn)程列表中是否有 test 程序的經(jīng)典組合ls -l filelist.txt則把目錄列表保存到文件里。這兩個(gè)機(jī)制在后續(xù)實(shí)驗(yàn)中頻繁用到——軟中斷實(shí)驗(yàn)里需要觀察進(jìn)程 PID 和父子關(guān)系ps和grep的組合能快速確認(rèn)進(jìn)程是否被正確創(chuàng)建和終止。2.3 gcc 編譯與 gdb 調(diào)試把 C 程序跑起來(lái)報(bào)告中的實(shí)驗(yàn)流程是用 vim 寫代碼按i進(jìn)入編輯模式寫完按ESC返回一般模式再用:wq保存退出最后用gcc編譯。這里有個(gè)常見(jiàn)錯(cuò)誤初次使用 vim 的人經(jīng)常不知道如何進(jìn)入編輯模式或者按了ESC后直接輸入字符導(dǎo)致命令沖突。報(bào)告記錄的步驟把這條路走通了進(jìn)入 vim 后按i、o、a、r中的任一鍵都能進(jìn)入編輯模式ESC返回后:開(kāi)頭的是命令模式:wq是保存并退出。編譯階段gcc是最直接的編譯器gcc -o test test.c生成可執(zhí)行文件gcc -g test.c -o test帶調(diào)試信息生成。要比較 gcc、gdb、codeblocks 的區(qū)別核心在于 debug 能力gdb 支持設(shè)置斷點(diǎn)、單步執(zhí)行、查看變量值codeblocks 是圖形化 IDE把編譯和調(diào)試集成了但對(duì)遠(yuǎn)程環(huán)境如虛擬機(jī)中的 Linux不友好。報(bào)告中提到一個(gè)血淚經(jīng)驗(yàn)在 Windows 的 IDE 里寫好帶fork()的代碼復(fù)制到 Linux 后報(bào)錯(cuò)——因?yàn)?Windows IDE 默認(rèn)的頭文件和庫(kù)不含 POSIX 的fork()。從那以后我的習(xí)慣是涉及進(jìn)程、信號(hào)、文件鎖的代碼直接在 Linux 環(huán)境里寫不再跨環(huán)境搬運(yùn)。注意gcc編譯時(shí)建議加-Wall參數(shù)查看全部警告。fork 相關(guān)的代碼如果出現(xiàn)隱式聲明警告通常是因?yàn)槿鄙?include unistd.h這是最容易被忽略的問(wèn)題。2.4 網(wǎng)絡(luò)配置的三種模式與踩坑記錄實(shí)驗(yàn)報(bào)告里記錄了一次網(wǎng)絡(luò)故障排查虛擬機(jī)裝好后配置沒(méi)問(wèn)題但網(wǎng)絡(luò)連接一直失敗。排查后定位到是虛擬機(jī)的網(wǎng)絡(luò)模式選錯(cuò)了并借此把三種模式學(xué)明白了橋接模式是讓虛擬機(jī)像局域網(wǎng)里的一臺(tái)獨(dú)立主機(jī)可以互訪也可以上網(wǎng)但 IP 容易沖突NAT地址轉(zhuǎn)換模式是虛擬機(jī)通過(guò)母機(jī)代理訪問(wèn)外網(wǎng)外部網(wǎng)絡(luò)訪問(wèn)不到虛擬機(jī)主機(jī)模式host-only則是虛擬機(jī)和宿主機(jī)形成獨(dú)立網(wǎng)絡(luò)虛擬機(jī)無(wú)法訪問(wèn)互聯(lián)網(wǎng)。最終選擇 NAT 模式既避免 IP 沖突又能上網(wǎng)。這里給初學(xué)者一個(gè)建議操作系統(tǒng)實(shí)驗(yàn)大多不需要外部網(wǎng)絡(luò)但需要宿主機(jī)與虛擬機(jī)之間傳輸代碼文件。用 NAT 模式配合x(chóng)ftp或scp是最省心的方案如果只有一臺(tái)機(jī)器做實(shí)驗(yàn)host-only 也夠用只是不能在線查資料。如果遇到網(wǎng)絡(luò)不通先 ping 網(wǎng)關(guān)再確認(rèn)虛擬網(wǎng)卡是否啟用最后檢查防火墻——三個(gè)步驟能排除九成問(wèn)題。3. /proc 文件系統(tǒng)觀測(cè)內(nèi)核變量的黑匣子怎么打開(kāi)實(shí)驗(yàn) 1 和實(shí)驗(yàn) 7 把重點(diǎn)放在了/proc文件系統(tǒng)上。/proc是 Linux 內(nèi)核向用戶態(tài)暴露狀態(tài)信息的虛擬文件系統(tǒng)讀取它以獲取 CPU 信息、內(nèi)存狀態(tài)、系統(tǒng)負(fù)載、中斷統(tǒng)計(jì)等數(shù)據(jù)。它之所以重要是因?yàn)椴僮飨到y(tǒng)課上學(xué)到的很多概念如進(jìn)程狀態(tài)、內(nèi)存分配、系統(tǒng)節(jié)拍都以文件的形式反映在這里且可以隨時(shí)查閱。3.1 /proc/cpuinfo、version、stat、uptime 的觀測(cè)方法報(bào)告中明確給出了用程序觀測(cè)的四項(xiàng)內(nèi)容/proc/cpuinfo提供 CPU 型號(hào)、核數(shù)、頻率等信息/proc/version顯示內(nèi)核版本號(hào)例如 Linux 3.10.0-1160包含內(nèi)核編譯信息/proc/stat保存系統(tǒng)啟動(dòng)以來(lái)的 CPU 統(tǒng)計(jì)和進(jìn)程切換數(shù)據(jù)/proc/uptime返回系統(tǒng)開(kāi)機(jī)時(shí)長(zhǎng)。觀測(cè)這些文件最簡(jiǎn)單的方式是cat /proc/cpuinfo但課程設(shè)計(jì)要求「編程實(shí)現(xiàn)觀測(cè)」這就涉及 C 語(yǔ)言的文件讀取操作核心代碼如下#include stdio.h #include string.h int main() { FILE *fp; char line[256]; fp fopen(/proc/version, r); if (fp NULL) { perror(open /proc/version failed); return 1; } while (fgets(line, sizeof(line), fp) ! NULL) { printf(%s, line); } fclose(fp); return 0; }這段代碼本質(zhì)上就是打開(kāi)文件、逐行讀取、打印。但設(shè)計(jì)要點(diǎn)在于/proc下的文件是內(nèi)核動(dòng)態(tài)生成的虛擬文件讀取它不需要特殊權(quán)限部分需要 root但打開(kāi)失敗時(shí)要用perror輸出錯(cuò)誤原因。如果報(bào)No such file or directory說(shuō)明當(dāng)前系統(tǒng)的內(nèi)核版本不包含該節(jié)點(diǎn)例如/proc/filesystems在部分精簡(jiǎn)內(nèi)核中不存在——此時(shí)需要檢查內(nèi)核配置而不是改代碼。將fopen的文件路徑換成/proc/cpuinfo、/proc/stat、/proc/uptime即可觀測(cè)其余項(xiàng)目。3.2 meminfo、loadavg、interrupts、filesystem 的編程觀測(cè)報(bào)告要求編程實(shí)現(xiàn)對(duì)/proc/meminfo、/proc/loadavg、/proc/interrupts、/proc/filesystems的觀測(cè)。這四個(gè)文件的含義分別是meminfo描述系統(tǒng)內(nèi)存總量、空閑量、緩存量對(duì)應(yīng)課程中的內(nèi)存管理章節(jié)loadavg顯示 1 分鐘、5 分鐘、15 分鐘的平均負(fù)載interrupts記錄各中斷號(hào)的發(fā)生次數(shù)對(duì)應(yīng)中斷機(jī)制filesystems列出當(dāng)前內(nèi)核支持的文件系統(tǒng)類型。通常的做法是寫一個(gè)通用的讀取函數(shù)傳入路徑參數(shù)即可如下所示void show_file(const char *path) { FILE *fp fopen(path, r); char line[256]; if (!fp) { perror(path); return; } while (fgets(line, sizeof(line), fp) ! NULL) { printf(%s, line); } fclose(fp); } int main() { show_file(/proc/meminfo); show_file(/proc/loadavg); show_file(/proc/interrupts); show_file(/proc/filesystems); return 0; }這里有一個(gè)容易忽略的點(diǎn)/proc文件是偽文件讀取時(shí)fseek、rewind等操作沒(méi)有實(shí)際意義每次讀取都是內(nèi)核實(shí)時(shí)生成的快照。所以不要在代碼里做「定位到文件末尾再讀回開(kāi)頭」的操作直接順序讀取即可。3.3 從 jiffies 理解內(nèi)核時(shí)間基準(zhǔn)報(bào)告在實(shí)驗(yàn)總結(jié)中記錄了一個(gè)有意思的思考為什么 Linux 的時(shí)間統(tǒng)計(jì)是基于「節(jié)拍」而不是「秒」答案是內(nèi)核使用jiffies作為全局時(shí)間基準(zhǔn)——內(nèi)核每過(guò)一個(gè)節(jié)拍通常 1/250 秒或 1/100 秒jiffies加 1。開(kāi)機(jī)時(shí)內(nèi)核讀取 RTC 硬件獲取基準(zhǔn)時(shí)間再換算成對(duì)應(yīng)的jiffies值減去 1970-01-01 UTC 的時(shí)間差。/proc/uptime中的數(shù)值就是基于jiffies換算出來(lái)的。這個(gè)知識(shí)點(diǎn)在今年的面試和課程答辯中經(jīng)常出現(xiàn)為什么 uptime 是浮點(diǎn)數(shù)為什么 loadavg 有三個(gè)值如果只答「記錄系統(tǒng)啟動(dòng)時(shí)長(zhǎng)」就太淺了。能說(shuō)出jiffies的遞增機(jī)制和系統(tǒng)節(jié)拍HZ的配置才算是真正理解了內(nèi)核時(shí)間系統(tǒng)。報(bào)告中這部分屬于加分項(xiàng)建議在答辯時(shí)主動(dòng)提。4. 軟中斷通信實(shí)驗(yàn)信號(hào)機(jī)制與進(jìn)程終止順序軟中斷通信是這份報(bào)告中代碼量最大、也最值得細(xì)讀的實(shí)驗(yàn)。實(shí)驗(yàn)要求用信號(hào)如 SIGQUIT、SIGUSR1實(shí)現(xiàn)父子進(jìn)程間的通信并觀察終止順序。核心是理解三件事fork()創(chuàng)建子進(jìn)程后的父子關(guān)系、signal()注冊(cè)信號(hào)處理函數(shù)、kill()發(fā)送信號(hào)。4.1 實(shí)驗(yàn)一一個(gè)父進(jìn)程創(chuàng)建兩個(gè)子進(jìn)程用 Ctrl\ 終止流程是這樣的父進(jìn)程創(chuàng)建兩個(gè)子進(jìn)程 P1 和 P2父進(jìn)程調(diào)用signal(SIGQUIT, stop)注冊(cè)信號(hào)處理函數(shù)然后進(jìn)入waiting()忙等待用戶在終端按Ctrl\發(fā)送 SIGQUIT父進(jìn)程收到信號(hào)后執(zhí)行stop()將wait_mark置 0退出等待隨后向 P1 發(fā)信號(hào) 16、向 P2 發(fā)信號(hào) 17兩個(gè)子進(jìn)程收到信號(hào)后打印結(jié)束信息并退出父進(jìn)程最后wait(0)回收子進(jìn)程并退出。核心代碼節(jié)選void waiting() { while (wait_mark ! 0); } void stop() { wait_mark 0; } int main() { int p1, p2; while ((p1 fork()) -1); // 創(chuàng)建第一個(gè)子進(jìn)程 sleep(1); if (p1 0) { // 父進(jìn)程分支 printf(parent process is %d \n, getpid()); while ((p2 fork()) -1); // 創(chuàng)建第二個(gè)子進(jìn)程 if (p2 0) { wait_mark 1; signal(SIGQUIT, stop); waiting(); kill(p1, 16); // 向子進(jìn)程 P1 發(fā)信號(hào) 16 kill(p2, 17); // 向子進(jìn)程 P2 發(fā)信號(hào) 17 wait(0); wait(0); printf(\n parent process %d is killed!\n, getpid()); exit(0); } else { // 子進(jìn)程 P2 分支 printf(child P2 process %d is created by %d \n, getpid(), getppid()); signal(SIGQUIT, SIG_IGN); wait_mark 1; signal(17, stop); waiting(); lockf(1, 1, 0); printf(\n child P2 process %d is killed by parent %d , getpid(), getppid()); lockf(1, 0, 0); } } else { // 子進(jìn)程 P1 分支 printf(child P1 process %d is created by %d \n, getpid(), getppid()); signal(SIGQUIT, SIG_IGN); wait_mark 1; signal(16, stop); waiting(); lockf(1, 1, 0); printf(\n child P1 process %d is killed by parent %d , getpid(), getppid()); lockf(1, 0, 0); } return 0; }代碼的設(shè)計(jì)說(shuō)明fork()返回 0 表示當(dāng)前是子進(jìn)程返回大于 0 的值是子進(jìn)程 PID對(duì)父進(jìn)程而言。父進(jìn)程先通過(guò)fork()創(chuàng)建 P1sleep(1)確保 P1 完成初始化再創(chuàng)建 P2。為什么 P1 和 P2 要用不同的信號(hào)編號(hào)16 和 17因?yàn)檫@樣每個(gè)子進(jìn)程只響應(yīng)屬于自己的信號(hào)避免歧義這對(duì)應(yīng)了「軟中斷信號(hào)用于進(jìn)程間通信」的實(shí)驗(yàn)?zāi)康摹ockf(1, 1, 0)的作用是加鎖標(biāo)準(zhǔn)輸出防止兩個(gè)子進(jìn)程同時(shí)往終端打印時(shí)輸出交錯(cuò)這在并發(fā)編程里是一個(gè)典型問(wèn)題——不加鎖printf 的輸出可能互相穿插。4.2 實(shí)驗(yàn)二父、子、孫三級(jí)進(jìn)程的依次終止實(shí)驗(yàn)二不同于實(shí)驗(yàn)一的「一父兩子」結(jié)構(gòu)而是父進(jìn)程 → 子進(jìn)程 → 孫進(jìn)程的鏈?zhǔn)浇Y(jié)構(gòu)。流程是父進(jìn)程創(chuàng)建子進(jìn)程 P1P1 再創(chuàng)建孫進(jìn)程 P2按 Ctrl\ 后父進(jìn)程向 P1 發(fā)信號(hào)P1 向 P2 發(fā)信號(hào)依次終止孫、子、父。進(jìn)程樹(shù)形結(jié)構(gòu)中的終止順序是先殺最深的再殺中間的最后殺根部的。int main() { int p1, p2; while ((p1 fork()) -1); if (p1 0) { // 父進(jìn)程 wait_mark 1; signal(SIGQUIT, stop); waiting(); kill(p1, 16); wait(0); printf(\n parent process is killed \n); exit(0); } else { // 子進(jìn)程 while ((p1 fork()) -1); // 創(chuàng)建孫進(jìn)程 if (p1 0) { // 子進(jìn)程分支 printf(child P1 process %d is created by the parent %d \n, getpid(), getppid()); signal(SIGQUIT, SIG_IGN); wait_mark 1; signal(16, stop); waiting(); kill(p1, 16); wait(0); printf(\n child P1 process %d is killed by parent %d \n, getpid(), getppid()); exit(0); } else if (p1 0) { // 孫進(jìn)程分支 printf(grandson process %d is created by the parent %d \n, getpid(), getppid()); signal(SIGQUIT, SIG_IGN); wait_mark 1; signal(16, stop); waiting(); printf(\n grandson process %d is killed by parent %d \n, getpid(), getppid()); exit(0); } } return 0; }這段代碼的邏輯層次很清晰但要注意一個(gè)隱蔽的問(wèn)題子進(jìn)程和孫進(jìn)程都注冊(cè)了信號(hào) 16 的處理函數(shù)這意味著如果父進(jìn)程誤發(fā)了兩次信號(hào) 16孫進(jìn)程和子進(jìn)程可能同時(shí)退出破壞層級(jí)順序。所以實(shí)驗(yàn)二的運(yùn)行結(jié)果中「先孫再子」的順序依賴代碼執(zhí)行路徑而不是信號(hào)優(yōu)先級(jí)——父進(jìn)程是在wait(0)等子進(jìn)程結(jié)束后才 print 自己的結(jié)束信息子進(jìn)程是在wait(0)等孫進(jìn)程結(jié)束后才 print 自己的結(jié)束信息這是一個(gè)隱式的順序控制。4.3 避坑指南軟中斷實(shí)驗(yàn)中容易翻車的四個(gè)問(wèn)題1. 現(xiàn)象fork()在編譯時(shí)報(bào)錯(cuò)提示隱式聲明。原因源文件缺少#include unistd.h部分舊代碼還依賴#include sys/types.h。解決在文件頭部補(bǔ)全頭文件不要省略u(píng)nistd.h如果用了wait()還要加#include sys/wait.h。2. 現(xiàn)象程序運(yùn)行后按 Ctrl\ 沒(méi)有反應(yīng)。原因SIGQUIT的信號(hào)處理函數(shù)沒(méi)有正確注冊(cè)或者進(jìn)程處于后臺(tái)運(yùn)行狀態(tài)nohup 方式啟動(dòng)。解決確認(rèn)用signal(SIGQUIT, stop)注冊(cè)了處理函數(shù)而不是SIG_IGN確認(rèn)程序在前臺(tái)運(yùn)行Ctrl\只對(duì)前臺(tái)進(jìn)程的終端有效。3. 現(xiàn)象父子進(jìn)程的 printf 輸出交叉混亂。原因多個(gè)進(jìn)程同時(shí)搶占標(biāo)準(zhǔn)輸出沒(méi)有互斥。解決用lockf(1, 1, 0)加鎖標(biāo)準(zhǔn)輸出打印完再lockf(1, 0, 0)解鎖。這個(gè)方法比printf前的sleep更可靠。4. 現(xiàn)象父進(jìn)程 wait(0) 返回后子進(jìn)程仍未退出。原因kill(p1, 16)發(fā)送信號(hào)后子進(jìn)程可能還在waiting()忙等待中沒(méi)有及時(shí)被調(diào)度。解決在信號(hào)處理函數(shù)里將wait_mark置 0 是不夠的還要確保子進(jìn)程收到信號(hào)后能退出waiting()循環(huán)——這里的關(guān)鍵是signal(16, stop)注冊(cè)的處理函數(shù)確實(shí)被執(zhí)行??梢杂胹leep(1)或waitpid()替代忙等待使時(shí)序更穩(wěn)定。5. 進(jìn)程調(diào)度、線程同步、內(nèi)存管理與系統(tǒng)調(diào)用從模擬到真實(shí)實(shí)現(xiàn)實(shí)驗(yàn) 3 到實(shí)驗(yàn) 6 的內(nèi)容覆蓋了操作系統(tǒng)的幾個(gè)核心主題進(jìn)程調(diào)度策略、線程同步、內(nèi)存管理和系統(tǒng)調(diào)用。報(bào)告中記錄了 FCFS 與 RR 調(diào)度策略的驗(yàn)證、線程同步實(shí)驗(yàn)、內(nèi)存管理的代碼與結(jié)果解讀、以及系統(tǒng)調(diào)用的具體實(shí)現(xiàn)步驟。5.1 進(jìn)程調(diào)度實(shí)驗(yàn)FCFS 與 RR 的工程驗(yàn)證實(shí)驗(yàn) 3 要求創(chuàng)建工程并驗(yàn)證 FCFS先來(lái)先服務(wù)和 RR時(shí)間片輪轉(zhuǎn)策略。FCFS 的核心指標(biāo)是等待時(shí)間先到達(dá)的進(jìn)程先執(zhí)行短作業(yè)可能排隊(duì)很久RR 的核心是時(shí)間片每個(gè)進(jìn)程運(yùn)行一個(gè)時(shí)間片后輪轉(zhuǎn)到下一個(gè)。設(shè)計(jì)實(shí)驗(yàn)時(shí)需要構(gòu)造一組進(jìn)程分別記錄到達(dá)時(shí)間、服務(wù)時(shí)間、完成時(shí)間和周轉(zhuǎn)時(shí)間并用表格匯總。建議的驗(yàn)證方式用結(jié)構(gòu)體數(shù)組保存進(jìn)程控制塊模擬調(diào)度過(guò)程。typedef struct { int pid; // 進(jìn)程號(hào) int arrive_time; // 到達(dá)時(shí)間 int service_time; // 服務(wù)時(shí)間 int finish_time; // 完成時(shí)間 int remain_time; // 剩余時(shí)間RR 用 } pcb;FCFS 的實(shí)現(xiàn)就是遍歷進(jìn)程數(shù)組按到達(dá)時(shí)間排序后依次執(zhí)行RR 的實(shí)現(xiàn)需要維護(hù)一個(gè)就緒隊(duì)列每次執(zhí)行一個(gè)時(shí)間片如 2 個(gè)單位時(shí)間片結(jié)束后判斷剩余時(shí)間是否為 0。報(bào)告中的實(shí)驗(yàn)結(jié)論是FCFS 的平均周轉(zhuǎn)時(shí)間通常高于 RR但 RR 的響應(yīng)時(shí)間更短如果進(jìn)程的服務(wù)時(shí)間差異很大RR 的時(shí)間片要選得合理太小則上下文切換開(kāi)銷大太大則退化為 FCFS。答辯時(shí)把這個(gè)權(quán)衡講清楚比背概念有用得多。5.2 線程同步實(shí)驗(yàn)鎖、信號(hào)量與條件變量實(shí)驗(yàn) 4 的線程同步實(shí)驗(yàn)報(bào)告沒(méi)有詳細(xì)列出代碼但通常的做法是經(jīng)典的「生產(chǎn)者-消費(fèi)者」或「讀者-寫者」模型。用pthread_mutex_t保護(hù)共享資源用pthread_cond_t實(shí)現(xiàn)條件等待#include pthread.h pthread_mutex_t mutex PTHREAD_MUTEX_INITIALIZER; pthread_cond_t cond PTHREAD_COND_INITIALIZER; int buffer[10]; int count 0; void *producer(void *arg) { pthread_mutex_lock(mutex); while (count 10) { pthread_cond_wait(cond, mutex); } buffer[count] 1; pthread_cond_signal(cond); pthread_mutex_unlock(mutex); return NULL; }這個(gè)代碼的兩個(gè)關(guān)鍵點(diǎn)pthread_cond_wait必須放在 while 循環(huán)里而不是 if 里——因?yàn)榭赡艽嬖谔摷賳拘裵thread_cond_signal和pthread_mutex_unlock的順序會(huì)影響喚醒后線程的調(diào)度效率。如果忘記解鎖或者忘記加鎖程序可能死鎖或數(shù)據(jù)競(jìng)爭(zhēng)這類問(wèn)題用valgrind --toolhelgrind可以檢測(cè)但最好的辦法是寫代碼時(shí)就把「加鎖-操作-解鎖」的邊界畫(huà)清楚。5.3 內(nèi)存管理實(shí)驗(yàn)頁(yè)面置換與缺頁(yè)統(tǒng)計(jì)實(shí)驗(yàn) 5 的內(nèi)容是內(nèi)存管理重點(diǎn)是頁(yè)面置換算法。報(bào)告給出了實(shí)驗(yàn)結(jié)果展示和結(jié)果解讀但沒(méi)有把代碼全部貼出來(lái)。常見(jiàn)的設(shè)計(jì)是模擬 FIFO、LRU、OPT 三種算法統(tǒng)計(jì)各自的缺頁(yè)次數(shù)。報(bào)告中實(shí)驗(yàn) 7 的「系統(tǒng)缺頁(yè)次數(shù)統(tǒng)計(jì)」實(shí)際就是在真實(shí)系統(tǒng)中觀測(cè)缺頁(yè)行為通過(guò)讀取/proc/vmstat中的pgfault字段來(lái)統(tǒng)計(jì)缺頁(yè)次數(shù)或者通過(guò)ps -o minflt,majflt查看某個(gè)進(jìn)程的缺頁(yè)計(jì)數(shù)。一個(gè)實(shí)際可用的思路在 C 程序中分配一大塊內(nèi)存并循環(huán)訪問(wèn)在訪問(wèn)前后分別讀取/proc/vmstat的缺頁(yè)計(jì)數(shù)值差值就是觸發(fā)的新缺頁(yè)數(shù)#include stdio.h #include stdlib.h #include string.h int main() { unsigned long before, after; FILE *fp; int size 100 * 1024 * 1024; // 100MB char *buf malloc(size); fp fopen(/proc/vmstat, r); // 讀取 pgfault 字段存入 before fclose(fp); memset(buf, 1, size); // 觸發(fā)大量缺頁(yè) fp fopen(/proc/vmstat, r); // 讀取 pgfault 字段存入 after fclose(fp); printf(page faults: %lu\n, after - before); free(buf); return 0; }這里的設(shè)計(jì)說(shuō)明memset一個(gè) 100MB 的緩沖區(qū)如果系統(tǒng)內(nèi)存緊張會(huì)產(chǎn)生大量主缺頁(yè)major fault和次缺頁(yè)minor fault。實(shí)際操作中建議把before和after的讀取封裝成函數(shù)避免代碼重復(fù)。5.4 系統(tǒng)調(diào)用實(shí)驗(yàn)從用戶態(tài)到內(nèi)核態(tài)的通道實(shí)驗(yàn) 6 的系統(tǒng)調(diào)用實(shí)驗(yàn)報(bào)告中的核心是編寫用戶態(tài)程序調(diào)用syscall或直接調(diào)用open、read、write等 API運(yùn)行后觀察程序的系統(tǒng)調(diào)用軌跡。通常的做法是用strace追蹤strace -c ./test_program會(huì)統(tǒng)計(jì)每個(gè)系統(tǒng)調(diào)用的次數(shù)、耗時(shí)和錯(cuò)誤數(shù)。這在實(shí)驗(yàn)報(bào)告中是加分項(xiàng)因?yàn)槟苤庇^展示read、write、mmap、futex這些系統(tǒng)調(diào)用的真實(shí)行為。如果課程要求新增一個(gè)系統(tǒng)調(diào)用部分高校的實(shí)驗(yàn)內(nèi)容是給內(nèi)核添加一個(gè)系統(tǒng)調(diào)用通常的做法是修改系統(tǒng)調(diào)用號(hào)表、添加內(nèi)核函數(shù)實(shí)現(xiàn)、重新編譯內(nèi)核。這個(gè)操作復(fù)雜且危險(xiǎn)可能導(dǎo)致系統(tǒng)起不來(lái)建議在虛擬機(jī)里做并做好快照。報(bào)告中的實(shí)驗(yàn) 6 沒(méi)有走這么深停留在用戶態(tài)調(diào)用層面但如果你能在答辯中說(shuō)出strace的結(jié)果含義就已經(jīng)超過(guò)了大多數(shù)同學(xué)。6. 報(bào)告驗(yàn)收與答辯如何把 95 分實(shí)驗(yàn)講成自己的東西實(shí)驗(yàn)報(bào)告的驗(yàn)收通常分兩部分文檔審查和現(xiàn)場(chǎng)答辯。文檔審查看的是格式規(guī)范、實(shí)驗(yàn)步驟完整性、實(shí)驗(yàn)結(jié)果是否有截圖、代碼是否可復(fù)現(xiàn)現(xiàn)場(chǎng)答辯看的是隨機(jī)抽查的某個(gè)實(shí)驗(yàn)的核心機(jī)制。根據(jù)這份報(bào)告的經(jīng)驗(yàn)我把驗(yàn)收作答的要點(diǎn)整理成一張核對(duì)表檢查項(xiàng)合格標(biāo)準(zhǔn)常見(jiàn)扣分點(diǎn)實(shí)驗(yàn)?zāi)康拿鞔_列出本次實(shí)驗(yàn)要理解什么概念從網(wǎng)上抄一段「了解 Linux」就算完實(shí)驗(yàn)步驟能復(fù)現(xiàn)命令和代碼對(duì)應(yīng)只有代碼沒(méi)有運(yùn)行步驟實(shí)驗(yàn)結(jié)果截圖或輸出且有解讀貼了圖但沒(méi)解釋為什么是這個(gè)輸出實(shí)驗(yàn)總結(jié)記錄遇到的問(wèn)題和解決辦法直接跳過(guò)或抄教材原文答辯時(shí)最容易翻車的兩個(gè)問(wèn)題一是「這個(gè)程序如果去掉 sleep(1) 會(huì)怎樣」二是「為什么用信號(hào) 16 而不是 SIGUSR1」。前者考察對(duì)并發(fā)時(shí)序的理解——去掉sleep(1)后父進(jìn)程可能在子進(jìn)程完成初始化前就fork()第二個(gè)子進(jìn)程導(dǎo)致進(jìn)程關(guān)系錯(cuò)亂后者考察對(duì) Linux 信號(hào)編號(hào)的掌握——SIGUSR1 在部分架構(gòu)上是信號(hào) 10SIGUSR2 是信號(hào) 12但代碼中選擇 16 和 17 屬于自定義信號(hào)需要確保內(nèi)核支持。這個(gè)問(wèn)題的回答思路是信號(hào)編號(hào)對(duì)應(yīng)關(guān)系依賴平臺(tái)課程實(shí)驗(yàn)中固定使用 16 和 17 是為了簡(jiǎn)單明確但實(shí)際工程中建議使用SIGUSR1并配合sigaction()注冊(cè)這樣可讀性和可移植性都更好。此外答辯時(shí)有一個(gè)實(shí)用技巧提前準(zhǔn)備 3 個(gè)「為什么」。比如軟中斷實(shí)驗(yàn)的代碼里為什么要用wait_mark忙等待而不直接pause()因?yàn)槊Φ却恍枰~外引入信號(hào)邏輯直觀但 CPU 空轉(zhuǎn)如果換成pause()可以讓出 CPU但需要處理「信號(hào)到達(dá)時(shí)進(jìn)程處于可中斷睡眠」的狀態(tài)轉(zhuǎn)換。你能主動(dòng)說(shuō)出這個(gè)權(quán)衡說(shuō)明不是只抄了代碼而是真正理解了設(shè)計(jì)取舍。提示如果被問(wèn)到「實(shí)驗(yàn)結(jié)果和預(yù)期不一致怎么辦」不要慌張。先把實(shí)際輸出貼出來(lái)指出哪一步和預(yù)期不同然后給出排查方向——多數(shù)情況是wait()回收順序問(wèn)題或信號(hào)編號(hào)沖突。從那以后我每次做完實(shí)驗(yàn)都會(huì)強(qiáng)制自己走一遍「去掉一個(gè)關(guān)鍵代碼再跑一次」的流程。比如軟中斷實(shí)驗(yàn)去掉lockf觀察輸出是否錯(cuò)亂調(diào)度實(shí)驗(yàn)把時(shí)間片改成 1觀察周轉(zhuǎn)時(shí)間變化。這樣做的好處是任何「為什么這樣寫」的問(wèn)題都能用自己的實(shí)驗(yàn)結(jié)果來(lái)回答而不是背答案。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美成人四级在线播放| 国产小u女在线观看| 亚洲成?V人片在线观看福利| 久久骚少妇| 亚洲天天综合| 亚洲超碰在线| 美女上床网站| 大黄片做爱的大的| 欧美大码在线视频| 国产999精品久久久| 强奸国产精品视频| 久久综合女优| 国产超碰国产97| 日韩精品第3页| 久操视频在线观看| 亚洲黑丝在线| 亚欧色图在线激情| 91人人看| 黄页av| 青娱乐休闲视频在线观看| 国产 日韩 另类 视频一区爱| 亚洲另类久操网| 久久久久国产精品片区无码直播| 久久久97| 亚洲精品一卡二卡三卡福利视频网站 | 92人人操人人| 艳美熟妇先锋一二三区| 9 1超碰九色| 在线观看综合精品亚洲| 国产视频小说| 在线精品福利免费播放| 999国产精品999久久久久久| 日本免费亚洲欧美| 2017天天操天天日| 日本精品高清一二区一本到| 亚洲九九视频| 人人乐大香蕉| 天天看天天日天天操| 在线观看色视频| 加勒比东京热五月天天堂网| 韩日无码在线观看| 97色欧洲| 2020中文字幕| 国产欧美日韩一区二区三区| 夜夜做夜夜爽精品视频| 色婷婷电影网| 日韩国产精品人妻无码久久久| 99re3这里只有精品| 欧美日韩97| 国产精品久久久久绯色| 黄色大片免费在线| 亚洲97资源| 成人av免费观看| 天天日天天看| 美女大乳久久久久久久女人18| 久久午夜鲁丝片| 日韩欧美天天爽爽爽天天爽爽| 强奸乱伦αv片| 欧美在线电影| 国产精品国产| 日产狠狠干| 一本色道综合久久欧美| 97色操| 久久久爆乳翘臀一线天伦理视频| 思思视频免费看网站| 久久久久国产| 麻豆久久视频在线地址| 成人亚欧免费视频| 精品黄色电影| 校园春色家庭伦理欧美激情| 亚洲少妇喷视频看| 女人喷水视频在线观看| 精品免费视频国产一区| 熟女露脸激情自拍视频| 台湾佬激情综合| 很黄很色的视频在线观看| 亚洲欧美天| 97精品国产97久久久久久户外免费| 伊人97色天使| 屁屁影院一区二区三区国产| 久久这里只有精品9| 亚洲区限制级 99| 玖玖97综合 | 欧美性爱无码一区二区三区| 97在线视频免费观看| 丝袜美腿校园春色| 五月天开心网| 国产三级日产三级韩国三级| 午夜性生活av免费在线看| 欧美偷偷网| 久久超碰爱| 综合免费无码中文| 国产一区在线观看无码AV| 成人青青草原伊人| 色在线69堂| 东北女人的毛片| 熟女突然公开看18禁影片 | 久久久久白虎| 精久久久| 色网在线| 夜夜嗷嗷一区二区| 国产不卡精品91| 色网站导航大全| 最新AV在线| 亚洲一二三四区在线免费看视频| 伊人操操| 久久超碰亚洲人| 五月婷婷丁香六月| 天天色粽合合合合合合合| 国产精品嫩草影院免费| 天天视频网站黄| 日韩 欧美 视频 在线 一区| 综合性视频99| 久久精品色欧美aⅴ一区二区| 91色插| 人人手机欧洲亚洲国产人妻| 性高潮久久久| 天天综合网日韩7799| 亚洲最大的综合性av| 国内毛片欧美香蕉精品| 日韩一级二级三级免费看完整版| 亚洲性高潮| CCYY草草影院地址入口| 无码一区二区三区四区五区六区七区八区九区十区视频 | 欧美乱欲| 97久久网| 91美女在线观看| 啪啪自拍九九综合| 91久久| 校园春色亚洲色图| 国产亚洲色婷婷久久99精品91 - 百度| 色约约一区=区三区| 啊啊啊 在线| 国产免费小视频| 91综合天天看| 91丰满| 色约约一区=区三区| 超碰偷拍| 国产成人精品网站| 4399成人黄A片| 99久久无色码| 一级久久性爱视频| 大香蕉www.超碰| 偷拍视频青青草在线视频| 69一区二区三区 | 天天插夜夜操| 日本色色色视频| 人人做人人妻人人夜视频| 国产超碰人人爽人人做| 91小视频| 91干熟女| 97干日韩| 日日噜噜夜夜久久亚洲一区二区| 夜夜做夜夜爽精品视频| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 欧美黑人性猛交91| 日本不卡码黄色| 十八禁黄色成人网站观看| 97er欧美性| 丝袜色综合| 亚洲清纯综合| 国产 日韩,欧美 自拍| 久久精品国产亚洲妲己影视| 亚洲图片欧美在线视频| 中文字暮97| 老师充足的奶水小说| 欧美在线第五页| 91精品人妻一品二品三品| 人妻久久一区二区三区| 欧美日韩国产另类综合| 免费黄色片子| 日本三级人妻a人妻一在线| 区二区亚洲婷| 九月伊人中文字幕| 精品国产丝袜一区二区三区乱码| 乱老女人一区二区视频| 国产精品久久久777| 老色鬼成人精品视频下载大在线观看| 少妇一区二区三区| 欧美aa一级片| 黄色大片一区二区密桃丝袜| wuyechaopeng| 国产精品成人久久一区二区三区 | 国产污视频麻豆传媒一区二区 | 成人八戒网站| 久久9精品视频| 青青操视频在线| 91麻豆天美传媒在线| 在线色导航| 五月天婷婷色色| 欧美精品丝袜久久久中文字幕| 亚洲女人毛茸茸91| 日本αv| 日韩激情啪啪| 一区二区不卡| 很很操在线| 在免费jIzzjIzz在线视频| 中文字幕 一区二区 亚洲无码| 久久久久久久久久精| 亚洲熟女人妻中文字幕一区二区 | 一区二区三区蜜桃成人撸久久东京热 | 99re免费视频精品全部| 超碰精品在线| 青草伊人网| 欧美自拍偷拍综合图片| 裸体美女免费看网站青草| 夜夜嗨免费视频| 综合激情二| 国产大学生高潮在线播放| 国产九区| 熟妇xxxxx性春色| 久久本道| 久久超碰网| av午夜影院在线播放| 欧美狠狠鲁| 亚洲欧美综合| 五月丁香综合| 黄页网站成人免费| 熟女六十路| 日韩欧亚中文在线| 强奸乱伦Av网| 91精品国产乱码| 无遮挡一级毛片视频免费的| 蜜屁Av| 草草影院最新网址| 大香蕉一人在线| 亚洲中文字幕精品一区| 啊啊啊com| 69麻豆天美| 在线不卡视频| 97色欧洲| 精品久久久久久亚洲| 97精品一区| 在线可观看的黄色网址| 97国产精选| 夜色AV无码手机在线影院| 欧美色日| 国产第25页在线观看| 农村妇女精品一区二区| 大色综合网| 日韩欧亚中文在线| 国产家庭乱伦性爱视频| 国产视频大全| 97摸视频| 欧美在线亚洲| 青青操青娱乐| 亚洲欧美综合| 求求你操操我| 精品无码久久久久久国产浪潮| 蜜桃在线观看一区二区三区 | 精品久久久久久中文字幕视频免费| 五月天偷拍| 免费视频一二三区| 白嫩嫩一区| 欧美高清18A片| 久久精品老司| av日韩手机在线影视| 91艹| 少妇二级| 思思热免费在线视频| 久久久免费懂色| 国产高清精品福利| 久久精品熟妇丰满人妻99| 啊啊啊啊啊啊啊国| 欧美大香蕉专区网| 国产精品福利视频| 极品粉嫩少妇视频| 激情看片网站| 999综合网| 67194无码不卡| 74成人在线| 日韩人妻丝袜美腿中文| 日本在线一二| 日欧操屄| 日本丝袜美腿人妻九九| 日本性爱网址| 日韩欧美性吧婷婷乱伦大香蕉| 干b在线性社区| 精品久久久久av影院| 大逼色网站| 桃色六月天| 亚洲成人久久一区二区| 97亚洲中文| 亚洲欧美国产中文字幕| 国产成人久久久精品免费AV| 一级性爱视频免费观看| 国产精品久久久久999| 久久久激情| 屁股久久久久久| 日韩 欧美 校园一区| 亚洲一区二区三区四区视频| 懂色Av| 超碰97在线中文| 五月天婷婷激情| 五月天久久综合网| 国内毛片四区| 日本蜜桃| 精品国产乱码久久久久久久久1 | 另类av综合久久| 国产成人+综合亚洲+天堂| 日韩无码人妻| 91天堂丝袜美腿| 亚洲综合113页| 五月婷婷激情网| 黄色av网站在线播放| 熟女91网站| 久久婷婷欧美| 欧美美女啪啪视频| 五月丁香六月婷综合成人综合 | 无码人妻一区二区三区色欲aⅴ| 99re在线视频| 男人的天堂色偷偷青青草视频婷婷网| 人妻激情另类| 综合久久中文字幕综合日韩精品| 飘花国产午夜精品不卡| 日韩少妇无码| 欧洲精品二区| 99精品综合久久久久五月天| 国产视频小说| 亚洲和欧美裸体美女双飞视频| 99热这里只有精品9| 亚洲 自拍偷拍 欧美| 干少妇视频| 欧美综合传媒| 亚洲天天影视综合网| 天美av在线观看| 亚洲AV无码乱码在线观看性色| 激情熟女12P| 中文字幕色AV| 人妻天天爽| 亚洲综合在线高清| 午夜精品99久久久久传媒| 91精品国产高清久久久久久,亚洲成人| 久久久性| 小视频国产| 人人模人人看| 国产999精品久久久| 白嫩91在线亚洲| 风月影院男女十八禁| 九九英色视频| 亚洲免费97免费| 超碰 97国产熟女| 后X久久| 调教熟妇 久久久久久| 性色生活片久久毛片婬片免费放女人一级毛片 | 91狠狠色丁香婷婷综合久久| 欧美v亚洲v日韩v最新在线二区| 日本操逼无码| 亚洲日韩人妻中文字幕一区| 久久伊人影院| 精品人妻一区二区三区四区不卡在| 天美传媒精品久久视频| www被窝色com| 成人草草视频| 玖玖无码超碰| 欧综合网| 精品人妻免费观看| 亚洲欧美自拍偷拍| 无码在线亚洲| 黄片不用下载在线观看| 欧美中出1| 亚洲激情在线一区二区| 日韩亚洲中文字幕在线| 韩国毛片一区二区三区| av影院十区| 婷婷国产精品一区二区| 一区二区三区四区理论片| 97天堂| 99re这里只有精品2| 8050无码八戒| 久久久99免费| 黄色av片三级三级三级免费看| 3028国产精品| 亚洲日韩美国人妻| av天天在线观看| 综合国产97| 天天做天天爱天天爽AV| 国产精彩女在线观看视频| 男人成人黄色视频在线观看免费下载| 公司1区2区3区精产精| 天天欧美97| 日1区2区3区2020| 极品肉射| 美国黄片aaa| 国产精品久久久无码AV网站| 秋霞影音一区二区三区| 6080yy午夜理论三级一区二区三区无码| 欧美大码在线视频| 少妇内射视频| 1204人成网站色www| 亚洲资源一区| 岛国毛片在线观看免费| 色9999日韩国产| 久久99久久99久久99人受| 97在线免费看| 啊啊啊不要嗯嗯在线观看| 中文一区二区| 9色国产精品一区粉嫩| 亚洲国产精品有声| 五月天精品| 97资源欧美| 青青草导航在线视频| 亚洲。天堂。日本在线观看| 欧美色图综合网| 涩涩涩综合| www.99热| 九九热精彩视频| 欧美日韩欧美| 亚洲小电影免费涩涩成人在线高清| 九久9精品| 99在线观看无大码| 天天操天天舔| 男人a天堂手机在线版| 九九热最新| 亚洲色图伊人网| 亚洲激情片| 欧美成人一级免费电影| 综精品久久久aaaa| 91蜜臀人妻中文字幕在线| 蜜桃天美传媒AV一区二区三区| 91新在线欧美| 蜜桃精品一区二区三区ww| 在线 制服丝袜中出 人妻| caoni国产亚洲av| 99久久久er直播网址| 极品极品色影院| 嗯嗯,好大,好爽,好骚| 欧美一区二区亚洲天堂| www.夜夜| 另类视频在线| 日本欧美不卡| 99久久精品无码一区二区| 久久精品国产72国产精品福利| 高清在线偷拍自拍视频| 欧美一区二区三区大综合| 人妻内射一区二区在线视频| 国产成人五月天丁香花| 中文字幕五月婷婷免费| 热九九精品| 800zy一区二区| 国产精品一区二区后入| 天天网综合| 精品午夜福利国产一区二区在线观看| 激情综合五月婷婷| 99色日| 亚洲精品九九九| 日韩在线性爱免费视频| 人人摸人人干| 大屁股熟女一区二区三区| 毛片一区二区| 中文字幕精品资源在线| 免费的av网| 久久久少妇诱惑精品视频| 一级一性爱免费视频| 日本熟妇人妻中出视频| 日本少妇va7777| 欧美性爱一区二区三区| 在线观看亚洲专区| 欧美老妇综合网| 精品久久久久久久久久久久| 校园春色五月天| 五月天婷精品激情| 啊啊啊不要嗯嗯在线观看| 欧美综合网| 亚洲精品成人激情在线| 欧美亚洲se91| 一区二区三区高清天码| 91/欧美| 极品美女嘿咻| 综合久久六月久久婷婷| 欧美亚男人的天堂| 女人香蕉久久毛毛片精品| 职场同事知名国产国产精品久久欧美日韩| 极品美女嘿咻| 国产精品午夜高潮呻吟久久av| 欧美一级欧美三级在线观看| 毛片一区二区| 午夜激情床戏激情| av毛片aaaaa免费看| 久久极品一区二区| 大色综合| 97精品一二区| 国产精品成人AV片免费看网站| 五月天色图影视| 亚洲色人| 久久av色| 午夜福利av电影在线| 十八禁黄色成人网站观看| 日本淫乱女一区二区三区视频| 天天综合精品| 超碰97欧美| 97综合在线观看| 成人无遮挡毛片免费看| 亚洲国内精品成人不卡| 欧美日韩国产高清在线一二三区 | 色哟哟国产精品免费网址| 成人一二三区| 老女人日韩美91| 操屄日韩| 99这里都是精品| 人人 操人人 操人人| 亚洲一二三四区在线免费看视频| 玖玖综合网| 插老姨肥穴| 婷婷五月av| 宅男91视频在线播放| 亚洲国成人情色好看电影| 国语av狠狠色丁香婷婷综合激情| 黄网在线播放| 日韩操啪| 本道在线| 日韩有码一区三区| 日韩欧美亚洲自拍偷拍| 国产熟女精品区| 日韩乱插| 国产精品com| 国产视频小说| 综合网欧美在线| 国产色综合亚洲色综合吹潮| 国内外毛片在线观看| 青娱乐亚洲自拍| 欧美伊人电影| 精品国产91久久久久久一区黄无| 99久久精品国产高潮| 大鸡巴久久| 又黄又爽在线观看视频| 丰满人妻一区二区三区性色| 99超碰网| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 免费精品中文字幕| 亚洲在线91| 国产精品乱码久久久久久| 午夜精品久久久久久久男人的天堂 | 97网址97| 麻豆福利视频导航| 国产99热| 亚洲欧美国产其他二区| 成人无码在线超碰网| 国产精品乱码久久| 亚洲图片视频小说| 亚洲色图 图片| 99热色这里只有精品| 亚欧韩av| 人人人人插| 欧美视频一| 成人国产二区三区在线,男女精品。| 91九九九小逼| 人人妻人人操人人乐| 国产懂色精品国产av| 欧美色另类| 久区视频| 97综合久第一页| 久久人爽| 天天干天天操天天拍| 五月丁香综合网| 日韩不卡a级视频专区| 91岛国动作片| 精品人妻少妇| 日韩成人私密一级精品av| 0755午夜福利视频| 日本高清视频在线观看黄已三辽| 加勒比日本在线| 中文字幕少妇色 | 欧美亚洲天天| 国产精品白丝AV| 日韩三级性| 青青伊人加勒比海| 日韩中文字幕宗合在线| 日韩精品电影| 色偷综合| 韩国三级三级BD在线| oumeisetupian| 欧美综合色站| 91网18| 自拍欧美| AV久日| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 1024午夜激情男人的天堂| 亚洲黄日韩无码专区| 91美女在线看| 在线小视频| 亚洲 欧美 日韩另类 麻豆| 国产97综合| 欧美日韩小说| 久久午夜色播影院免费高清| 97久久国产| 看全色黄大色大片免费视频| 国产内射爽爽大片| 亚洲欧洲综合成人av一区| 国产传媒操逼视频| 性爱av网站| 免费视频无码| 五月丁香六月激情| 啊啊啊啊啊啊好湿好爽视频| 伦在线97| 亚洲AV在线资源| 日本 情色 1区| 国产精品96| 人妻啪| 亚洲AV无线| 色欲久久综合| 亚洲AV资源| 曰韩少妇无码| 精品综合久久久久久97| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 亚洲欧美在线观看无码| 另类小色呦| 中文字幕老熟妇黄色视频| 日本久操视频| 欧美 亚洲 综合 制服 另类| 超碰色图| 视频黄色国产一级| 97精彩视频网站| 自拍亚洲综合| 国产一级内射高清视频 | 91日本在线观看| 亚洲不卡不卡中文字幕不卡| 热久久无毒不卡| 超碰在线人人射| 日韩丝袜二区| 97色欧州| 亚洲熟女诱惑| 极品销魂美女一区二区| 久久久精品国产亚洲AV无码| 亚洲高清视频在线观看| aV中文麻| 国内毛片婷婷六月色| 六六久久日韩不卡| 爱丝福利| 中文字幕奈奈美被公侵犯| 伊人网av| 日韩av电影网站| 国产一区二区免费福利片| 97天堂| 中文字幕艹艹| 久久一区二区蜜桃| 操逼操操操91| 亚洲天堂日本| 懂色av色欲av蜜臀av| 嗯嗯嗯啊啊啊在线免费观看| 天天综合网~91| 插日本熟女视频| 国产人妻一区二区三区欧美毛片| 操逼操操操91| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 91欧美巨乳| 日韩激情无码影院| 色综合91| 日本精品五区| 欧美 亚洲 综合 制服| 久久精品操| 在线精品福利免费播放| 亚洲综合骚逼| 少妇干B| 激情综合网一盗摄| 高潮的A片激情扒开一区| 久/久精品99看9| 国产AV线| 婷婷丁香成人| 久久久青青草| 欧州色图区| 欧美色就是色| 欧美在线伊人色| 日本羞羞的视频在线播放| 999日韩中文精品观看视频。| 欧美日韩狠狠爱| 国产一区二区三区视频在线看| 清清草影| 综合欧美日韩在线观看| 伊人嫩草| 亚洲婷婷五月天| 九九九九九精品| 狠狠躁AV| 蜜乳AV一区| 久久久三区二区一区| 天天操夜夜操狠很操| 色91综合网| 国产精品网址| 无卡一区=区| 免费在线观看国内色片网站网址| 亚洲色婷婷综合久久一区二区三区| 亚洲国产无码精品首页久久久| 有码专区最新中文字幕有码| 屌色在线97视频| 永久免费观看的毛片的网站| 亚洲图片 激情小说| 性爱乱伦一区| 香蕉人欧美综合| 综合久欧洲| 亚洲成人性爱在线观看| 欧美性色网| 亚州色图欧美| AV电影在线播放| 最新亚洲黄色免费电影| 午夜毛片高清免费不卡| 欧美激情久操网| 男人的天堂日本东京热| 色婷婷综合网站| 不卡av在线中文字幕| 9997se| 久久久久久久久久久久久久久性生活视频| 91久久九九精品国产综合| 一区二区视频你懂的| 伊人五月天| 免费精品无码一级毛片牛牛影视| 欧美熟女丝袜| 九九天堂| 亚洲免费人妻在| 国产精品日韩在线一区| 黑丝制服中文字幕| 五月婷婷激情网| 熟女91网| 欧美影院一区二区三区| 嗯嗯啊啊日韩精品| www鬼畜国产男人的天堂| 性爱免费视频成人| 亚洲牲交| 一级免费精品| 青青草日本中文字幕| 亚洲AV永久无码一区仙野| 成人午夜高潮av猛片| 性性欧美| 日韩一级成人毛片免费观看 | 粉嫩av一区二区三区天美传媒 | 国产探花日韩援交| 成人国产二区三区在线,男女精品。| 日韩国产十八禁| 极品尤物在线观看| 一级性爱啪啪视频| 中文字幕精品探花视频| 天天日天天操天天射河南省| 亚洲丝袜诱惑| 91高跟美女在线播放| 97碰碰色| 亚洲啪啪视频免费| 女人综合网| 久久这里只精品| 东京男人天堂| 亚洲情色综合网| 亚洲天堂人人妻| 69视频福利导航| 久久久久久久九九九九九九| 人人扣人人操| 亚洲宅男天堂| 大香蕉人妻| 激情小说成人日本无码一| 国产一区二区三区免费视频在性观看 | 欧美成人一级麻豆| 97欧美超碰| 性色A∨91| 日韩精品-原创伙伴| 91白嫩| 色亚洲欧美| 天天综合网在线观看| 96超碰网| 夜夜欧美| 美女91网站| av三级电影在线播放| 婷婷九月国产| 国产传媒一区日韩| 久久久中文版| 日夜久久久九九九久| 亚洲无限观看| 亚洲色棕合| 日韩在线电影| 无遮挡又黄又刺激的视频| 欧美激情一区| 日本高清免费一本视频在线观看| 亚洲无无码αⅴ每日更新| 天天色黄色影院天天操| 96久久精品一二三区色欲| 亚洲精品日韩国产欧美| 丁香九月婷婷| 在线人妻熟女一区二区三区四区五区| 亚洲情色五月天 | 日本精品999| 思思热在线视频免费| 国产女s强制榨精视频| 免费观看国产小粉嫩喷水精品午| 男人天堂网站| 欧美人与性动交a美精品| 免费的很黄很污的全部视频| 日韩人妻中文视频| 91九色精品熟女内射| 在线观看一卡二卡| 天天摸天天插天天日| 久久久激情| www超碰| 九久久九精品视频| 亚洲揄拍网| 久久久精品九| 综合av社区| 强奸乱亚洲| 自拍盗摄一区| 欧美日韩中国x| 国产400孕妇孕交群| 欧美日韩午夜精品一区二区三区| 亚洲第一精品在线视频| 婷婷丁香五月综合| 中文一区在线日| 国产精品熟女一区二区三区| 一级二级三级黑人无码| 丁香五月婷婷色| 天天综和| 国产精品成人午夜福利| 亚洲成人日韩小说| 人妻夜夜爽天天爽麻豆三区网站| 久久99深爱久久99精品| 九九九久久久| 黄色一级视| 91网18| 久久岛国| 日韩欧美一级特黄大片| 黄网站黄视频网站进入口| 97欧美日韩精品| 一类av片在线看| 欧洲天天在线| 国产精品亚洲无码| 天天干天天爽| 欧美黑人168页欧美黑人167| 三级日本一区二区三区| 人人喜人人妻| 熟女少妇一区二区三区| 中文精品一区二去| 天天弄欧美| 亚洲欧美黄| 国产又色又爽又舒服的三级视频| 91欧美偷拍| 狠狠操使劲操| 91亚·色| 97色在线视频| 久久五月婷| 日韩欧视频| 97国产成人精品免费视频| av优播| 亚洲天堂另类| 无遮挡h肉动漫在线观看| 综合久久99亚洲人妻中文在线| 欧美中出| 人妻天堂综合网| 欧美日韩资源| 极品五月天噜噜| 国产97在线视频| 最新加勒比丝袜在线| 亚洲成人ab| 欧美一级色| 国产美女91| 国产毛片在线| 色天堂在线观看| 综合欧美激情网| 日本久久久精品电影| 亚洲国产精品无码AV在线| 亚洲国产精品久久久男人的天堂| 久久久中文| 色在线综合| 亚洲天天艹| 91肉片| 天天α片| 芊芊操逼视频无码| 超碰97欧美日韩| 操逼逼福利视频| 亚洲精品97久久中文字幕| 成人三级片无码| 黄页网站成人免费| 国产成人+综合亚洲+天堂| 人妻精品一区二区| 麻豆久久久久久久久丝袜| 最新亚洲人成网站在线影院| 啊啊啊好湿国产一二| 国产成人欧美精品在线| 午夜天天碰综合视频| 日本人妻丰满熟妇久久久久久| 欧美激情中文字幕另类小说| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 少妇啪啪自拍| 天躁夜夜躁2021| 婷婷五月天丁香花| 男人的天堂 在线一区| 抽插爽| 欧美日韩中文亚洲v在线综合| 夜色91| 久久鲁夜| 成人午夜无码视频| 超碰在线人人射| 伊人伊人LD| 日韩999| 丰满美女一级毛片在线播放| 色娱乐色呦呦夜夜夜夜av| 激情五月婷婷| 亚洲男人综合| 国产精品久久久亚洲第一牛牛_在线观看 | 久久综合乱子伦国产免费| 日韩高清黄片| 91亚洲黄色网| 欧洲亚洲人妻无码中字久久三区四区| 亚欧Av| 久久超碰日韩精品| 大香蕉日亚洲日本亚大| AV天天综合| 99久久精品无码一区二区| 久久9精品网站| 国产女上位好爽在线| 日韩一级成人毛片免费观看| 美女诱惑一区| 久久精品日韩专区免费观看| 啊啊啊啊视频免费| 日韩黄色电影网站| 中文字幕在线免费观看 | 天色综合网| 色婷亚洲五月在线观看| 色色97爱| 精品人妻一区春色| 久久侵犯人妻爽爽爽| 欧美人妻精品一区二区| 午夜性刺激视频免费观看| 秋霞一区二区三区四区五区六区七区| 午夜精品五区| 国模私拍一区二区三区神乳| 东京太热男人的天堂久久久| 老女人碰碰在线碰碰视频| 啪啪91| 色情成人五月天| 亚洲色 国产 欧美 日韩| 伊人九九九| 99精品无码| 98福利在线视频| 亚欧中文字幕在线视频| 国产久久一区二区午夜| 国产精品久久久久av| 国产精品无码av嫩草| 韩国一级做a久久久久| 久草资源在线| 欧美小说区视频区| 超碰吊日色| 久久曰曰| 91色碰| 手机不卡视频不卡在线一二三区| 啪一啪免费视频| 天天操天天干一区二区| 欧美十八禁视频| 插入逼91| 亚洲日韩资源| 91麻豆天美国产欧美高潮| 粉嫩av在线| 在线洲亚线| 亚洲欧美校园| 97综合久第一页| 欧美天堂亚洲电影院一区在线播放| 色五月69夫妻| 久久久工口| 欧美日日网| 九九九九日本| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 香蕉人人操tv| 国产成人免费观看在线视频| 操逼1区| 日韩特一级久久| 十八禁电影伊人网| 伊人久大| 91久久国产精品| 校园春色AV天堂| 中文字幕三四五区| 91麻豆天美| 一个人免费视频观看在线WWW| 久久久久久久9最新免费视频观看| 色九九九综合| 91n免费处女| 91插B网站| 躁躁躁日日躁2020| 亲子敌伦对白在线播放| 18禁止看精品中文字幕| 国产精品网址| 国产精品无码论坛| 五月婷婷hd| 婷婷去俺也去六月色| 1204av韩国| 新视频sss国产| 男人的天堂三级| 中字幕人妻一区二区三区| 日韩偷拍色图| 天天日天天看| 欧美精品自慰系列寂寞少妇| 97爱b| 日韩一级久久毛片| 亚洲中文制服诱惑| 色网在线| 综合久久久久久久综合网| 久艹伊人精品综合在线| 97干在线视频| 五月天婷婷久久| com 首页 18岁 禁区 女优 免费 精选 同城| 特级特黄一级毛片免费| 精品精品精品| 先锋女优在线观看视频| 97色色视频| 亚洲干B| 操操碰| 后入式999| 亚洲黄网在哪免费看| 99re99视频在线免费观看| 日韩有码 一区二区三区| 大香蕉在线视频15| 欧美91精品国产自产| 日韩欧美麻豆大片| 免费观看成人www精品视频| 黄片www.| 久草电影网| 亚洲成人贴图| 国产三级在线现体验区| 五月丁香激情综合网| 久久精品视| 草莓精品视频在线免费观看| 色99视频| 欧美日韩亚洲少妇寂寞影院正在播放 | 欧美日韩黄色片一区二区三区四区人与兽做爱 | 熟女欧美日韩综合婷婷| 久久久久久人体| 精品视频免费在线一区| 久久久九97| 磁力99AV| 蜜臀久久99精品久久久久| 97欧美性爱| 密臀AV在线| 人妻少妇久久| WWW啪啪的com| 久久25| 高清视频一区| 一起草精品人妻| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 操B视频日韩无码| 日本三级久| 中文久久久| 熟女人妻久久中文字幕一二区| 9997se| 美女尤物人人操| 青青草五月天| 国产久久成人| 亚洲精品骚逼| 韩国免费播放一级毛片| 久久国产99精品72福利| 丰满人妻区一区二区三| 五月天激情小说网| 中文字幕在线免费观看| 久久99视频| 亚洲玖玖爱| 亚洲无码99| 亚洲少妇视频| 亚州精品一区二区三区香中文字幕在线| 九一国产精品| 天天肏夜夜肏| 国产精品久久久久久久久久久久久久| 3p国产欧美99热| 噜噜噜亚洲精| 亚洲综合成人网| 久草综合网| 国产久久一区二区午夜| 91天天综合日韩欧美| 麻豆天美国美国产| 青娱乐黄色录像| 中文字幕一区二区韩| 神马久久啊啊| 约操熟妇| 久9爱精品| 亚洲成人碰碰| 国产午夜福利电影免费在线观看| 亭亭丁香激情| WWW操逼| 久艹99| 91chinese在线| 偷拍 欧美 日韩| 啊操爽品善一区二区三区| 尤物黄色在线观看网站| ...日韩成人一区二区三区字幕| 亚洲双插| 亚洲一区深夜| 亚洲91在线播放影院| 97超级色碰碰| 激情久久久| 亚洲一区日韩精品| 亚洲日本天堂| 黄片www.| 日韩一二三区| 日本欧美色| 欧美综合自拍成人自拍第二十页| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 亚洲AV麻豆Aⅴ无码电影一| 天天日天天操VV| 99综合| 福利操逼| 九九热re99re6在线精品| 97日视频| 天天综合色| 欧美探花网| 麻豆一区二区AV天美| 另类小说五月天| 国产毛片在线| 97在线看| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 人人爱操| AV一区观看| 97国产中文| 久久这里| 97人肏| 色色色99| 74成人在线| 91亚洲综合在线| 国桃视频产巨乳精品一区二区在线| 老司机深夜18禁污污网站| 欧美在线第五页| 超碰这里只有精品| 青青草中文-久久青草精品一区二区三| 国产精品久久久吖| 亚洲同性aV综合| 精品国产乱码久久久兰草影视| 九九亚洲| 丝袜美腿制服人妻二区中文字幕 | 九九玖玖精品| 免费观看网黄| 99色婷婷中文字幕乱色| 精品精品精品| 任你艹| 国产精品自拍欧美在线| 久久天天艹| 嗯嗯啊啊操我| 全国男人天堂网| 亚洲一区制服诱惑| 粉嫩久久久久| 在线观看一卡二卡| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 在线播放欧洲免费av| 欧洲在线性爱视频| 日韩精品啪啪啪| 一区二区三区在线日韩影院观看| 天堂在线一区二区| 天天看天天综合成人网| 在线视频日韩欧美国产| 国产亚洲禁久一区二区 | 青青国产精品在线| 日欧操屄视频| 欧美系列在线一区二区| 一区二区三区免费岛国片| 国产中文字幕在线点播| 波多野结衣AV无码一区| 校园春色 欧美| 美女黄页网站| 狼人狠干| 色欲av国内精品久久久久久| 久超碰这里只有精品| 日日摸日日弄日日拍| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 中文字幕av久久爽Av| 一本一道人妻久久一区二区三区 | 嗯嗯嗯啊啊啊操的我好爽| 麻豆久久久久久久久丝袜| 91精品丝袜久久久久久| 九月色婷婷| 六月婷婷五月丁香| 韩国黄色片精品久久久| 99re国产中文字幕| 超碰人人妻|