国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

操作系統(tǒng)課設(shè)代碼包實(shí)戰(zhàn)指南:從進(jìn)程調(diào)度到文件系統(tǒng)的完整拆解

操作系統(tǒng)課設(shè)代碼包實(shí)戰(zhàn)指南:從進(jìn)程調(diào)度到文件系統(tǒng)的完整拆解 簡介這份資源是華中科技大學(xué)操作系統(tǒng)實(shí)驗(yàn)與課設(shè)的完整代碼合集面向計(jì)算機(jī)專業(yè)學(xué)生及希望深入理解操作系統(tǒng)原理的自學(xué)者覆蓋進(jìn)程管理、內(nèi)存管理、文件系統(tǒng)、設(shè)備管理、死鎖避免、線程調(diào)度、網(wǎng)絡(luò)編程與系統(tǒng)調(diào)用等核心模塊適合課程實(shí)驗(yàn)、課設(shè)參考與考研復(fù)習(xí)等場景。壓縮包共249個(gè)文件約41.66MB以class與jar編譯產(chǎn)物、xml配置、c與java源碼為主另含makefile構(gòu)建腳本、nc與ihex等硬件相關(guān)文件、out與exe可運(yùn)行結(jié)果及少量圖片和文檔便于對照源碼與運(yùn)行效果。目前已有169人學(xué)習(xí)下載。通過調(diào)度器、文件系統(tǒng)、設(shè)備驅(qū)動(dòng)等具體實(shí)驗(yàn)任務(wù)讀者可獲取可編譯運(yùn)行的參考實(shí)現(xiàn)、構(gòu)建腳本與排錯(cuò)思路并借助清晰的目錄結(jié)構(gòu)快速定位各知識(shí)點(diǎn)代碼為系統(tǒng)方向開發(fā)打下實(shí)踐基礎(chǔ)。1. 操作系統(tǒng)課設(shè)代碼包到底能給你省下多少時(shí)間如果你正在準(zhǔn)備操作系統(tǒng)課程設(shè)計(jì)大概率經(jīng)歷過這樣的場景對著課本上進(jìn)程調(diào)度、內(nèi)存管理、文件系統(tǒng)的理論描述腦子里能理解個(gè)大概但一旦要?jiǎng)邮謱懘a就不知道從哪下手。調(diào)度算法到底怎么組織數(shù)據(jù)結(jié)構(gòu)頁面置換的命中率怎么統(tǒng)計(jì)文件系統(tǒng)的目錄樹用什么結(jié)構(gòu)存這些問題課本不會(huì)給你答案但一份完整的課設(shè)代碼可以。華中科技大學(xué)操作系統(tǒng)實(shí)驗(yàn)與課設(shè)的代碼包在課程設(shè)計(jì)圈子里流傳很廣原因很直接它的實(shí)驗(yàn)覆蓋了操作系統(tǒng)課程的核心模塊從進(jìn)程管理、線程調(diào)度、內(nèi)存分配、頁面置換到文件系統(tǒng)實(shí)現(xiàn)每個(gè)實(shí)驗(yàn)都有可運(yùn)行的代碼和對應(yīng)的實(shí)驗(yàn)報(bào)告。對于正在做課設(shè)的人來說這份代碼的價(jià)值不在于照抄而在于它提供了一個(gè)可運(yùn)行的參照系——你能看到每個(gè)模塊的完整實(shí)現(xiàn)路徑知道調(diào)度隊(duì)列怎么建、信號量怎么封裝、磁盤塊怎么映射。這篇文章會(huì)從代碼結(jié)構(gòu)拆解開始逐步講清楚每個(gè)實(shí)驗(yàn)?zāi)K的實(shí)現(xiàn)思路、關(guān)鍵參數(shù)怎么調(diào)、編譯運(yùn)行時(shí)會(huì)遇到哪些坑以及怎么在它的基礎(chǔ)上改出自己的版本。2. 先看清代碼包的目錄結(jié)構(gòu)和實(shí)驗(yàn)?zāi)K劃分2.1 拿到壓縮包后的第一件事目錄樹和構(gòu)建入口很多人拿到代碼包之后直接找 main 函數(shù)開始讀這是效率最低的做法。操作系統(tǒng)課設(shè)的代碼通常按實(shí)驗(yàn)編號分目錄每個(gè)目錄是一個(gè)獨(dú)立的小型系統(tǒng)或模擬器。正確的第一步是先把目錄樹打印出來看清楚模塊邊界和構(gòu)建方式。# 解壓后先看頂層結(jié)構(gòu)不要急著進(jìn)子目錄 unzip operating-system-codes.zip -d os-course cd os-course # 打印兩層目錄樹快速定位每個(gè)實(shí)驗(yàn)的入口 find . -maxdepth 2 -type d | sort # 找所有 Makefile 和 CMakeLists確認(rèn)構(gòu)建方式 find . -name Makefile -o -name CMakeLists.txt | sort這段命令的邏輯很直接find -maxdepth 2限制遞歸深度避免目錄太多刷屏第二步找構(gòu)建文件是為了確認(rèn)每個(gè)實(shí)驗(yàn)是獨(dú)立編譯還是統(tǒng)一構(gòu)建。常見的組織方式是每個(gè)實(shí)驗(yàn)一個(gè)子目錄各自帶 Makefile互不依賴。如果發(fā)現(xiàn)只有一個(gè)頂層 Makefile說明所有實(shí)驗(yàn)共用一套構(gòu)建規(guī)則這時(shí)候要重點(diǎn)看 Makefile 里的SRCS和TARGET變量確認(rèn)每個(gè)實(shí)驗(yàn)的源文件列表。參數(shù)方面-maxdepth 2可以根據(jù)實(shí)際情況調(diào)整。如果目錄層級特別深改成 3 層如果頂層就很清晰保持 2 層足夠。關(guān)鍵是要在動(dòng)手改代碼之前先建立一張模塊地圖。2.2 各實(shí)驗(yàn)?zāi)K的功能邊界和依賴關(guān)系典型的操作系統(tǒng)課設(shè)代碼包會(huì)包含以下幾類實(shí)驗(yàn)每類的功能邊界和依賴關(guān)系不同實(shí)驗(yàn)?zāi)K核心功能依賴典型源文件數(shù)進(jìn)程調(diào)度模擬 PCB 管理、調(diào)度算法無3-5內(nèi)存管理分區(qū)分配、頁面置換無4-6文件系統(tǒng)目錄樹、文件讀寫、磁盤塊管理內(nèi)存管理6-10同步互斥信號量、生產(chǎn)者消費(fèi)者進(jìn)程調(diào)度2-4設(shè)備管理磁盤調(diào)度、緩沖池?zé)o3-5這張表的作用是幫你判斷閱讀順序。進(jìn)程調(diào)度和內(nèi)存管理通常是最獨(dú)立的模塊適合先讀文件系統(tǒng)往往依賴內(nèi)存管理的抽象如果先讀文件系統(tǒng)會(huì)卡在底層數(shù)據(jù)結(jié)構(gòu)上。同步互斥實(shí)驗(yàn)如果用了自己實(shí)現(xiàn)的線程庫需要先理解進(jìn)程調(diào)度的 PCB 結(jié)構(gòu)。我一般會(huì)建議按「進(jìn)程調(diào)度 → 同步互斥 → 內(nèi)存管理 → 文件系統(tǒng) → 設(shè)備管理」的順序讀。前兩個(gè)模塊建立對 PCB、狀態(tài)轉(zhuǎn)換、等待隊(duì)列的直覺后三個(gè)模塊建立對地址空間、頁表、磁盤塊映射的直覺。每個(gè)模塊讀完之后先編譯運(yùn)行一遍看輸出是否符合預(yù)期再進(jìn)入下一個(gè)。2.3 編譯環(huán)境和工具鏈的版本確認(rèn)操作系統(tǒng)課設(shè)代碼最常見的翻車點(diǎn)不是邏輯錯(cuò)誤而是編譯環(huán)境不匹配。很多代碼包是在特定版本的 GCC 和 Linux 內(nèi)核下寫的換一個(gè)環(huán)境就可能報(bào)錯(cuò)。# 確認(rèn)編譯器版本很多老代碼在 GCC 10 上會(huì)有警告變錯(cuò)誤的問題 gcc --version # 確認(rèn)系統(tǒng)架構(gòu)32 位和 64 位代碼在指針長度上不兼容 uname -m # 嘗試編譯第一個(gè)實(shí)驗(yàn)先不加任何修改 cd experiment-01-scheduler make 21 | tee build.log編譯日志一定要用tee保存下來因?yàn)椴僮飨到y(tǒng)課設(shè)的代碼經(jīng)常有大量警告刷屏之后你找不到第一個(gè)錯(cuò)誤在哪。如果編譯失敗先看build.log里第一個(gè)error而不是最后一個(gè)后面的錯(cuò)誤往往是第一個(gè)錯(cuò)誤引發(fā)的連鎖反應(yīng)。常見做法是在 Makefile 里加-w關(guān)掉警告但我建議不要這么做。操作系統(tǒng)代碼里的警告經(jīng)常指向真實(shí)問題比如指針截?cái)?、未初始化變量、隱式類型轉(zhuǎn)換。先讓編譯通過再逐個(gè)看警告比直接關(guān)掉警告要安全。3. 進(jìn)程調(diào)度與同步互斥實(shí)驗(yàn)的代碼拆解3.1 PCB 數(shù)據(jù)結(jié)構(gòu)和調(diào)度隊(duì)列的組織方式進(jìn)程調(diào)度實(shí)驗(yàn)的核心是 PCB進(jìn)程控制塊的設(shè)計(jì)。代碼包里通常會(huì)用結(jié)構(gòu)體或類來表示 PCB關(guān)鍵字段包括進(jìn)程 ID、狀態(tài)、優(yōu)先級、時(shí)間片、等待時(shí)間、周轉(zhuǎn)時(shí)間等。// 典型的 PCB 結(jié)構(gòu)定義字段命名可能不同但核心信息一致 typedef struct PCB { int pid; // 進(jìn)程標(biāo)識(shí)符 int state; // 狀態(tài)就緒/運(yùn)行/阻塞/完成 int priority; // 優(yōu)先級數(shù)值越小優(yōu)先級越高或反之 int burst_time; // 需要占用的 CPU 時(shí)間 int remaining_time; // 剩余執(zhí)行時(shí)間用于時(shí)間片輪轉(zhuǎn) int wait_time; // 累計(jì)等待時(shí)間 int turnaround_time; // 周轉(zhuǎn)時(shí)間 完成時(shí)間 - 到達(dá)時(shí)間 struct PCB *next; // 隊(duì)列指針 } PCB; // 就緒隊(duì)列通常用鏈表或數(shù)組實(shí)現(xiàn) typedef struct { PCB *head; PCB *tail; int count; } ReadyQueue;這段代碼的關(guān)鍵在于state字段和next指針的配合。調(diào)度算法的本質(zhì)就是操作這兩個(gè)字段把 PCB 從就緒隊(duì)列摘下、改狀態(tài)為運(yùn)行、時(shí)間片用完再掛回就緒隊(duì)列。如果你要改調(diào)度算法改的就是「從就緒隊(duì)列選哪個(gè) PCB」和「運(yùn)行多久后觸發(fā)重新調(diào)度」這兩個(gè)邏輯。參數(shù)方面priority的語義要特別注意。有的代碼里數(shù)值越小優(yōu)先級越高有的反過來。讀代碼時(shí)先找到調(diào)度函數(shù)里的比較邏輯確認(rèn)方向否則你改優(yōu)先級的時(shí)候會(huì)得到完全相反的結(jié)果。burst_time和remaining_time的關(guān)系也要看清楚如果調(diào)度算法不支持搶占remaining_time可能不會(huì)被更新如果支持時(shí)間片輪轉(zhuǎn)每次調(diào)度后必須扣減。3.2 時(shí)間片輪轉(zhuǎn)和優(yōu)先級調(diào)度的實(shí)現(xiàn)差異時(shí)間片輪轉(zhuǎn)和優(yōu)先級調(diào)度在代碼結(jié)構(gòu)上的差異主要體現(xiàn)在兩個(gè)地方就緒隊(duì)列的排序方式和調(diào)度觸發(fā)條件。// 時(shí)間片輪轉(zhuǎn)就緒隊(duì)列按到達(dá)順序排列每次取隊(duì)頭 PCB* rr_schedule(ReadyQueue *q, int time_slice) { if (q-count 0) return NULL; PCB *p q-head; q-head p-next; if (q-head NULL) q-tail NULL; q-count--; // 執(zhí)行一個(gè)時(shí)間片 if (p-remaining_time time_slice) { p-remaining_time - time_slice; p-state STATE_READY; enqueue(q, p); // 沒執(zhí)行完放回隊(duì)尾 } else { p-state STATE_DONE; p-turnaround_time current_time - p-arrival_time; } return p; } // 優(yōu)先級調(diào)度就緒隊(duì)列按優(yōu)先級排序每次取優(yōu)先級最高的 PCB* priority_schedule(ReadyQueue *q) { if (q-count 0) return NULL; // 遍歷找優(yōu)先級最高的 PCB PCB *prev NULL, *best q-head, *best_prev NULL; PCB *cur q-head; while (cur ! NULL) { if (cur-priority best-priority) { best cur; best_prev prev; } prev cur; cur cur-next; } // 從隊(duì)列中摘除 best if (best_prev NULL) q-head best-next; else best_prev-next best-next; if (best q-tail) q-tail best_prev; q-count--; return best; }兩段代碼的差異很清晰時(shí)間片輪轉(zhuǎn)的隊(duì)列是 FIFO調(diào)度邏輯在出隊(duì)之后優(yōu)先級調(diào)度的隊(duì)列需要遍歷找最優(yōu)調(diào)度邏輯在出隊(duì)之前。如果你要把時(shí)間片輪轉(zhuǎn)改成優(yōu)先級調(diào)度不能只改調(diào)度函數(shù)還要改入隊(duì)邏輯——優(yōu)先級調(diào)度需要在入隊(duì)時(shí)就按優(yōu)先級插入否則每次調(diào)度都要遍歷整個(gè)隊(duì)列效率很低。參數(shù)方面time_slice的取值直接影響調(diào)度效果。取值太小會(huì)導(dǎo)致上下文切換開銷占比過高取值太大會(huì)退化成先來先服務(wù)。常見做法是取所有進(jìn)程平均 burst_time 的 1/2 到 1/3。如果你在實(shí)驗(yàn)報(bào)告里要畫調(diào)度序列圖建議把time_slice設(shè)成 1、2、4 各跑一遍對比周轉(zhuǎn)時(shí)間和等待時(shí)間的變化趨勢。3.3 信號量實(shí)現(xiàn)里的原子性保證和常見錯(cuò)誤同步互斥實(shí)驗(yàn)的核心是信號量的 P/V 操作。代碼包里通常會(huì)用簡單的整型變量加忙等待來實(shí)現(xiàn)但這里有一個(gè)容易被忽略的問題P 操作里的判斷和減一必須是原子的。// 有問題的實(shí)現(xiàn)判斷和減一之間存在競態(tài)窗口 void P_bad(Semaphore *s) { while (s-value 0) { // 忙等待 } s-value--; // 這里可能被中斷打斷 } // 改進(jìn)方案用關(guān)中斷或原子指令保護(hù)臨界區(qū) void P_good(Semaphore *s) { while (1) { disable_interrupts(); // 進(jìn)入臨界區(qū) if (s-value 0) { s-value--; enable_interrupts(); break; } enable_interrupts(); // 讓出 CPU 或忙等待 } }這段代碼的差異在于臨界區(qū)的保護(hù)。在單核模擬環(huán)境里如果 P 操作執(zhí)行到一半被時(shí)鐘中斷打斷另一個(gè)進(jìn)程可能看到value還是正數(shù)也進(jìn)入臨界區(qū)導(dǎo)致兩個(gè)進(jìn)程同時(shí)訪問共享資源。disable_interrupts和enable_interrupts是常見的保護(hù)手段但要注意關(guān)中斷的時(shí)間不能太長否則會(huì)影響系統(tǒng)響應(yīng)。參數(shù)方面信號量的初值決定了允許多少個(gè)進(jìn)程同時(shí)進(jìn)入臨界區(qū)?;コ庑盘柫砍踔禐?1同步信號量初值根據(jù)資源數(shù)量設(shè)定。如果你在實(shí)驗(yàn)里看到進(jìn)程卡死先檢查信號量初值是否合理再檢查 P/V 是否配對。常見的錯(cuò)誤是 P 操作執(zhí)行了但 V 操作沒執(zhí)行或者 V 操作執(zhí)行了兩次導(dǎo)致信號量值溢出。4. 內(nèi)存管理與文件系統(tǒng)實(shí)驗(yàn)的實(shí)現(xiàn)要點(diǎn)4.1 分區(qū)分配算法的數(shù)據(jù)結(jié)構(gòu)選擇內(nèi)存管理實(shí)驗(yàn)通常要求實(shí)現(xiàn)首次適應(yīng)、最佳適應(yīng)、最壞適應(yīng)等分區(qū)分配算法。代碼包里會(huì)用空閑分區(qū)表或空閑分區(qū)鏈來管理內(nèi)存。// 空閑分區(qū)表數(shù)組實(shí)現(xiàn)適合分區(qū)數(shù)量固定的場景 typedef struct { int start_addr; // 分區(qū)起始地址 int size; // 分區(qū)大小 int is_free; // 是否空閑 } Partition; Partition memory[MAX_PARTITIONS]; int partition_count 0; // 首次適應(yīng)從頭遍歷找到第一個(gè)滿足大小的空閑分區(qū) int first_fit(int request_size) { for (int i 0; i partition_count; i) { if (memory[i].is_free memory[i].size request_size) { return i; // 返回分區(qū)索引 } } return -1; // 分配失敗 } // 最佳適應(yīng)遍歷所有空閑分區(qū)找滿足大小的最小分區(qū) int best_fit(int request_size) { int best_idx -1; int best_size INT_MAX; for (int i 0; i partition_count; i) { if (memory[i].is_free memory[i].size request_size) { if (memory[i].size best_size) { best_size memory[i].size; best_idx i; } } } return best_idx; }首次適應(yīng)和最佳適應(yīng)的代碼差異很小但性能差異很大。首次適應(yīng)分配快但容易產(chǎn)生外部碎片最佳適應(yīng)碎片少但每次分配都要遍歷整個(gè)表。如果你在實(shí)驗(yàn)里要對比算法效果建議用同一組請求序列跑不同算法統(tǒng)計(jì)分配失敗次數(shù)和碎片大小。參數(shù)方面MAX_PARTITIONS決定了系統(tǒng)能管理的最大分區(qū)數(shù)。如果設(shè)得太小頻繁分配釋放后分區(qū)表會(huì)滿設(shè)得太大遍歷開銷增加。常見做法是設(shè)成 100 到 200。另外要注意分區(qū)的合并邏輯釋放一個(gè)分區(qū)后如果它和前后的空閑分區(qū)相鄰必須合并否則碎片會(huì)越來越多。4.2 頁面置換算法的命中率統(tǒng)計(jì)和對比方法頁面置換實(shí)驗(yàn)的核心是統(tǒng)計(jì)不同算法的命中率。代碼包里通常會(huì)模擬一個(gè)固定大小的物理內(nèi)存和一組頁面訪問序列然后分別用 FIFO、LRU、OPT 等算法跑一遍。# 頁面置換模擬的通用框架 def simulate(pages, frame_count, algorithm): frames [] hits 0 for page in pages: if page in frames: hits 1 if algorithm LRU: frames.remove(page) frames.append(page) # LRU命中后移到末尾 else: if len(frames) frame_count: frames.append(page) else: if algorithm FIFO: frames.pop(0) # 淘汰最早進(jìn)入的 elif algorithm LRU: frames.pop(0) # 淘汰最久未使用的 elif algorithm OPT: # 淘汰未來最長時(shí)間不被訪問的 farthest 0 victim 0 for i, f in enumerate(frames): try: next_use pages[pages.index(page)1:].index(f) except ValueError: next_use float(inf) if next_use farthest: farthest next_use victim i frames.pop(victim) frames.append(page) return hits / len(pages)這段代碼的關(guān)鍵在于frames列表的維護(hù)方式。FIFO 和 LRU 在代碼上看起來很像都是pop(0)但語義完全不同F(xiàn)IFO 淘汰的是最早進(jìn)入的頁面LRU 淘汰的是最久未被訪問的頁面。LRU 在命中時(shí)需要把頁面移到列表末尾FIFO 不需要。如果你把這兩個(gè)算法搞混命中率統(tǒng)計(jì)會(huì)完全錯(cuò)誤。參數(shù)方面frame_count決定了物理內(nèi)存大小。通常實(shí)驗(yàn)會(huì)要求跑 3、4、5 個(gè)頁框各一遍觀察命中率隨頁框數(shù)增加的變化。pages序列的長度建議至少 1000 次訪問太短的序列統(tǒng)計(jì)波動(dòng)太大。如果你要對比 OPT 和 LRU 的差距OPT 的命中率是理論上限LRU 通常比它低 10% 到 20%如果差距超過 30%檢查你的 LRU 實(shí)現(xiàn)是否正確。4.3 文件系統(tǒng)目錄樹和磁盤塊映射的實(shí)現(xiàn)文件系統(tǒng)實(shí)驗(yàn)通常是難度最高的部分因?yàn)樗枰瑫r(shí)管理目錄樹、文件控制塊、磁盤塊分配和空閑塊管理。// 目錄項(xiàng)結(jié)構(gòu)文件名 inode 編號 typedef struct { char name[MAX_FILENAME]; int inode_id; } DirEntry; // inode 結(jié)構(gòu)文件元信息 數(shù)據(jù)塊指針 typedef struct { int id; int size; int type; // 文件或目錄 int block_ptrs[MAX_BLOCKS]; // 直接塊指針 int indirect_ptr; // 間接塊指針 } Inode; // 創(chuàng)建文件分配 inode在父目錄中添加目錄項(xiàng) int create_file(int parent_dir_inode, const char *name) { int new_inode alloc_inode(); if (new_inode 0) return -1; // 在父目錄的數(shù)據(jù)塊中寫入目錄項(xiàng) DirEntry entry; strncpy(entry.name, name, MAX_FILENAME); entry.inode_id new_inode; add_dir_entry(parent_dir_inode, entry); return new_inode; }這段代碼的核心是 inode 和目錄項(xiàng)的分離。inode 存文件的元信息和數(shù)據(jù)塊指針目錄項(xiàng)只存文件名和 inode 編號。這種設(shè)計(jì)的好處是目錄項(xiàng)大小固定方便在磁盤塊中順序存儲(chǔ)缺點(diǎn)是查找文件需要先讀目錄項(xiàng)再讀 inode多一次磁盤訪問。參數(shù)方面MAX_BLOCKS決定了單個(gè)文件的最大直接塊數(shù)量。如果文件很大需要用到間接塊。間接塊的實(shí)現(xiàn)是文件系統(tǒng)實(shí)驗(yàn)里最容易出錯(cuò)的地方一級間接塊存的是數(shù)據(jù)塊指針二級間接塊存的是間接塊指針。如果你在實(shí)驗(yàn)里遇到大文件讀寫失敗先檢查間接塊的分配和釋放邏輯。5. 避坑與排查課設(shè)代碼跑不起來時(shí)先看這幾條5.1 編譯報(bào)錯(cuò)頭文件缺失和類型沖突現(xiàn)象make時(shí)報(bào)fatal error: xxx.h: No such file or directory或者error: conflicting types for xxx。原因代碼包可能依賴特定版本的庫或頭文件或者在不同源文件里對同一個(gè)函數(shù)/變量的聲明不一致。操作系統(tǒng)課設(shè)代碼經(jīng)常有多個(gè)源文件共享全局變量如果頭文件里聲明了extern int current_time;但某個(gè)源文件里定義成了static int current_time;就會(huì)報(bào)類型沖突。解決先看報(bào)錯(cuò)的頭文件名確認(rèn)系統(tǒng)里是否安裝了對應(yīng)的開發(fā)包。如果是類型沖突用grep -rn xxx .找到所有聲明和定義的位置統(tǒng)一類型。常見做法是把所有全局變量聲明集中到一個(gè)公共頭文件里其他源文件只包含這個(gè)頭文件。5.2 運(yùn)行時(shí)崩潰段錯(cuò)誤和死循環(huán)現(xiàn)象程序編譯通過但運(yùn)行時(shí)報(bào)Segmentation fault或者卡住不動(dòng)。原因段錯(cuò)誤通常是空指針解引用或數(shù)組越界。操作系統(tǒng)課設(shè)代碼里常見的空指針場景包括從空隊(duì)列取 PCB、訪問未初始化的頁表項(xiàng)、目錄項(xiàng)指針為 NULL 時(shí)直接解引用。死循環(huán)常見于信號量的忙等待邏輯如果 P 操作的條件永遠(yuǎn)不滿足進(jìn)程會(huì)一直循環(huán)。解決用gdb跑一遍崩潰時(shí)看bt輸出定位到具體行。如果是死循環(huán)用CtrlC中斷后看where輸出。常見做法是在隊(duì)列操作和信號量操作里加斷言比如assert(q-count 0)讓問題盡早暴露。5.3 結(jié)果不對調(diào)度序列和預(yù)期不一致現(xiàn)象程序能跑但輸出的調(diào)度序列、命中率、分配結(jié)果和預(yù)期不符。原因最常見的是參數(shù)方向搞反了。比如優(yōu)先級調(diào)度里代碼認(rèn)為數(shù)值越大優(yōu)先級越高但你按數(shù)值越小優(yōu)先級越高來構(gòu)造測試數(shù)據(jù)。另一個(gè)常見原因是時(shí)間統(tǒng)計(jì)的基準(zhǔn)點(diǎn)不對比如周轉(zhuǎn)時(shí)間應(yīng)該用完成時(shí)間減到達(dá)時(shí)間但代碼里用了當(dāng)前時(shí)間減到達(dá)時(shí)間。解決先打印中間狀態(tài)比如每次調(diào)度前后的就緒隊(duì)列內(nèi)容、每次頁面訪問后的頁框內(nèi)容。對比手工模擬的結(jié)果找到第一個(gè)不一致的位置。常見做法是在關(guān)鍵函數(shù)入口加printf輸出輸入?yún)?shù)和返回值跑一個(gè)小規(guī)模測試用例逐步縮小范圍。5.4 性能異常算法耗時(shí)遠(yuǎn)超預(yù)期現(xiàn)象小規(guī)模測試正常但數(shù)據(jù)量一大就慢得離譜。原因通常是數(shù)據(jù)結(jié)構(gòu)選擇不當(dāng)。比如優(yōu)先級調(diào)度用鏈表每次遍歷找最優(yōu)頁面置換用數(shù)組每次線性查找文件系統(tǒng)用線性掃描找空閑塊。這些操作在小規(guī)模下看不出來規(guī)模一大就變成瓶頸。解決把線性查找改成有序插入或哈希表。比如優(yōu)先級調(diào)度可以在入隊(duì)時(shí)按優(yōu)先級插入出隊(duì)時(shí)直接取隊(duì)頭空閑塊管理可以用位圖或空閑鏈表。常見做法是先保證正確性再用time命令或clock()函數(shù)測量耗時(shí)確認(rèn)瓶頸在哪個(gè)函數(shù)再針對性優(yōu)化。5.5 環(huán)境差異換一臺(tái)機(jī)器就編譯失敗現(xiàn)象在自己的機(jī)器上能跑換到實(shí)驗(yàn)室機(jī)器或同學(xué)機(jī)器上就報(bào)錯(cuò)。原因編譯器版本、系統(tǒng)架構(gòu)、庫版本不一致。比如代碼里用了gets這種在新版本 GCC 里被移除的函數(shù)或者用了 32 位特有的指針轉(zhuǎn)換。解決在 Makefile 里顯式指定-stdc99或-stdc11避免編譯器默認(rèn)標(biāo)準(zhǔn)不一致。指針轉(zhuǎn)換用intptr_t而不是int。常見做法是在項(xiàng)目根目錄放一個(gè)README寫清楚編譯命令和依賴版本換機(jī)器時(shí)先按 README 跑一遍。6. 怎么在課設(shè)代碼基礎(chǔ)上改出自己的版本6.1 從「能跑」到「能改」先加日志再動(dòng)邏輯很多人拿到代碼包后直接改核心邏輯結(jié)果改完之后跑不起來也說不清楚哪里出了問題。我的習(xí)慣是先在關(guān)鍵路徑上加日志確認(rèn)自己完全理解了代碼的執(zhí)行流程再動(dòng)手改。// 在調(diào)度函數(shù)入口加日志輸出當(dāng)前狀態(tài) PCB* schedule(ReadyQueue *q) { printf([DEBUG] before schedule: queue_count%d, current_time%d\n, q-count, current_time); PCB *p pick_next(q); printf([DEBUG] picked pid%d, remaining%d, priority%d\n, p-pid, p-remaining_time, p-priority); return p; }日志的作用是建立反饋回路。你改了一行代碼跑一遍看日志輸出是否符合預(yù)期。如果不符合你能立刻知道問題出在哪個(gè)環(huán)節(jié)。沒有日志的情況下你只能看最終結(jié)果排查范圍太大。參數(shù)方面日志的粒度要適中。太粗看不到細(xì)節(jié)太細(xì)刷屏。我一般會(huì)在調(diào)度、分配、置換這三個(gè)關(guān)鍵操作上加日志其他輔助函數(shù)不加。日志格式統(tǒng)一用[DEBUG]前綴方便用grep過濾。6.2 改調(diào)度算法從時(shí)間片輪轉(zhuǎn)到多級反饋隊(duì)列如果你要把時(shí)間片輪轉(zhuǎn)改成多級反饋隊(duì)列改動(dòng)集中在三個(gè)地方就緒隊(duì)列的組織、時(shí)間片的分配、進(jìn)程降級邏輯。改動(dòng)點(diǎn)時(shí)間片輪轉(zhuǎn)多級反饋隊(duì)列就緒隊(duì)列單個(gè) FIFO 隊(duì)列多個(gè)優(yōu)先級隊(duì)列時(shí)間片固定值隨優(yōu)先級降低而增大入隊(duì)邏輯直接放隊(duì)尾按優(yōu)先級放入對應(yīng)隊(duì)列降級邏輯無時(shí)間片用完降一級實(shí)現(xiàn)時(shí)先定義多個(gè)隊(duì)列和對應(yīng)的時(shí)間片數(shù)組然后改pick_next函數(shù)從最高優(yōu)先級隊(duì)列開始找找到就取隊(duì)頭如果高優(yōu)先級隊(duì)列為空降級到下一級。進(jìn)程用完時(shí)間片后如果還有剩余執(zhí)行時(shí)間從當(dāng)前隊(duì)列移到下一級隊(duì)列的隊(duì)尾。常見坑是降級邏輯的邊界條件最低一級隊(duì)列的進(jìn)程用完時(shí)間片后是放回原隊(duì)列還是繼續(xù)降級通常是放回原隊(duì)列否則進(jìn)程永遠(yuǎn)無法完成。另一個(gè)坑是時(shí)間片的計(jì)算如果時(shí)間片按 2 的冪次增長要防止溢出。6.3 改頁面置換從 LRU 到 Clock 算法LRU 的缺點(diǎn)是每次訪問都要移動(dòng)頁面開銷大。Clock 算法用循環(huán)隊(duì)列和訪問位來近似 LRU開銷小很多。# Clock 算法循環(huán)掃描訪問位為 1 則清零并跳過為 0 則淘汰 def clock_replace(frames, access_bits, hand, new_page): while True: if access_bits[hand] 0: victim frames[hand] frames[hand] new_page access_bits[hand] 1 hand (hand 1) % len(frames) return victim else: access_bits[hand] 0 hand (hand 1) % len(frames)這段代碼的關(guān)鍵是hand指針和access_bits數(shù)組的配合。每次訪問頁面時(shí)把對應(yīng)的訪問位置 1需要淘汰時(shí)從hand開始掃描遇到訪問位為 1 的就清零并繼續(xù)遇到 0 的就淘汰。這樣被訪問過的頁面有第二次機(jī)會(huì)不會(huì)被立即淘汰。參數(shù)方面access_bits的長度和frames一致初值全為 0。hand初值可以設(shè)為 0。如果你要對比 Clock 和 LRU 的命中率Clock 通常比 LRU 低 5% 到 10%但每次訪問的開銷小很多。在實(shí)驗(yàn)報(bào)告里可以統(tǒng)計(jì)總訪問次數(shù)和總掃描次數(shù)量化這個(gè) trade-off。6.4 驗(yàn)證方法用已知結(jié)果反推實(shí)現(xiàn)是否正確改完代碼后怎么確認(rèn)自己的實(shí)現(xiàn)是對的我的做法是構(gòu)造小規(guī)模測試用例手工算出預(yù)期結(jié)果再和程序輸出對比。比如頁面置換實(shí)驗(yàn)構(gòu)造訪問序列[1, 2, 3, 4, 1, 2, 5, 1, 2, 3]頁框數(shù)為 3手工模擬 FIFO 和 LRU 的命中次數(shù)。FIFO 的命中次數(shù)是 3LRU 的命中次數(shù)是 4。如果程序輸出和這個(gè)不一致說明實(shí)現(xiàn)有問題。調(diào)度實(shí)驗(yàn)同理構(gòu)造 3 個(gè)進(jìn)程到達(dá)時(shí)間分別為 0、1、2burst_time 分別為 5、3、2手工畫出甘特圖算出平均周轉(zhuǎn)時(shí)間。程序輸出和手工結(jié)果對比誤差應(yīng)該在浮點(diǎn)精度范圍內(nèi)。這種驗(yàn)證方法的優(yōu)點(diǎn)是反饋快、定位準(zhǔn)。你不需要等大規(guī)模測試跑完小規(guī)模用例幾秒鐘就能出結(jié)果。缺點(diǎn)是覆蓋不全所以小規(guī)模驗(yàn)證通過后還要跑一組隨機(jī)數(shù)據(jù)檢查有沒有崩潰或異常輸出。6.5 一個(gè)我踩過的坑別在最后一天改核心數(shù)據(jù)結(jié)構(gòu)血淚經(jīng)驗(yàn)課設(shè)截止前一天我把 PCB 的存儲(chǔ)方式從數(shù)組改成鏈表結(jié)果所有依賴下標(biāo)訪問的代碼全部報(bào)錯(cuò)改到凌晨三點(diǎn)才跑通。后來我給自己定了一條規(guī)矩核心數(shù)據(jù)結(jié)構(gòu)在課設(shè)開始的第一周就定下來后面只改算法邏輯不改數(shù)據(jù)結(jié)構(gòu)。如果你確實(shí)需要改數(shù)據(jù)結(jié)構(gòu)先寫一個(gè)適配層把舊接口映射到新結(jié)構(gòu)上保證上層代碼不用動(dòng)。比如從數(shù)組改成鏈表可以保留get_pcb_by_index函數(shù)內(nèi)部遍歷鏈表找到第 i 個(gè)元素。這樣上層代碼不用改你只需要改適配層的實(shí)現(xiàn)。另一個(gè)習(xí)慣是每次改完代碼后立刻git commit寫清楚改了什么。課設(shè)代碼經(jīng)常需要回退到之前的版本沒有版本控制的話你只能靠記憶恢復(fù)很容易出錯(cuò)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
熟妇高潮二区三区| 东京热一区二区中文字幕| 亚洲精品久久久久久久蜜桃臀| 色偷偷人人玩人人舔人人操人人摸人人爽 | 蜜臀久久久国产| 好舒服视频| 亚洲自拍青操视频| 欧美极品少妇| 大香蕉综合网| 久久东京伊人一本到鬼色| 久久99午夜精品一区人妻| www成人啪啪18秘 免费| 玖玖97综合| 蜜臀AV成人精品蜜臀AV久久| 亚洲国产中文字幕| 男女国产精品| 抽插无码高清一区| 伊人97色天使| 精品一国2| 久久99草| 日韩欧视频| 日本孕妇一区二区视频操逼免费看 | 欧美日韩亚洲电影| 色香综合| 欧美顶级黄片AAAAA在线免费看| 99成人| 亚洲AV免费在线观看| 色拍偷亚洲| 美欧色综合| 国产精品干干干| 久久草在线综合视频| 大香蕉碰| 曰本特级特黄特色黄色A级网站高清在线免费看 | 99久久这里只有精品| 东京热不卡视频| 97视频播放| 啪啪视频亚洲第一| 久九九九九九九热| 果冻传媒A片麻豆熟妇人妻| 中国AV美女| 在线99热| 欧美天堂第二区| 日韩97在线| 九月激情婷婷| 日韩在线人妻网站| 亚洲男人电影天堂| 男人午夜天堂| 欧美人人AAA| 欧美亚洲一区二区久久久婷精品大包诱| 大香交| 人人操人人摸人人看人人插| 日韩丰满熟妇| 五月天色图影视| 日本超碰在线国产一区| 日亚韩精品视频二区三| 草久久久| 99久久亚洲精品无码毛片潘甜甜| 激情文学网伊人| 天天影视网色欲色香| 国产精品 视频| 天美麻花大全视频| 91艹| 激情小说亚洲色图| 久久久精品国产亚洲AV无码| 人妻丰满熟妇av无码区蜜桃| 综合欧美激情网| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 欧美少妇高潮久久91| 亚洲精品少妇| 欧美 亚洲 制服 精品| 午夜福利合集| 凸凹视频在线观看| nuu12国产麻豆精品| 爽极品影院| 青青草在线视频欧美| 91骚熟女| 91丝袜美女| 亚洲男人天堂网| 中文字幕在线观看丝袜| 狠狠入| 日本国产成人亚洲精品无码| 亚洲 欧美 日本 国内 首页| 欧美国产伊人久久久久| 亚洲熟女少妇免费视频| 不卡一区二区日本视频| 一区二区三区四区在线不卡| 免费簧片在线观看| 日产成人久久| 久久98| 色色热| 欧美综色欧| 99久久9| 天天日天天干天天摸天天操| 久久久久国产无av| 在线视频五十市| 欧美性性性| 伊人久久艹| 青青草一区二区高清无码视频 | 亚洲宗合网| 高潮的A片激情扒开一区| 亚洲射综合网| 免费看黄视频亚洲网站| 色777999综合| 久久欧美按摩999| 天堂v无码免费视频| 欧美日本久久精品一区| 国产极品美女高潮无套在线观看| 四虎在线观看网站| 天堂种子在线www网资源| 欧美色综合网| www.狠狠| 69av一区二区三区| 熟妇高潮精品一区二区三区下载| 91人妻尻屄视频| 欧美日本视频一区| 激情一区二区三区在线观看| 国产中出内射一区二区| 婷婷15月天青娱乐| 婷婷五月天激情小说| 久久av色| 日韩欧美亚洲一区二区三区影院| 综合久久9| 国产不卡片| 综合伊人激情| 中文字幕色AV| 天美国产三级传媒| 午夜经典| 欧美综合网| xxxx网站亚洲精品| 操淫穴亚洲五月丁香| 亚洲成av人片色午夜乱码| 日本乱人伦片中文三区| 农村少妇久久久久久久| 精品人人| 啊啊啊不要好疼视频| 四虎影视 亚洲无码| 日本操逼视频不卡直接放| 91社操逼| 成人婷婷丁香| 久久久111| 欧美综合自拍亚洲综合图| 精品国产无码中文| 日本综合色图| 91成人在线| 玖玖视频在线资源一区二区三区| 91美女在线观看| 日韩性爱啪啪视频| 欧美,亚洲,日韩,v,天堂,手机在线观看| 婷婷五月综合激情| 国产多人在线观看视频| 黄色工厂这里只有精品| 9999亚洲电影| 国内外色色色色色成人视频| 日韩 欧美 另类 人妻| 欧美翘臀视频网站一区二区三区 | 亚洲精品国产av天美传媒| 亚洲免费人妻在| 中文乱码字字幕在线第5页| 国产又操| 无码WWW免费视频网站| 一本久久久精品| 亚洲丝袜色图| 久久一二三四五六七八九区区区 | 日本高清免费一本视频在线观看| AV在线播放网址| 在线女人91| 欧美成人午夜免费福利785| 九七超碰人人乐| 116美女午夜| 久久国产性爱| 一区AV| aV中文麻| 啊啊啊要高潮了| 美女啊啊啊啊pc| 九九性爱网| 操逼片国产| 大肥女高潮bbwbbwhd视频| 国产精品乱码久久久久久久| 国产精品网站免费| 东京热激情视频一二三区| 色色色热| 欧美精品成人在线播放| av网站国产主播在线| 欧美碰碰综合色| 久草精品视频| 午夜欧美神马久久久久| 日韩天美| 丁香六月婷婷久久综合| 亚洲乱熟女一区二区三区大香蕉| 国产精品一级特黄aaa大片在线观看| 永久电影三级在线观看| 超碰九区| 日韩大香蕉AV影片| 色悠悠伊人网五月天| 99国产精品久久久在线播放| 久热精品色情| 亚洲18禁| 欧美日韩99精品麻豆传媒| 婷婷91| 岛国AB视频| 欧美日产国产在线成人第一区| 熟女91网站| 玖玖爱视频网站| 四虎免费视频| 亚洲综合色在线| 久久综合av| 精品无码人妻一区二区免费蜜桃| 九九精品美女高溯喷水| 美国美女AV在线| 欧美熟爽综合| 91在线色综合| 久久麻豆一区二区| 亚洲精品久| 日韩在线视频1234| 久久精品视频久久久| 五月婷婷大香蕉| 激情五月婷| 91久久久久久| 色噜噜国产在线| 亚洲图片 91| 精品国产一区二区三区av在线资源| 五月婷婷六月丁香| 亚洲男人天堂2019| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 一级成人性爱| 小视频国产| 蜜乳AV.COM| 国产成人欧美一区二区三区的国产| 蜜臀AV秘一区翔田千里| 成人激情无码在线视频| 强奸乱伦大香蕉网| 青青草中文-久久青草精品一区二区三| 日韩三级一区 | 综合色好色| 亚洲无线观看久久| 久久久久亚洲av综合波多野制衣| 中文操嬖片。| 高清无码 国产精品| 三级精品三级在线观看| 亚洲无码一区二区三区三州| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 亚洲国产青青| 大香蕉日韩欧美| 中文字幕视频二区| 国产黄色影片在线观看| 国产激情av女片自拍| 国产激情综合| 江都AV在线| 青青草男人天堂| 人人九九精| 国产99热| 日日噜噜夜夜狠狠视频无| 亚洲国产欧美一区二区潘金莲| 久久亚洲AV无码专区国产精品| 黑人白女精品一区| 天天干天天爽| 神马久久久久久久久久久久| 亚欧操逼片在线观看 | 婷婷五月成人| 久久视网78| 亚洲诱惑| 亚洲一区二区av| 亚洲在线网站| 激情接吻视频久久久久久| 伊人网av| 欧美人人天天网| 丰满人妻-区二区三区免费看| 亚洲欧美91| 日欧操屄| 三级三级三级日本99| 日韩情色AV| 中文字幕一区二区三区人妻不卡| 无码精品久久| 91久久久久久久久18| 精品国产一区二区久久| 色爽——AV| 国产一级高清免费观看| 久久国内| xxx亚洲午夜天堂| 中文字幕欧美精品亚洲日韩蜜臀| 欧美福利视频啊啊啊啊| 五月丁香影视| 色臀aV| 无码天堂| 婷婷香蕉| 亚洲天天精品| 综合av社区| 日韩高潮一区| 997色在线| 国产精品原创巨作?v网站| 99热精品免费| 爱丝福利| 乱伦1色页| 97精品国产97久久久久久| AV色图| 大香蕉乱级| 国产玖玖| 亚洲人妻久久久| 女同女同恋久久级三级| 性色avv| 亚洲高潮影院| 国产色精品午夜大片| 骚乳在线| 欧美成人一级麻豆| 激情第四色| 国产中午字一暮区| 操逼操逼逼操操逼91| 91精品人妻一区二区三区蜜桃臀| 亚欧美色| 亚洲精品一区中文字幕乱码| 九九九九九九精品| 97人人模人人爽人人| 香蕉大久久久| 91爆操视频| 久久爽爽精品| 色色色综合网| 久久久999| 日本性爱少妇| 91亚洲丝袜| 亚洲图片激情综合另类| 欧美超碰96| 免费国产视频| 久jiu久神马影院| 国产毛片在线| 白丝AV网站| 青娱乐国产剧情av一区| 白嫩嫩一区| 九热久| 色婷婷网| 国产精品乱码久久久| 午夜免费福利视频一区| 欧美瑟综合| 亚洲无码久久久久久久| 九九九九97| 久草视频在线视频在线视频在线观看| 日日嗨AV一区二区夜夜| 国岛片视频| 欧美国产成人在线| 综合伊人网12色| 大香蕉在线视频15| 深夜视频| 久操黄色视频| 国产精品人妻无码久久久互動交流| 亚洲有码 欧美精品| 少妇久久久久| 日韩99神马视频播放片在线播放| 91综合色噜噜| 99九九久久| 亚洲欧美高清| 天天日日本| 18啪啪手机免费性爱| 九九自拍伦理| 爱av免费| 日本高清一本二本免费不卡| 曰韩av中文字幕专区| 欧亚三区动漫| 97人肏| 亚洲最新Av| 一区二区三区精品黑丝白丝酒店对鸡 | 大香蕉在线SuP| 一区不卡在线观看av| 久久一本大香蕉 | 这里只有精品视频| 高清无码久操视频| 亚洲综合图文| 成年人一级黄色毛片大全在线观看| 亚洲亚洲亚洲天堂天堂| 日韩久久三区| 国产精品麻豆成人av| 中文字幕精品久久久久人妻红杏ⅰ | 亚洲性爱高潮影院| 久久国产AⅤ| 欧美综合 站| 日本理论在线| 91免费看一区二区三区| 97精品国产97久久久久久| 亚洲综合网电影91| 天天干干天天干干| 蜜臀AV成人精品蜜臀| 青青操综合网| 亚洲日韩电影| 97精选久久| 五月丁香色婷婷| 伊人专区一区二区三区| 欧美综合骚| 91老妇女| 久久久99久9| 看免费的黄片| 日本不卡在线二区三区| 偷拍综合亚洲| 东京热激情视频一二三区| 国产人妖的免费的视频| 欧美色97| 干B| 色五月首页| 啪啪视频免费在线观看| 久污| 久久国色天香香蕉| 激情久久久| 精品久久久久综合无码| 综合天天网| 色婷婷亚洲婷婷| 6080YYY午夜理论片在线观看| 天天影视91看看| 欧美另类自拍| 亚洲天堂人妻一区二区| 国产家庭乱伦网址| 国内精品久久人妻性色av| 91精品少妇搡搡搡| 亚洲色图加勒比| 国产黄色 A 片免费看| 午夜αv| 国产精品九九| 亚洲av热热色| 曰韩成人免费视频| 国产精品嫩草久久久久| 日韩肏逼视频| 欧美亚洲手机在线| 国产偷仑| 一二三啪啪专区| 成人精品在线| 亚洲天堂7777| 成全在线观看免费观看| 亚洲一区二区三区在线激情| 亚洲欧美激情小说| 伊人久久亚洲中文字幕不卡| 欧美成人精品一区二区三区| 亚洲高清在线| 国产女人成人精品视频| 婷婷丁香五月天亚洲天堂网| 91东京热男人的天堂| 69一区二区三区 | 久久精品人体AV| 国产成人www免费人成看片| 国产 亚洲 一二三四| 久久精品久| 2017,超碰| 超碰日韩美妻| 中文一区在线日| 成人天天看站长推荐| 国产自偷自拍一区| 欧美在线综合| 曰本91情色| 宗合情欲网| 欧美一区91大爱| 激情小说五月天| 偷窥自拍A片| 色呦呦呦在线观看视频| 日韩欧美成人性爱在线| 最新岛国大片| 欧美日韩不卡a片| 国产精品白丝在线播放 | 色色国产| 亚洲图片欧美色| 欧洲综合视频| 黄色片大香蕉| 久久美女福利是上海美女| 中文字幕精品一区二区精| 日韩激情毛片一级久久久| 97碰久久| 五月丁香激情四射| 精品少妇999| 蜜臀久久99精品久久久| 欧美色狠| 日韩欧无码一区二区三区免费不卡| 三级AV入口| 乱伦av麻豆| 亚洲天天做日日做天天谢日日| 日日爱99| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 亚洲无码国产探花在线观看| 天堂69亚洲精品中文字| 色综合V| 日韩综合无码色欲vv| 天堂а√在线最新版在线| 国产日韩欧美| 日本熟妇自慰性高潮一区二区三区| 国内成人圈中文字幕无码视频 | 天天影视综合色| 欧美性爱一区二区三区| 欧美狠狠干| 91P0RNY大屁股人妻| 亚洲密乳AV| 午夜电影在线观看无码专区| 日韩操逼HD| 日韩AV无码中文一区二区| 成人免费福利在线观看| 久99视频| 久久久专区| 久久久九九九九| 骚熟女AV网| 97超碰欧美中文字幕| 欧美v日韩v亚洲v最新在线| 在线中文字幕| 精品九九国产无码| 再深点灬舒服灬太大了好硬好爽| 久久精品小视频| av在线人气| h色99999| 天天cao在线| 日本成人免费一区二区三区| 在线观看色视频| 婷婷五月在线视频| 中文字幕精品丝袜| 天天色香欲综合网| 精品一区二区三区四区外站| 大逼色网站| 加勒比海色香蕉婷婷| 日韩欧美大力操| 综合网色| 丁香婷婷激情五月天无毒不卡 | 高清孕妇孕交 交孕妇| 青青青青操国内视频在线| 国产精品ⅴ无码大片在线看.| 国产三级中文有码在线视频| 无码99| 91真人天天在线| www久久精品| 日韩精品人妻一区二区| 国产亚洲精品无码三区| 大香交伊人网| 亚洲视频小说| 久久国产精品m码| 尤物网址| 屌逼麻豆| 老鸭窝日丰县女人| 中文?日韩?免费?精品| 午夜精品久久久久久久99蜜桃一| 麻豆天美制片厂网站视频| 国语精品av| 天天弄天天操| 日本岛国黄色网址| 91天射| 我要色综合网| 亚洲最大网站av| 好看的91视频| 男人综合网| 天天操夜夜操狠很操| 91婷婷伊人狠人| 韩日巨乳美女免费视频在线观看| 啊啊啊好多水| 天美麻花大全视频| 欧美久久久| 不卡在线观看视频| 国产大学生高潮在线播放| 日韩中文字幕av在线播放| 国产熟女无套内射| 日韩午夜啪啪视频| 亚洲精品天天影视综合网| 亚州性色| 午夜电影在线观看无码专区| 91夜色chaopeng| 好吊色综合| 大香蕉黄色一区| 免费人人搞97| 91P0RNY大屁股人妻| 户外裸露刺激视频第一区| 操逼精品视频| 成人性交午夜免费片| 18禁的网站在线| 婷婷五月天小说| 亚洲欧美天| 欧美aa一级片| 亚洲码和欧洲精品激情系列| 综合网亚洲| 九九在线视频| 资源新线在线天堂| 久久久久久久人妻| 欧美 色 亚洲| 亚洲熟妇自偷自拍另欧美| 2017天天操天天日| 日本免费亚洲欧美| 色综合超碰超| 一类av片在线看| 99ri精品| 香蕉av一区二区三区| 国产午夜在线观看视频| 一直超碰| 超碰人人操97碰| 无码视频一区二区| 女人被男人桶爽视频网站| 歐美性天天| 成人无码在线视频网站| 蜜臀久久99精品| 色在线亚洲视频www| 啊啊啊啊二区好大| 国产精品婬乱一级毛片彝族| 亚州高清av| 黄骗免费| 97伊人超碰| 操一区| 蜜臀久久99精品久久久久电影| 超碰AV在线| 亚洲男人天堂手机版| 五月天激情小说网| 91福利网在线观看| 极品后入免费视频| 深夜国产一区二区三区在线看| 蜜臀久久精品久久久久视频| 美女自卫慰黄网站免费| 国产久久天堂资源| 北京专精特新企业招聘信息| 久久黄片国产一区二区| 亚洲欧美日韩电影网站一区| 高清在线偷拍自拍视频| 97碰碰色| 岛国小电影| 欧美综合娱乐久久| 无卡一区=区| 99欧美| 国产肏逼网站| 曰韩少妇无码| 开心五月激情网| 女性喷水高潮在线观看| 欧美熟女妇同| 成人国产精品三级A片| 国产乱子伦久久精品综合一区二区三| 日韩二级| 一区二区视频在线播放| 蜜臀久久99精品久久久久久婷婷 | 精品人妻高清麻豆av| 精品久久久久久亚洲| 国产毛片毛片4p懂色| 97AV在线免费观看| 婷婷五月色| 老熟妇乱轮| 夜夜免费视频| 日韩三级久久久| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 人人做人人妻人人夜视频| 色香天天| 国产一区二区三区,在线观看观看| 亚洲精品美女久久久久久久久| 超碰2017| 亚洲人人夜夜澡人人爽| 欧美极品女人的天堂| 精品久久久久久AV无码| 加勒比aⅴ| 九九热视频这里只有精品| 国产色呦呦| 亚洲日韩人妻中文字幕一区| 哑洲在线| 欧美亚男人的天堂| 免费看日本操逼视频| 51国产午夜精品视频| 97久久天天综合色天天综合色电影| 看看小穴| 在线无码操| 老司机福利青青草| 四虎精品永久在线观看| 亚洲视频小说| 一区二区 韩日AV| 国产亚洲日本精品在线| 人人模人人看| 91综合网在线| 色悠久久久av| 亚洲精品蜜桃久久久一区二区三区| 色欲日韩欧美在线一区| 国产精品久久aV| 98超碰欧美| 伊人aaa| 日韩人妻少妇中文字幕| 久久性爱大全| 精品亚洲国产成人av网站| 黑人娇小av在线播放| 中日韩久久久免费看| 亚州 综合 色图| 91亚洲精品青草| 婷婷激情五月综合| 国产亚州高清国产拍精| 一本色道综合久久欧美| 视频不卡中文字幕| 五月天久久人妻| 91综合国产精品| 日本天堂网| 日韩熟妇二区| 超碰av在线| 黑人精品成人一区二区三区| 人人艹亚洲| 日韩精品人妻一| 亚洲无 码A片在线观看麻豆| 日产精品久久久一区二区| 精品97精品97| 日本丝袜美腿人妻九九| 人妻天天夜夜爽一区二区| www.色操逼| 91操人| 北约熟女超碰| 九九精品99| 久久国产在线一区二区| 97精品一区二区三区免费| 啊啊啊水好多| 我爱操| 欧美亚洲日韩16色| 精品国产国产AV| 青青草视频久久久久| 嗯嗯嗯不要不要免费视频| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 欧美丝袜中文字幕07在线| 91精品婷婷国产综合久久| 极品色电影院| 狠狠夜色午夜久久综合在线| 国产大片精久久久久久| 日本亚洲vr欧美不卡高清专区| 亚洲欧美一区二区三区在钱蜜桃| 精品 码产区一区二-1080P高清在线www-B029AV| 5月婷婷6月六月丁香| 亚洲精品人妻吞精av| 成人免费福利在线观看| 久久久久成人亚洲国产| 日韩中文字幕视频在线观看| 国产亚洲禁久一区二区| 国产亚州日韩欧美看片| 91精品黄在线观看| 婷婷色中文字幕| 日韩一区二区精品视频| 亚洲精品男人的天堂| 六月丁香五月婷婷| 久久这里都是精品| 国产精品肉丝自拍| 久草毛片电影怡| 天天夜夜久久| 亚洲1区2区三区高清中文字幕| 欧美日韩国产高清在线一二三区 | 狠狠干综合| 99热精品免费| 91蜜臀熟女| 亚洲精品 超碰| 亚洲天堂人人妻| 91熟女少妇| 亚洲图片视频小说| 亚欧美综合网| 啪啪性爱免费视频| 久久亚洲欧美中文字幕国语| 久久久久亚洲av综合波多野制衣| 思思热免费在线视频| 人人摸人人添人人操 | 国产剧情在线| 国内毛片欧美香蕉精品| 国产一区二区a毛片| 在线精品福利免费播放| 欧美视频在线视频免费va| 天天日天天色| 草b在线 | 日韩av在线精品观看| 色综合一本| 无码天天操| 欧美精品日韩一区二区| 禁止观看美女黄| 久久久久久久国产| 欧美性五月| 久久精品国产亚洲AV先锋| 免费久久一级毛片大黄| 亚卅熟女乱色| 91网站18在线观看| 欧洲与亚洲欧美精品中文字幕| 精品少妇人妻一区二区三区| 欧美激情1区| 国产精品九九九| 国产无码高清操逼视频| 久久东京国产精品视频| www鬼畜国产男人的天堂| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 少妇与黑人高潮在线| 嗯嗯啊啊的视频| 黄骗免费网站| 国产精品无码av嫩草| 日本在线一二 | 日本人妻最新在线中| 久久久久久日韩| 丁香激情五月| 97er欧美性| 人人妻人人爽一区二区三区| 成人97人人超碰人人| 欧美亚洲中文字幕| 久久久婷| 国产sv美女内射| 成人性爱视频在线看| 日本在线一二| 中文字幕第23区| 亚洲欧美另类激情小说| 无码免费精品高清| 日韩精品一二三四| 久久人人爽av亚洲精品天堂桃色 | 射 色综合| 男人的天堂久久狠| A级片日韩欧美国产欧美视频精选观看 | 亚洲电影91| 久久久999| 色婷亚洲五月在线观看| 久久久久久九九九九-美女久久久久久久-成人AV| 中文字幕精品专区搜索结果91| 国产精品内射婷婷一级二| 日本精品不卡一二三区| 大香伊人在线一区| 夜夜春夜夜操| 51久久夜色精品国产麻豆| 国产农村妇女精品1区二区| 精品一区99999| 沈阳熟女高潮对白视频| 超碰在线91| 天美一区在线| 久久免费99精品久久久久久| 农村妇女一级二级三级视频| 嗯~啊~快点 死我视频免费看网站| 人人操人人摸人人骑| 国产欧美一区激情交| 天美传媒av一区二区| 亚洲**2021在线观看| 熟女被操视频网址| 98超碰日本| 日本丝袜美腿人妻九九| 亚州综合网| 成人av免费观看| 精品少妇人妻一区二区三区| 午夜视频好爽啊| 91N五十路| 黄骗免费网站| 精品国产肉丝袜在线拍国语| 99日免费视频中文字幕| 9丨亚洲一区二区在线| 婷婷五月天成人网| 精品国产乱码久久久久久免费| 黄色AAAAAAAAAAA大片| 色偷偷色偷偷欧美日韩| 日韩无码一级黄色av片| 91青视频| 久久久久久久久999| 色婷婷丁香| 久超碰这里只有精品| 萌白酱自拍视频| 无码久| 在线岛国新天堂8| av午夜玫瑰| 日日干天天干夜夜爽| 午夜天天碰综合视频| 亚洲AV无码乱码| 人妻天天夜夜爽一区二区| 国产精品播放| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 青娱乐黄色录像| 强奸xx国产| 欧美综合色,www| 久草五月| 日本一卡二区在线| 色五月激情综合网| 97日韩欧美亚洲| 五月天偷拍| 人妻久久| 久久熟女人| 国产女人视频三四五区| 亚洲一区深夜| 91精片| 国内精品不卡无毒99999| 欧美Ⅴ性爱| 欧美日韩黄色片一区二区三区四区人与兽做爱| 香蕉国产精品麻豆亚洲欧美日韩| 亚洲97P| AV网站高清无码在线观看| 久久AV色| 欧美一级特黄淫片在线观看| 97热视频在线观看| 俺去俺来也在线www| 人人妻人人爽| 国产欧美第五页| 亚洲āv网址在线观看| 热久久99999| 成人网站 免费观看| 哑洲在线| 无遮挡h肉动漫在线观看| 久久久青青草| 1024亚洲中文字幕久在线看片你懂的| 日B操| 97超碰这里只有精品| 国产成人无码网站在线视频| 人人妻人人澡人人爽久久av| 97硬碰| 国产人伦a片信息免费片| 日日噜噜夜夜久久亚洲一区二区| 尤物一级在线免费观看| 九九操久久国产免费视频| 精品久久在线区一区| 26uuu偷拍亚洲欧洲综合| 91网站在线播放| wwwss在线观看| 亚洲精品一区二区三区新线路| 五月婷婷啪啪| 久操99| 伊人操| 91九九九逼| 日韩不卡a级视频专区| 国产深喉| 国产性感在线观看| 手机在线视频国内精品| 91精品少妇搡搡搡| 97AV爱| 欧美日韩国产黄色片| 国内毛片四区| 久久久久久久久久久久久久久乱码| 中文字幕一区电影在线观看| 91热| 97超碰久| 91蜜桃婷婷狠狠久久综合9色| 极品欧美一区二区三区| 国产精品高朝久久久久久久| 亚洲图片欧美日韩| 欧美性爱日韩性爱| 久久婷婷成人综合色怡春院| 天天日天天舔东京热| 国产做?爰片久久毛片?片美国| 91狠狠综合| 精品中文日韩字幕视频| 95精品在线| 亚州操逼图| 新亚洲无码| 久久机热| av情色影音| 欧美日韩中文亚洲v在线综合| 沈阳熟女高潮对白视频| 国产精品高朝久久久久久久| 日本天堂网| 丰满的三级少妇欧美久久久| 999综合网| 密臀国产在线| 欧美熟妇操操视频| 欧美亚州手机在线| 综合操逼| 大屁股人妻女教师撅着屁股| 一卡二卡三卡| 久久精品人妻一区二区| 97精彩视频网站| 亚洲中文字幕av| 操逼天美3区| 免费观看日本操逼视频| 久久久无码精品人妻二区| 后入式在线免费观看60秒| 欧美淫穴| 操操碰| 女人 A一级| 亚洲国产精品成人综合| 99久草| 自拍第一页| 97超碰亚洲| 中文字幕丝袜美腿| 天天日天天爽| 成人国产精品三级A片| 国产性爱在线视频一区二区| 少妇被c 黄 免费观看| 色噜噜日韩精品| 91国产伊人大香蕉| 涩涩久久精品| 热久日综合| 亚洲综合另类欧美久久久| 久久久久13| 婷婷五月综合在线| 欧美日韩性爱视屏免费看了| 操逼片国产| 涩涩涩综合| 婷婷伊人五月| 91色综合| 亚洲激情综合另类| 诱惑网综合| JuliaAnnXXX888| 中文字幕1区2区| 欧美色图片欧美色图| 啊啊啊啊好疼视频| 东北女人操比视频| 亚洲成人妻日韩在线| 欧美亚洲第1页| 色月天AV导航| 日韩偷拍色图| 欧美超碰9798| 色欧美天天| 丰满人妻一区二区三区免费,| 亚洲另类电影| 色色操| 开心五月激情网| 人妻AV在线| 六月激情婷婷| 精品人妻伦一二三区久久| 亚洲激情av| 在线只有精品| 五月婷婷色| 91麻豆天美国产欧美日| 啊啊啊啊一区| 婷婷伊人一区| 日本不卡三级网在线播放| 67194无码不卡| 久久久亚洲精品电影免费看| 日本一区二区三区精品| 婷婷国产精品九区| 久偷拍| 自拍视频大全亚洲专媒视频/一区二区三区 | 国产白嫩精品久久| 99999精品成人| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 九草九九九| 国产中文字幕在线观看| 一本色道人妻久久| 欧综合网| V A在线| 五月天我淫我色av| 久久riav中文精品| 日本日逼高清| 久久精品国产亚洲AV片多多 | 亚洲啪啪视频一区二区| 久久久亚洲欧美综合| 探花一区在线| 激情专区综合| 国产成人亚洲精品自产在线| 狠狠狠一区二区三区| 欧美丝袜激情| 神马久久69| 久久有码视频| 黄页av| 高清在线不卡一区二区 视频| 亚洲一区操| 色黄色美女大长腿午夜视频| 日韩人妻一区二区精品| 激情五月激情综合网| 久久色一区| 后入式在线免费观看60秒| 国产精品午夜精品| 97网色| 91搞逼视频| 亚洲AV操| 男人的天堂网免费| 中文字幕55555| 欧美极品色| 日本熟妇色熟妇在线视频播放| 欧美日韩一二三| 激情熟女12P| 91人妻素女| 亚洲激情网一二三四区| 亚洲乱色视频一区、二区在线| 九一综合网| 久久久极品| 免费啪啪av| 久9视频| 九九热五区| 亚洲色悠悠久久88| 9丨久久九九九| 韩国一级婬片A片无码天美| 性爱1区| 天天综合影院91| WWW美腿丝袜香蕉中文| 超碰免费人妻在线| 亚洲综合另类小说色区亚洲成av人片在www | 天天噜| 亚洲 日韩 丝袜 熟女 变态| 激情综合亚洲| 99久在线精品99re8a| 国产搭汕a级片| 日韩精品国产一区二区| 91操人视频| 日韩精品99久久久久久中文字幕 | 操逼网免费无码视频| 伊人色综合超碰| 亚洲图片偷拍欧美| A一区片| 亚洲综合婷婷| 丝袜av一区二区三区| 99国产女人| 最新的亚洲无吗| 久热这里| 九九国产热| 91综合色噜噜| 国产高清无码一区二区三区四区皇冠| 亚洲日本男人天堂网| 一本色道久久综合狠狠操| 激情熟女12P| 国产成人+综合亚洲+天堂| 97超碰亚洲| 性天堂| 天天精品| B049AV在线播放| 人妻久久一区二区三区 | 日本少妇va7777| 亚洲小说视频| 在免费jIzzjIzz在线视频| 韩国轻伦国内自拍一区| 欧美96在线|欧| 97精品熟女少妇一区| 打av高清| 欧美天堂在线| 激情久久av一区av二区av| 日韩无码AB| 91精品国产91久久青草| 久久综合五月天| 九九九九97| 91精品女厕偷拍视频| 男人天堂2019亚洲| 清纯唯美综合亚洲| 无码乱人伦中文视频| 330Dv国产女人终合视频极品人与兽| 97干97色| 午夜男人一级A片7777| 亚洲精品黑丝| 福利视频一区二区微拍| 亚洲丝袜B诱惑| 久久亚洲AV无码白度| 亚洲综合激情五月久久| 亚洲国产97在线精品一区| 婷婷av在线中文字幕| 丁香五月天婷婷姐| 国产精品自拍视频| 久色网| 久热精品在线| 国产美女mm131爽爽爽爽| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 大肥女高潮bbwbbwhd视频| 久久激情视频| 天天影视91看看| 无遮挡猛进视频免费无限观看| 麻豆国产成人精品| 久久久久久电影| 大香蕉99热| 国产精品久久久久久高清无码免费看| 亚洲综合情色| 都市激情人妻一区二区青青操视频 | 伊人大香蕉在线| 欧美激情专区| 亚洲丝袜色| 欧美综合另类| 久久午夜伦| 九九九九精品九九九九| 女优视频第10页| 久久免费少妇| 久久久久密| 十八禁啪啪视频| 顶级少妇BT天堂| 国产乱伦视频污| 看黑丝美女操逼青青网站| 最新日日夜夜天天干干| 欧美性暴力猛交XXXX| 国产精品探花色| 超碰人妻中文在线| 亚洲最新中文字幕免费| 天堂精品| 人人操人人大香蕉| 91操熟女视频| 日韩av一级黄片| av2014 日韩在线中文字幕| 狠狠干综合| 亚州男人天堂| xxx亚洲午夜天堂| 欧美日韩电影成人在线| 青娱乐手机日韩在线视频| 成人网站 免费观看| 黑人粗大V S日韩女优视频| 欧美性生活综合| 激情一区二区| 久久久久久中文字幕中文字幕最新| 国产日韩精品suv| 天天干一区二区| 99re6在线视频精品免费完整版安卓版| 91快色色色色色| 亚洲女人毛茸茸91| 五月综合色| 影音先锋每日最新资源在线观看|