久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

任務(wù)調(diào)度器課程設(shè)計:基于C語言實現(xiàn)FCFS、SJF與RR調(diào)度算法

任務(wù)調(diào)度器課程設(shè)計:基于C語言實現(xiàn)FCFS、SJF與RR調(diào)度算法 簡介面向大二學(xué)生數(shù)據(jù)結(jié)構(gòu)課程設(shè)計基于C/C實現(xiàn)的任務(wù)調(diào)度器系統(tǒng)覆蓋任務(wù)隊列、調(diào)度模塊與交互主程序適合需要完成同類選題、理解隊列結(jié)構(gòu)與任務(wù)管理流程的學(xué)生參考。壓縮包共38個文件大小約40.97MB包含VS2019解決方案、C源碼、任務(wù)隊列與調(diào)度管理相關(guān)頭文件、測試主程序、可直接運行的exe以及pdb、obj、tlog等編譯調(diào)試產(chǎn)生的中間文件工程目錄清晰解壓后用Visual Studio 2019打開即可復(fù)現(xiàn)運行效果。已有207名學(xué)生學(xué)習(xí)下載說明該選題在課程設(shè)計場景中具備一定代表性。通過該項目可以完整走一遍任務(wù)調(diào)度器的設(shè)計實現(xiàn)過程掌握任務(wù)隊列構(gòu)建、任務(wù)狀態(tài)維護、調(diào)度策略設(shè)計等核心思路也能借鑒其模塊劃分、工程組織方式和類圖設(shè)計便于快速改寫成自己的課程設(shè)計代碼、報告與答辯材料。1. 任務(wù)調(diào)度器這件課設(shè)為什么值得認真做很多人拿到任務(wù)調(diào)度器這個題目的第一反應(yīng)是去翻操作系統(tǒng)里的進程調(diào)度算法結(jié)果發(fā)現(xiàn)課設(shè)要求的是用數(shù)據(jù)結(jié)構(gòu)去模擬調(diào)度過程而不是真的實現(xiàn)一個操作系統(tǒng)調(diào)度內(nèi)核。先來先服務(wù)要排隊短作業(yè)優(yōu)先要快速找出最小服務(wù)時間時間片輪轉(zhuǎn)要環(huán)形取任務(wù)這背后對應(yīng)的是隊列、優(yōu)先隊列和循環(huán)隊列的設(shè)計與編碼能力。正因為如此它才成為數(shù)據(jù)結(jié)構(gòu)課程設(shè)計里最常被選中的題目之一——題目不大但能同時考到結(jié)構(gòu)體、指針、堆、隊列和排序穩(wěn)定性。這份方案面向正在準備數(shù)據(jù)結(jié)構(gòu)課程設(shè)計的學(xué)生也面向想快速理清任務(wù)調(diào)度器完整實現(xiàn)思路的開發(fā)者給出的是從需求分析、數(shù)據(jù)結(jié)構(gòu)選型、模塊劃分到C語言核心實現(xiàn)的一整套可落地參考。適合拿來做C/C課設(shè)的藍本也適合在答辯時應(yīng)對你為什么要這樣設(shè)計的追問。2. 需求分析與技術(shù)選型先確定調(diào)度規(guī)則再決定用堆還是隊列2.1 課設(shè)任務(wù)書里最容易被忽略的四個需求點先別急著寫代碼我會把任務(wù)書拆成四個必答項。第一必須支持的調(diào)度算法。常見組合是FCFS先來先服務(wù)、SJF短作業(yè)優(yōu)先、RR時間片輪轉(zhuǎn)三種部分題目還會要求動態(tài)優(yōu)先級調(diào)度。第二任務(wù)輸入方式。多數(shù)要求從文件或控制臺讀入任務(wù)列表每條任務(wù)包含任務(wù)ID、到達時間和服務(wù)時間。第三結(jié)果輸出。通常要求打印調(diào)度順序、每個任務(wù)的開始時間、完成時間、等待時間、周轉(zhuǎn)時間以及平均周轉(zhuǎn)時間。第四邊界行為。比如兩個任務(wù)同時到達、服務(wù)時間相同、任務(wù)到達時間錯峰這些場景決定了算法能否正確處理排序穩(wěn)定性。以最常見的輸入文件為例5 T1 0 8 T2 1 4 T3 2 9 T4 3 5 T5 4 2第一行是任務(wù)總數(shù)之后每行依次是任務(wù)ID、到達時間、服務(wù)時間。表面上簡單但隱含了一個容易漏掉的需求任務(wù)不是一開始全部到達調(diào)度器必須在current_time小于下一個任務(wù)到達時間時等待。我一般會在需求分析里專門寫一條支持任務(wù)錯峰到達這樣設(shè)計就完整了。需求分析還會直接影響編碼邊界。比如如果任務(wù)書要求輸出每個任務(wù)的開始時間那Task里還需要記錄start_time如果要求支持任務(wù)隨機生成那么輸入層就要加一個生成器函數(shù)。很多同學(xué)拿到題就開寫寫著發(fā)現(xiàn)字段不夠用又回頭改結(jié)構(gòu)體來回浪費一個下午。我通常的做法是先在紙上畫一個輸入的樣例、一個輸出的樣例把字段對齊了再動鍵盤。2.2 數(shù)據(jù)結(jié)構(gòu)選型優(yōu)先隊列、普通隊列和數(shù)組各司其職任務(wù)調(diào)度器的核心數(shù)據(jù)結(jié)構(gòu)是就緒隊列但不同算法對隊列的要求彼此沖突。FCFS只需要先進先出用循環(huán)隊列即可SJF每次要選出服務(wù)時間最短的任務(wù)用最小堆最合適RR要按順序循環(huán)取任務(wù)本質(zhì)上又是循環(huán)隊列。如果只用數(shù)組加排序硬扛每來一個新任務(wù)就重新全排序代碼難寫且復(fù)雜度高更重要的是答辯時說不清楚為什么用這個結(jié)構(gòu)。因此在完整方案里我會同時實現(xiàn)兩個就緒容器一個二叉堆用于SJF和優(yōu)先級調(diào)度一個循環(huán)隊列用于FCFS和RR。二者都以Task指針為元素通過相同的隊列接口操作。下面這個表是我放在課設(shè)報告里的選型對比數(shù)據(jù)結(jié)構(gòu)適用算法核心操作時間復(fù)雜度循環(huán)隊列FCFS / RR入隊、出隊、判空O(1)二叉堆最小堆SJF / 優(yōu)先級調(diào)度插入、取最小、堆化O(log n)數(shù)組全部算法存儲原始任務(wù)、按id索引O(n)有一點需要特別說明SJF里的最短是指服務(wù)時間最小當服務(wù)時間相等時按到達時間排序。這就要求堆的比較函數(shù)不是只看service_time而是先比service_time再比arrive_time否則兩個服務(wù)時間相同的任務(wù)順序可能與手算結(jié)果不一致。這是后面的避坑章節(jié)里最容易翻車的一個點。在這個選型階段還有一個容易被當成玄學(xué)的點為什么時間片輪轉(zhuǎn)也要用隊列而不是鏈表。鏈表插入刪除雖然方便但循環(huán)隊列在固定大小任務(wù)數(shù)組的課設(shè)場景下更簡單不需要頻繁malloc/new。如果任務(wù)數(shù)上限已知預(yù)分配一個MAX_TASKS容量的數(shù)組用head和tail兩個下標維護隊列幾乎沒有內(nèi)存管理負擔。鏈表方案可以作為加分項寫在擴展思考里但核心代碼用循環(huán)隊列更容易講。2.3 用C還是C封裝與調(diào)試成本的權(quán)衡如果允許自由選擇語言我會優(yōu)先用C而不是C。原因有三第一C的結(jié)構(gòu)體和指針能直觀展示任務(wù)節(jié)點、堆、隊列之間的關(guān)系答辯老師很容易看出你掌握的程度第二C的STL會把priority_queue、queue這些容器都包裝好代碼量少了但老師一句你講講最小堆的堆化過程就可能答不上來第三C程序用gdb調(diào)試堆數(shù)組和隊列更透明每次push/pop后都能直接查看data數(shù)組的順序。如果你更習(xí)慣C也可以用class封裝Scheduler和Task但必須自己管理析構(gòu)和拷貝避免淺拷貝導(dǎo)致指針重復(fù)釋放。這個方案里給出的代碼以C語言為基準同時在注釋里標注了C改進點。我這里建議課設(shè)代碼控制在三個源文件main.c負責(zé)流程控制scheduler.c負責(zé)算法實現(xiàn)task_queue.c負責(zé)堆與隊列的操作。模塊清晰答辯時分頭講解很從容。選型確定后下一步需要把數(shù)據(jù)結(jié)構(gòu)封裝成統(tǒng)一接口讓調(diào)度算法不感知底層是堆還是隊列。比如我定義一組入隊、出隊、判空函數(shù)堆和循環(huán)隊列都實現(xiàn)同一套函數(shù)名內(nèi)部各自維護自己的存儲方式。這樣的抽象能讓后續(xù)切換算法時只改動一行設(shè)置代碼也為第3章的總體架構(gòu)設(shè)計做了鋪墊。3. 總體架構(gòu)設(shè)計三層結(jié)構(gòu)與五類模塊的職責(zé)劃分3.1 頂層分層輸入層、調(diào)度核心層、輸出層任務(wù)調(diào)度器整體采用三層結(jié)構(gòu)。輸入層負責(zé)解析任務(wù)文件、校驗數(shù)據(jù)比如任務(wù)數(shù)不能為0、服務(wù)時間不能為負數(shù)、時間片必須大于0等。調(diào)度核心層維護任務(wù)狀態(tài)機和三個調(diào)度算法這一層不關(guān)心數(shù)據(jù)是從文件還是控制臺來的。輸出層負責(zé)打印調(diào)度順序和統(tǒng)計指標。這樣的好處是算法切換不會影響輸入輸出新增算法時只需要在核心層添加一個函數(shù)。在課設(shè)報告里我會用一個模塊劃分表來說明模塊文件職責(zé)關(guān)鍵結(jié)構(gòu)/函數(shù)main.c解析命令行參數(shù)、組織流程Scheduler結(jié)構(gòu)體task_queue.c循環(huán)隊列與最小堆的操作enqueue、dequeue、heap_push、heap_popscheduler.c三種調(diào)度算法的狀態(tài)推進scheduler_fcfs / sjf / rroutput.c打印調(diào)度順序、計算統(tǒng)計量print_schedule、calc_avgmain函數(shù)中先用load_tasks()讀取任務(wù)數(shù)組再根據(jù)命令行參數(shù)創(chuàng)建Scheduler調(diào)用scheduler_run()最后調(diào)用print_result()。我會特別在main函數(shù)里保留一個打印中間狀態(tài)的開關(guān)調(diào)試時開啟答辯演示時關(guān)閉。在三層結(jié)構(gòu)的邊界上我還會留一個hook點調(diào)度核心層只暴露一個scheduler_run()接口和一個scheduler_set_algorithm()設(shè)置函數(shù)。這樣main.c無需關(guān)心算法內(nèi)部是用了堆還是隊列如果日后想支持動態(tài)優(yōu)先級搶占只需在Scheduler里增加一個priority字段并在比較函數(shù)中增加一條判斷即可。這種設(shè)計看似多寫幾行代碼但在答辯中被問到可擴展性時就能拿出實際的函數(shù)接口來證明而不是只說思路。3.2 任務(wù)狀態(tài)機新建、就緒、運行、完成任務(wù)不能共享同一塊隊列就完事每個任務(wù)都有自己的生命周期。我給Task設(shè)計一個state字段枚舉值分別代表NEW新建、READY就緒、RUNNING運行、FINISHED完成。調(diào)度流程是這樣的所有任務(wù)初始都是NEW當current_time推進到某個任務(wù)的到達時間時把它插入就緒隊列并置為READY調(diào)度器從就緒隊列取一個任務(wù)置為RUNNING并運行任務(wù)運行完成后置為FINISHED。以RR舉例任務(wù)T1第一次被調(diào)度時state由1變?yōu)?運行一個時間片未完成state回到1并插入隊尾等第二次出隊再次變?yōu)?運行完畢才變?yōu)?。如果沒有這中間一次READY回縮任務(wù)就可能在第二次被取出時還被當作RUNNING導(dǎo)致調(diào)度器認定它還在運行而不重新分配。狀態(tài)機把這個問題轉(zhuǎn)化成了簡單的枚舉判斷代碼里一眼能看清。這個狀態(tài)機最大的價值是避免重復(fù)入隊。RR算法里一個任務(wù)執(zhí)行完一個時間片但沒結(jié)束會被放回隊尾此時它的狀態(tài)應(yīng)該是READY而不是RUNNING而一個已經(jīng)FINISHED的任務(wù)如果因為下標判斷失誤再次被掃描到就會重復(fù)入隊。有了state每次入隊前檢查一下不是READY和RUNNING就能提前攔住錯誤。3.3 調(diào)度核心模塊統(tǒng)一接口與三個算法的策略選擇調(diào)度核心層我不會寫成三個相互獨立的大函數(shù)而是定義一個Scheduler結(jié)構(gòu)體來統(tǒng)一管理typedef struct { int algorithm; /* 0-FCFS 1-SJF 2-RR */ int time_slice; /* RR使用 */ int current_time; Task *tasks; int task_count; int finished_count; } Scheduler;然后提供一個scheduler_run()入口內(nèi)部通過switch調(diào)用不同的調(diào)度函數(shù)。每個調(diào)度函數(shù)只負責(zé)把task的finish_time寫好不直接打印結(jié)果。這樣統(tǒng)計模塊永遠從finish_time字段取數(shù)不會因為全局變量被改而算錯。使用統(tǒng)一接口還有一個微觀好處統(tǒng)計模塊在調(diào)度完成后遍歷任務(wù)數(shù)組不需要知道剛才跑的是哪個算法。算法的選擇只影響每個任務(wù)的finish_time不影響后續(xù)計算。這也讓main.c的代碼量大幅減少從開始到讀入?yún)?shù)再到輸出結(jié)果不超過60行。三種算法的推進邏輯分別是FCFS按到達順序入隊任務(wù)執(zhí)行完才讓出CPUSJF每步從最小堆堆頂取任務(wù)同樣不可搶占RR每個任務(wù)最多運行一個時間片沒做完就重新入隊尾部。對比來看SJF和FCFS都是運行到結(jié)束只是選擇順序不同RR才會在運行中途打斷。答辯時我會主動說出這個區(qū)別表明算法并不是簡單換排序。3.4 統(tǒng)計指標模塊周轉(zhuǎn)時間、等待時間與平均數(shù)的計算課程設(shè)計通常要求輸出平均周轉(zhuǎn)時間所以統(tǒng)計模塊要獨立于調(diào)度模塊。每個任務(wù)調(diào)度完成后只記錄finish_time統(tǒng)計時再統(tǒng)一計算周轉(zhuǎn)時間 finish_time - arrive_time等待時間 周轉(zhuǎn)時間 - service_time帶權(quán)周轉(zhuǎn)時間 周轉(zhuǎn)時間 / service_time。平均周轉(zhuǎn)時間則是所有任務(wù)周轉(zhuǎn)時間之和除以任務(wù)數(shù)。這里有一個容易踩坑的細節(jié)打印帶權(quán)周轉(zhuǎn)時間時如果用整數(shù)除法9/8會變成1而不是1.12。我會用浮點數(shù)保存結(jié)果printf保留兩位小數(shù)。另外當任務(wù)服務(wù)時間為0時帶權(quán)周轉(zhuǎn)時間會做除零運算我在輸入校驗里直接禁止服務(wù)時間小于等于0從根上規(guī)避掉這個黑匣子問題。輸出格式我建議用表格對齊方式比如每行打印任務(wù)ID、到達時間、服務(wù)時間、完成時間、周轉(zhuǎn)時間、帶權(quán)周轉(zhuǎn)時間。最后單獨一行打印平均周轉(zhuǎn)時間和平均帶權(quán)周轉(zhuǎn)時間。這樣的打印結(jié)果可以直接貼進課程設(shè)計報告不需要再手工整理。4. 關(guān)鍵實現(xiàn)堆、隊列與三種調(diào)度算法的落地代碼4.1 任務(wù)結(jié)構(gòu)體與最小堆的實現(xiàn)代碼從Task定義開始typedef struct Task { int id; /* 任務(wù)ID從1開始 */ int arrive_time; /* 到達時間 */ int service_time; /* 服務(wù)時間 */ int done_time; /* 已經(jīng)運行的時間RR用 */ int finish_time; /* 完成時間 */ int state; /* 0新建 1就緒 2運行 3完成 */ } Task;就緒容器我采用兩個獨立結(jié)構(gòu)體的方案先看最小堆typedef struct PQueue { Task *data[MAX_TASKS]; /* 存儲任務(wù)指針 */ int size; /* 堆中元素個數(shù) */ } PQueue; void heap_push(PQueue *h, Task *t) { int i h-size; h-data[i] t; while (i 0) { int p (i - 1) / 2; if (compare(h-data[i], h-data[p]) 0) { Task *tmp h-data[i]; h-data[i] h-data[p]; h-data[p] tmp; i p; } else { break; } } } Task *heap_pop(PQueue *h) { Task *top h-data[0]; h-data[0] h-data[--h-size]; int i 0; while (1) { int l 2 * i 1, r 2 * i 2, smallest i; if (l h-size compare(h-data[l], h-data[smallest]) 0) smallest l; if (r h-size compare(h-data[r], h-data[smallest]) 0) smallest r; if (smallest i) break; Task *tmp h-data[i]; h-data[i] h-data[smallest]; h-data[smallest] tmp; i smallest; } return top; }這段代碼的邏輯是heap_push從數(shù)組末尾上浮heap_pop先將堆頂與末尾元素交換并下沉正好對應(yīng)堆的兩個核心操作。MAX_TASKS采用宏定義如#define MAX_TASKS 100避免動態(tài)擴容引出的指針失效問題。compare函數(shù)是優(yōu)先級判定的核心int compare(Task *a, Task *b) { if (a-service_time ! b-service_time) { return a-service_time - b-service_time; } return a-arrive_time - b-arrive_time; }返回值小于0表示a應(yīng)排在b前面。這與普通排序的cmp函數(shù)保持一致。很多同學(xué)在這里會犯方向性錯誤寫成b-service_time - a-service_time導(dǎo)致最小堆變成最大堆這是最典型的翻車點。4.2 FCFS與SJF調(diào)度實現(xiàn)FCFS采用循環(huán)隊列這里給出調(diào)度主體的最簡版void scheduler_fcfs(Scheduler *sched) { CQueue q; init_queue(q); int next 0; while (sched-finished_count sched-task_count) { while (next sched-task_count sched-tasks[next].arrive_time sched-current_time) { sched-tasks[next].state 1; enqueue(q, sched-tasks[next]); next; } if (is_empty(q)) { sched-current_time; continue; } Task *t dequeue(q); t-state 2; t-finish_time sched-current_time t-service_time; sched-current_time t-finish_time; t-state 3; sched-finished_count; } }注意兩個細節(jié)第一個while負責(zé)把到點的新任務(wù)放入隊列第二個if用于處理隊列為空且任務(wù)尚未全部到達的情況這時current_time逐秒推進會稍慢但邏輯最簡單。如果追求效率可以直接跳到下一個任務(wù)的到達時間但仍要處理下一個任務(wù)也沒到齊的邊界。SJF與FCFS的結(jié)構(gòu)非常像只是把循環(huán)隊列換成最小堆取任務(wù)時從堆頂取void scheduler_sjf(Scheduler *sched) { PQueue h; h.size 0; int next 0; while (sched-finished_count sched-task_count) { while (next sched-task_count sched-tasks[next].arrive_time sched-current_time) { sched-tasks[next].state 1; heap_push(h, sched-tasks[next]); next; } if (h.size 0) { sched-current_time sched-tasks[next].arrive_time; continue; } Task *t heap_pop(h); t-state 2; t-finish_time sched-current_time t-service_time; sched-current_time t-finish_time; t-state 3; sched-finished_count; } }這段代碼與FCFS最大的區(qū)別在于兩處一是就緒容器由隊列變成堆二是隊列為空時不再用current_time而是直接跳躍到下一個任務(wù)的到達時間。跳躍寫法在SJF里更合理因為堆為空代表此刻沒有可執(zhí)行任務(wù)繼續(xù)逐秒加一不會改變堆中的內(nèi)容。4.3 時間片輪轉(zhuǎn)RR的實現(xiàn)與隊尾回插RR需要維護每個任務(wù)已經(jīng)運行的時間done_time時間片time_slice由命令行傳入。核心代碼void scheduler_rr(Scheduler *sched, int time_slice) { CQueue q; init_queue(q); int next 0; while (sched-finished_count sched-task_count) { while (next sched-task_count sched-tasks[next].arrive_time sched-current_time) { sched-tasks[next].state 1; enqueue(q, sched-tasks[next]); next; } if (is_empty(q)) { sched-current_time; continue; } Task *t dequeue(q); if (t-state 3) continue; /* 防御已完成任務(wù)不入隊 */ t-state 2; int need t-service_time - t-done_time; int run_time need time_slice ? time_slice : need; t-done_time run_time; sched-current_time run_time; if (t-done_time t-service_time) { t-state 1; enqueue(q, t); /* 沒做完放回隊尾 */ } else { t-finish_time sched-current_time; t-state 3; sched-finished_count; } } }這段代碼里最關(guān)鍵的是回插動作任務(wù)每輪只能運行一個時間片如果還沒完成done_time加滿當前時間片后重新入隊。需要特別注意的是回插的任務(wù)不能被重復(fù)計算到達時間所以next指針只負責(zé)新到達任務(wù)回插直接走enqueue隊列尾部。防御性的state3判斷是血淚經(jīng)驗曾經(jīng)有同學(xué)在任務(wù)完成瞬間又被調(diào)度器取出就是因為狀態(tài)沒有置為完成。4.4 命令行參數(shù)與運行配置為了讓課設(shè)更完整我會讓程序支持命令行參數(shù)./scheduler -a sjf -t input.txt -o result.txt -q 2各參數(shù)含義如下表參數(shù)說明默認值-a調(diào)度算法fcfs/sjf/rrfcfs-t任務(wù)文件路徑input.txt-o結(jié)果輸出文件stdout-q時間片大小RR2main函數(shù)中用getopt解析參數(shù)并用switch判斷算法。文件不存在或參數(shù)非法時打印輸入文件不存在不直接崩潰。這樣設(shè)計的好處是演示時可以在答辯現(xiàn)場用同一份任務(wù)文件分別跑三種算法對比輸出效果比只看代碼好得多。參數(shù)表可以放在設(shè)計文檔中代碼里只需要一個結(jié)構(gòu)體SchedConfig來保存。5. 常見問題與避坑指南五個最容易翻車的地方任務(wù)調(diào)度器這個課設(shè)代碼量不大但翻車點很集中。我見過的模擬項目里十個同學(xué)有七八個都卡在下面這幾類問題上。這里按現(xiàn)象→原因→解決的順序整理方便你在答辯前快速自查。5.1 比較函數(shù)方向?qū)懛醋疃倘蝿?wù)反而最后執(zhí)行現(xiàn)象SJF調(diào)度輸出里服務(wù)時間最短的任務(wù)出現(xiàn)在序列最后運行時間反而像最長作業(yè)優(yōu)先。 原因最小堆的compare返回值語義與預(yù)期相反。我見過很多初學(xué)者寫compare時參考qsort的寫法結(jié)果在堆的siftDown里又套了一層balance 0的符號翻轉(zhuǎn)負負得正。 解決統(tǒng)一約定compare(a,b) 0 表示 a 優(yōu)先級高于 b堆頂永遠存放compare值最小的元素。寫完compare后先把三個任務(wù)服務(wù)時間6、2、4按順序插入堆再全部彈出檢查是否得到2、4、6。這個測試只需10秒能避免后面所有算法結(jié)果錯亂。我一般會在單元測試代碼里直接寫上這個用例作為回歸檢查。5.2 時間片輪轉(zhuǎn)里任務(wù)重復(fù)入隊程序死循環(huán)現(xiàn)象RR運行到某個任務(wù)后發(fā)現(xiàn)它被調(diào)度了兩次或者printf刷屏不斷執(zhí)行同一個任務(wù)。 原因任務(wù)已經(jīng)完成但狀態(tài)沒有置為FINISHED或者調(diào)度器在新到達任務(wù)掃描時重復(fù)處理了已經(jīng)入隊的任務(wù)。 解決強制使用任務(wù)狀態(tài)機入隊前檢查state是否為NEW或FINISHED。更直接的防御是在調(diào)度器入口加一個斷言if (t-state 3) continue;同時維護一個next下標只掃描尚未入隊的新任務(wù)禁止每輪都從頭遍歷整個任務(wù)數(shù)組。這兩種手段疊加后重復(fù)入隊基本被根除。5.3 任務(wù)錯峰到達時程序卡在空隊列等待現(xiàn)象用全是0時刻到達的測試數(shù)據(jù)一切正常換成錯峰到達后程序要么長時間無輸出要么直接跳過任務(wù)。 原因調(diào)度器在隊列為空時沒有處理下一個任務(wù)還沒到達的情況。FCFS里用current_time能僥幸跑通但SJF里如果也這么做遇到下一個任務(wù)到達時間跨度很大程序會做大量無效循環(huán)觀感上像死機。 解決隊列為空時直接把current_time跳到下一個待入隊任務(wù)的到達時間。SJF代碼里的sched-current_time sched-tasks[next].arrive_time;就是這個用途。需要注意的是跳躍前要確保next下標有效也就是next task_count。否則說明所有任務(wù)都已經(jīng)處理完這本來也是退出循環(huán)的條件。5.4 動態(tài)分配產(chǎn)生的野指針和內(nèi)存泄漏現(xiàn)象程序測小數(shù)據(jù)正常加到50個任務(wù)后偶發(fā)崩潰或者使用valgrind檢查時發(fā)現(xiàn)一堆invalid read。 原因Task數(shù)組用malloc動態(tài)分配而隊列data數(shù)組里保存的是Task指針當任務(wù)數(shù)組被realloc擴容時舊指針全部失效。這是最典型的野指針來源。 解決課程設(shè)計場景下直接在棧上定義固定大小數(shù)組Task tasks[MAX_TASKS];并先讀入任務(wù)數(shù)再檢查是否超過MAX_TASKS。如果一定要動態(tài)分配就一次性malloc最大任務(wù)數(shù)不要做realloc。對于隊列中的指針只要任務(wù)數(shù)組地址不變指針始終有效。檢查泄漏時在gdb或valgrind下跑一遍完整測試會大大降低翻車概率。5.5 輸出結(jié)果與手算不一致平均周轉(zhuǎn)時間算錯現(xiàn)象調(diào)度順序看起來對但平均周轉(zhuǎn)時間比手算大很多或者帶權(quán)周轉(zhuǎn)時間出現(xiàn)1.00這種明顯不合理的數(shù)值。 原因統(tǒng)計時用全局current_time而不是任務(wù)自身的finish_time。由于RR會反復(fù)切換任務(wù)某個任務(wù)完成時current_time可能已經(jīng)被后續(xù)任務(wù)推進過直接用當前時間減到達時間必然出錯。 解決在任務(wù)完成時就把t-finish_time記錄好統(tǒng)計模塊只從finish_time字段取值。打印前先逐個輸出每個任務(wù)的arrive_time、finish_time、周轉(zhuǎn)時間與手算表逐項比對。這里我踩過一個坑帶權(quán)周轉(zhuǎn)時間用整數(shù)除法9/8算成1后來全部改成double輸出加上%.2f結(jié)果才正常。6. 驗收與答辯把課設(shè)做到能演示、能講透6.1 功能驗收清單在提交前我會用一個包含5個任務(wù)、3種算法的測試文件跑完整流程并對照手算結(jié)果。下表是最低驗收標準檢查項通過標準輸入解析能正確讀取文件非法參數(shù)給出提示不崩潰FCFS調(diào)度順序與手算完全一致SJF最短任務(wù)最先執(zhí)行服務(wù)時間相同時按到達順序RR每個任務(wù)每個時間片只運行一次回插正確統(tǒng)計平均周轉(zhuǎn)時間、平均帶權(quán)周轉(zhuǎn)時間保留兩位小數(shù)魯棒性任務(wù)數(shù)0、時間片0、文件不存在均能友好退出6.2 答辯演示流程答辯時只講三條主線需求、選型、驗證。先花半分鐘說這個課設(shè)解決的問題是讓一組任務(wù)在三種調(diào)度策略下得到不同的執(zhí)行序列并量化對比再用同一組數(shù)據(jù)分別跑FCFS、SJF、RR指著輸出說SJF的平均周轉(zhuǎn)時間比FCFS低因為短任務(wù)優(yōu)先完成。最后結(jié)合代碼解釋為什么要用堆——SJF每次取任務(wù)需要O(log n)如果改用順序查找整體復(fù)雜度就到O(n2)。老師如果要你展示代碼優(yōu)先展示compare函數(shù)和RR的回插邏輯這兩個點最能體現(xiàn)出對數(shù)據(jù)結(jié)構(gòu)的理解。演示前準備一頁打印紙左側(cè)輸入、右側(cè)三個算法的輸出老師提問時不會因為現(xiàn)場敲命令而冷場。如果時間充??梢渣c亮一個debug模式開關(guān)打印每個時間片的就緒隊列內(nèi)容這會讓演示顯得很扎實。這套完整的課程設(shè)計資源包含可編譯運行的C源碼、任務(wù)生成與測試用例、設(shè)計文檔框架和答辯PPT提綱拿到后可以直接對照修改。建議在動筆寫報告前先跑通功能再回頭整理文檔效率會高很多。我最初做模擬項目X時也曾在RR里把任務(wù)重復(fù)入隊調(diào)試到半夜翻車后來養(yǎng)成的習(xí)慣是每改一次算法先拿三個任務(wù)做手算再到程序里打印current_time和隊列內(nèi)容比對。從那以后我每次做調(diào)度類的課程設(shè)計都會強制自己走一遍手算結(jié)果 → 程序輸出 → 差異分析的流程。希望這份方案能幫到你少踩幾個坑。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99爱久久视频频| 九九九九九九视频| 熟妇艹鸡八| 91精品丝袜久久久久久无码人妻| 久久久99999久网站| 麻豆AV96熟妇人妻| 精品少妇一区二区三区| 五月天亚洲色图| www.色吧5.com| 欧美不卡在线一区二区| 亚洲综合精品国产一区| 玖色AV| 日日日啊啊啊| 99国产精品| 日韩乱伦影音先锋| 男插女青青影院| 欧亚日韩中文在线| 三级激情网站| A一级色女| 亚洲熟女av中文字幕| 欧美色视频在线| 色五月综合| 亚洲自拍欧美色综合| 九九九九九九九九九国产精品 | 久久久久极品| 91n.欧美| 欧美日韩另类在线播放| 人妻无码后入| 欧美色91| 国语精品内射在线观看| 久久久久久久少妇| 少妇高潮一区二区三区在线| 日熟女| 欧美在线官网| 熟妇一区,二区,三区。| 性在久久久久久| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 国产11页| 91制服丝袜| 日本免费中文字幕在线| 91粉芽高清在线一区二区| 黄资源| 亚洲熟女综合网| 国产大学生口爆吞精合集| 欧美日韩m| 玖玖爱视频网站| 日本国产高清色www视频在线| AV天堂丝袜| 欧美后入式| 欧美人妻精品一区二区| 欧美 亚洲精品首页| 九月丁香婷婷色| 久久日韩毛| 日韩精品人妻中文字幕不卡乱码| 日韩免费a级毛片无码a∨| 亚洲综合20p| 97超碰在线资源网站| 欧美桃色网| 啪啪免费| 蜜臀网 一区| 色妺妺在线视频| 91精品操美女| 天天操av懂色| 欧美性xxxxx狂欢| 欧美少妇大量自拍视频在线观看| 夜夜爽夜夜| 丁香六月激情综合| 国产欧美精选激情视频| Aa东京男人的天堂| 欧美黄片视频在线观看免费| 日1区2区3区2020| 精品性爱一区二区| 怡红院成人视频| 婷婷在线视频| 日韩97| 色女女女导航| 久久久久久电影| 麻豆AV96熟妇人妻| 色综合av男人天堂| 91无码精品| 大香交伊人网| 亚洲一曲日韩精品| 操死我了啊啊啊| 天天操天天舔| 超碰免费人妻在线| 99天天超碰| 少妇人妻好深太紧了vr91| 小明看看网址| 久久久98网站免费视频| AA级电影三区| 很狠操| 国产原创剧情在线丝袜| 男人的天堂一区| 欧美 亚洲 制服 精品| 啪啪啪精品| 91丝袜美腿片| 欧美久久九九| ,成人免费啪啪视频| 97精品久久久久中文字幕| 欧美日韩 强奸乱伦| 九九精品网| 天天综合网91入口| 欧美中出1| 69XX一中文字幕人妻91| 久草久日| 99国产精品免费| 91快色色色色色| 中英熟女操女| 亚欧美无遮挡| 欧美黑人与女人91~| 日韩AV无码中文一区二区| 国产久久天堂资源| 97在线无精品| 熟女丝袜视频| 国产精品成人蜜臀AV在线| 特污精品女优骚货黄色视频在线免费观看| 99色婷婷中文字幕乱色| 五月天婷婷久久| 成人无遮挡毛片免费看| 久久久无码视频| 欧美 亚洲 大香| 97五月天| 婷婷性爱| 亚洲精品久久久久久久久豆丁网| AV无码久久久精品| 国产毛片在线| 激情黄色片在线观看| 大香交| 最新精品久久蜜桃 | 在线播放成人网站| 国产亚洲精品美女久久久久久2021| 蜜臀久久99精品久久久久久酒店 | 蜜臀久久在线视频| 自拍丝袜美腿人妻| AV色天香在线| 玖玖97综合| www.婷婷| 99热国产| 99久久婷婷| 亚洲成人久久一区二区| 亚洲 中文字幕 精品| 欧美不在线| 色综合 加勒比| 久久伊人在线五区| 黄色成人网久久久久久| 你草精品在线视频| 日本女厕偷拍| 黄页大片在线观看| 欧美国产日韩清纯唯美| 超碰av在线| 免费农村成人少妇人妻Aa一区二区视频 | 自拍鲍鱼一区在线高清观看免费| 亚洲蜜乳av| 国产偷人伦激情在线观看| 综合亚州欧美| 欧美日韩亚洲少妇寂寞影院正在播放 | 五月婷婷hd| 猛交交| 久插综合| 揉揉揉夜夜| 国产一区二区二区按摩精品啪视频| 影音先锋日本乱伦| 九九热视频在线观看| 欧美精品91| 高清孕妇孕交 交孕妇| 亚州欧美色图| 99无码视频| 精品无码一二三四区| 日日骚一区二区三区| 台湾一区国产高清在线| 亚洲综合五月天婷婷丁香| 成人五月天色网| 国产9熟妇视频网站| 欧美日韩国产成人高清| 花野真衣| 91精品丝袜久久久久久| 久草五月| 丝袜美腿操av| 东亚亚洲无码高清| 亚洲人91| 伊人久久大香线蕉无码| 一区二区 电影 亚洲| 91精品导航| 国产美女mm131爽爽爽爽| 国产综合久久久鬼色| 中国少妇啪啪视频| 日本一级一级一级一级| 麻豆天天躁天天揉揉AV| 一区三区啪啪| 黑人粗大V S日韩女优视频| 久久久国产av美女私房| 九九拍拍精品视频在线播放| 91福利网在线观看| 草b在线 | 欧美真人抽搐一进一出gif| 91超级碰| 久久人妻| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 在线观看午夜婷婷久久久久清性观看| 天天懆天天日| 亚洲日韩久久精品一区| 亚洲欧美中文日韩视频中国语 | 美女黄页| 日韩美女啪啪一区| 操91| 日韩啪啪网| 成年人免费观看网站| 无码高清专| 久草热制服丝袜在线观看| 日韩性爱1级片视频| 日本大香蕉| 欧美精品23| 女生自91网站| 日逼国产| 精品九九| 91真人天天在线| av网页一区二区三区| 欧美 亚洲 另类 综合| 国产精品久久久久久高清无码免费看| 色情亚洲日本成人| 蜜桃视频成a人v在线| 日韩综合97P| HEYZO高无码国产精品227| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 国产精品久久久久久久久AV大片| 亚洲欧美不卡线| 97视频7| 亚洲欧美国产成人综合不卡| 亚洲开心网| 色综合加勒比四四季| 乱伦图一区| av影院十区| 欧美不卡在线美女| 少妇啪啪自拍| 亚洲色交| 伊人玖玖网| 婷婷丁香熟妇综合网| 秋霞色色影院| 九九九只有精品| 一区二区三区精品黑丝白丝酒店对鸡| 精品九九国产无码| 999久久久免费精品国产牛牛| 人妻久久久久久久久久久久久久久| 欧美色图97| 天天摸天天操视频| 再深点灬舒服灬太大了好硬好爽| 2020久久免费视频| 爱丝福利| 免费看污网站| 六月婷婷综合| 亚洲制服aⅴ中文字幕| 亚洲男人天堂网站| 人妻天天爽夜夜爽2| 色综合五月天| 夜色AV无码手机在线影院 | 少妇二级| 风流老熟女一区二区三区l| 91熟女丨老女人| 亚洲男人天堂2013| 日韩情色视频| 91碰碰碰| 91综合在线| 欧美伦乱| 91超碰丝袜制服| 欧中美三级一区二区三区| 91n处女在线观看| 91碰碰| 熟妇xxxxx性春色| 男人天堂欧美| 九九热午夜欧亚国产视频| 亚洲欧美精品91| 日本免费一级AAA大片器| 色色九区| 欧美亚洲在线| 熟女熟妇一区二区三区视频| 亚洲欧美91√| 欧美国产有色电影| 久久神马影院| 久操操| 丁香五月天啪啪| 夜嗨影院| 95自拍视频在线观看| 97在线观看免费视频| 撸无码不卡免费视频| 超碰久久精品| 久9爱经典视频| 麻豆国产成人精品| 1204av韩国| 久久香蕉国产线看观看亚洲女人| 美女上床网站| 97亚洲色图| AV天黑人| 91蜜桃传媒精品久久久一区二区| 成年人免费观看网站| 久久综合久色欧美综合狠狠| 亚洲日韩乱码中文无码蜜桃臀网站| 欧美综合第一| 亚州综合图片| 久久精品99久久久久久| 欧美在线综合| 蜜臀Av一区二区三区| 941超碰| 日本精品一区二区三| 97超色| 亚洲人精品午夜不卡| 色五月AV在线| 91综合天天| 高潮9999外国| 亚洲第一黄色av网站| 亚洲欧美综合网站| 欧美日韩亚洲少妇寂寞影院正在播放 | 欧美中日韩XXXX| 日比av无码| 97亚洲欧美| 人人人摸人人| 看日韩操逼| 成人av动漫在线观看| 91chinese在线| 美女刺激久久国产欧美| 10000部十八禁看电影| 男人的天堂欧美| 高潮综合网| 国产AV线| 一级乱伦网站| 黄色AAAAA欧美| 性爱乱伦一区| 国产视频三区四区| 日本熟妇精品九九| 96久久久久| 一级做a爰片性色毛片久久| 97在线精品观看视频| 99热只有这里有精品| 清柠毛片| 亚洲日韩欧美一区二区| 久久久不卡| 日韩成人精品| 91精品久久久久久77777| 情侣开房子拍 日韩无码 女的很漂亮| 欧美成人色| 快播电影网日韩新片| 亚洲天天在线| 在线亚洲丝袜视频网站| 粉嫩av在线一区二区| 欧洲天天在线| 91青青在线| 丝袜美腿制服人妻二区中文字幕| 99只有精品| 99草精| dy888午夜老子影视达达兔 | 伦在线97| 天天肏天天干| 午夜精品久久久久久久99蜜桃一| 丝袜内射| 另类小说欧美激情校园春色| 日韩人妻免费精品| 曰本熟女视频| 日韩无码人妻| 五月天激情小说网| 超碰综合97在线| 三级日韩一区二区三区| 深爱激情五月天| 超碰97亚洲区| 欧美的性爱网站免费| 校园春色制服丝袜中文字亚洲| 中文字幕一区二区三四五区日日骚| 久久超碰网| 日韩免费性爱视频在线观看| www被窝色com| 国产成人欧美一区二区三区的国产| 中文字幕一区 二区三四五 区日 日骚 | 亚洲精品美女久久久久久久久| 亚州综合电影| 2017人人操,人人摸| 啊啊啊啊啊啊在线看| 久久大香蕉97| 91在线无码精品秘 软件| 密臀AV在线| 91人妻人人澡人人爽人人精品| 大香网伊人久久综合| 98福利在线视频| 精品久久无码午夜福利| 丁香婷婷激情五月天无毒不卡| 狠狠超| 最新欧美色网| 亚洲欧美另类小说| 美女人妻色网站| 夫妻天天操岛国视频| 亚洲操操| 97欧美日韩| 狠狠干,狠狠操| 国产精品另类一区大香蕉| 国产高清MV操逼视频| 中文字幕超碰CAO| 成人小说视频在线精品欧美| 国产AV天美| 精品美女久久久久| 天天日天天操VV| 操逼不卡中文字幕| 久久久久久久久女黄| 在线观看综合精品亚洲| 青女偷拍网| 国产乱码久久| 99re免费视频精品全部| 青木玲在线不卡| 国产精品干干干| 女上位精品在线| 91精品人妻电影| 婷婷10月天青娱乐| 欧美色偷拍| 男女啪啪网站免费视频| 一牛一区二区三区久久| 国产高清无码一区二区三区四区皇冠| 亚洲视频精选| 色哟哟-国产专区| 大香焦A片| 亚欧美色图| 黄污污污污| a片在线播放| 亚洲男人的天堂在线看| 亚洲国产欧美中日韩成人综合视频| 操久久久久| 打av高清| 超碰九色| 国产精品露脸在线观看| 999色欧美中文字幕| 亚洲国男人的天堂| 免费观看国产小粉嫩喷水精品午| 日韩BBN| 男人的天堂在线2| 国产精品免费日韩| 97超碰欧美手机| 99九九久久| 1769精品一区二区三区| 亚洲一区二区三区春色| 伊人网在线点播| 亚洲狼狼干综合1| 亚洲成人美女无吗| 人人弄人人摸| 精品丰满熟妇人妻一区| 欧美日本天堂| 亚洲精品819| 国产人妖视频一区在线观看| 亚洲开心网| 婷婷九月国产| 强上我不卡卡| 丁香六月啪啪| 欧美顶级黄色大片免费| 日韩欧美亚洲自拍偷拍| 97久操| 亚洲精品 欧美精品| 欧美成人9797| 亚洲无码99| 久久精视频美日韩在线视频| 操国产逼| 国产黄色剧情影片麻豆免费播放| 97综合久第一页| 99xav| 校园春色综合| 99久久婷婷国产综合精品草原| 在线观看高清AV| 亚洲国产成人综合碰碰三级经典| 少妇人妻在线| 久操视频免费观看| 九九av| 国产人妻精品一区二区三区秋霞 | 人人操人人摸人人看人人干| 久久精品国产精品一区| 午夜一区| 丰满少妇一区二区三区免费看| 智利AV在线网| 欧美熟女丝袜| 亭亭在线资源| 美熟女逼导航AV操逼| 91在线色| 蜜臀久久在线视频| 999综合色| 天天做天天爱天天爽AV| 成人老鸭窝人人在线视频| 精品国产乱码久久久久A| 91色色色| 六六久久日韩不卡| 六月婷激情福利天堂69| 欧美嫩性色| 国产少妇与亚洲av| 爱干爱射网啊啊啊| 久久久久久中文版| 极品色电影院| 久欲AV| 天天综合网亚洲综合网| 欧美最婬乱婬爆婬牲视频| 91色人| 黄页网站成人免费| 亚洲高清自拍| 肏逼视频日本| h4610国产人妻| 玖玖玖玖精品国产剧情| 99久re热视频精品98| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 啊a一区在线| 日本丝袜美腿人妻九九| 77国产精品| AV色五月天| 丰满欧美放荡少妇在线| 91人妻人人澡人人爽人人精品| 老妇女91| 自拍偷拍亚洲熟女妇人精品| 亚洲黄色网址视频| 中文字幕第页| 91天美传媒在线| 婷婷五月天色网| 友优传媒精品在线一区二区| 欧美日韩啪啪电影| 特级丰满少妇一级AAAA爱毛片| 日韩性爱视频免费在线| 麻豆天美国美国产| 亚洲日韩欧美一区二区| 91色插| 国内亚洲高清无码| 思思热免费视频观看| 人妻嗯啊啊在线播放| 欧美性爱一内片一区二区三区| 男女激情中文字幕| 成人草草视频| 天天欧美欧美亚洲网| 中日韩久久人妻一区二区| 色香综合天天影视综合| 中文字幕在线观| 国产精品女生av| 一区二区娱乐网站| 欧亚不卡| 自拍六区| 综合久久六月久久婷婷| 欧美亚洲玖玖玖| 熟妇高潮精品一区二区三区下载| 91久久婷婷| 亚洲成人性| 欧美后进式| 久久久久久久六六| 国产乱伦视频污| a级理论午夜日本| 国产农村妇女精品一| 大茄子熟女AV导航| 99热99在线播放激情| 欧美黑人XXXⅩ高潮交| 果冻传媒A片一二三区| 欧美激情久操网| 激情综合网五月婷婷| 精品九九九九九九九| 日本精品一区二区不卡| 欧美劲爆视频一区二区| 99青青草国产视频| 黄片www视频免费| 五月天色图| 校园春色宗合网| 日B操| 蜜桃视频精品一区二区| 亚州精品人妻一二三区| 综合 欧美 亚洲 日本| 国产乱婷婷精品二区三区| 清纯唯美激情| 色婷五月| 欧美成人精品一区二区男人蜜臀| 91精品女厕偷拍视频| 91 国产丝袜在线放观看| 欧美日韩制服| 丁香五月激情婷婷| 日本熟妇自慰性高潮一区二区三区| 国产黄色在线播放观看| 国产污视频麻豆传媒一区二区| 欧美天堂在线| 97色碰| 殴美色网| 丝袜大香蕉| 久久日韩肥臀| 97人妻碰碰中文无码久热丝袜| 视频在线中文字幕| 国产一级作爱毛片| 麻豆区久久久久亚| 在线观看黄色电话| 婷婷久久久精品| 黄片在线免费在线观看| 国产AV天美传媒一区二区三区 | 久久久久久九九九| 99国内精品| 欧美国产精品久久九九| 一道本东京热加勒比一区二区三区 | 麻豆视频test| 网站A V在线| 大香蕉中文aV在线| ji熟女.com| 熟女网站最新| 欧美日韩性爱操大逼| 呻吟 欧美 日本 中出| 伦理片秋霞免费影院| 一区e区三| 婷婷五月天色| 欧美精品二区视频在线| 国内操逼视频二区| 成人性爱美曰韩| 91国产丝袜白虎| 九九热精品视频在线观看| 大奶的诱惑| 精品国产污一区二区三区| 欧美不卡在线一区二区| 亚洲伊人久久精品影院| 丁香五月婷婷基地| 亚洲成人激情小说视频| 蜜臀久久99精品久久久久久无删减 | 乱操9999| 思思热在线| 偷拍精品一区二区三区| 精品人妻一区二区乱码一区二区| 自拍偷拍 日韩无码| 人妻少妇精品久久久久久| 国产av高清版| 日韩卡一卡二卡三在线| 一区二区三区看视频| 青青草视频爽一爽| 久久香蕉国产线看观看猫咪av| 欧美色九九| 中文久久一区| 亚洲国产激情国产av| 看全色黄大色大片免费视频| 欧美中字不卡| 看看小穴| 国产亚洲禁久一区二区| 亚洲精品一区二区日本| 国产后入清纯| xxx亚洲午夜天堂| 亚洲精品人妻吞精av| 久久综合九色综合欧洲98| 九七人妻在线| 亚洲精品天天影视综合网 | 又粗又长又大国产不卡| 亚洲文学偷乱拍啪啪啪啪| 97WW精品| 久久老子无码午夜伦不卡| 精品一区二区国产日韩| 97资源站日韩| 欧美激情亚洲情色| 夜夜嗷嗷一区二区| 欧美不卡在线美女| 五月色网| 国产精品无码av| 国内偷拍精品一区二区| 欧美综色欧| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 把腿张开老子CAO烂你| 日本韩高清无砖码22o| 亚洲,欧美,综合网| 亚洲黄a三级三级三级看三级| 99re6久热只有精品6在线直播| 91干熟女| 一本一道vs波多野结衣| 精品久久久久久无码| 亚洲男人天堂av| 91欧美www| 97久久天天综合色天天综合色电影| 91殴美大片| 美女啊啊啊啊pc| 亚洲成人av色网| 99自拍视频| 婷婷深爱五月| 亚洲精品中文字幕一区在线视频| 日韩性爱视频在线免费观看| 国产精品直播在线观看直播| 欧美天天射| 久久久久久九九九九九 | 亚洲国产精品久久久男人的天堂| 亚洲天堂另类小说男人| 国产日本熟女顶级一区二区三区视频 | 91精品国产日韩欧美综合| 欧美岛国精品在线观看| 中文字幕国产在线天堂| 色牛aV| 亚洲欧美另类激情小说| 啪啪啪综合网| 女人天堂av在线播放| 91视频综合网| 亚洲中文字幕在线视频一区二区| 日韩在线观看三级电影| 亚洲欧美第一页| 欧美日本成人一区二区| 啪啪性爱免费视频| 欧美日韩性爱电影在线| 天堂俺去俺来也www久久婷婷| 99国产精品视频尤物| 欧美亚洲色图另类国产| 大色综合网| 中日高清无码操逼视频| 狠狠操狠狠插| 99999久久久久9国产精品| 日韩AV一区二区三区三州三州| 在线天堂999| 97精品97| 久久久96精品| 999久久久国产精品| 日韩欧无码一区二区三区免费不卡 | 欧美人妻中出| 91色伦| 色97干| 超碰在线人妻中文字幕| 午夜亚洲国产理论秋霞| 天天综合网在线| 超碰久久草| 精品久久久一本一道| 97网色| 男女做爰猛烈动高潮A片免费应用| 樱花蜜乳av| 免费毛片在线播放| 精品久久久九九九孕妇| 蜜屁Av| 亚洲天堂资源在线| 被窝影院午夜看片无码| 看黄片视频免费| 在线 制服丝袜中出 人妻| 情色av电影| 日韩成人人妻网站| 午夜性生活av免费在线看| 国产一进一出视频网站| 丁香五月婷婷啪啪| 一区 欧美 日韩 麻豆| 福利五区| 亚洲āv网址在线观看| 亚洲最大AV网| 亚州操操穴网| 女人天堂网| 2017av无码免费无线播| 国产午夜激片Av毛片不卡| 人人乐大香蕉| 欧美丝袜美女电影一二三四区| 凹凸精品熟女在线观看| 国产精品无码在线| 中文字幕制服欧美久久一区| 青青草AV色| 26uuu欧美日韩| 一区二区三区精品黑丝白丝酒店对鸡| 亚州色图欧美| 欧美天天性| 日韩成人大片在线观看| 国产AV天美| 日韩十八禁| 午夜激情床戏激情| 九九九九九九九精品视频| 最好看的中文字幕在线2018| 婷婷五月丁香五月| 久久九操在线观看| 无码高清操逼网址| 国产天美欧美| 欧美丝袜中文字幕07在线| 天天日天天搞天天干| 亚洲 国产 精品一区| 日韩淫色网| 久久久久久久久9| 亚洲 欧美 天天| 丰满欧美少妇| 久久精品72| 91精品国久久久久久无码| 美女黄码视频午夜| 好一吊区二区| 天天肏天天干| 黄色香蕉视频网站一区| 亚洲?V无码专区在线电影| 日本丝袜人妻内射| 天天躁日日躁AAAXX| 天天综合91在线| 国产精品乱码久久久久久久久久久久| 青青操少妇| 99热国产精品| 九九九九九九九九九国产精品| 免费一二区| 国产成人欧美一区二区三区的国产| 国产极品美女高潮无套在线观看 | 午夜男人天堂| 91爱看| 亚洲欧美综合网| 被操高清无码视频| 亚洲砖码砖专无区2023| 久久久蜜桃一区二区三区| 夜夜嗷嗷一区二区| 综合少妇网| 丰满人妻被猛烈进入中| 亚洲制服欧美另类内射| 欧美久久草熟女| 欧洲精品久久| 97九色| 亚洲色图殴美色图激情乱伦| 理论久久婷婷网 8| 屁股久久久久久久久| 999999精品| 狠狠色噜噜狠狠狠狠狠色综合久久| 99热精品在线观看| 国产乱青青草久久| 永久电影三级在线观看| 97国产成人精品免费视频| 欧美成不卡网| 亚洲图片小说欧洲| 园内精品自拍视频在线播放| 美女尤物福利视频| 免看60秒涩涩视频| 大学生口爆吞精| 久久极品一区二区| 午夜九九| 女人被男人桶爽视频网站| 性站 | 黄色区免费观看中文字幕| 伊人天堂在线| 日本黄色精品专区网站| 亚洲激情av| 亚洲丝袜99| 久热影视| 大香蕉综合| 搡老女人老熟女91老熟女综合网| 日韩一级成人毛片免费观看| 日本精品国产视频| 欧美人体性爱互联网第一页婷婷日本| 亚洲一区日韩| 日日日日做夜夜夜夜做无码97| 综合国产影视三级| 欧美亚洲国产自久久| 欧美AB在线| 激情综合五| 色综合大香蕉| 婷婷激情四射| 91白嫩| 国产激情视频在线观看| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 超碰97精品| 婷婷色综合| 亚洲中文丝袜美腿诱惑字幕| 伦理片秋霞免费影院| 99爱爱| a级成人毛片免费视频高清| 91美女看B| 亚洲第一黄色av网站| 日韩无码AB| 国产操操日韩三级黄| 少妇内射www在线观看视频| 国产极品粉嫩馒头一线天av| 天天综合网久久ww| 久久精品福利影院| 超碰天天操| av绯色| 97少妇人妻中文字幕久久| 国产精品自在自拍视频| 久久9精品网站| **一级毛片国产| 99re视频在线播放青草| 日韩三级一区| 亚洲精品国产精品成人| 插老姨肥穴| 欧美不卡二区| 九九九九一区| 97人肏| 操逼视频色| 人妻素股| www.婷婷| 一级人妻性爱视频| 天综合网欧美| 综合网色| 欧亚无码视频| 九九九九一级| 九九AV| 日韩欧美亚欧在线视频| 神马影院午夜福利久久久| 蜜臀操逼黄色视频操的好爽| 亚洲精品电影| 熟女一区二区| 福利在线观看一区二区| 十八禁黄色| 麻豆AV一区二区| 日韩欧美国产一区二区三区四区| 欧美日韩人妻精品一区二区三区| 色婷婷丁香五月| 欧美中文字幕日韩在线| 日本五区不卡| 人妻日日夜夜精品| 多乙久久久久久| 欲香欲色| 亚洲中文字幕一区| 99999精品视频| 黄色免费网页无码| 亚州综合色| 制服诱惑亚洲一区二区三区在线观看| www.久久99| 两女互慰AV高潮喷水在线观看| 免费男人的天堂| 91精品人妻一区二区三区蜜桃臀| 首页中文字幕中文字幕免费| 国产深夜福利| 久久久久久裸体| 久久久久9久久久久| 亚洲无码久久久久久久| 成人线上超碰| 亚洲色图片区| 96国产污污污丝袜| 91天天日| 色九月婷婷| 国语精品内射在线观看| 在线日韩日本亚洲国产| 亚洲另类色综合网站| 粉嫩国产精品久久久| 97人人模人人爽人人| AV一起草在线| 久久精品| 99re黄 | 中国zzijzzijzzwww精品| 啊啊啊好想要| 日韩内| 狠狠操狠狠燥| 97在线观看免费视频l| 久久精品欧美一区蜜桃| 人人插人人搞人人操| 人妻献身系列第54部| 亚洲97在线观看| 欧美日韩制服| 2003天天干夜夜操| 9999九九九久久久| 日韩人妻无码精品系列| 一区=区三区视频| 亚洲成人碰碰| 五月丁香婷婷综合| 亚洲成av人片色午夜乱码| 亚洲欧美自拍偷拍| 日本人妻中文字幕精品| av毛片aaaaa免费看| 欧美色女人| 国产97在线 | 亚洲| 亚洲美女精品九九视频| 极品美女嘿咻| 久久午夜神马| 高颜值美女口爆高潮浪叫| 欧美性爱无码一区二区三区| 国产粉嫩蜜臀av一区二区三区| 99无码| 欧美999| 一起草三级AV电影在线观看| 免费成人自拍视频在线| 午夜精品久久一区二区| 婷婷婷婷婷婷久久久久| 91狠狠| 亚洲 无码 偷拍| 国产午夜福利专区综合| 不卡中文字幕aⅴ在线| 日日操免费视频| 三级激情网站| 国产色精品午夜大片| 日本高清一区二区在线| 极品极品色影院| 920日本午夜免费| 91在线页| 久久久性爱视频| 天天综合网~91入口| AV男人天堂网| 亚洲图片91| 最新亚洲黄色免费电影| 成人影院永久免费观看网址| 一级性爱啪啪视频| 国产懂色精品国产av| 激情综合久久| 97国产精品国| 老女人碰碰在线碰碰视频| 久久久成人免费av电影| 亚洲美女精品九九视频| 家庭乱伦麻豆| 亚洲国产婷婷在线播放| 日韩午夜啪啪视频| 中文伊人大香蕉视频| 日本啊啊啊啊啊视频| 一本色道久久综合熟妇| 日逼97| 日韩字幕一区| JULIA一区二区三区在线播放| 在线 制服丝袜中出 人妻| 哈哈操电影AV| 久久9精品网站| 亚洲日韩国产精品| 精品一区二区成人| 91视频国品一二三区| 一牛一区二区三区久久| www.人人摸在线视频| 国产乱伦搜索结果91P| 91精品人妻电影| AV色天香在线| 综合网亚洲1| 大二网站亚洲| 人人操人人狠狠操| 久久免费看高潮毛片韩国| 久久久91福利姬| 丰满人妻aA一区二区三区| 色久桃花影院在线观看| 啪啪视频mP4| 99这里只有精品| 女同女同恋久久级三级| 日本在线一二| 91碰碰| 综合影院永久入口国产| 国模精品一区二区三区苹果色戒 | 欧洲成人性爱视频| 国产一区96在线| nuu12国产麻豆精品| 亚洲一区在线观看欧洲 | 乱伦av.com| 色女网日韩| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 人人人人插| 有码人妻系列| 国产精品丝袜在线| 国产亚州高清国产拍精| 狠狠搞 亚洲91| 人人操人人肉久久精品| 国产精品免费视频人成| 亚洲免费97免费| 女人精品内射国产99| 97自拍视频在线| 亚洲大色鬼| 国产99精品一区二区三区免费| 久久发布国产伦子伦精品| 少妇激情一区二区三区视频| 亚洲蜜桃V妇女| 亚洲色悠悠久久88| 日日操免费视频| 欧美日韩222| 九九综合九九综合| 久久精品小视频| 淫淫综合网| 色区久久| 91综合无码| 丁香九月激情| 久久久久久人体| 欧美99热| 高精欧美色| 日日碰狠狠添天天爽超| 福利天堂| 青娱乐欧美激情一区二区| 精品十三区| 高潮毛片无遮挡高清免费| 日本丝袜美腿人妻九九| 色综合av综合久久| 五月久久HDAV| 日本精品一级二级三级| 久操B网| 成人精品无码| 欧美专利1区2区3区4区5区免费| 超碰色老头| 亚洲另类久操网| 操屄日韩| 美女AV一区二区| 午夜啪啪片| 青久久| 九九综合色| 97超碰超碰| 国产a级精品| 国产一在线观看| 高清不卡 中文 人妻| 亚洲AV无码成人精品久久| 欧美日韩中文字幕不卡| 久久午夜伦| 免费观看成人www精品视频| 欧美性暴力猛交XXXX| www.91理论| 欧美97av| 性色avv| 亚洲免费在线探花| 91天天爽| 国产精品91一样| 天天日天天搞天天干| 精品欧美日韩在线观看| 人妻av在线| 伊人热综合| 美女黄码视频午夜| 狠狠操综合| 操逼视频国产无套| 91日日夜夜| 欧美极品女人的天堂| ji熟女.com| 欧美在线电影| 91偷拍欧美亚洲| aⅴ日韩成人电影av在线免费看av大全| 大香蕉一人| 亚洲情色1区| 午夜欧美女人操逼| 好爽免费视频| 日韩精品电影| 中文字幕在线播放2中文字幕在线观看2| 试看日韩黄片| 精品9999| 亚洲天堂另类小说男人| 亚洲综合中文字幕有码| 国产精品人妻无码久久久互動交流| 青娱乐手机日韩在线视频| 五月丁香影院| 亚洲 自拍偷拍 欧美| 超碰人妻97| 亚洲青青草| 久久伊人在线五区| 女人高潮抽搐喷水视频网站| 亚洲黄片免费在线播放| 国产美女91| #NAME?| 久久久久久久久久久久久久9999| 萌白酱自拍视频| 东北少妇高潮zzzz| 香港久久久| 久久九精品| 欧美日日夜夜| 日日干夜夜干| 国产亚洲日本精品在线| 日韩AV无码网站| 黄页av| 久久久无码精品人妻二区 | 欧美人妻一区二区| A啊啊在线观看| 天美国产精品| 亚洲高清在线| 欧美日韩性爱操大逼| 美女自卫慰黄网站免费| 久久黄色视频一区二区三区| 亚洲综合影院| 青青操国产夫妻| 亚洲好色人妻| 国产视频小说| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | AV男人天堂网| 国产精品久久久九九九| 熟女色图在线| 一牛影视久久久一区二区三区| 狠狠色色| 亚洲福利中文字幕在线| 18禁网站在线播放| 草草影院日本第一页| 韩日色费| 亚洲黄片免费在线播放| www国产无码| 清纯唯美亚洲综合| 9Ⅰ老熟女| 久久久久久久9| 美欧色综合| 日本一区二区三区四区五区六区七区八区九区| 99精品丰满人妻无码| 超碰精品人妻狠狠干| 嗯嗯啊啊啊好舒服| 日韩人妻精品久久久久| 欧美色综合影院| wwwcaobibi| 黄片www.| 日欧操屄视频| 99久久网站| 欧美操人| 午夜天堂精品久久久久91| 日本高清久久| 丁香五月婷婷基地| 久久极品伊人| 91亚洲不卡一区| 久久久久久久久久久久久久久乱码| WWW4虎| 艾草av| 久久日本熟女精品一区| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 久久是精品|