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

ARTICLE DETAIL

資訊詳情

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

基于Java的操作系統(tǒng)課設(shè):FCFS作業(yè)調(diào)度、RR進(jìn)程調(diào)度與內(nèi)存管理聯(lián)動(dòng)

基于Java的操作系統(tǒng)課設(shè):FCFS作業(yè)調(diào)度、RR進(jìn)程調(diào)度與內(nèi)存管理聯(lián)動(dòng) 簡(jiǎn)介一份面向計(jì)算機(jī)相關(guān)專業(yè)學(xué)生的操作系統(tǒng)課程設(shè)計(jì)源碼與報(bào)告包圍繞作業(yè)調(diào)度、內(nèi)存管理、進(jìn)程調(diào)度與進(jìn)程阻塞喚醒四個(gè)核心模塊展開。項(xiàng)目用隨機(jī)數(shù)初始化10個(gè)作業(yè)進(jìn)入后備隊(duì)列采用先來先服務(wù)FCFS完成作業(yè)調(diào)度內(nèi)存中最多駐留5個(gè)進(jìn)程處于阻塞狀態(tài)的進(jìn)程仍占用內(nèi)存就緒和運(yùn)行狀態(tài)進(jìn)程以時(shí)間片輪轉(zhuǎn)RR算法調(diào)度首次適應(yīng)FF算法負(fù)責(zé)內(nèi)存分配進(jìn)程結(jié)束時(shí)回收并合并空閑分區(qū)整體串成結(jié)構(gòu)清晰、模塊劃分明確的可直接運(yùn)行的控制臺(tái)演示程序。壓縮包共8個(gè)文件以4個(gè)Java源文件為主可直接導(dǎo)入IDE調(diào)試另附PDF與Word課設(shè)報(bào)告、Markdown說明和License文件便于閱讀設(shè)計(jì)、整理文檔。包體約1.28MB體量緊湊已有約259人學(xué)習(xí)下載適合操作系統(tǒng)課設(shè)參考算法組合、代碼框架與報(bào)告寫法。1. 基于 Java 的操作系統(tǒng)課設(shè)作業(yè)調(diào)度、內(nèi)存管理與進(jìn)程調(diào)度怎么串成一條線操作系統(tǒng)課設(shè)最怕的不是某個(gè)算法寫不出來而是作業(yè)調(diào)度、內(nèi)存管理、進(jìn)程調(diào)度各寫各的最后拼不到一起。這份基于 Java 的控制臺(tái)課設(shè)把 FCFS 作業(yè)調(diào)度、RR 時(shí)間片輪轉(zhuǎn)、FF 首次適應(yīng)內(nèi)存分配和進(jìn)程阻塞喚醒全部串在一條主流程里10 個(gè)隨機(jī)作業(yè)從后備隊(duì)列一步步走進(jìn)內(nèi)存、上 CPU、被阻塞、再被喚醒整個(gè)過程在控制臺(tái)就能看到。適合正在做操作系統(tǒng)課設(shè)、特別是“老師要求多個(gè)算法聯(lián)動(dòng)而不是單獨(dú)演示”的 Java 學(xué)生。我拆完源程序和報(bào)告后發(fā)現(xiàn)它最大的價(jià)值不是某個(gè)算法寫得漂亮而是把“作業(yè)調(diào)度 → 內(nèi)存分配 → 進(jìn)程調(diào)度 → 阻塞喚醒 → 內(nèi)存回收”這個(gè)完整閉環(huán)講清楚了。接下來按模塊拆開講每個(gè)部分都能直接照抄進(jìn)你自己的課設(shè)。2. FCFS 作業(yè)調(diào)度與后備隊(duì)列10 個(gè)作業(yè)怎么排隊(duì)進(jìn)內(nèi)存2.1 作業(yè)調(diào)度和進(jìn)程調(diào)度為什么必須分開很多同學(xué)會(huì)把作業(yè)調(diào)度和進(jìn)程調(diào)度混成同一個(gè)東西這是第一個(gè)認(rèn)知坎。作業(yè)調(diào)度也叫高級(jí)調(diào)度它決定的是“哪個(gè)作業(yè)能從磁盤后備隊(duì)列進(jìn)入內(nèi)存”進(jìn)程調(diào)度也叫低級(jí)調(diào)度它決定的是“內(nèi)存里已經(jīng)就緒的進(jìn)程下一個(gè)誰上 CPU”。這份課設(shè)的流程是先用隨機(jī)數(shù)生成 10 個(gè)作業(yè)放進(jìn)后備隊(duì)列作業(yè)調(diào)度采用 FCFS先來先服務(wù)每次從后備隊(duì)列頭部取一個(gè)作業(yè)但這個(gè)作業(yè)能不能進(jìn)內(nèi)存還要看內(nèi)存里并發(fā)進(jìn)程數(shù)是否達(dá)到上限。上限是 5 個(gè)。這里有個(gè)關(guān)鍵設(shè)定阻塞狀態(tài)的進(jìn)程依然占著內(nèi)存也就是說就緒、運(yùn)行、阻塞三種狀態(tài)的進(jìn)程數(shù)加起來最多是 5。我當(dāng)初第一次看這個(gè)設(shè)定覺得奇怪后來想明白了——這是在模擬“內(nèi)存空間被占用”的現(xiàn)實(shí)約束不是每個(gè)進(jìn)程都能立刻進(jìn)內(nèi)存。所以作業(yè)調(diào)度觸發(fā)時(shí)機(jī)有兩個(gè)一是初始時(shí)內(nèi)存為空按 FCFS 依次調(diào)入前 5 個(gè)作業(yè)二是某個(gè)進(jìn)程運(yùn)行結(jié)束后釋放內(nèi)存再?gòu)暮髠潢?duì)列頭部補(bǔ)一個(gè)進(jìn)來。2.2 后備隊(duì)列的數(shù)據(jù)結(jié)構(gòu)與隨機(jī)作業(yè)生成作業(yè)的數(shù)據(jù)結(jié)構(gòu)直接決定后續(xù)所有模塊怎么寫。先看作業(yè)實(shí)體類的核心字段public class Job { private int jobId; // 作業(yè)編號(hào) private int arrivalTime; // 到達(dá)時(shí)間 private int serviceTime; // 需要服務(wù)的總時(shí)間 private int memorySize; // 所需內(nèi)存大小 private int status; // 作業(yè)狀態(tài)0-后備 1-就緒 2-運(yùn)行 3-阻塞 4-完成 private int remainingTime; // 剩余服務(wù)時(shí)間RR調(diào)度要用 private int memoryStart; // 在內(nèi)存中的起始地址內(nèi)存分配后寫入 }隨機(jī)生成 10 個(gè)作業(yè)的代碼邏輯通常長(zhǎng)這樣Random random new Random(); ListJob backlogQueue new ArrayList(); for (int i 1; i 10; i) { Job job new Job(); job.setJobId(i); job.setArrivalTime(i); // 簡(jiǎn)化處理第i個(gè)作業(yè)第i時(shí)刻到達(dá) job.setServiceTime(random.nextInt(20) 5); // 服務(wù)時(shí)間 5~24 job.setMemorySize(random.nextInt(80) 20); // 內(nèi)存需求 20~99 job.setStatus(0); // 后備狀態(tài) backlogQueue.add(job); } // 按到達(dá)時(shí)間排序保證FCFS的隊(duì)列順序 backlogQueue.sort(Comparator.comparingInt(Job::getArrivalTime));參數(shù)說明serviceTime 范圍設(shè) 5~24 是為了保證在時(shí)間片輪轉(zhuǎn)下能觀察到多次調(diào)度切換如果服務(wù)時(shí)間太短進(jìn)程一兩個(gè)時(shí)間片就跑完了輪轉(zhuǎn)效果不明顯。memorySize 范圍 20~99 是配合內(nèi)存總大小設(shè)計(jì)的如果內(nèi)存總量是 512這個(gè)區(qū)間能保證產(chǎn)生多種分配情況偶爾出現(xiàn)碎片。arrivalTime 用 i 而不是隨機(jī)值是為了讓 FCFS 的順序確定方便驗(yàn)證算法正確性——你不想在調(diào)試時(shí)分不清是調(diào)度算法錯(cuò)了還是隨機(jī)數(shù)導(dǎo)致的現(xiàn)象不穩(wěn)定。2.3 FCFS 調(diào)度主循環(huán)的寫法作業(yè)調(diào)度的主循環(huán)和進(jìn)程調(diào)度是嵌套關(guān)系外層循環(huán)負(fù)責(zé)從后備隊(duì)列調(diào)作業(yè)進(jìn)內(nèi)存內(nèi)層循環(huán)負(fù)責(zé)內(nèi)存中進(jìn)程的時(shí)間片輪轉(zhuǎn)。核心邏輯while (!backlogQueue.isEmpty() || !runningProcesses.isEmpty()) { // 1. 檢查內(nèi)存中的進(jìn)程是否結(jié)束結(jié)束則回收內(nèi)存并嘗試調(diào)入新作業(yè) for (int i 0; i runningProcesses.size(); i) { Process proc runningProcesses.get(i); if (proc.getRemainingTime() 0) { memoryManager.release(proc); runningProcesses.remove(i); // 有進(jìn)程結(jié)束從后備隊(duì)列按FCFS調(diào)入新作業(yè) if (!backlogQueue.isEmpty()) { Job nextJob backlogQueue.remove(0); loadJobToMemory(nextJob); } } } // 2. 時(shí)間片輪轉(zhuǎn)調(diào)度內(nèi)存中的進(jìn)程 Process current getNextProcessByRR(runningProcesses); if (current ! null) { current.setStatus(2); // 運(yùn)行 current.setRemainingTime(current.getRemainingTime() - timeSlice); memoryManager.allocate(current); // 3. 可能觸發(fā)阻塞條件模擬I/O等待 if (shouldBlock(current)) { current.setStatus(3); // 阻塞 blockedQueue.add(current); } } }這里有個(gè)很關(guān)鍵的細(xì)節(jié)進(jìn)程結(jié)束釋放內(nèi)存后不是立即從后備隊(duì)列調(diào)入作業(yè)而是要先做內(nèi)存回收、再觸發(fā)調(diào)入。順序不能反——先釋放內(nèi)存才能知道空閑分區(qū)有多大否則首次適應(yīng)算法拿到的分區(qū)表是過期的。另外注意 loadJobToMemory 內(nèi)部還要再做一次內(nèi)存分配檢查如果內(nèi)存不夠作業(yè)應(yīng)該留在后備隊(duì)列頭部而不是丟棄這就是所謂的“重新排隊(duì)”。2.4 作業(yè)調(diào)度模塊的驗(yàn)證方法調(diào)試作業(yè)調(diào)度最容易翻車的地方是“調(diào)入時(shí)機(jī)”和“并發(fā)數(shù)控制”。我給個(gè)自查清單初始時(shí)是否正確調(diào)入了 5 個(gè)作業(yè)內(nèi)存中進(jìn)程結(jié)束一個(gè)后后備隊(duì)列是否只補(bǔ)一個(gè)后備隊(duì)列為空時(shí)循環(huán)是否還在跑內(nèi)存里的進(jìn)程作業(yè)調(diào)入時(shí)并發(fā)數(shù)是否嚴(yán)格不超過 5。建議在每次作業(yè)調(diào)入或調(diào)出時(shí)打印一行日志格式類似[調(diào)度] 作業(yè)3 調(diào)入內(nèi)存當(dāng)前并發(fā)數(shù): 4/5這樣一眼就能看出調(diào)度節(jié)奏對(duì)不對(duì)。3. 時(shí)間片輪轉(zhuǎn)與進(jìn)程狀態(tài)流轉(zhuǎn)阻塞是怎么插入調(diào)度周期的3.1 RR 調(diào)度中的就緒隊(duì)列與阻塞隊(duì)列劃分時(shí)間片輪轉(zhuǎn)算法的關(guān)鍵是你得維護(hù)的就緒隊(duì)列順序。這份課設(shè)里內(nèi)存中的進(jìn)程分成三態(tài)就緒、運(yùn)行、阻塞。運(yùn)行態(tài)在同一時(shí)刻只有一個(gè)就是當(dāng)前拿到 CPU 時(shí)間片的進(jìn)程阻塞態(tài)進(jìn)程在等待 I/O 或某個(gè)事件不參與輪轉(zhuǎn)就緒態(tài)排隊(duì)等 CPU。我建議用兩個(gè)隊(duì)列分別維護(hù)就緒和阻塞而不是用一個(gè)狀態(tài)字段硬扛否則輪轉(zhuǎn)一圈回來你都不知道誰該被跳過。RR 調(diào)度器的核心實(shí)現(xiàn)public Process getNextProcessByRR(ListProcess processes) { // 按上次運(yùn)行時(shí)間排序保證輪轉(zhuǎn)順序穩(wěn)定 processes.sort((p1, p2) - { if (p1.getLastRunTime() ! p2.getLastRunTime()) { return p1.getLastRunTime() - p2.getLastRunTime(); } return p1.getProcessId() - p2.getProcessId(); }); for (Process p : processes) { if (p.getStatus() 1) { // 就緒 p.setLastRunTime(System.currentTimeMillis()); return p; } } return null; // 沒有就緒進(jìn)程時(shí)CPU空轉(zhuǎn) }注意這個(gè)排序邏輯lastRunTime 記錄的是進(jìn)程上一次被調(diào)度的時(shí)間用當(dāng)前時(shí)間戳作為排序鍵能保證輪轉(zhuǎn)公平性。但如果是純控制臺(tái)模擬用時(shí)間戳?xí)屆看芜\(yùn)行結(jié)果都不一樣難以復(fù)現(xiàn) bug。我實(shí)際調(diào)試時(shí)改成計(jì)數(shù)器自增——每輪調(diào)度全局計(jì)數(shù)器 1lastRunTime 記錄的是第幾輪這樣日志可復(fù)現(xiàn)排查問題方便得多。這是課設(shè)里值得注意的一個(gè)細(xì)節(jié)。3.2 阻塞與喚醒的模擬策略阻塞在這份課設(shè)里是個(gè)重點(diǎn)它把進(jìn)程調(diào)度和作業(yè)調(diào)度連接起來了。常見的模擬方式是給每個(gè)進(jìn)程一個(gè)隨機(jī)阻塞概率運(yùn)行到某個(gè)時(shí)間點(diǎn)就進(jìn)入阻塞阻塞若干個(gè)時(shí)間片后自動(dòng)喚醒回到就緒隊(duì)列private boolean shouldBlock(Process p) { // 運(yùn)行了隨機(jī)時(shí)長(zhǎng)后以一定概率模擬I/O阻塞 if (p.getStatus() 2 p.getRunTicks() p.getBlockAfter()) { return random.nextInt(100) 30; // 30%概率阻塞 } return false; }喚醒邏輯我建議寫在 RR 主循環(huán)的固定位置每輪調(diào)度先檢查阻塞隊(duì)列中是否有進(jìn)程阻塞時(shí)間已到到了就喚醒并放入就緒隊(duì)列尾部public void wakeUpBlockedProcesses() { IteratorProcess it blockedQueue.iterator(); while (it.hasNext()) { Process p it.next(); p.setBlockTime(p.getBlockTime() - 1); if (p.getBlockTime() 0) { p.setStatus(1); // 就緒 readyQueue.add(p); it.remove(); } } }這里有個(gè)隱藏坑喚醒的進(jìn)程應(yīng)該放到就緒隊(duì)列尾部還是頭部教材上通常說喚醒后進(jìn)入就緒隊(duì)列但沒說隊(duì)頭還是隊(duì)尾。按時(shí)間片輪轉(zhuǎn)的公平性應(yīng)該放尾部否則剛被喚醒的進(jìn)程插隊(duì)到老進(jìn)程前面輪轉(zhuǎn)就亂套了。我在這個(gè)點(diǎn)上栽過跟頭日志里看到某個(gè)進(jìn)程連續(xù)兩次拿 CPU 才發(fā)現(xiàn)是喚醒位置寫錯(cuò)了。3.3 總運(yùn)行時(shí)間片與切換次數(shù)的統(tǒng)計(jì)課設(shè)報(bào)告里一般要求分析調(diào)度算法的性能指標(biāo)。我在這份源碼的進(jìn)程類里加了一組統(tǒng)計(jì)字段首次運(yùn)行時(shí)間、完成時(shí)間、等待時(shí)間、周轉(zhuǎn)時(shí)間、帶權(quán)周轉(zhuǎn)時(shí)間。等待時(shí)間累加在調(diào)度主循環(huán)里for (Process p : runningProcesses) { if (p.getStatus() ! 2) { // 非運(yùn)行態(tài)等待時(shí)間1 p.setWaitTime(p.getWaitTime() 1); } }等待時(shí)間的統(tǒng)計(jì)邏輯是每輪調(diào)度只給非運(yùn)行態(tài)進(jìn)程累加。注意阻塞時(shí)間算不算等待時(shí)間不同課設(shè)要求不一樣——有的老師算有的不算。我建議單獨(dú)統(tǒng)計(jì)阻塞等待時(shí)間和就緒等待時(shí)間報(bào)告里可以分開列。這樣答辯時(shí)老師問“阻塞對(duì)性能的影響”你能直接拿出數(shù)據(jù)。4. 首次適應(yīng)內(nèi)存分配與回收空閑分區(qū)鏈的邊界處理4.1 內(nèi)存分區(qū)表的數(shù)據(jù)結(jié)構(gòu)與 FF 算法實(shí)現(xiàn)內(nèi)存管理模塊要維護(hù)一個(gè)空閑分區(qū)表和一個(gè)已分配分區(qū)表。首次適應(yīng)First Fit算法的核心是空閑分區(qū)按地址從小到大排序分配時(shí)從頭掃描找到第一個(gè)足夠大的分區(qū)就切割分配。代碼實(shí)現(xiàn)public MemoryBlock allocate(int size) { for (int i 0; i freeBlocks.size(); i) { MemoryBlock block freeBlocks.get(i); if (block.getSize() size) { // 分配從空閑塊中切出size大小 MemoryBlock allocated new MemoryBlock(block.getStart(), size); int remaining block.getSize() - size; if (remaining 0) { // 更新空閑塊為剩余部分 block.setStart(block.getStart() size); block.setSize(remaining); } else { // 正好用完直接從空閑鏈表移除 freeBlocks.remove(i); } return allocated; } } return null; // 內(nèi)存不足 }分區(qū)表用 ArrayList 保存空閑塊每次分配后需要重新按起始地址排序。注意“正好用完”這個(gè)分支很多實(shí)現(xiàn)會(huì)忽略恰好相等的情況導(dǎo)致空閑鏈表里殘留大小為 0 的空塊后面合并時(shí)出現(xiàn)下標(biāo)越界。這個(gè)邊界問題你遲早會(huì)遇到不如現(xiàn)在就把 if/else 寫完整。4.2 內(nèi)存回收與相鄰空閑分區(qū)合并進(jìn)程結(jié)束時(shí)回收內(nèi)存具體要做兩件事把已分配塊轉(zhuǎn)換成空閑塊加入空閑鏈表檢查該塊與相鄰空閑塊是否連續(xù)連續(xù)則合并。這里的相鄰不只是物理相鄰而是地址相鄰具體實(shí)現(xiàn)public void release(MemoryBlock block) { freeBlocks.add(new MemoryBlock(block.getStart(), block.getSize())); // 按起始地址排序后檢查相鄰 freeBlocks.sort(Comparator.comparingInt(MemoryBlock::getStart)); for (int i 0; i freeBlocks.size() - 1; i) { MemoryBlock current freeBlocks.get(i); MemoryBlock next freeBlocks.get(i 1); if (current.getStart() current.getSize() next.getStart()) { // 合并 current.setSize(current.getSize() next.getSize()); freeBlocks.remove(i 1); i--; // 繼續(xù)檢查新的相鄰關(guān)系 } } }合并邏輯里有個(gè)細(xì)節(jié)合并后需要把游標(biāo) i 減回去否則連續(xù)三個(gè)相鄰空閑塊合并時(shí)只處理了前兩個(gè)第三個(gè)漏掉。這是內(nèi)存回收最容易出的 bug——不是合并邏輯看不懂而是循環(huán)游標(biāo)處理不到位。我調(diào)試時(shí)打印過每一輪的 freeBlocks 狀態(tài)用地址連續(xù)性檢查腳本對(duì)比才發(fā)現(xiàn)這個(gè)問題。4.3 首次適應(yīng)相比最佳適應(yīng)壞適應(yīng)的取舍為什么這份課設(shè)選首次適應(yīng)而不是最佳適應(yīng)Best Fit首次適應(yīng)的優(yōu)點(diǎn)是分配速度快、偏向保留高地址大塊空間缺點(diǎn)是低地址區(qū)域會(huì)積累小碎片。最佳適應(yīng)相反分配時(shí)找最小夠用塊內(nèi)存利用率高但速度慢且產(chǎn)生大量難以利用的微小碎片。對(duì)于課設(shè)場(chǎng)景首次適應(yīng)實(shí)現(xiàn)簡(jiǎn)單、現(xiàn)象直觀更不容易在答辯時(shí)被追問到死角。如果老師問“FF 的缺點(diǎn)是什么”你可以回答“低地址區(qū)域的碎片化”——這個(gè)回答能顯示你真的理解而不是背代碼。當(dāng)然如果你學(xué)有余力我建議在源碼里再加一個(gè) Best Fit 的實(shí)現(xiàn)用 boolean 變量切換兩種算法報(bào)告里對(duì)比分析碎片率。這屬于加分項(xiàng)一般老師看到這個(gè)會(huì)說“這個(gè)同學(xué)有思考”。4.4 內(nèi)存狀態(tài)的可視化輸出控制臺(tái)程序怎么展示內(nèi)存分配做一個(gè)簡(jiǎn)單的字符畫內(nèi)存映像圖public void printMemoryStatus() { char[] mem new char[MEMORY_SIZE]; Arrays.fill(mem, .); // . 表示空閑 for (MemoryBlock block : allocatedBlocks) { for (int i block.getStart(); i block.getStart() block.getSize(); i) { mem[i] #; } } System.out.println(new String(mem)); }輸出一行 512 個(gè)字符的二進(jìn)制圖一眼就能看出內(nèi)存碎片的情況。這個(gè)輸出放在每次進(jìn)程調(diào)入調(diào)出之后。對(duì)照著看首次適應(yīng)算法下低地址區(qū)域的碎片化累積過程非常直觀——你會(huì)發(fā)現(xiàn)碎片越來越多新的作業(yè)越來越難找到大的連續(xù)空閑區(qū)。這也是報(bào)告里最有說服力的截圖素材。5. 實(shí)操避坑從參數(shù)設(shè)置到并發(fā)控制這 7 個(gè)坑我已經(jīng)替你踩過了5.1 并發(fā)進(jìn)程數(shù)超過 5 個(gè)作業(yè)提前調(diào)入導(dǎo)致狀態(tài)錯(cuò)亂現(xiàn)象控制臺(tái)輸出里出現(xiàn)了 6 個(gè)甚至更多進(jìn)程同時(shí)在內(nèi)存中運(yùn)行幾個(gè)時(shí)間片后數(shù)據(jù)開始亂跳。原因作業(yè)調(diào)入內(nèi)存的檢查條件寫錯(cuò)位置。常見錯(cuò)誤是把并發(fā)數(shù)檢查寫在 FCFS 調(diào)度器的開頭而不是每次調(diào)入前都檢查。還有一種情況是進(jìn)程結(jié)束回收內(nèi)存后忘了把進(jìn)程從 runningProcesses 里移除導(dǎo)致已釋放內(nèi)存的進(jìn)程還在占用名額。解決在 loadJobToMemory 方法入口處強(qiáng)制校驗(yàn)if (runningProcesses.size() MAX_CONCURRENCY) return;同時(shí)進(jìn)程結(jié)束回收時(shí)必須同時(shí)從 runningProcesses、memoryManager 的已分配表兩個(gè)地方移除。我建議把并發(fā)數(shù)的檢查收口到一個(gè)方法里所有調(diào)入邏輯都走這個(gè)方法不旁路。5.2 時(shí)間片輪轉(zhuǎn)出現(xiàn)連續(xù)兩個(gè)時(shí)間片分配給同一進(jìn)程現(xiàn)象日志顯示進(jìn)程 A 運(yùn)行完一個(gè)時(shí)間片后沒切走下一個(gè)時(shí)間片還是 A。原因調(diào)度器在選擇下一個(gè)進(jìn)程時(shí)把當(dāng)前運(yùn)行進(jìn)程的狀態(tài)改成了就緒但排序時(shí) lastRunTime 沒有更新導(dǎo)致按時(shí)間戳排序后它還是排在最前面又被打回運(yùn)行態(tài)。解決進(jìn)程被調(diào)度器選中時(shí)立刻更新 lastRunTime然后在每次調(diào)度前把運(yùn)行態(tài)的進(jìn)程改為就緒態(tài)。如果是用計(jì)數(shù)器而不是真實(shí)時(shí)間戳要保證計(jì)數(shù)器在每次選擇前自增。這個(gè)坑排查起來非常隱蔽因?yàn)榕及l(fā)情況下看不出來多跑幾個(gè)時(shí)間片就會(huì)發(fā)現(xiàn)某個(gè)進(jìn)程饑餓了。5.3 進(jìn)程結(jié)束內(nèi)存回收后空閑分區(qū)沒有合并碎片越來越多現(xiàn)象內(nèi)存中空閑空間總值足夠但連續(xù)空閑空間很少新作業(yè)調(diào)入時(shí)總是“內(nèi)存不足”。原因回收邏輯里只添加了新空閑塊沒有觸發(fā)相鄰合并或者合并循環(huán)里游標(biāo)處理有問題連續(xù)三個(gè)相鄰空閑塊只合并了前兩個(gè)。解決每次 release 后都強(qiáng)制走一遍完整的合并循環(huán)并且考慮把相鄰合并提取成公共方法分配和回收時(shí)都可以調(diào)用。驗(yàn)證方法連續(xù)讓多個(gè)進(jìn)程結(jié)束后打印空閑分區(qū)表檢查所有空閑塊的起始地址是否嚴(yán)格遞增、是否還存在相鄰塊未合并。我在 4.2 節(jié)里寫的 i-- 那行就是從坑里爬出來后補(bǔ)上的。5.4 就緒隊(duì)列為空時(shí) CPU 空轉(zhuǎn)的無限循環(huán)現(xiàn)象所有進(jìn)程都進(jìn)入阻塞態(tài)但程序還在空轉(zhuǎn)控制臺(tái)刷屏飛快。原因RR 調(diào)度器返回 null 時(shí)主循環(huán)沒有處理這種情況還是繼續(xù)執(zhí)行導(dǎo)致空轉(zhuǎn)死循環(huán)。解決調(diào)度器返回 null 時(shí)直接 continue同時(shí)每次循環(huán)至少執(zhí)行一次阻塞隊(duì)列的檢查——因?yàn)橹挥凶枞M(jìn)程的阻塞時(shí)間遞減才能喚醒進(jìn)程。更穩(wěn)妥的做法是加一個(gè)“全阻塞退出”判斷如果就緒隊(duì)列為空且阻塞隊(duì)列也即將為空說明所有進(jìn)程都完成了跳出主循環(huán)。5.5 隨機(jī)數(shù)種子不固定同一個(gè) Bug 沒辦法復(fù)現(xiàn)現(xiàn)象第一次跑崩了第二次跑又正常沒法定位問題。原因每次運(yùn)行 random 生成的作業(yè)參數(shù)不同操作系統(tǒng)課設(shè)不像 Web 開發(fā)那樣輸入確定隨機(jī)的數(shù)據(jù)讓排查難上加難。解決給 Random 構(gòu)造器傳入固定種子比如new Random(42)每次跑出來的 10 個(gè)作業(yè)完全相同。調(diào)試定位完問題后再改成不傳種子的版本觀察多組數(shù)據(jù)的表現(xiàn)。這個(gè)方法只對(duì)調(diào)試有用最終提交的版本建議用系統(tǒng)時(shí)間做種子否則答辯老師發(fā)現(xiàn)每次都是同一組數(shù)據(jù)會(huì)懷疑你的代碼是不是寫死了。5.6 阻塞時(shí)間參數(shù)設(shè)置不合理進(jìn)程永遠(yuǎn)醒不過來現(xiàn)象某個(gè)進(jìn)程進(jìn)入阻塞隊(duì)列后再也沒被喚醒其他進(jìn)程正常輪轉(zhuǎn)系統(tǒng)整體速度緩慢。原因阻塞時(shí)間設(shè)置得太長(zhǎng)或者喚醒檢查只在特定條件下執(zhí)行阻塞進(jìn)程被漏掉。常見是把阻塞時(shí)間設(shè)為固定大數(shù)或者喚醒邏輯寫在“就緒隊(duì)列非空”的分支里阻塞隊(duì)列一旦為空就跳過檢查。解決把阻塞隊(duì)列的檢查放到主循環(huán)的最前面無論就緒隊(duì)列是否為空每輪都先檢查阻塞進(jìn)程的剩余時(shí)間。阻塞時(shí)間建議用random.nextInt(3) 11~3 個(gè)時(shí)間片就夠了太長(zhǎng)會(huì)導(dǎo)致進(jìn)程長(zhǎng)時(shí)間不能參與調(diào)度太短可能進(jìn)程運(yùn)行兩下又醒了看不出阻塞現(xiàn)象。5.7 進(jìn)程 ID 混亂回收后 ID 復(fù)用引發(fā)統(tǒng)計(jì)錯(cuò)誤現(xiàn)象報(bào)告里的周轉(zhuǎn)時(shí)間統(tǒng)計(jì)數(shù)據(jù)明顯不對(duì)某個(gè)進(jìn)程的等待時(shí)間變成了負(fù)數(shù)。原因進(jìn)程結(jié)束后從隊(duì)列移除但新的作業(yè)調(diào)入時(shí)沿用了同樣的編號(hào)統(tǒng)計(jì)數(shù)組里的歷史數(shù)據(jù)被覆蓋。解決作業(yè) ID 從后備隊(duì)列生成時(shí)保持唯一進(jìn)程結(jié)束只標(biāo)記為完成狀態(tài)不重新分配 ID。如果想把 ID 復(fù)用需要在復(fù)用時(shí)檢查該 ID 的歷史統(tǒng)計(jì)是否已歸檔。最省事的方式是進(jìn)程對(duì)象不復(fù)用結(jié)束就丟棄新作業(yè)進(jìn)內(nèi)存時(shí)新建進(jìn)程對(duì)象這個(gè)對(duì)象與原作業(yè)共享 jobId 但統(tǒng)計(jì)字段獨(dú)立。這是我自己在寫報(bào)告時(shí)加統(tǒng)計(jì)功能踩到的坑數(shù)據(jù)對(duì)不上特別耗時(shí)。6. 從模塊拼裝到完整復(fù)現(xiàn)一份可以照用的驗(yàn)證清單和調(diào)試套路課設(shè)拿到手先不要急著跑我建議按下面這個(gè)順序走一遍20 分鐘內(nèi)能確認(rèn)每個(gè)模塊工作正常。第一步打開 README看清楚它定義的運(yùn)行入口和參數(shù)常量——內(nèi)存總大小、時(shí)間片長(zhǎng)度、最大并發(fā)數(shù)這三個(gè)值決定了整個(gè)模擬的行為。如果時(shí)間片設(shè)得太大RR 退化成了 FCFS如果內(nèi)存總大小設(shè)得太小10 個(gè)作業(yè)可能一個(gè)都調(diào)不進(jìn)去。第二步把隨機(jī)數(shù)種子固定跑一次完整流程記錄每一步的控制臺(tái)輸出。第三步手動(dòng)算一遍前 2~3 個(gè)作業(yè)的流轉(zhuǎn)過程和控制臺(tái)輸出對(duì)照確認(rèn)調(diào)度順序沒錯(cuò)。驗(yàn)證清單我整理成這樣作業(yè)調(diào)度是否嚴(yán)格 FCFS即后備隊(duì)列頭部永遠(yuǎn)是最先到達(dá)的未調(diào)入作業(yè)并發(fā)進(jìn)程數(shù)峰值是否≤5RR 輪轉(zhuǎn)順序是否按就緒隊(duì)列從頭到尾循環(huán)阻塞進(jìn)程是否不參與輪轉(zhuǎn)阻塞喚醒后是否進(jìn)入就緒隊(duì)列尾部?jī)?nèi)存回收后空閑分區(qū)表中無相鄰可合并塊所有進(jìn)程結(jié)束后后備隊(duì)列為空、內(nèi)存全部空閑。每一條都可以用一條日志輸出對(duì)一次不用猜。我在按這份課設(shè)改寫成自己的版本時(shí)把上面的每條驗(yàn)證做成了一個(gè)checkStatus()方法跑完一步就自動(dòng)檢查一遍。這套思路做完之后它成了我每次操作系統(tǒng)實(shí)驗(yàn)的通用模板后來做存儲(chǔ)管理實(shí)驗(yàn)時(shí)換了一組數(shù)據(jù)就繼續(xù)用。復(fù)盤這套課設(shè)我感覺最重要的收獲不是某個(gè)算法本身而是理解了“并發(fā)上限為 5 個(gè)進(jìn)程”這個(gè)約束是如何把作業(yè)調(diào)度、內(nèi)存分配、進(jìn)程調(diào)度串成閉環(huán)的——沒有這個(gè)上限作業(yè)調(diào)度和進(jìn)程調(diào)度就是兩套獨(dú)立的演示代碼有了它每個(gè)模塊之間才真正耦合起來。從那以后我每次拿到一個(gè)仿真的課設(shè)都先畫出“狀態(tài)流轉(zhuǎn)圖 資源約束條件”再動(dòng)手寫代碼這個(gè)習(xí)慣讓我少走了很多彎路。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久九九国产精品| 久肏视频字幕| 凹凸视频特色日本特黄| 自拍偷拍草一草| 青青草依人大香蕉| 伊人少妇久久久| 99re6久热只有精品6在线直播| 国产精品区在线12p| 骚货操死你| 亚洲色综网| 国产不卡片| 亚洲欧美综合区自拍另类| 玖玖久久久| 超碰97首页| 色婷婷在线视频精品导航| 国产综合网站在线播放 | 亚洲高清男人天堂| 国产一区二区三区久久精品太古里| 国产精品一区二区三区在线密挑| 色噜噜婷婷| 乱论91| 欧美一区二区三区互相| 屁股久久久久久| 亚洲AV色图一区| 欧美女同在线| 97色欧洲| 极品色综合| 91情色在线| 欧美日日人人天天| 蜜桃AV天堂| 国产吹潮女在线观看| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 男人的天堂2018东京热啪啪啪| 欧美黄色大香蕉一区二区| 色色香蕉| 国产精品久久久久久久久AV大片| 午夜色婷婷| 国产91久久九九免费精品无码| 精品偷拍13p欧美dodk视频| 亚洲日韩精品久久久久一区壹牛| 亚欧免费| 亚洲操逼无码| 九九色综合| 天天操夜夜操| 91啪9色| 亚洲人妻熟妇三十三区| 啊啊啊啊啊啊啊在线| 制服诱惑亚洲一区二区三区在线观看| AV色五月| 999综合网| 影音先锋每日最新资源在线观看| 天天躁日日躁XXXXYY| 无码聚合| 岛国小电影| 五月天色电影| 久久国产999| 啊啊啊操死我了| 综合 亚洲 欧美| 综合夜夜| 精品久热| 狠狠爱夜夜干| 日韩人妻丝袜中文字幕| 亚一综合久久久久久久久久| 婷婷久久五月| 亚洲五区熟女| 久久久久女教师免费一区 | 色欲日韩欧美在线一区| 欧美极品少妇交| 欧美一二三区四五区| 国产综合久久久鬼色| 色综合99999| 久久久四区| 欧美中文字幕日韩在线| 99热欧美| 97干天天| 揉揉日日日日| 草草影院最新网址| 97天天摸天天碰| 殴洲老熟女| 亚洲人妻精品一区二区| 手机在线中文字幕国产| 又黄又爽在线观看视频 | 天天上日日上日韩精品| 国产精品熟女丝袜一区二区| 91网站18在线| 亚欧无码线免费观看视频| 国产女人91精品嗷嗷嗷嗷| 天天干天天日天天射黄色| 久久香蕉超碰97国产精品| 在线视频资源| 乱伦日本色图AⅤ| 骚乳在线| 久久久久国产精品久久久| 亚洲二区精品在线观看 | 岛国大片国产| 大香蕉在线视频重口味毛片在线| 日本加勒比无码专区| 人妻系列无码专区中文有码| 亚洲诱惑天堂| 黄色免费网页无码| 青青草久久| 秋霞午夜成人福利片片| 亚洲欧洲小说图片视频| 新怡红院| 亚洲一本大道中文字幕无码在线| 久久久天美| 免费1级a做爰片观看| 美国美女AV在线| 日日摸日日碰夜夜爽视频| 亚洲第一黄色av网站| 4141514逼喷水三级片| 久久二| 精品一区二区成人动漫| 欲女人妻性色av| av在线播放国产一区| 97综合在线观看| 熟女人妻一区二区三区| 欧美综合加勒比在线| 热99这里有精品综合久久| 韩国一级婬片A片AAAAA| 国产91丝袜 在线播放| 蜜色网色哟哟| 国产福利在线视频网站| 色九九综合AV| 91丝袜美女| 国产精品直播在线观看直播| 麻豆伊人网| 欧美日本中字另类在线| 婷婷探花久久精品一区| 欧美日韩人人早| 欧美亚洲国产91在线| 激情亚洲天堂| 精品性爱无码在线播放| 麻豆天美91| 日日日啊啊啊| 99re公开精品免费视频| 欧美综合综合| 欧美制服网站美腿丝袜| 韩国午夜理伦三级好看| 欧美,日韩,中文,另类| 五月色综合| 精品九区| 97色欧州| 国产伦乱91| 色与欲影视| 国产污视频麻豆传媒一区二区 | 久久婷婷在线观看视频| 综合影视国产无码| 日韩小电影| 国精综合一二三区影视| 五月丁香啪啪啪| 天天做天天爱夜夜爽毛片试看| 久久久久久久久久久999| 亚洲欧洲国产综合av| 欧亚三区动漫| 亚州色图欧美| 五月综合激情| 亚洲第一黄色av网站 | 色欲日韩欧美在线一区| 自拍偷拍第26| 久久久久久大| 免费看日本操逼视频| 亚洲图片另类| 精品少妇人妻一区二区三区| 800zy一区二区| 欧美日韩国产色图在线| 91精品国产91久久青草| 成人一级二级| 青青草啪啪网| 97超碰美国| 亚洲暴力强奸AV| se..亚洲欧美| 久久亚洲日韩熟女精品| 中文字幕一区二区三区四五区| 国产高清1234区| 亚洲精品啪视频| 久久精品国产亚洲妲己影视| 欧美成人精品一区| 91女优在线观看 | 亚洲操操操无码| 吉田爱美AV在线| www.99视频| 成人久久久精品| 三级片大波波| 天天干2019| 五月丁香婷婷色| 探花熟女,姿勢到位,體驗感也到位| 大香蕉中文| 欧日韩一二三f区| 成人一级二级| 亚洲十八禁止| 伊人一区二区三区| 欧美操逼视频二区| 亚洲激情色片| 国产一区二区在线看| 日韩av色图综合| 色嘟嘟人妻天堂网| 日本裸体久久色噜噜| 91一起操| 91无码中出人妻视频| 天天综合网91入口| 国模不卡| 国产超碰AV在线精品| 1024精品在线| 9 1果冻精品视频| 欧美激情色婷婷花野真衣一区二区| 97免费在线视频在线观看| 亚洲无码一区二区三区三州| 九九AV| www.99视频| 九九伊人网| 五月天婷婷久久| 夜夜草网站| 欧美性爱另类综合| 亚洲91少妇| 亚洲色图91欧美日韩| 夜夜操二区| AV天堂电影网| 欧美 综合 亚洲| 新精精品久久精品| 91中文字幕制服丝袜免费视频| 欧美性高潮在线| 久久九九97| 啊啊啊啊操死我| 亚洲成a人v欧美综合天堂下载| 亚洲一区日韩精品中文字幕| 欧美人妻久久精品二区三区| 国产精品亚洲免费| 欧美AB在线观看| 日韩中文字幕熟妇人妻 | 夜夜操一区二区| 亚洲精品九九九九九九| 国产精品ⅴ无码大片在线看.| 翔田千里一区二区三区奶水| 婷婷天堂站| 久久免费中文字幕在线观看| 久久伊人青青草| 九九九九九九九| 国产精品网址| 国产成人无码啪| 自拍偷拍2025在线观看| 国产大片精久久久久久| 97超碰伊人| 一区二区高清视频| 亚洲色图亚洲无码强奸乱伦| WWW4虎| 91影视亚洲| 国产又粗又长的视频| 国产精品香蕉| 人妻中文字幕日韩电影| 美女人妻色网站| 亚洲欧美91√| se吧提供国产乱老熟视频胖女人| 日韩999| 97色色国产视频| 亚洲资源吧| 无码高清少妇久久| 大香蕉伊人久久| 日本999精品视频| 97久久超碰日韩精品| 妇女性内射冈站HDWWWCOM| 自拍偷拍2025在线观看| 精产国品一区二三产品| 久久精品久久久久久久| 高跟丝袜AV专区国产| 日本三级久| 中文在线视频| 少妇人妻好深太紧了vr91| 99综合免费视频| 国产av热热色| 中字幕人妻一区二区三区| 91超级碰| 亚洲极品| 极品尤物女神在线观看| 精品二999| 亚洲久久久久| 日日爽夜夜爽| 日本一二三免费久久| 日韩精品 视频一区二区| 午夜福利区| 91福利网在线观看| 区一在线观看| AV乱伦国产| 少妇 综合| 校园春色 亚洲| 久久久久久久亚洲Av无码| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 麻豆av一区二区| 国模精品娜娜一二三区| 亚洲脚交| 秋霞视频一区二区| 男同专区一区二区三区在线| 大香蕉五月天婷婷| 青青草依人大香蕉| 日韩三级一区| 亚洲97| 插老姨肥穴| 人人搞人人插人人操| 九九毛片这里只有精品| 秋霞一级鲁丝片A片| 好爽,再快点啊哈嗯嗯嗯嗯| 亚洲97| 欧美激情总合网| 色99999| 日韩av三四区| 国产精品自在线发布| 强奸熟女一区二区三区| 图片区小说区| 亚洲人妻精品一区二区| 2025亚洲男人天堂| 国产亚洲精品av一区| 色九九综合AV| 色丁香五月婷婷| 91老熟女| 综合久久99亚洲人妻中文在线| 操逼逼福利视频| 偷拍亚洲视频一区二区三区四区| 亚洲综合97中文网| 一个国产在线综合网站| 老鸭窝成人| 夜夜爽爽爽| 人人贴人人摸| 情色五月天就去干| 人妻天天爽夜夜爽爽| 国产在线观看91精品一区| 啊啊啊好疼| 992这里有精品| 思思热国产在线视频| 超碰九九| 久久超碰大香蕉| 国产精品视频精品一二| 日本在线观看网址| 欧美亚洲系列| 成人一级二级| 天天综合网久久ww| 色婷婷丁香| 亚洲高清无毛一区二区| 久草电影网| 综合 青草 伊久久 影院 综合| 大香蕉免费乱伦视频| 精品九九九九九九| 亚洲区小说| 大香蕉综合久久| 五月天啪啪| 国产不良强奸视频免费看| 国产夫妻性生活视频| 夜夜高潮夜夜爽高清视频一 | 啊操爽品善一区二区三区| 久久性爱城| 免费中文综合精品| 91欧美在线| 97视频免费在线| 啊啊啊啊啊啊好湿好爽视频| 99热精品在线在线| 强奸乱伦中文字幕AV| 国产精品爆乳懂色蜜乳| 91女色| 天天操天天日青青草超碰av| 青青草白白色| 麻豆区99999| 欧美亚州手机在线| 静品嫩模一区二区| 亚洲欧美在线观看2021| 丁香九月 婷婷| 亚洲超碰97| 日本一二三免费久久| 粉嫩AV一区夜夜嗨| 欧美天天综| 91狠婷| 五月激情综合网| 天天躁日日躁AAAXX| 精品人妻一区二区视频| 秋霞操逼片| 少妇久久久久久久久| 久热这里只有精品9| 亚洲国产精品久久久久婷婷老年| 日韩美女高潮喷水视频| 97在线无精品| 亚洲AV在线资源| 蜜臀一二三| 风月影院男女十八禁| 欧美亚洲厕所精品偷拍91| 欧美色图天堂网m| 色婷婷在线视频精品导航| 精品久久在线区一区| 人妻啊啊人妻啊啊| 精精夜夜| 九九拍拍精品视频在线播放| 97超碰久| 亚州图片第一页| 亚洲999综合| 操少妞在线视频| 欧洲精品区| 蜜乳av一区二区三区| 国产女主播视频在线观看| 91欧美少妇| 综合久久99| 美女天天干| 精品成人无码| 激情专区综合| 亚洲人在线成线成人| 少妇被玩视频二三区| 韩日色费| 亚洲av无线观看| 精品国产精品一区二区| 麻豆天美国美国产| 丁香婷婷激情五月天无毒不卡| 欧美日动态视频| 草B在线| 少妇久久久久| 丰满人妻一区二区三区四区| 亚洲九区| 99九九久久| 91九色丰满高潮| 国产精品久久久久久久久久久久| 人妻一二三区| 日韩精品99999| 欧美色图私拍91| 国产熟女自拍| 久久综合九色综合欧洲98| 天天躁日日躁xxxxx| 九九热最新| 四虎免费看黄| 人妻久久| 18禁精品网站在线看| 综合色色网| 亚洲精品97在线| 骚人妻少妇视频| 免费观看一区| 亚洲性爱无码乱伦av| 混色激情av| 亚洲天堂电影网| 91欧洲国产成人久久精品网站| 天天干人人干天天日97| 亚洲最大的黄色电影网站。| 99热精品在线观看| 日韩欧美成人性爱在线| 久久性爱视频| 日韩AV噜噜噜一区二区三区四区 | 99热97| 天天在线91| 亚洲人妻中文在线视频| 九九色色| 少妇色欲综合网2| 久久久专区| 免费操逼91| 超碰在线人妻| 99re在线视频国产| 欧美激情性久久久久久| AV天天综合| 91N综合网| 亚洲一区二区中文字幕| 98福利在线视频| 国产成人拍国产亚洲精品| 国产一区96在线| 亚洲少妇视频| 99热在线观看| 60秒不遮不挡| 欧美激情综合| 超碰97COm中文| 五月天激情四射| 大香蕉性欧美| 久热久| 香港久久久| 欧美一级A片在线看视频性色| 日韩无码AB| 天堂俺去俺来也www久久婷婷| 天天日天天射天天干| 性夜影院爽黄A爽免费动漫| 九九久久九九久久| 九九九九热| 欧美 亚洲 综合 制服| 97视频免费| 五月丁香婷婷色| 亚洲性刺激| 六月激情婷婷| 夜夜爽夜夜操| 四虎永久在线精品免费网址 | 国产无套粉嫩白浆在| AV在线播放网址| 911粉嫩人妻| 97超碰欧美手机在线| www.色婷婷色综合| 久久久一区二区三区四区五区| 男人的天堂啪啪啪啪啪蜜桃不卡| 99re免费| 丰满精品人妻少妇久久字幕| 91成人在线免费视频| 天天操福利视频综合网站| 爱射综合| 黑人免费福利视频| 欧美亚洲涩涩| 国产自偷自拍一区| 一起草三级AV电影在线观看| 丰满搜索结果 -第18页- 久久高清无码 | 操逼片中文| 超碰在线在公开超碰在线在公开| 婷婷中文字幕| 最新国内自拍av免费| 射丝袜大香蕉| 偷拍欧美综合| 中文字幕亚洲热播人妻| www.91视频网| 啊啊啊不要啊啊受不了了视频在线 | 欧美性爱精品一区二区| 国产毛片片精品天天看视频| 色天堂在线观看| 天天爽天天干| 操迟操逼在巾线Fre看| 巨爆乳肉感一区二区三区竹菊影视| 美女性91| 欧美综合 站| 青青操青娱乐| 无码 有码 国产18p| 综合色91| 综合九九| 久久久久9999妇女| 国产刺激视频| 国产一级作爱毛片| 欧美日韩另类在线播放| 亚洲欧美碰碰| 五十路熟女,国产欧美精品区一区二区三区| 乱人伦 国语对白:视频直接看| 91精品久久久久五月天精品 | 亚欧高清在线| 日逼逼免费看| 中文字幕人妻资源在线| 国产精品日日摸天天碰| 日本中文字幕熟妇| 91国产大片| 一区二区三区在线资源| 亚洲欧美精品福利在线| 老熟妇一区二区三区…| 欧美精品精品一区二区| 嗯嗯啊好爽| 欧美人妻一区二区| 涩涩久久精品| 亚洲少妇激情视频| 91女神在线视频| 天天日天天爽| 一区二区娱乐网站| 97欧美性爱| 2017人人操,人人摸| 伊人天天久久动态图| 这里只有精品97| 精品免费成人久久| 亚洲91射| 中文字幕av一区二区三区人妻少妇 | 国产精品白虎| 日韩一区二区精品视频| 亚洲天堂热| 熟女突然公开看18禁影片| 日本狂喷奶水在线播放212| 日韩av性爱在线播放| 免费观看一区| 熟妇乱伦一区二区| 国产一区二区三区高清视频| 国产强奸乱伦无码视频| 日韩国产精品人妻无码久久久| 97综合在线| 久久春色| 色吧5亚洲| 国产精品内射婷婷一级二| 毛片久久| 久久精品久久九九精品| 国产成人一级av88| 国产一级做a爰大片免费久久| 熟女色综合久久| 欧美 亚洲 偷拍自拍| 91Chinese在线| 久久99热这里只频精品6学生| 99色综合| 欧美精品91| 强奸熟女一区二区三区| 久久精品女同亚洲女同13| 国产一区二区在线看| 久久高潮妇女视频| 97超碰磁| 亚洲最新a在线观看| 中文字幕一区二区三区视频播放| 九九综合| 久久久久亚洲精品| 麻豆色约约| 亚洲在线91| 精品丝袜无码一区二区三APP| 亚洲无吗在线视频| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 精品少妇一区二区三区在线视频| 性爱久久| 欧美日本天堂| 大香蕉伊人75| 国产强奸91| 久久久国产成人一区二区三区在线 | 久色99999| 亚洲一区二区av| 久久久99免费| 丁香五月天堂网| 三上制服丝AV| 91欧| 精品偷拍13p欧美dodk视频| 99视频自拍| 人人澡综合涩| 日本一区二区电影网站| 日韩精品国模| 无码精品久久久久久亚洲| 久久高清欧美国产| 夜夜操av亚洲一区二区| 东京男人天堂| 丰满岳乱妇一区二区三区| 亚洲欧洲偷拍一区| 久久中文字幕女同性恋一区| 午夜舔阴达高潮视频免费看| 色香色欲天天综合网天天来吧| 国产九九久久久精品| 蜜臀在线网站| 无码操逼网| 蜜臀精品1区2区| 午夜经典| 久久人人爽人人爽人人片Ⅴ| 日本999精品| 国产成人在线观看网址| 99综合网| 加勒比无码毛片| 日本激情免费大片| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 男人的天堂.com| 欧美激情 亚洲色图| 人妻81p| 久插不卡| 久久精品午夜国产亚洲AV无码| 色色热| 亚洲中文字幕av| 啪一啪免费视频| 国产第11页| 正在播放国产精品一区| 精品久久久久瑟瑟| 青娱乐国产剧情av一区| 看看小穴| 九九九九精品| 久九干| 国产精品午夜AV完会免费| 开心五月婷婷| 超碰97综合| 五月天激情婷婷| 亚洲人综合19| 乱伦熟妇一区二区| 天天躁日日躁AAAXX| 国产熟女| 色香综合天天影视综合| 亚洲欧美日韩免费电影| 日日夜夜草草草| 欧美性生活免费网| 国产精品成人无码av无码免费| 熟女一区二区三区| 粉嫩粉嫩一区性色AV片| 国产乱青青草久久| 一级性爱aaaa| 蜜臀99久久精品久久久久久| 超碰成人免费| 国产精品诱惑| 美日韩一卡二卡三卡免费人妻精品| 日韩无码极品| 国产福利夜| 久干9操| 国产精品69久久久久孕妇欧美| 麻豆国产96在线| 欧美性色欧美| 韩日男人的天堂| 天天操天天干一区二区| 欧美日韩国产色五月综合在线| 午夜男人一级A片7777| 欧美综合网A| 91色五月俺来也| 国产日韩欧美亚洲精品95 | 亚洲欧美国产中文视频| 亚洲色图 图片| 国产亚洲精品自在线亚洲情侣| 丝袜足交视频| 夜夜综合| 不卡啪啪视频| 四虎影视国产精品| 五月丁香综合激情| heyZO天然素人无码AⅤ专区| 九九久久99| 午夜AV人气不卡| 免费99精品国产自在在线| 丁香五月激情网| 最新国内自拍av免费| 中出在线视频| 超碰97起碰| 亚洲啪啪视频一区二区| 超碰91在线| 91男同| 久久久工口| 日韩性爱再线视频| 日韩一级性爱无码| 国产超碰欧美| 欧美国产视频| 亚洲欧美精品一区天堂久久 | 蜜乳AV.COM| 天堂性色| 久草福利在线资源站| 97综合久久| 免看60秒涩涩视频| 精品美女在线视频| 午夜丁香| 黄色网址在线免费观看| 国产精品直播在线观看直播| 中韩中文字幕在线观看| 9久精品视频在线观看| 中文字暮97| 五月天大香蕉| 亚洲二区精品在线观看| 国产不良强奸视频免费看| 清纯唯美第一页| 久久视频,这里只有精品| 夜夜高潮夜夜爽高清视频一 | 久久天堂网| m欧洲一级午老| 9久久9综合| 熟女人妻av在线资源,黄色的资源 粉嫩国产精品久久粉嫩 | 日韩成人大片在线观看| 国产精品爽爽v| 中文操逼字幕| 日日夜夜精品视频| 校园春色亚洲色图| 天天影视91看看| 久久久久久裸体| 超碰1997| 97爱b| 日本999精品| 国产污视频麻豆传媒一区二区| 97九色人妻| 亚洲天堂区| 激情综合网激情五月天| 国产成人网站在线观看| 天天色播亚洲综合网站| 操逼逼福利视频| 操逼操逼视频操逼| 人妻 中文 日韩| 欧美aaaaaaa| 亚洲高清无码在线桃色| 国产熟女免费观看久久| 亚洲成人无码影院| 岛园激情| 色婷婷五月综合| 亚洲老熟妇xxx| 青青草原人妻| 久久av色| 97超碰久| 91熟女视频网| 欧美综合色图片| 国产三级片在线观看| 999999精品| 精品蜜乳AV免费观看| 成人97人人超碰人人| 中国一级操逼视频| 欧美黑人精品一区二区| 91色婷婷综合久久中文字幕二区| 午夜爽爽爽在线观看永久入口姬片| 伊人网综合在线视频| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 亚洲 欧美 精品专区 极品| 亚洲精品久久久久毛片A片拉屎| 一二三区操逼国产91| 久久性生大片免费观看性| 国产精品999aaa| 中文色综合| 干婷婷综合网| av优播| 欧美国产一区二区三区麻豆传媒 | 国产精品自在线发布| 午夜精品视频777| 亚州操操穴网| 色天堂在线观看| 精品国产乱码久久久A| 国产精品黑人一区二区三区| 操逼视频亚洲| 精品妇女一区二区三区| 91/欧美| 偷拍盗拍亚洲色图图片| 国产成人拍国产亚洲精品| 人妻aa| 九九九网页| 久久久久久久六六| 一区二区三| Blackedraw视频一区二区| 亚洲成人av色网| 久神马| 伊人加勒比| 国产视频不卡在线观看| 中文字幕 一区二区 亚洲无码| 日本天天干天天搞一区| 人妻丝袜日本| 唐山老熟妇露脸啪啪叫| 久久婷婷国产一区二区色| 搡老女人老91妇女熟女| 日韩av无码网站| 夜夜草网站| 男生女生啊啊啊啊| 射久久| 亚洲欧美国产其他二区| 少妇一区二区三区在线观看| 超碰97人妻自拍| 欧美精品99久久久**| 91丨国产丨白浆| 成人精品久久| 91社操逼| 美骚妇av高清在线| 国产h小视频在线观看免费| 免费a在线播放v| 亚洲限制级| 蜜臀无码视频在线观看| 综合久久99| 久久久九| 亚洲精品第一| 国产成人主播| 欧美性爱第一页久久| 野狼激情网| 五月天伊人网| 久久久久9999| 99热在线只有精品| 日韩欧美字幕亚洲一区二区| 亚洲欧洲色情高清| 囯戸精品高潮呻吟旡码| 怡红院怡春院| 一中国女人毛片水真多| 亚殴在线| 久久综合九色综合欧洲98| 久久久久久亚洲精品不卡人乳| 欧美色图欧美| 婷婷伊人綜合中文字幕| 亚洲情色 自拍| 97干在线视频| 婷婷五月天小说| 久热这里只有精品9| 五月丁香大香蕉| 亚洲熟女诱惑| 大香蕉碰碰| 凹凸精品熟女在线观看| 91精品国产综合久久久蜜臀| 天天综合网网欲色| 欧洲免费一区二| 精品人妻视频入口| 制服少妇欧美| 日韩免费大片一级播放| 天天日美女的B| 亚洲成A∨人影院在线欢看| 久久久久久九九九九九九| 欧美精品1区2区3区| 国产视频97| 国产这里只有精品| 91人妻少妇| 91嫩草欧美| 日本天天操| 色香网| 91N欧美| 男女激烈网站最新| 久久久国产精品亚洲精品| 久久香蕉综合一本到3atv| 91无码人妻精品一区二区三区蜜桃| 色99视频| 亚洲欧美综合| 传媒免费一区二区三区| 人人干人人搞人人摸| 91老司机视频| 欧美中字二区| 久久老子无码午夜伦不卡| 亚洲Av诱惑| 大香蕉十区| 人妻乱仑一区二区三区| 密臀视频三区免费网站| 肉丝网站91| 在线观看AV片| 欧美日韩传媒| 久久动漫精品视频这里只有精品| 国产欧美一区激情交| 超碰97久久| 亚洲蜜臀视频精品久久| 九九黄色网| 天天激情综合站| 超碰导航97| 日韩精品人妻系列无码天堂| 日本在线不卡v二区| 超清中文乱码字幕| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 国产在线强奸视频| 99re28在线观看| 欧美日韩色综合网| BBBBB97COM| 日本999精品| 999狠狠综合| 久久久久久国产无码精品| 日韩无限资源| 青青草女人天天干| 淫色网综合| 婷婷啪啪| 免费看A片毛毛片在线播| 久久久精品网站| 东京热伊久| 日韩电影天堂视频二区三区| 亚洲色图大香| 操逼网免费无码视频| 超碰97人妻免费在线| 97ai亚洲| 在线中文AV| 97精品视频免费| 亚洲色图久久成人| 99re久久| 中文字幕精品区先锋资源| 国模私拍一区二区三区神乳| 欧美色性情| 一本色道久久综合狠狠操| 天天夜夜久久| 天天干天天日天天射黄色大片 | 麻豆天美AV传媒第一页| 中文字幕精品久久久久人妻红杏ⅰ| 日韩欧美亚洲国产日韩| 婷婷五月天成人网| 日韩久久激情精品| 亚洲αv一区二区三区| 国产亚洲精品A在线观看下载| 亚洲97精品| 欧美激情在线观看视频| 一区二区三区男人的天堂| 久久久成人精品| 亚洲素人网| 久久日本熟妇熟色高清| caopeng97人妻| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 五月天丁香欧洲日韩| 99亚洲天堂| www.色婷婷| 超碰人人在线| 人妻久久久久久| 日韩成人大片在线观看| 亚洲黄色a级片| 中国女人内射6XXXXX| 最近2019中文字幕国语免费版| 萌白酱自拍视频| 日本激情免费大片| 在线精品福利免费播放| 日本韩欧美在线播放a| 国内自拍 日韩激情 99| 国产一区二区三区影片| 99色天堂| 久久久久久亚洲精品不卡人乳| 男人的天堂2010| 久草成人福利导航| 成人AV素股で擦久久| 后入内射蜜桃臀| 999综合色| 久久久久极品| 夜夜性| 精品无码秘 人妻一区二区| 无码一区免费在线不卡| 飘花国产午夜精品不卡| 中文字幕中文字幕一区二区| 乱伦系列一区二区| 五月天婷婷成人网| 亚洲s在线观看| 成人一级性爱| 翔田千里AⅤHD无码| 久久九九视频九九视频| 婷婷天堂站| 亚洲国产一区二区三区在线 | 国产乱伦亚洲色图高清无码| 九九干| 丁香六月啪啪| 中文乱码99| 日本天天干天天日一区| 啊啊啊啊好爽好舒服一区二区易域| 亚洲视频中文一区| 大香蕉久| 97电影院超碰| 九区国产| 蜜臀99久久国产| 自拍偷拍草一草| 中文字幕 国产 精品| av婷婷色网| 婷婷九月国产| 色在线视频导航| 欧美性爱伊人| 午夜天堂精品久久| 99这里只有精品| 伊人专区一区二区三区| 国产精品熟女丝袜一区二区| 熟妇亚洲一区二区三区| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 欧美在线l亚洲| 午夜一区| 日本熟妇人妻中出视频| 厕所偷拍在线| 亚洲图片视频小说| 欧美日韩免费性爱| 熟妇熟女亚洲天堂网| 尤物视频偷拍免费| 国产无马在线| 日韩人妻精品久久久久| 欧洲亚洲天堂精品| 亚洲av性爱电影| 国产67194| 色超碰综合| 丁香九月婷婷| 蜜乳性色无码专日粉嫩骚逼AV| 无码又爽又硬又激情免费视频| 330dv亚洲成年视频网| 欧美色图综合网| 最近的最新的中文字幕视频| 超碰天天操| 日本精品一级二级三级| 麻豆人妻精品一区二区| 夜夜做夜夜爽精品视频| 99在线免费公开视频| 69AV女优男人的天堂| 青青青在线高清视频在线一二三四区 | 深爱五月婷婷| 情色五月天就去干| 乱论91| 蜜桃久久久久久久久久久久| 欧美18老人禁| 国产视频三区四区| 色妇综合网| 97色婷婷| 亚洲欧美洲综合| 色情综合| 中国91AV| 久久久久久久人妻| 亚洲同性aV综合| 日本岛国黄色网址| 99日视频在线免费| 国产午夜激片Av毛片不卡| 日韩精品作爱导航| 亚洲国产欧美一区二区潘金莲| 亚洲乱色视频一区、二区在线| 加勒比综合| 青青草在线成人视频| 欧美性第一页| 97视频在线观看播放与子乱对白在线……| 91宗合网| 久久五月份| 欧美爱爱97| 色月天AV导航| 国产精品久久aV| 欧美久久婷婷| 亚洲精品xxx| 超碰久久综合| 国产情侣自拍在线播放| 校园春色美腿丝袜 | 狂操嫩妻视频一区二区三区| 天天噜| 国产无遮挡| 欧美性爱无码一区二区三区| 超碰天天操| 中国探花熟女| 熟妇一区二区| 亚洲男人天堂网久久| 51久久夜色精品国产麻豆| 欧美亚洲涩涩| 国产成人久久久精品免费AV| 亚洲高清综合网| 亚洲免费精品一区| 久热影视| 狠狠97| 操穴国产| 人干人人人操人人摸| 桑老女人九区| 东北女人av| 黄色AAAAAAAAAAA大片| 久久国产精品视频| 97超碰国产精品| 奇米四色影视777久久久| 97色欧洲| 天天综合网91入口| 亚洲国产麻豆一区二区三区| 天天干18禁| 天堂国产AV| 久久久国产成人一区二区三区在线| 天天射日日干| 91欧美性| 中文字幕啊啊啊在线观看视频| 亚洲国产91精品一区二区久久| 日韩精彩视频| 97色在线观看| 26uuu国产免费观看| 久久夜夜| 97国产综合欧美| 江都AV在线| 色爱国产| 免费自拍三级综合| 精品国产乱码久久久| 欧美色一二三| 亚洲少妇色| 乱伦AVxx| 欧美不卡在线一区二区| 日韩天天综合| 狠综合网| 欧美日韩99精品麻豆传媒| 国产色呦呦| 99久久久久久亚洲精品不卡| 欧美97网| 99精品久久久久久| 亚洲 中文 女同| 91粉嫩萝控精品福利网站_精品影音先锋国| 偷拍 欧美 日韩| 亚洲 日本 不卡| 色在线69堂| 亚洲一区二区三区麻豆传媒| 精品国产片亚洲一区| 亚洲精品一二区| 日韩精品中文字幕人妻| 欧美人妻制服| 日日嗷| 噜噜噜亚洲精品| 97色欧州| 青青草在线成人视频| 色婷婷狠狠| 乱伦熟女区| 久久精品国产亚洲AV无码做| 超碰在线人妻中文字幕| 精品国产乱码久久久| 欧美精品,四区。五区| 一区二区不卡| 欧美五区| 人妻天天爽夜夜爽精品2| 欧美亚州手机在线| 99热在线观看| 久操热线| 三级片网站在线播放| 欧美日本国产日韩激情视频| 日韩在线一区高清在线| 大香蕉免费3| 精品国产三级av韩国在线| 女人天堂av在线播放| 九九九网站| 亚洲视频精选| 日夜精品| 超碰97丝袜| 蜜臀久久99精品久久久久久无删减| 人妻精品一区二区三区| 99国产女人| 国产综合久久久麻桃个| 麻豆精品.欧美精品.日韩精品.| 欧美宗合网| 亚洲 欧美综合| 欧美国产婷婷久久| 色五月AV| 成年人黄色视频免费| 18禁止看精品中文字幕| 综合伊人激情| 久久黄色视频一区二区三区| 欧美极品性爱天天射| 少妇xx精品| 99久久精品国产高潮| 91精品黄在线观看| 五月天婷婷色| 日本三级小说中文字幕| 大吊色| 丰满人妻一区二区中文| 夜夜高潮夜夜爽国产伦精品|