日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

C語言模擬操作系統(tǒng):從時間片輪到LRU,一份可運行的課設(shè)全解析

C語言模擬操作系統(tǒng):從時間片輪到LRU,一份可運行的課設(shè)全解析 簡介東北大學(xué)操作系統(tǒng)課程設(shè)計完整實現(xiàn)圍繞進程管理、內(nèi)存管理、文件系統(tǒng)與設(shè)備管理四大核心模塊展開適合計算機專業(yè)學(xué)生作為課設(shè)參考也可用于操作系統(tǒng)原理的實踐復(fù)習(xí)。資源共24個文件主體為21個C源文件覆蓋文件系統(tǒng)讀寫、目錄操作、內(nèi)存分配與回收、進程調(diào)度算法模擬等關(guān)鍵功能另附頭文件、可直接運行的FileSystem.exe以及課程設(shè)計報告docx壓縮包僅2.11MB便于下載與本地運行。目前已有280人學(xué)習(xí)使用代碼結(jié)構(gòu)清晰從create、open、read等基本接口到AllocDataBlock、ReleaseDataBlock等底層實現(xiàn)均有覆蓋配套報告包含需求分析、模塊劃分、關(guān)鍵函數(shù)說明與測試結(jié)果可幫助理解設(shè)計思路與算法選擇。讀者既能通過可執(zhí)行文件直觀觀察運行效果也能對照源碼深入拆解操作系統(tǒng)核心概念對鞏固理論知識、提升編程與調(diào)試能力都很有幫助。1. 項目定位一份能跑起來、也能講明白的操作系統(tǒng)課設(shè)源碼包操作系統(tǒng)課設(shè)最怕的不是寫不出代碼而是寫完被導(dǎo)師一問“你的時間片是怎么切”就卡殼。這份資源是一個某高校計科專業(yè)提交過的操作系統(tǒng)課程設(shè)計完整項目用 C 語言在用戶態(tài)模擬了一個微型操作系統(tǒng)進程調(diào)度、內(nèi)存管理、文件系統(tǒng)一個不少而且可運行、可統(tǒng)計、可改參數(shù)。你不需要買開發(fā)板也不需要碰 ARM 匯編只需要一臺帶 make 的 Linux 機器就能看到任務(wù)如何入隊、頁面如何被置換、文件如何寫入磁盤。它既能直接交作業(yè)也能當(dāng)理解操作系統(tǒng)原理的動手副本。下面我把它的架構(gòu)、核心代碼和改造思路拆開。2. 技術(shù)棧與整體架構(gòu)一個靠主循環(huán)撐起來的“偽內(nèi)核”這個項目沒有跑在真實硬件上它通過一個 while 循環(huán)模擬時鐘中斷每次循環(huán)代表一個 tick。這樣做的好處是可控性強課設(shè)答辯時可以單步調(diào)試肉眼看到狀態(tài)變化。完全由 C99 編寫依賴只有 libc 和 Makefile不需要 pthread不需要 ncurses移植成本很低。如果你想過為什么不用真實內(nèi)核答案很現(xiàn)實真實內(nèi)核的一行匯編就能卡住一整天而課程設(shè)計要的是一個能講清楚的 demo。2.1 技術(shù)選型為什么用 C 而不是 C 或 Python操作系統(tǒng)課設(shè)選語言通常不是語法問題是講原理的便利問題。同樣一個時間片輪轉(zhuǎn)Python 十行就寫完了但老師問你怎么操作內(nèi)存你只能說“列表切片”。換成 C 以后PCB 就是一個 struct隊列就是一個結(jié)構(gòu)體指針頁面就是一個數(shù)組下標這些概念全都能對著代碼指出來。這個項目堅持用 C99 的另一個原因是方便單步調(diào)試在 gdb 里可以看 ready_head 鏈表的每個節(jié)點甚至可以直接修改某個 PCB 的內(nèi)存。編譯環(huán)境也很樸素。Makefile 里只有兩條關(guān)鍵變量CC : gcc CFLAGS : -Wall -g -O0 -stdc99-Wall打開所有常見警告-g保留調(diào)試信息-O0禁止優(yōu)化否則單步調(diào)試時變量可能被優(yōu)化掉。這是課設(shè)項目最常見的配置建議不要在 CFLAGS 里加-O2代價是斷點里的值全部變成optimized out那種體驗接近玄學(xué)。那么為什么不用 pthread 做真實并發(fā)因為課設(shè)的主題是操作系統(tǒng)而操作系統(tǒng)本身是單 CPU 上多個進程輪流跑用單線程主循環(huán)模擬并發(fā)反而更貼近底層真實行為。一旦引入 pthread調(diào)度順序會被內(nèi)核線程調(diào)度器隨機化課設(shè)答辯時同一個用例跑兩次結(jié)果不同是給自己挖坑。因此項目所有模塊共用同一個current_tick全局變量由main的循環(huán)統(tǒng)一驅(qū)動徹底避免鎖競爭問題。2.2 目錄結(jié)構(gòu)三個子系統(tǒng)如何由 main 串起來整個工程按“主循環(huán) 子系統(tǒng)”的方式組織目錄不復(fù)雜。先看全貌ostrain/ ├── Makefile ├── README.md ├── src/ │ ├── main.c # 入口解析參數(shù)并驅(qū)動 tick 循環(huán) │ ├── pcb.c # 進程控制塊操作 │ ├── scheduler.c # 調(diào)度算法RR / 優(yōu)先級 │ ├── memory.c # 內(nèi)存分配與頁面置換 │ ├── filesystem.c # 虛擬磁盤與 inode 管理 │ └── shell.c # 簡單的命令口 ├── include/ │ └── ostrain.h # 公共結(jié)構(gòu)體、宏、函數(shù)聲明 └── test/ ├── 01_rr_test.txt # 時間片輪轉(zhuǎn)測試用例 └── 02_fs_test.txt # 文件讀寫測試用例src/main.c是唯一入口它負責(zé)解析命令行參數(shù)并啟動模擬scheduler.c、memory.c、filesystem.c是三個業(yè)務(wù)子系統(tǒng)相互之間通過ostrain.h里的公共結(jié)構(gòu)體通信shell.c提供最基礎(chǔ)的命令行接口用來動態(tài)創(chuàng)建進程或讀寫文件。這樣拆分的好處是想把調(diào)度器換成多級反饋隊列只改scheduler.c不影響內(nèi)存和文件系統(tǒng)。編譯和運行方式很直接make clean make ./ostrain --modeall --tick200參數(shù)說明--mode控制要運行哪個子系統(tǒng)可選process、memory、fs、all--tick指定模擬多少個時間片默認 100。比如只要看文件系統(tǒng)就跑./ostrain --modefs --tick50輸出會只保留與文件讀寫相關(guān)的日志。測試階段用--modeall最合適讓三個子系統(tǒng)在同一時間源下協(xié)同觀察它們是否互相干擾。提示如果你在 Windows 上開發(fā)建議用 WSL 或虛擬機裝 Ubuntu 跑原生的 mingw 環(huán)境在usleep和路徑分隔上可能有點小問題。macOS 也能跑但sleep_millis里的usleep需要包含unistd.h。工程里還留了make test目標它會在test/目錄外生成result/文件夾把三個模塊的輸出分別寫到result/process.log、result/memory.log、result/fs.log方便答辯時把日志拉出來和代碼對照。2.3 一次“時鐘中斷”的完整數(shù)據(jù)流所有模塊的聯(lián)動都發(fā)生在一次 tick 中。展開看一個 tick 內(nèi)的步驟是current_tick自增作為全局時間戳。scheduler_tick()檢查當(dāng)前進程時間片是否用完用完則換下一個。memory_tick()處理缺頁請求如果物理內(nèi)存不足就調(diào)用 LRU 淘汰一頁。filesystem_tick()把臟掉的磁盤塊延遲寫回虛擬磁盤。shell_collect(t)把當(dāng)前各模塊的狀態(tài)快照存進統(tǒng)計數(shù)組。這些步驟在main.c的run_simulation里是順序調(diào)用的// main.c 核心循環(huán)每個 tick 模擬一次時鐘中斷 void run_simulation(int ticks) { for (int t 0; t ticks; t) { current_tick t; scheduler_tick(); // 進程調(diào)度檢查時間片余量 memory_tick(); // 內(nèi)存管理處理缺頁或回收 filesystem_tick(); // 文件系統(tǒng)延遲寫回臟塊 shell_collect(t); // 收集當(dāng)前狀態(tài)做統(tǒng)計 sleep_millis(1); // 模擬時鐘周期便于觀察 } }邏輯說明每個函數(shù)都只讀當(dāng)前current_tick不做跨 tick 的等待。sleep_millis(1)是內(nèi)部封裝用usleep(1000)實現(xiàn)參數(shù)是毫秒數(shù)注釋里把它當(dāng)作“時鐘周期”實際調(diào)試時可以改成 10 毫秒讓輸出滾動慢一點。ticks來自命令行參數(shù)--tick控制模擬總時長。需要特別留意的是函數(shù)名中的tick和current_tick全局變量是兩個概念前者是動詞表示驅(qū)動一步后者是全局時間戳?xí)唤y(tǒng)計模塊用來生成時間序列。這種設(shè)計有一個容易被忽略的好處因為所有模塊都掛在同一個循環(huán)里打斷點時不會出現(xiàn)“調(diào)度器在某個線程里跑內(nèi)存管理在另一個線程里跑”的錯亂情況。答辯時你可以在循環(huán)體一行行執(zhí)行指著 PC 寄存器概念說“這里就是中斷返回后回到用戶態(tài)的位置”。當(dāng)然真實內(nèi)核里中斷是具有異步性的這個模擬項目刻意把它改成了同步循環(huán)目的是降低課設(shè)難度這一點在答辯準備時可以說清楚。另外shell_collect(t)會在統(tǒng)計數(shù)組里記錄每個進程的 finish_tick這是后期計算平均完成時間的唯一數(shù)據(jù)來源。統(tǒng)計數(shù)組也是一個全局 struct在ostrain.h里定義成固定大小最多支持 32 個進程超過之后會返回 ENOMEM這塊也做了簡化避免動態(tài)擴容代碼干擾主線理解。3. 核心模塊拆解從 PCB 到 inode 的微觀實現(xiàn)三個子系統(tǒng)是這份課設(shè)的主體。下面按從“任務(wù)”到“存儲”的順序拆開看每一段代碼都來自項目里對應(yīng)的.c文件只是裁剪掉了無關(guān)的日志分支。3.1 進程調(diào)度PCB 與時間片輪轉(zhuǎn)進程管理模塊的核心是pcb_t結(jié)構(gòu)體它代表一個可以被調(diào)度器感知的任務(wù)// include/ostrain.h typedef struct pcb { char name[8]; // 進程名僅用于日志 int pid; // 進程號從 0 開始遞增 int need_time; // 還需要的 CPU 時間 int used_time; // 已使用的 CPU 時間 int time_slice_used; // 當(dāng)前時間片內(nèi)已用掉的 tick 數(shù) int priority; // 靜態(tài)優(yōu)先級數(shù)值越小優(yōu)先級越高 struct pcb *next; // 就緒隊列中的下一個節(jié)點 } pcb_t;字段說明name限制為 8 字節(jié)因為測試用例里的進程名最長就 7 個字符加一個\0need_time是創(chuàng)建進程時從測試文件讀入的time_slice_used專門用于時間片輪轉(zhuǎn)算法每次調(diào)度 tick 都會自增當(dāng)它等于全局宏TIME_SLICE時觸發(fā)切換。next指針把就緒進程串成一個單向鏈表這是最樸素、也最容易給老師畫圖的隊列實現(xiàn)。調(diào)度器的核心邏輯在scheduler_tick()里// src/scheduler.c void scheduler_tick(void) { pcb_t *current g_current; if (current NULL) { current pick_next(); // 隊列空嘗試取新任務(wù) } if (current NULL) { return; // 所有任務(wù)都已完成 } current-used_time; current-need_time--; current-time_slice_used; if (current-need_time 0) { // 任務(wù)完成移出就緒隊列 remove_from_queue(current); printf([tick%d] %s finished\n, current_tick, current-name); g_current NULL; } else if (current-time_slice_used TIME_SLICE) { // 時間片用完放回隊尾切換給下一個進程 current-time_slice_used 0; enqueue(current); // 入隊尾 g_current pick_next(); if (g_current ! NULL) { printf([tick%d] switch from %s to %s\n, current_tick, current-name, g_current-name); } } }邏輯說明每次 tick當(dāng)前進程的used_time和time_slice_used都加一need_time減一。先判斷任務(wù)是否結(jié)束結(jié)束就從隊列刪除再判斷時間片是否用完用完就重置時間片計數(shù)并重新入隊尾然后從隊頭取下一個進程。這里省略了真實的寄存器上下文切換用g_current指針的重新賦值來代替在課設(shè)講稿里可以說“我們把上下文切換抽象成了 PCB 指針切換”。參數(shù)說明TIME_SLICE在編譯期定義默認值是 5也就是每個進程一次最多跑 5 個 tickneed_time來自測試用例的第一列比如P0 5 2表示進程P0需要 5 個 tick 運行優(yōu)先級為 2。如果你調(diào)小TIME_SLICE進程切換頻率會變高日志里switch行明顯增多這很適合用來演示時間片大小對響應(yīng)時間的影響。3.2 內(nèi)存管理伙伴系統(tǒng)與 LRU 頁面置換內(nèi)存模塊在初始化時把物理內(nèi)存分成 64 個 4KB 頁框并用伙伴系統(tǒng)分配連續(xù)頁框?;锇橄到y(tǒng)的實現(xiàn)很短// src/memory.c static struct block free_list[MAX_ORDER 1]; int alloc_pages(int count) { int size 1; while (size count) size 1; // 向上取整到 2 的冪 int order 0; while ((1 order) size) order; for (int curr order; curr MAX_ORDER; curr) { if (free_list[curr] NULL) continue; struct block *blk free_list[curr]; free_list[curr] blk-next; // 把取出的塊不斷分裂直到達到需要的階數(shù) while (curr order) { curr--; // 把右半個塊放入下一階空閑鏈表 struct block *buddy (struct block *)((char *)blk (1 curr) * PAGE_SIZE); buddy-next free_list[curr]; free_list[curr] buddy; } return blk-index; } return -1; }邏輯說明free_list[curr]存儲當(dāng)前階2^curr 個連續(xù)頁框的空閑塊鏈表。分配時從最小滿足請求的階開始向上找找到后把塊分裂多出來的半塊掛回低一階的鏈表。參數(shù)count是請求的頁框數(shù)經(jīng)過前兩行取整后轉(zhuǎn)換成order如果所有階都為空返回 -1 表示物理內(nèi)存不足觸發(fā)后續(xù)的 LRU 置換。當(dāng)alloc_pages返回 -1 時內(nèi)存管理模塊會調(diào)用find_victim_page()選一個頁淘汰int find_victim_page(void) { // 第一遍看有沒有訪問位為 0 的合法頁有就直接選 for (int i 0; i PAGE_FRAMES; i) { if (page_table[i].valid !page_table[i].accessed_flag) { return i; } } // 第二遍退而求其次選 last_access 最老的一頁 int oldest -1; for (int i 0; i PAGE_FRAMES; i) { if (!page_table[i].valid) continue; if (oldest -1 || page_table[i].last_access page_table[oldest].last_access) { oldest i; } } return oldest; }邏輯說明這是簡化版 LRU沒有維護完整的歷史鏈表而是用accessed_flag做一次“時鐘指針”掃描只要找到訪問位為 0 的頁就直接淘汰如果所有合法頁都被訪問過則退化成按last_access選最老的。參數(shù)PAGE_FRAMES在ostrain.h里定義為 64last_access在每次頁表項被訪問時更新成當(dāng)前current_tick。調(diào)試這個模塊時最??吹妮敵鍪?replace 日志。一個理想狀態(tài)是當(dāng)工作集明顯大于 64 頁時頁面置換頻率會保持穩(wěn)定如果還是頻繁抖動說明find_victim_page的選擇標準過于簡單。以后想加“增強型時鐘算法”把這個函數(shù)替換成查一遍臟位和訪問位的組合即可。3.3 文件系統(tǒng)模擬磁盤與 inode文件系統(tǒng)模塊不依賴真實文件它用一塊 4MB 的全局數(shù)組模擬磁盤用 inode 記錄文件和塊的對應(yīng)關(guān)系。結(jié)構(gòu)體定義如下// src/filesystem.c #define BLOCK_SIZE 512 #define DISK_BLOCKS 8192 static uint8_t virtual_disk[DISK_BLOCKS * BLOCK_SIZE]; typedef struct inode { uint16_t ino; char name[16]; uint32_t size; int blocks[8]; // 直接塊索引最多 8 塊 struct inode *next; // 哈希鏈表沖突鏈 } inode_t;字段說明DISK_BLOCKS8192 乘以BLOCK_SIZE512 正好 4MB這個大小在 bss 段分配不會占用??臻gblocks[8]是直接數(shù)據(jù)塊索引意味著單個文件最大 4KB。別笑這是為了把“組織原理”講清楚故意不做多級索引改造擴展點在文末。寫入流程的核心函數(shù)是fs_writeint fs_write(uint16_t ino, const void *buf, uint32_t count) { if (count 0) return 0; inode_t *inode get_inode(ino); if (inode NULL) return -ENOENT; uint32_t max_size 8 * BLOCK_SIZE; if (inode-size count max_size) { return -EFBIG; // 單文件超出直接塊上限 } // 按塊寫入每寫入一塊就分配一個空閑塊號 uint32_t written 0; while (written count) { uint32_t len count - written; if (len BLOCK_SIZE) len BLOCK_SIZE; int blk alloc_simulated_block(); if (blk 0) return -ENOSPC; memcpy(virtual_disk[blk * BLOCK_SIZE], (const uint8_t *)buf written, len); inode-blocks[(inode-size written) / BLOCK_SIZE] blk; written len; } inode-size count; return count; }邏輯說明先通過 inode 號找到對應(yīng)的 inode 對象再檢查新文件大小是否超過 4KB 上限。寫入采用按塊循環(huán)每次從空閑塊位圖中取出一個塊號用memcpy把用戶緩沖區(qū)的數(shù)據(jù)拷進虛擬磁盤最后更新 inode 的塊數(shù)組和文件大小。參數(shù)buf是源數(shù)據(jù)指針count是字節(jié)數(shù)返回值是實際寫入字節(jié)數(shù)alloc_simulated_block()內(nèi)部用位圖記錄塊是否空閑分配失敗返回 -1。在文件系統(tǒng)模塊里目錄實際上是一個特殊 inode它的blocks里存的是目錄項的編碼。fs_create會先創(chuàng)建一個空 inode再把它掛到全局 inode 鏈表中fs_delete則反向操作釋放 inode 占用的所有虛擬磁盤塊。這塊代碼保留在最樸素的版本和真實 ext2 的目錄項相比它沒有記錄name_len所以讀取目錄時是按固定 16 字節(jié)大小跳著走的。你可能會問為什么不直接用fwrite寫真實文件。道理很簡單這個模塊想模擬的內(nèi)容是“磁盤塊如何被數(shù)據(jù)層管理”而不是“如何調(diào)用標準庫”。用內(nèi)存數(shù)組做虛擬磁盤可以配合調(diào)試器直接查看某個塊的內(nèi)容也可以把斷電丟失數(shù)據(jù)的特性放進講稿里。順帶一提virtual_disk在 main 里沒有初始化默認全是 0所以沒寫過數(shù)據(jù)的塊讀出來是0x00這在文件系統(tǒng)檢查軟件里會被判定為“空洞”是合法的。4. 常見問題與避坑記錄調(diào)試三塊模塊時容易翻車的地方下面的問題都不是算法難度造成的大部分是 C 語言邊界、文件格式和 Makefile 展開時機帶來的。我把它們單獨列出來是因為每一個都實際翻過車重跑一次至少浪費半天而且這類問題在答辯前才出現(xiàn)的話壓力會非常大。4.1 進程名帶\r調(diào)度輸出亂碼現(xiàn)象從測試文件讀出的進程名輸出到終端時名字后面多了一個^M而且strcmp(P0, name)永遠不相等導(dǎo)致進程明明完成卻不會從隊列刪除。原因測試用例.txt是在 Windows 上用記事本寫的換行符是 CRLF。fscanf(%s)會把空格之間的字符串讀進來\r殘留在字符串尾部于是name實際是P0\r。解決在read_testcase里讀入名字后做一次尾部清理。常見做法是判斷最后一個字符如果是\r就把它替換成\0。// 讀取 name 后立即清理 if (name[strlen(name) - 1] \r) { name[strlen(name) - 1] \0; }從那以后要求所有測試用例統(tǒng)一用.gitattributes強制 LF 換行省得每個人 clone 下來都遇到一遍。4.2 伙伴系統(tǒng)釋放時不檢查 magicdouble free現(xiàn)象內(nèi)存管理模塊跑幾十個 tick 后輸出block double free然后用 gdb 打斷點發(fā)現(xiàn)釋放相鄰塊時把同一個塊釋放了兩次。原因釋放函數(shù)free_pages里要做“伙伴合并”但只檢查了相鄰地址沒有檢查塊狀態(tài)。兩個塊都空閑時才能合并如果其中一個已經(jīng)被分配出去另一個的free_list指針會亂掉后面再釋放時把已釋放的塊又鏈入鏈表。解決給每個塊頭部加一個magic字段釋放前先斷言當(dāng)前塊狀態(tài)必須是分配態(tài)。合并時再檢查伙伴塊的狀態(tài)是否為空閑兩個條件都滿足才執(zhí)行 merge。#define MAGIC_ALLOC 0xA110C #define MAGIC_FREE 0xF3E if (blk-magic ! MAGIC_ALLOC) { fprintf(stderr, double free detected\n); return -1; }調(diào)試這種問題最有效的是在free_pages入口加printf把塊號、階、magic 都打出來兩行日志就能定位是哪一次釋放出的錯。4.3 就緒隊列為空時解引用 NULL現(xiàn)象--tick200跑完后程序還在運行但pick_next()返回 NULL后面的日志訪問了NULL-name導(dǎo)致段錯誤。原因調(diào)度器完成所有任務(wù)后就緒隊列已經(jīng)空了。但主循環(huán)仍會在每個 tick 調(diào)用scheduler_tick()此時g_current為 NULL后續(xù)代碼沒有提前退出。解決在scheduler_tick()最開頭加一個隊列空判斷同時在pick_next()里也返回 NULL 保護。另外讓shell_collect()只在g_current ! NULL時取樣。if (ready_head NULL) { g_current NULL; return; }這不算高明但很多同學(xué)復(fù)制代碼時容易漏掉這個邊界條件。好轉(zhuǎn)之后你會發(fā)現(xiàn)空轉(zhuǎn)的 tick 不再崩日志尾部會一直打印no process更便于解釋“空閑態(tài)”。4.4 Makefile 通配符緩存舊文件列表現(xiàn)象往src/里新增一個vfs.c后鏈接時瘋狂報undefined reference to fs_mount但單獨gcc這個文件能過。原因Makefile 里用的是SRCS : $(wildcard src/*.c)wildcard函數(shù)在 Makefile 解析時就會展開新增文件不會自動進到SRCS里所以make根本不會編譯 vfs.c。解決改成SRCS : $(shell find src -name *.c)讓 Makefile 每次運行時動態(tài)搜索源文件。注意這會讓 make 每次啟動都執(zhí)行一次find文件不多時影響可以忽略。SRCS : $(shell find src -name *.c)最穩(wěn)妥的辦法還是顯式列出源文件雖然麻煩但不會踩“改代碼沒生效”的坑。后來在 Makefile 里加了一個make clean調(diào)用rm -rf result每次新增文件先 clean避免日志里摻著舊輸出。5. 二次開發(fā)把時間片輪詢改成優(yōu)先級搶占調(diào)度這個項目最值得改的地方就是調(diào)度器。當(dāng)前實現(xiàn)是純時間片輪轉(zhuǎn)所有進程都在同一個隊列里按 FIFO 次序執(zhí)行。你可以把它改成“優(yōu)先級搶占式”維持多個就緒隊列每個隊列對應(yīng)一個優(yōu)先級在每個 tick 里調(diào)度器只從優(yōu)先級最高的非空隊列取進程一旦有高優(yōu)先級進程到來立刻搶占正在運行的進程。實現(xiàn)時只需要動兩個函數(shù)。第一個是pick_next從單隊列遍歷改成多隊列選擇// 多隊列版本 pick_next返回最高優(yōu)先級隊列的隊頭 pcb_t *pick_next(void) { for (int prio 0; prio MAX_PRIO; prio) { if (queues[prio] ! NULL) { return queues[prio]; } } return NULL; }第二個是入隊函數(shù)從固定enqueue(current)改成按current-priority選擇隊列void enqueue_prio(pcb_t *p) { int prio p-priority; if (queues[prio] NULL) { queues[prio] p; } else { pcb_t *tail queues[prio]; while (tail-next ! NULL) tail tail-next; tail-next p; } p-next NULL; }邏輯說明queues[prio]是指針數(shù)組數(shù)組下標就是優(yōu)先級數(shù)值越小優(yōu)先級越高。pick_next從最低下標開始找第一個非空隊列并返回隊頭。由于每個 tick 都調(diào)用pick_next只要高優(yōu)先級隊列非空低優(yōu)先級進程永遠不會被選中這就是“搶占”的實現(xiàn)。改完之后建議做一次對比實驗用同一個01_rr_test.txt分別跑--modeprocess --tick50和不帶優(yōu)先級參數(shù)的版本。觀察高優(yōu)先級進程的平均完成時間。一個簡單驗證辦法是讓所有進程創(chuàng)建后直接運行然后統(tǒng)計每個進程的finish_tick - create_tick算出平均值。兩個版本的平均完成時間應(yīng)該差出 1.5 倍左右這個數(shù)字就是答辯時可以寫進結(jié)論里的“性能提升”。如果你不想動調(diào)度器也可以改文件系統(tǒng)模塊把blocks[8]改成blocks[12]并增加一個間接塊索引字段模擬兩級索引文件。實現(xiàn)量不大但能把磁盤組織從“連續(xù)文件”往“索引文件”推進一步。無論改哪塊我的經(jīng)驗是先改一個參數(shù)跑出一個可對比的數(shù)值再動數(shù)據(jù)結(jié)構(gòu)。這個課設(shè)做完我才意識到操作系統(tǒng)每做一個新特性都要立刻把scheduler_tick、memory_tick和filesystem_tick的集成跑一遍。從那以后我每次給項目加模塊都強制自己先接上全局 tick 再寫內(nèi)部邏輯而不是等所有代碼寫完才去想到底從哪里開始調(diào)。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 六月丁丁香| 久久内射| 亚洲色五月| 激情五月综合开心五月| 激情四射婷婷六月天| 婷婷久久五月天| 亚洲一区在线观看欧洲 | 成人久久久| 中文字幕人乱码中文字的预防方法 | 色图综合网| 大香蕉99热| 五月婷在线| 人人摸.人人色| 欧美97在线欧| 四虎AV在线播放| 天天激色| 热热色色综合| 夜夜 中文视频rt| 欧亚成人| 欧美顶级黄色大片免费| 日韩欧无码一区二区三区免费不卡| 久久人妻少妇| 97中文字幕色| 青青爽| 伊人五月天| 一本久道在线综合视频| 欧美日综合| 亚洲青青草| 欧美性爱一区| 中文无线日韩一区| 麻豆天美在线| 亚洲丝袜少妇在线| 91丝袜人妻| 国产美女高潮视频| 91操熟女视频| 玖玖久久久| 欧美欧美少妇| 九九AV| 久久久久成人网| 欧洲亚洲人妻无码高清久久三区四区| 久久高清无码夜夜操| 天天干天天中出av| 日本熟妇自慰性高潮一区二区三区| 97se综合网| 97 视频在线| 亚洲图片欧美日韩| 日韩色女精品| 青青草好吊色| 97亚洲欧美| 青青久久艹| 99re99在线视频| 亚洲黄色电影| 国产h片在线观看视频| 日韩操逼HD| 久热精品在线国产| 国产日产精品久久快鸭的功能介绍| 久久精品一区二区一8| 被操高清无码视频| 欧美性爱中文字幕无线码| 人妻无一区二区三区| 草莓精品视频在线免费观看| av绯色| 亚洲欧美日韩精品久| 伊欧美综合视频| 乱伦图av| 资源在线观一 二| 97色在线观看| 精品国产72| 亚洲人综合| 性91| 午夜.DJ高清在线观看免费7 | 密乳AV免费观看| 91小视频| 色五月婷婷五月天| 久久精9| 日本高清熟女久久一区| 91蜜臀人妻中文字幕在线| 久久青青草在线视频| 亚洲无码精品AV久久久| 国产黄色影片在线观看| 国产自偷自拍一区| 国产自产91区13区| 91精品导航| 久久国产乱子伦精品免费女,网站| 精人妻一区二区三区| 74成人在线| 亚洲二区精品在线观看| 91久久国产综合久久| 目产99999久久999| 91大香蕉伊人| 欧美极品性爱天天射| 国产精品999zyz| av大香蕉| 久久久草草精品| 亚洲综合20p| 欧美性爱中文字幕无线码| 婷婷五月成人| 国产第二页| 国产精品久久久吖| 精品久久99| 日天天九九天堂666| 中文字幕熟女人妻丝袜| 91性高潮久久久久久久久| 亚洲国产综合久久久性感熟妇| 变态另类专区| 欧美极度丰满熟妇hd| 91天天爱| 精品人妻中文字幕4399| xxx亚洲午夜天堂| 蜜桃网熟妇| 日韩性爱视频在线免费观看| 夜夜騷av、一區二區| 欧美日韩狠狠爱| 久久精品国产亚洲AV片多多| 日韩在线观看AV| 国产黄色在线播放观看| 亚洲官网在线| 蜜臀久久99精品久久久久| 日韩一级成人毛片免费观看| 日本五十路在线| 人人妻人人澡人人爽人人精品浪潮| 自慰白浆在线观看| AV色五月天| 操操逼视频| 骚熟女吞| 中文字幕性感少妇av| www.男人天堂| 啊视频在线| 四虎影视国产精品| 亚洲射综合网| 园内精品自拍视频在线播放| 国产精品3| 午夜黄色免费在线观看| 亚洲风情在线观看| 国产AV线| 99热思思| 精品人妻一区二区免费蜜桃视频| 亚洲免费成人精品电影| 人妻啊啊人妻啊| 亚洲av热热色| 十八禁啪啪视频| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 欧美体内射精| 人人看欧美性爱| 亚洲AV高潮| 欧美人妻久久精品二区三区| 激情文学小说一区二区| 柠檬AV导航| 岛园激情| 伊人影院中文字幕| 欧美91久久久久| 女人久久久| 亚洲色系另类精品国产| 爱爱动态120秒| 91九色网| 欧美性爱十八禁| 美女黄频a美女大全免费皮| 天天天天干| 色爽爽文学| 麻豆天美电影一区二区| 亚洲中文sv| 成人怡红院| 国产亚洲日本精品在线| 2001天天操| 五月天欧美色图| 97天天日| 99热66| 夜夜高潮夜夜爽| 日韩精品一区,二区 九九...老司机| 综合网亚洲1| 色香欲影| 国产精品老师| 97在线欧洲| 97资源站日韩| 中文字幕一区二区在线日韩精品| 五月天成人综合| 久久欧洲| 欧美懂色综合网| 欧美午夜一区二区三区| 亚洲综合性感在线| 欧美性爱免费短视频| 成人在线视频网| 大香蕉在线86| 欧美巨大性舒爽顶到了| 婷婷五月色| 黄呦呦在线| 欧美高清无码免费视频高清版| 男女激情黄色网址| 亚洲文学偷乱拍啪啪啪啪| 99无码狠狠久久| 九九黄色网| 久久夜夜夜| aV中亚| 桃花色涩综合影院| 91嫩草在线| 久久精品福利影院| 激情图片伦理国产一区二区日韩| 亚洲性高潮| 亚洲午夜福利视频| 91处女在线视频| 成人午夜小视频手机在线看| 欧美影音在线| 天天操夜夜操狠很操| 欧美黄色图片| 亚洲乱色熟女一区| 1204金沙人妻懂旧版免费| 97色碰| 91在线页| 91久久| 性站| 国产精品嫩草影院午夜两性| 第四色亚洲色图| 成人av在线播放| yazhousetuoumei| 婷婷五月天激情四射| 久久99久久99久久99人受| 天天操熟妇| 99热99在线| 国产中午字一暮区| 日韩欧美视频青青| 国产午夜在线观看| hd成人一区二区在线| 老鸭窝黄色视频网站| 欧美五十路熟| 天天干1区2区在线| 国产玖玖| .精品人妻一区二区三| 9热9热综合网| 欧美一区二区三区不卡高清视频| www.AV有限公司一区| 人人干黄色| 2026国产精品视频| 国产精品久久久久av| 色妇综合网| 日韩pv中文| 蜜臀久久99精品久久久久| 动漫片子网站3黄| 综合影院永久入口国产| 少妇精品久久久八区九区| 在线精品福利免费播放| 欧美亚洲特P| 欧美成人9797| 精品高清一区二区三区三州| 九9热伊人| 色色色热| 日韩一级性爱无码| 欧洲一区二区| 色综合加勒比四四季| 国产精品免费日韩| 日本大香蕉综合网红本杳社区| 大香蕉免费乱伦视频| 99久久99久久免费精品蜜臀| 久久111| 激情AV| 日本欧美中文字幕| 深爱伊人影院| 中文字幕日韩人妻视频| 人妻少妇色综合| av天堂影视中文在字幕在线中文| 肏逼视频日本| 亚洲人妻日日日| 久久久艹艹艹| 五月丁香婷婷啪啪| 国产最新小视频在线播放下载| 97中文字幕一区| 久久国99999| 91久久婷婷| 少妇高潮对白在线观看| 91春色| 99这里只有精品| 人人摸人人干| 成人丁香五月| 亚洲国产激情国产av| 男女性无套 免费九一| 超碰综合97在线| 韩国轻伦国内自拍一区| 天美精品av| 国产综合网站在线播放| a片在线播放| 亚洲天堂资源在线| 黄色一区三区| 精品中文一区二区| 久草色悠悠在线视频| 这里只有精品视频在线| 1769精品一区二区三区| 一起草精品人妻| 在线A日本| 中英熟女操女| 人人人干干人人干| 色综合91好| 日韩久射综合| 99re这里只有精品2| 麻豆这里只有精品| 欧美顶级黄色大片免费| 97超碰色| 久操91视频| 国产又黄又粗又猛大片| 国产美女在线精品免费看| 夜夜躁狠狠躁日日躁av| 东北女人操逼| 国产精品成久久久久午夜午夜| 俄罗斯及免费在线看| 亚洲激情久久久伊人综合| 久久久男人的天堂| 夜色97| 亚洲综合骚逼| 国产丝袜一区二区三区| 久久久免费高清中文视频| 啊啊在线| 一区二区视频在看| 大屁股熟女一区二区三区| 老女人91| 亚欧美色图| 国产尤物在线三区| 国产AV中文| 黄色视频高清无码网站| 91精品女厕偷拍视频| 家庭乱伦性爱av| 狠日操| 久久久亚洲高清不打码| 欧美日韩第一页| 综合欧美日本三级| 混色激情av| 婷婷五月丁香五月| 精产国品一区二三产品| 综合97亚洲| 欧美激情一| 精品国产乱码久久久| 久久久91| AAAAAAAAA黄片| 青娱乐国产盛宴视频| 99热这里是精品| 日本一区二区三区欧美日韩中文字幕| 夜夜操av亚洲一区二区| 尤物视频新赏网鲜网色诱网| 这里只有精品97| 女欧美一区二三区| 不卡一区二区日本视频| 国产白嫩漂亮KTV在线| 强奸乱伦动态污图免费| 天天综合91在线| 亚洲在高跟鞋自慰久久在色线| 伦理日韩国产久久| 欧美操人视频| 亚洲一区日韩| 熟女AV一区| 久久风骚城市人| 1000部熟女视频在线观看| 草草网站影院白丝内射| 婷婷AV一区二区三区| 影音综合网| 少好三P| 国内毛片热久久思思热| 偷拍自拍在线视频观看| 秋霞男人网| 日本高清加勒比| 曰韩中文人妻视频| 午夜理论片在线观看免费| 精品少妇后入一区二区三区四区人妻巨乳 | 性色AV蜜色av色欲av| 亚洲精品人妻吞精av | 天天干天天狼在线视频| 桃色人妻在线视频| 俞拍久久国应视频| 日韩性爱播放| 国产成自自拍在线观看| 色妇综合网| 丁香六月激情| 啊啊啊啊在线观看网址| 欧美色干| 无码9区| 劲爆欧美人妖三区91| 国产福利一区二| AV九九| 欲色啪| 日本人妻丰满熟妇久久久久久| 亚洲色综合| 欧美性爱一区| 国产精品分类在线观看| 67914亚洲精品| 不卡六六在线91| 家庭乱伦国产| 9九九九九视频在线观看| 亚洲综合骚逼| 午夜超爽| 久久少妇人妻| 免费啪啪av| 国产污视频麻豆传媒一区二区| 中韩中文字幕在线观看| 色色色99| 插插综合网天天影视网| 色牛牛AV| 性生活性生大爱77AV国产| 国产欧美岛国精品一区| 综合欧美日韩在线| 日本一区二区亚洲综合| 啊啊啊啊视频免费| 97爱综合| 99久久久久| 99久在线精品99re8| 色黄色美女大长腿午夜视频| 在线亚洲精品久久久| 久久精品国产Aⅴ| 欧美日韩夜夜| 日本αv| 婷婷五月天久久精品视频一区二区三区 | 日韩成人大片在线观看| 噜噜噜噜天天狠狠| 久久99综合| 97精品97久久| 日本女人操逼| 麻豆精品.欧美精品.日韩精品.| 中亚精品极乱| 日韩有码 一区二区三区| 91丝袜激情在线| 18禁无码永久免费无限制| 绯色AV粉色AV蜜臀AV| 视频国产欧美在线播放| 欧美激情久久久久| 岛国片在线观看视频亚洲| 中文字幕丝袜| 日本天堂网| 日韩色| 91模特在线观看| 99热超碰| 国产精品激情久久久久久久| 99国产女人| 久久男人网| 日韩精品永久在线观看| 亚洲少妇在线观看| 国产欧美后入| 欧美精品人妻视频| 国产欧美日本亚洲精品| 亚洲91射| 97 亚洲 日韩 欧美 在线| 久久精品国产AV一区二区三区| 国产亚洲日本| 九九热免费国产视频婷婷伊人五月 | 国产精品久久久777| 2019久久久久久久久福利| 久久香蕉国产线看观看亚洲女人 | 色综合久久888| 综合激情二| 国产精品69久久久久孕妇欧美| HEYZO高无码国产精品227| 亚洲一二三四区| 青草香蕉网| 99热免费| 国语对白在线播放视频| 26uuu成人影片| 色97国产69香蕉| 91亚州欧美| 91粉嫩萝控精品福利网站_精品影音先锋国 | 爆操无码| 中文字幕日韩精品久久| 黑人精品欧美一区二区蜜桃| 大香蕉欧美国产日韩高潮| 久久久久国产一区二| 午夜福利一区二区影院| 99久久久| 青青草久久在线| 久久伊人在线五区| 丁香五月激情综合| 九月丁香综合网| 亚洲 中文字幕 精品| 亚洲丝袜二区在线| 色欧美在线| 黑人精品久久97| 欧洲射精91| 国产亚洲色婷婷久久99精品91| 人妻少妇被猛烈进入中| 好色综合| 99精品人妻| 日本黄色精品| 亚洲中文字幕av | 91 手机在线播放 绯色| 丁香五月影院| 18禁的网站在线| 日韩性爱人人爱人人操| 免费A片三p视频| 91天堂| 国产精品久久久久久夜夜夜夜| 久久国产对白激情浪潮| 日韩一区二区熟女| 91精品丝袜久久久久久无码人妻| 欧美超碰9798| 青青草日逼视频| 天美精品av| 亚洲天堂性爱| 亚洲色天堂日韩中| 日韩一区二区熟女| 国内精品999| 18一区二区三区| 口爆综合网| 老女人爆菊| 99爱在线视频| 欧洲天天在线| 欧洲免费一区二| 97精品久久久久久久| 日韩精品人妻系列无码天堂| 欧洲精品在线播放| 中文字幕免费观看| 一区二区视频你懂的| 日本天天干天天搞一区| 久久久久久久久久久久欧美日| 亚洲涩涩| 天天搞欧美| 99精品综合久久久久五月天| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 四虎精品亚洲| 国产精品一区二区后入| 人人妻人人色一区二区三区| 欧美,亚洲,日韩,v,天堂,手机在线观看| 欧洲与亚洲欧美精品中文字幕| 99热导航| 久久这里只| 欧美偷拍| 欧美性爱精品七区| 亚洲aV无码成人在线观看| 久久综合激情| 最新一二三区视频| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 日韩av不卡在线看| 日本三级韩三级99久久| 天天综合色电影| 欧美另类自拍 | 99.色网| 熟女中出视频| 人妻精品一区一区三区蜜桃91| 久久熟女嫩草成人片免费| 天美传媒AV在线播放| 欧美性爱精品七区| 久久亚洲av成人无码国产| 人妻天天夜夜爽一区二区| 嗯嗯,好大,好爽,好骚| 97av,com| 中国农村熟妇毛片视频| 免费簧片在线观看| 国产精品乱人伊人网| 天天天天天天天天综合| 男女国产精品| 欧美黄色大片在线观看| 五月婷婷六月色| 熟妇一区二区三区| 欧美亚洲天天| 国产一进一出视频网站| 超碰超碰95| 欧洲小说色图视频另类| 天天日天天操天天射河南省| 欧美日韩国产高清在线一二三区 | 久久肏大逼| 蜜桃视频精品一区二区| 加勒比av网| 尤物网站91| 六月婷婷色综合| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 偷拍偷窥与盗摄视频专区| 岛国毛片手机在线观看| 午夜成人福利影视| henhen91| 欧美精品自慰系列寂寞少妇| 精品久久大胆人体| 四虎影视国产精品| 国产精品网站免费| 精品久久久久久久久久久久| 色五月av| 自拍啪啪视频| 乱伦av麻豆| 亚州精品丝袜-不卡成人免费| 夜夜春夜夜操| 国语对白在线播放视频| 97视频7| 亚洲欧美综合| 久热婷婷| 少妇贴图| 久久婷婷视频| 一卡二卡三卡| 操人91| 98福利在线视频| 在线一道啪| 亚洲妇色| 国产精品国产自产高清AV| 国产怡红院| 日韩性爱长视频免费| 中文字幕日韩综合| 天天日天天干少妇日| 欧美在线视频99| 香港久久久| 色情五月综合婷婷| 人人操人人精品影片| 亚欧韩av| 欧美桃色网| 99热9| 丰满人妻一区二区三区免费 | 99在线观看无大码| 欧美Aⅴ| 欧美一二三区四五区| 欧美视频一| 欧美久久婷| 久久久久久网址| 狠狠爱综合网| 国产白丝av| 天天干天天操天天拍| 啊啊啊好多水| 日韩av熟女一区二区三区成人| 亚洲黄色视频在线观看视频| 欧美日韩性感| 久久在线观看免费视频| 欲射影视| 免费黄色A片| 大香蕉综合网| 秋霞男人网| 欧美人妻久久精品二区三区| 大香蕉欧美国产日韩高潮| 国模少妇一区二区三区| 亚洲色宗合| 香蕉一区二区三区在线视频 | 男人天堂毛片| 图色综合网| 国产成人免费观看在线视频| 手机在线大香蕉| 欧美老妇综合网| 日本欧美亚洲高清在线看| 91老司机视频| 97丝袜亚洲在线播放| 九九碰九九爱97超碰| 日韩特级毛片免费观看全集| 天天摸夜夜操视频| 1024日韩| 天天操天天射天天日| 欧美在线第五页| 在线女人91| 精品国产一区二区三区香蕉欧美| 黄色工厂这里只有精品| 91色碰| 激情综合网亚洲| 新视频sss国产| 人妻av在线| 国产精品区在线12p| 密臀成人视频久久久| 国产老熟女| 日本九九九九| 影音先锋少妇| 精品久久久久综合无码| 国产成人主播| 99久久无色码| AV大香蕉| 高清无码 国产精品| 欧美成人性爱视频在线播放| 天操天操夜操夜月操月年年操操| 5252色欧美在线| 亚欧性爱在线无码| 丁香五月综合| 天天色,天天干,天天干| 久久激情婷婷| 撸无码不卡免费视频| 麻豆福利视频导航| 亚洲91av| 青青草中文-久久青草精品一区二区三| 日本色色视频网站| 一区二区三区美女超清| 丝袜美腿操av| 中出20p| 久久少妇人妻| 免费网站观看www在线观| 啪啪视频mP4| 美日韩成人| 成片免费观看视频大全| 午夜高清成人在线视频| 欧美日韩色综合网| 国产特级毛片AAAAAA高潮流水 | 狠狠图片青青草| 强奸少妇AV导航网| 久久人妻视频网| 99精品网| 丁香五月社区| 五月丁香啪啪| 久久人妻视频网| 日韩乱插| 婷婷在线精品| 91九九| 天天插天天操| 久久99综合| 91Chinese在线| 色优久久| 爱射综合| 精品女人999| 九九热精品免费视频| 黄污污污污| 人妻天天夜夜爽一区二区| 性欧美另类高清| 亚洲无套久久嗯嗯| 澳门人妻久久| 美女啊啊啊啊pc| 超碰99热中文字幕| 情色五月天网| 亚洲精品一卡二卡三卡福利视频网站| 亚洲高清少妇| 国产精品伦理| 99久久久| A 天堂| 日韩黄片视频试看| 人人操人人搞人人草| 午夜精品探花| 欧美亚洲| 五月天婷婷基地| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 亚洲欧美不卡线| 久久久久久九九九| 先锋影音av先锋一区| 秋霞网—男女啪啪亚洲免费体验区 | 久久人妻一区二区三区高清| 欧美日本视频一区| 精品日韩| 日韩性爱免费观看视频| 无码人妻丰满热妇又大又粗| 狠狠色丁香| 大香蕉碰| 亭亭在线资源| 91丝袜人妻| 十八禁啪啪视频| 国产欧美日韩一区二区三区| 强奸乱伦资源| 丝袜美腿诱惑亚洲欧美视频在线观看| 亚州精品丝袜-不卡成人免费| 六月丁香五月婷婷| 亚洲自拍欧美国产首页网曝| 亚洲在线观看| 亲子敌伦对白在线播放| 老司机老司机午夜影院| 九九亚洲视频| 超碰这里只有精品| 91综合网站| 欧美自拍偷拍综合图片| 激情视频网址| 男生女生啊啊啊啊| 亚洲色人阁| 国产亚洲精品av一区| 成人日韩欧美| A一级色女| 日本色日夜干| 久久99午夜精品一区人妻| 亚洲s在线观看| 色悠久久久av| 精品人妻一区二区三区四区石在线| 一级性爱视频免费观看| 亚洲精品亚洲人成人网| 欧美韩国你懂得在线 | 亚洲欧美激情另类色图| 超碰在线1234区| 日韩性爱长视频免费| 精品v日韩欧美国产| 毛片视频白嫩| 精品久久久一本一道| 热思思免费视频| 伊人久久88国产女| 9997se| 一级成人性爱| 在线人妻熟女一区二区三区四区五区| 日韩精品人妻中文字幕久久久| 91岛国动作片| 女人爽到高潮潮喷18禁网站| 曰本熟女视频| 91精品无码久久久久久久| 日本大片日本一区二区免费高清| 久久久久国产| 久久综合亚洲色1080p| 久超碰在| 精品人妻av区天天看片| 国产精品大香蕉| 五毛骚逼极品美女怕怕| A 在线网址| 欧美暴力猛交| 超碰精品日韩欧美国产| 青青草在线成人视频| 好涩综合| 亚洲精品男人的天堂| 亚洲图片小说欧洲| 日本肉体xxxx裸交| 亚洲双插| 精品国产精品一区二区| AV男人天堂网| 日本肉体xxxx裸交| 青青草五月天| 亚洲国产尤物yw在线观看| 97天天弄| 亚洲色图尤物视频| 国产精品不卡一区二区三区| 国产高清在线观看欧美| 性性久久| AV免费在线播放一区| 国产一区二区久久| 午夜久久无码1000合集| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 免费中文在线| 人妻 制服 日韩 中文 在线| 亚洲精品人妻在线| 中文日韩欧美熟| 无码免费精品高清| 超碰导航97| 亚洲天堂色图| 97色伦97色伦国产欧美| 91五月天| 久久久亚洲高清不打码| 亚洲电影91| 97精品综合久久| 少妇无码999| 欧美精品丝袜久久久中文字幕| 国产又黄又粗的视频| 欧美在线啊啊啊| 久久精品色欧美aⅴ一区二区| 综合亚州欧美| 国产后入精品| 成在线人在线观看视频| 狠狠亚洲| 91久久婷婷| 亚洲欧美另类激情小说| 国产精品91ai| 综合色99| av爱爱爱| 本道在线| 91在线美女| 影音先锋新男人| 色偷综合| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 亚洲无码成人精品| 欧美九一精品久久久熟妇| 农村妇女一级二级三级视频| 91视频精品| 欧美专区17页| 欧美熟妇乱码在线一区| 国产AV久久野战精品| 人妻少妇精品视频一区二区三区| 免费久久9999| 亚洲欧美中文日韩视频中国语| 青草精品视频-日本久久久久网站| 97欧美精品综合| 日韩中文字幕视频| 亚洲亚洲亚洲天堂天堂| 色情五月婷婷| A一区片| 美女91网址 | 萌白酱自拍视频| 国产AV中文| 成人片视频| 亚洲s在线观看| 日本女优在线视频福利| 国产一区二区三区高清视频| 九九久精品| 麻豆婷婷成人一二三| 亚洲一区二区三区四区视频| 一起草高清无码| 日本高清一本二本免费不卡| 国产原创精品| 欧洲色色| 乱色视频中文字幕| 伊人五月天婷婷| 男人午夜天堂| 欧美天天综合在线| 久久超碰av在线| 麻豆激情综合| 欧美精品第3页| 亚洲欧美国产成人综合不卡| 人人玩人人添人人澡免费| 99精品高潮| 国产美女激情| 人人操天天爽| 免费av大片| 国产91精品福利在线| 国产区日韩区在线观看| 亚洲春色欧美| 天天碰久久入| 久久九九热| 五十路熟女工口| 国产精品乱码久久久久久久久久久久| 国产欧美第五页| 亚洲Av无码成人精品国产| 乳欲人妻办公室奶水| A级毛片在线看免费| 亚洲黑人在线| 91美女视频| 天天综合网91| 欧美宗合网| 天天综合青苹果| 五月天婷婷社区| 97中文字幕一区| 亚洲欧美激情小说| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 日本欧美不卡| 97色操| 欧美激情视频一区二区| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 青青伊人这里只有精品| 无码丰满熟妇一区二区浪潮AV| 日婷婷| 日本性爱视频一级| 99这里只有精品国产| 黄色操人| 欧美Aⅴ| 一线黄色免费性爱片| 久久久久久久国产视频| 一区二区三区视频国产免费| 久久久亚洲欧美综合| 久久‘黄片视频| 一级久久性爱视频| 欧美成人精品A片免费一区99| 丁香五月激情五月| 国产第25页在线观看| 久久久无码av精| 伊人色综合网电影| 色狠狠色| 素人播放一区| 亚洲中文字幕妇伦久久| 久久五月天婷婷| 超碰成人国产| 亚洲午夜福利在线影院| 久久精品国产亚洲AV成人直播| 欧美一级黄片免费播放| 91精品黄在线观看| 欧美1727免费观看视频| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 亚洲综合小说另类图欧美视频激情小说色五月天| 大香蕉啪啪啪| 99精品久久| 我爱大香蕉| 亚洲色图在线视频| 91夜夜蜜桃臀1区2区3区| 久久99999| 91网站18+| 老熟妇91| 国产一区二区成人av在线播放| 国产精品人妻熟女aⅴ| 中文字幕在线日亚州9| 亚洲综合另类欧美久久久| 亚洲天堂自拍| 人妻熟女一区二区在线视频| 日韩免费福利在线观看| 黄色区免费观看中文字幕| 密桃99999| 青青草色插素人| 人妻激情在线视频| 1769成人国产精品视频| 日美免费黄片| 人人色人人射人人妻| 性欧美精| 在线免费观看高清无码视频| 国产女人91精品嗷嗷嗷嗷| 九九亚洲| 中文欧丝袜诱惑| 97视频在线免费观看| 美女午夜福利免费视频| 蜜桃精品一区二区三区ww| 后入福利| 操逼操2| 制服乱伦| 夜夜操一区二区| 亚洲交换| 欧美成人A√在线一区二区| 99热在线观看| 人妻内射一区二区在线视频| 精品国产乱码久久久| 日韩国产乱子伦App| 99re3这里只有精品| 加勒比综合a∨| 欧美激情性久久久久久| 91 手机在线播放 绯色| 麻豆天美在线喷水AV| 国产福利一区二| 欧美性天天影视| 伊人aaa| 1769一区| 综合色图,成人综合网| 欧美图片校园春色| 秋霞网—男女啪啪亚洲免费体验区 | 97 国产精品| 精品无码不卡视频| 亚洲欧美九九九| 亚洲国产97| 国产91久久九九免费精品无码| 少妇内射www在线观看视频| av三级电影在线播放| 综合色色婷婷| 欧美淫乱视频| 综合久久六月久久婷婷| 亚洲天堂自拍| 日欧操屄| 草伊人高潮喷水超碰| 偷拍精品一区二区三区| 99久在线精品99re8热| 中文字幕第95页| 久久国内| 人人噜夜夜操| 色色网91| 欲射影视| 欧美超碰在线| www.狠狠干.coom | 国产精品 亚洲情色| 91丝袜在线观看| 真实高潮91| 亚洲一区中文精品| 久久久久久性爱片| 操逼操2| 麻豆黄四叶草网站| 国产一区二区三区高清视频| 精品人妻一区二区三区-国产精品| 蜜臀99久久| 激情露脸爱| 日本性感人妻91| 丰满精品人妻少妇久久字幕| 日本日逼高清| 欧洲小说色图视频另类| 国产成人bd在线观看| 国产深喉| 无码又爽又硬又激情免费视频| 91美女在线| 日本美女性生活久久久久久久 | 色阁阁AV综合网| 操比国产| 舔足天天操天天射| 狠狠干狠狠干| 在线播放成人高清免费视频| 夜夜国产一区| 国产黄色小视频网站| 9 9无尺码天堂网| 中文激情网| 偷拍综合网| 欧美综合色站| 日日操丁香五月天| 97在线视频免费看| 亚洲激情av| 91麻豆天美| 蜜臀久久久国产| 免费久久精品麻豆一区二区av| 欧美日韩精品久久久久东北老熟妇| 天天日天天插| 久久黄片国产一区二区| 精品美女人人干| 激情AV| 国产AAAAAABBBBB| 99久在线精品99re8| 国产精品宅男免费| 女人久久久| 夜夜操中文字幕| 久久久久久久人妻| 日韩欧美福利视频看看| 精品综合久久久久久97| 欧美久久九九| 色呦呦呦在线观看视频| 全国男人天堂网| 亚州色站 日韩电影| 亚洲精品日韩国产欧美| 色色九区| 日韩久久艹| 亚洲天堂,男人| 国产精品麻豆视频网站| 67914在线兔费成人视频| av情色影音| 大香蕉综合| 久久综合国产精品国产| 男人天堂导航| 欧美亚洲涩涩| 亚州操操穴网| 亚洲最大无码中文字幕网站| 国内外内射高清视频| 欧美在线第五页| 日本精品国产视频| 五月丁香在线| 国产成人欧美一区二区三区的国产| 玖玖综合网| 嫩草91| 亚洲男人天堂2019| 亚洲成熟国产精品美女| 日本黄大片在线观看视频| 日韩本不卡视频在线观看| 色老汉色| 国产农村妇女一区二区| 日韩AC| 亚乱色| 一级做受视频免费是看美女| 亚洲美女高潮喷水视频| 另类视频在线| 国产精品。| 熟妇人妻精品一区二区视频色欲| 亚洲一区二区三区欧美日韩| 性爱乱伦视频免费| 日韩啊V| 1024精品在线| 欧美草草| 无码操逼天堂| 97伪v| 欧美黄色图片| 青青青国产| www.狠狠干.coom | 色在线视频导航| 超碰诱惑| 欧美亚洲天天| yazhououmeizongya| 亚洲精品1区| 欧美性爱一区二区三区四区| 青青草原狼av| 麻豆久久视频在线地址| 717影院理论午夜伦八戒| 国产综合永久精品日韩鬼片| 日韩人妻制服丝袜av| 国产精品久久久久久照片| 老女人综合网| 四虎精品永久在线播放| 后入式免费视频| 欧美天天性| 熟女熟妇伦久久影院毛片一区二区 | 精品久久无码午夜福利| 人妻少妇久久中文字幕一区二区 麻豆 | 综合久久中文字幕综合日韩精品| 天天做日日做天天欢。| 91高清无码下载| 日韩AV无码中文一区二区| 成人自拍三级在线观看| 日本成人A片网站| 手机在线中文字幕国产| 久久久久亚洲?V片无码V| 91人妻最真实刺激绿帽| 国产51色综合久久免费| 在线观看色视频| 黄色高清无码无码破解免费暗网| 精品一区二区成人| 全球成人中文在线| 亚洲丁香花色| 久久久精品国产亚洲伊人| 免費黃色視頻觀看一| 欧美强奸乱能| 亚洲一区二区三区四区视频| 人人爱人人操人人性| 性爱1区| 99热99色| 在线国产探花| www.99在线| 91色情黑丝搞鸡在线观看一区二区三区三州 | 91在线视频观看国产| 亚洲色 国产 欧美 日韩| 综合色99| 神马久久久久眼| 亚洲色图国产另类| 亚洲视频一二区| 国产97综合| 男人的午夜天堂| 午夜无遮挡男女啪啪视频| AV免费在线播放一区| 国产97色在线| 色综合中文字幕不卡| 狠狠色一区二区中文字幕| 欧美第五页| 超碰97资源网亚洲| 亚洲高清自拍| 乱伦a片视频| 久久激情综合| 亚洲日韩青青草色月| 人人搡人人肉久久精品| 91久久国产精品| 国产精品4p在线观看|