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

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(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) 簡介一份面向計(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)存再從后備隊(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è)的代碼邏輯通常長這樣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); // 簡化處理第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é)奏對不對。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í)長后以一定概率模擬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í)老師問“阻塞對性能的影響”你能直接拿出數(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ù)性檢查腳本對比才發(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)生大量難以利用的微小碎片。對于課設(shè)場景首次適應(yīng)實(shí)現(xiàn)簡單、現(xiàn)象直觀更不容易在答辯時(shí)被追問到死角。如果老師問“FF 的缺點(diǎn)是什么”你可以回答“低地址區(qū)域的碎片化”——這個(gè)回答能顯示你真的理解而不是背代碼。當(dāng)然如果你學(xué)有余力我建議在源碼里再加一個(gè) Best Fit 的實(shí)現(xiàn)用 boolean 變量切換兩種算法報(bào)告里對比分析碎片率。這屬于加分項(xiàng)一般老師看到這個(gè)會(huì)說“這個(gè)同學(xué)有思考”。4.4 內(nèi)存狀態(tài)的可視化輸出控制臺(tái)程序怎么展示內(nèi)存分配做一個(gè)簡單的字符畫內(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)出之后。對照著看首次適應(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è)方法只對調(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í)行阻塞進(jìn)程被漏掉。常見是把阻塞時(shí)間設(shè)為固定大數(shù)或者喚醒邏輯寫在“就緒隊(duì)列非空”的分支里阻塞隊(duì)列一旦為空就跳過檢查。解決把阻塞隊(duì)列的檢查放到主循環(huán)的最前面無論就緒隊(duì)列是否為空每輪都先檢查阻塞進(jìn)程的剩余時(shí)間。阻塞時(shí)間建議用random.nextInt(3) 11~3 個(gè)時(shí)間片就夠了太長會(huì)導(dǎo)致進(jìn)程長時(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ù)明顯不對某個(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)程對象不復(fù)用結(jié)束就丟棄新作業(yè)進(jìn)內(nèi)存時(shí)新建進(jìn)程對象這個(gè)對象與原作業(yè)共享 jobId 但統(tǒng)計(jì)字段獨(dú)立。這是我自己在寫報(bào)告時(shí)加統(tǒng)計(jì)功能踩到的坑數(shù)據(jù)對不上特別耗時(shí)。6. 從模塊拼裝到完整復(fù)現(xiàn)一份可以照用的驗(yàn)證清單和調(diào)試套路課設(shè)拿到手先不要急著跑我建議按下面這個(gè)順序走一遍20 分鐘內(nèi)能確認(rèn)每個(gè)模塊工作正常。第一步打開 README看清楚它定義的運(yùn)行入口和參數(shù)常量——內(nèi)存總大小、時(shí)間片長度、最大并發(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)輸出對照確認(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ì)列尾部內(nèi)存回收后空閑分區(qū)表中無相鄰可合并塊所有進(jìn)程結(jié)束后后備隊(duì)列為空、內(nèi)存全部空閑。每一條都可以用一條日志輸出對一次不用猜。我在按這份課設(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
返回資訊列表
97无码视频在线播放| 97超碰资源网| 97欧美精品| 亚洲精品日日夜夜52| 日韩肏逼视频| 蜜臀AV一区二区三区| 久久日本熟女精品一区| 天天享受天天看| 中文字幕jul-617人妻熟女| 国产色图乱伦| 欧美黑人与女人91| 精品熟妇视频一区二区| 青青草玖玖爱| 操屄不卡视频| 欧洲精品一区二区三区| 欧亚综合一卡二卡中文字幕| 一级人妻性爱视频| 中文字幕无码不卡啪啪| 免费看污网址| 超碰97在线中文| 久九干| 国产亚州日韩欧美看片| 国产情侣自拍在线播放| 中文久久爆乳| 久操热线| 看日韩美女二区三区免费操逼视频 | 影音先锋视频在线| 亚洲女毛多水多21P| 日本性交操一区二区不卡系列| 国产无码成人无码| 国产精品嫩草影院午夜两性| 亚洲va有码在线天堂| 99亚洲精品| 免费人成毛片乱码| 九月激情婷婷| 在线看免费无码AV天堂的| AV免费在线播放一区| 亚洲第一狼人丝袜美女另类| 这里都是精品在线观看| 色婷婷丁香五月天| 91在线|亚| 天天爽爽爽爽| 密臀在线免费观看| 国产91丝袜在线播放蜜月| 淫骚熟女一区二区三区| 大香蕉2017| 91热热色| 欧美99999| 操逼A∨| 色色毛片| 久久性爱大全| 久久国语| 人人妻人人澡人人爽久久av| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 久久久成人免费av电影| 亚州欧美在线| 被男人吃奶很爽的毛片| 无遮挡h肉动漫在线观看| 激情五月丁香五月| 福利风月五月天影院| 亚洲最大黄网| 日本黄色天堂| 熟妇熟女一区二区三区| 免费少妇一区二区| 国产欧美亚洲精品a第2页| www.超碰| 韩国女主播青草在线| 欧美一区二区三区成人性生活| 97色操| 日韩性爱1级片视频| 18禁的网站在线| 五月开心网| 后入人妻一区| 日本免费专区| 熟女高潮精品一区二区| 青青草毛片| 中文字幕,人妻,日韩| 国产真实野战在线视频| 精品国产污一区二区三区| 欧美韩国你懂得在线| 漂亮人妻被强中文字幕hd| 成人性爱免费播放| 婷婷五月色| 亚洲中文电影| 美欧色综合| 日韩av免费一级电影| aaaa黄片| 日日噜噜夜夜久久亚洲一区二区 | 天天射天天色成人| 韩国黄片aaaa| 青青草黑寡妇男人天堂| 久久蜜桃一区二区| 女人被男人桶爽视频网站| 久久综合五月天| 久久夜夜夜| 老女人综合网| 玖玖97综合 | 亲子敌伦对白在线播放| 久久久 国产精品| 91久久18禁| 花花AV导航| 午夜福利免费精品视频| 易易A毛视频| 18禁免费视频| 中文字幕诱惑制服人妻丝袜美丝袜美 | 亚洲综合97| 亚洲最大无码中文字幕网站 | 久久国产乱子伦精品免费女人| 99综合视频一体| 夜夜 中文视频rt| 激情综合网亚洲| 欧美色综合影院| 中文久久96| 你懂的在线观看区国产| 天天天天天天天天综合| 青青免费在线视频一区 | 亚洲97综| 亚洲色图激情小说| 国产捆绑一区| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 欧美色日| 在线国产一区二区av| 91美女视频在线免费观看| 国产JDAV无码视频在线观看| 中文有码第五页| 97超碰色| 少妇内射www在线观看视频| 精品日韩人妻精品一二三区| 欧美精品丝袜久久久中文字幕| 蜜臀99久久精品久久久久| 国产一区96在线| 亚欧成人一级片在线播放| 日韩欧美视频青青| 超碰在线人妻中文字幕| 成熟熟女国产精品一区二区| 1禁看欧美黄片免费看| 美女干逼2| 国产高清在线观看欧美| 激情综合 婷婷五月 红杏| 91九色精品熟女内射| 中国91AV| 亚洲永久永久永久永久一级一级一级精品| 一区二区三区视频国产免费| 精品人妻高清麻豆av| 97干在线| 成人午夜高潮av猛片| 91高跟美女在线播放| 色天使亚洲综合在线观看| 日本九九久久99| 色官网在线| 一区二区三区四区理论片| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 97超碰9| 欧美熟妇乱码在线一区| 日韩黄色一区二区三区| 嗯嗯不要视频| 亚洲性猛| 好吊妞转入那个网| 欧美中出1| 欧美性爱第一页久久| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 丁香六月婷婷| 国产人妖的免费的视频| 久久超碰网| 国产精品久久久久久久久久久久久久久久| 丁香六月激情| 欧美亚洲| 国产精品人妻免费精品| 福利天天都操| 伊人青青草久久| 99视频只有精品| 91东京热男人的天堂| 国产乱码久久久| 久久亚洲人妻| 国产视频三区四区| 日本污ww视频网站| 岛国激情视频软件| 亚洲欧美首页| 日韩在线观看AV| 久久只有精品一区二区三区| 97中文天堂| 性色av网站| 超清福利精品视频在线| 先锋激情∨在线视频播放| 精品人妻一区二区三区鲁大师| 欧美大片天天看| 中文字幕黑人大片| 久操操| 免费精品中文字幕| 91久久免费视频互動交流 | 久久久久久夜夜夜夜夜| 婷婷丁香在线| 日韩不卡a级视频专区| 成人无遮挡毛片免费看| 精品91| 96国产精品| 婷婷九月国产| 欧美后入式| 亚洲AV在线资源| 秋霞一区二区三区四区五区六区七区| 久久9亚洲| 激情综合五月| av天堂影视中文在字幕在线中文| 久9视频| 影音先锋国产精品| 婷婷丁香五月综合| 天天日日夜夜| 极品色社| 日韩少妇丰满亚洲| 99蜜桃臀久久久欧美精品网站| 黄总AV色图| www.成人无码| 天堂无码精品国产久| 麻豆成人影音在线| 一区二区乱码福利| TS人妖另类精品视频系列| 久热一区二区| 日韩免费簧片| 亚洲欧洲综合成人av一区| 天天狠操| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 精品综合久久久久久97| 国产一区二区精品久久久不卡蜜臀 | 国产无码精品高清| 日韩精品视频在线观看一卡二卡| 91麻豆va国产精品| 女同在线视频一区| juliaann丝袜大战黑鬼| 中亚黄色三级大片| 91成人无码| 岛国视频一二三区| 好吊妞转入那个网| 精品美女久久一二三| 天天搞欧美| 日本媚薬中文字幕在线| 欧美成人A√在线一区二区| 成人26uuu| 操婷婷逼| 欧洲Au麻豆| 一本久久精品中文字| 日韩综合色网| 亚洲欧美电影| 日韩av影片在线观看| 五月天激情小说| 久久熟女人| 97超碰人操| 91 偷| 内射夫妻三片| 久久久人妻| 久久99999| 国产60页| 2018色综合天天操| 内射卯月麻衣| AAAA级日本片免费视频| 丁香五月色情| 亚洲日本天堂| 高清有码一区二区| 亚洲人妻一区二区三区| 中文日韩欧美熟| 翔田千里AV无码秘 三区| 午夜福利免费福利视频| 97人人爱人人做人人乐| 九九热av| 超碰在线91| WWW美腿丝袜香蕉中文| 免费观看成人www精品视频| 狠狠激情综合狠狠操中文字幕| WWW4虎| 清纯唯美激情| 在线强奷到舒服的无码视频| 中文字幕55555| 久久精品女同亚洲女同13| 手机在线免费看的av| 2017,超碰| 欧美少妇第一页| 国产色图乱伦| 亚洲色图自拍| 婷婷五月天成人| 久久久9品一区二区三区| AV久日| 26uuu国产亚洲综合| 久久亚洲不卡| 国产精品天堂| 伊人亚洲国产一成人久久精品,久久| 91 丝袜在线观看| 国产中文大片资源中文字幕| 国产SV一线| 天久久久噜噜噜久久国产精品爽爽| 精品一啪| …中文字幕亚洲乱,97人妻无码费视…| 豆花视频操逼网址| 亚熟hd视频在线| A级毛片在线看免费| 成人AV素股で擦久久| 青青色在线观看| 欧美躁死她一区二区| 91精品国产91熟女| 一本道综合色图| 天天拍夜夜| 91美女中出| 99re免费| 久久亚洲不卡一区二区三区| 黄色电影在线播放综合网站| 超碰97欧美日韩| 亚洲中文国际强奸字幕| 韩日自拍| 黄污污污污| 亚洲精品99999| 99国产精品在线观看| 国产高清亚洲日韩一区| 蜜桃一区二区三区| 91狠狠综合久久| 狠狠色五月亚洲91| 涩爱AV在线| 天天躁日日躁AAAAXXXX国产 | 九九九精品一区二区无码| 久久这里是精品| 无码九九九九| 懂色综合久久久| 9色国产精品一区粉嫩| 亚洲永久AV无码精品秋霞| 免费1级a做爰片观看| 亚洲性猛| 男人的天堂网免费| 日本精品网站在线中文| 亚洲美腿丝袜香蕉影视欧美成人| 日韩三级一区 | 大香蕉伊人在线成人AV在线观看| 国产高清26uuu| 欧美自拍网| 九九久久一区二区三区| 无码伊人久久大杳蕉中文无码| 欧美人妻少妇| 久久精品人妻一区二区| 人人色97| 亚洲中文国际强奸字幕| 91欧美大片| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 约操熟妇| 久久久91| 美女骚尻视频| 人妻精品一区二区全免费| 日韩一级成人毛片免费观看| 国产精品com| 黄色区免费观看中文字幕| 神马午夜久久| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 久久大黄片| 欧美 牲| 国产AV超爽| 欧美91在线| 久热99999| 国产精品午夜成人福利| 丁香色色网| 亚洲一曲日韩精品| 九九视频黄色片| 91天堂| 欧美日韩精品青青| 欧美熟女丝袜| 国产久久日韩网站导航| 超91综合网| 天美麻花大全视频| 影音先锋乱| 欧美精品23| 欧美一区二区三区不卡高清视频| 欲香欲色综合天天伊人| 亚洲女人毛茸茸91| 中文字幕精品三级久久久| 午夜福利区| 成人影 天天操 亚洲| 久碰视频| 国产又粗又又黄又猛| 亚洲熟女中文字幕在线| 天天日B夜夜干B时时操B| 琪琪精品免费一区二区三区 | 三级三级三级日本99| 日韩一区二区三区四区五区| 久久精品中文字幕无码l| 国产成年女人免费视频播放a| 精品久久久av无码免费| 超碰精品日韩欧美国产| 亚洲av国产av综合av卡| 免费的黄片有限公司| 日韩啊V| A 天堂| 日韩一区二区精彩视频| 一类无码操逼视频| 日韩欧美国产一区二区三区四区| 国产综合网站在线播放 | 亚洲熟女性高潮久久久| 男女真人网18| 97久久久| 国精品一区二区三| 久草婷婷| 伊人久久亚洲色欲综合网站 | 日日骚 av| 东京热不卡视频| 吊色| 超碰97伊人| 色妇综合网| 国产捆绑一区| 天天综合网日韩7799| 一级黄色牲爱A级片| 亚洲福利中文字幕在线| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 78精品| 91视频综合| 久久黄片国产一区二区| 性色av蜜臀av色欲aV| 国产CHASE男男GAYGA 毛多色婷婷| 亚洲精品a人片在线观看视| 色色激情| 玖玖蜜臀资源网| AV中文字幕剧情1区2区3| 久热精品在线| 日本一区二区三区午夜观看| 国产高清成人传媒影视| 91九九九馒头| 欧美同性恋 的搜索结果 - 91n| 欧美啪啪色吧在线| 国产Aα| 99只有精品| 91美乳| 超碰4A| 美国黄片aaa| 国产成人精品日本亚洲语言| 香港日本韩国人妇99www.wccm20| 九热久| 国产精品久久久久亚洲av | 国产区日韩区在线观看| 激情啪啪拍91| 超碰碰激情97+久| 日本大香蕉综合网| 激情五月天社区| 亚洲吊色| 亚洲影院成人| 五月天婷婷欧美三区| 日本欧美m v精品网站加| 狠狠爱综合网| 日本综合久久| 国产欧美日产一区二区三区 - 国产欧美日 | 97一本大道亚洲一区| 夜夜欢天天干| 国产中文精品一区二区在线观看| 欧美一区二区情色| 超碰色97| 91一起操| 激情综合 婷婷五月 红杏 | 久久青娱乐| 99re热有精品视频国产| 神马久久久久眼| 人人操人人摸超碰| www.久久久久| 老熟乱一区二区三区四区| av在线一区二区三区| 久久综合日韩亚洲欧美| 女生91网站| 91日本在线观看| 欧美91久久久久| 少妇一区二区三区高速| 啊啊啊在线观看免费视频| 精品熟女呻吟久久91| 爱av免费| 天天天堂影视日韩亚洲91| 26uuu欧美日韩| 青青草精品| 蜜乳AV.COM| 伊人玖玖网| www.99中文字幕| 伊人991| 强奸乱伦大香蕉| 自拍亚洲综合| 十八禁视频网站| 91操熟女视频| 亚洲综合色男人网| 强被迫伦姧在线观看无码网站| 亚洲免费精品一区| 五月丁香六月综合缴清无码| 天天做天天爱天天爽AV| 日韩无码黄色片| 精品白丝一区| 久久久夜夜嗨免费视频| 国产精品诱惑| 国产91精品久久久久久久网曝门| 超碰无码加勒比| 国产精品不卡一区二区三区| 激情啪啪拍91| 国产深喉视频一区二区| 精品人妻视频一区二区三区蜜桃视频| 亚洲国产精品9999在线观看| 啊啊啊轻点在线观看| 久久婷婷热| 91精片| 天天天天天超碰| 久草免费在线一区二区| 99久久99久久免费精品蜜臀| 国产精品欧美激在线| 欧美成人一区二区三区在线播放| 国产精品扒开腿做爽爽爽视频| 99久久这里只有精品| 波多野结衣AV无码一区| 欧美黑人日韩少妇色情| 日韩美一区| 精品国产一区二区三区香蕉欧美| 免费99精品国产自在在线| 2020视频1区2区3区| 熟女乱3伦999| 人人爽夜夜玩视频| 91jk色拍| 日本天天操| 日本成人A片免费看| 殴美性天天| 天天澡天天爽日日av| 成人片在线播放| 国产三级在线现体验区| 丝袜美腿丝袜| 蜜桃一区二区三区| 日韩在线视频1234| 日韩欧美经典在线观看| 国内毛片无遮挡国产| 欲色综合| 日本中文字幕熟妇| 哈哈操电影AV| 中文字幕在线观看丝袜| 激情啪啪拍91| 成人aⅴ一区二区三区| 精品免费一区| 老熟女阿 国产91| 色香伊人| 素颜老阿姨乱情色| 国产老熟女| 婷婷五月天福利| 日韩性爱小视频在线观看| 无码操逼视频一下| 日韩成年人性爱视频| 国产丁香精品露脸视频| 欧美综合传媒| 日日噜噜夜夜久久亚洲一区二区 | 日韩精品电影| 伊人久久大香线综合无码| 欧美色图天堂在线| 五月天激情网站| 激情久久av一区av二区av| 日本操大逼| 欧美日韩国产另类综合| 欧美日韩黄片精品在线| 一区二区免费电影久久| 性爱网站一区二区| 自拍偷拍第26| 亚欧毛片基地国产毛片基地 | 女生自91网站| 中文字幕AV片| 日日妻色网| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 狠狠久久亚洲欧美专区| 99热精品免费| 欧美视频在线第3页| 最新欧洲欧美日本激情网站| 狠狠穞A片一區二區三區| 91精品黄在线观看| AA丁香综合激情| 中文字幕一区av| 亚洲图片欧美日韩| 不卡码视频| 国产又大又粗又长视频在线| 亚洲激情天堂网| 日韩天天本| 色悠久久久av| 抽插亚洲无码| 天天影视色香欲综合网小说| 亚洲精品乱码线路中文字幕| 国产精品国产自产高清AV| 操操操日本的逼| 亚洲制服欧美另类内射| 久操大香蕉手机视频在线看| 国产精品乱人伊人网| 国产肏屁眼视频| 男人的天堂日韩| 大粗鳼巴久久久久| 日本操逼aaaaa| 成人性爱av.com| 91超碰人人操| 男人的天堂在线2| 精品一二三区四视频| 亚欧美无遮挡| 国产成人欧美精品在线| 再深点灬舒服灬太大了添视频| 人人摸人人叼| 青青草吊丝| 亚洲精品久久一区二区三区蜜桃臀| 欧美综合色图片| 黄片免费日韩| 成人性爱电影一区二区| 精品射1999| 综合大香蕉美。| 曰韩中文人妻视频| 日韩一区二区三区四区五区| 久操综合在线| 欧美极品色| 久久产精品一区二区三区电影| 盗摄女人妻在线| 男人的天堂2010| 久久一本大香蕉| 亚洲熟女综合网| 国产福利在线视频网站| 日韩性色b| 中文字幕精品专区搜索结果91| 九九九精品| 亚洲国产欧美中文永久| 伊人久久大香蕉线AV五月天| 欧美日韩色| yellow网站免费观看日韩高清无码| 天天日日夜夜| nuu12国产麻豆精品| 欧州一区二区三区四区| 激情婷婷五月天| 粉嫩久久久极品| 免费日韩黄片| 在线天堂999| 极品少妇久久久| 日韩激情中文字幕有码| 四虎免费看黄| 亚洲一区中文精品| baisiav| 欧美草草高清日韩视频| 亚洲国产麻豆一区二区三区| 91成人国产综合久久精品蜜月| 亚洲视频精选| 天天色播| 96国产精品| 日韩AC| 欧美日日人人天天| 3D污黄视频在线观看| 试看福利| 久久无码成人| 国产精品在线网站| 黄色AAAAA欧美| 久久水蜜臀亚洲AV无码精品| 欧美色www亚洲国产阿娇要播| 极品色社| 欧美精品宗合| 欧美三级一级| 老司机午夜精品视频| www老逼91| 操屄日韩| 久久久久9999妇女| 天天做日日做| 伦理日韩国产久久| 色综合色欲色综合色综合色综合| 超碰欧美97资源| 久久精品色欧美aⅴ一区二区| 超碰综合97在线| 国产伦精品一区二区三区在线观| 无码人妻毛片丰满熟妇精品区| 熟女人妇一区二区三区| 国产丝袜一区二区三区| www.99视频| 欧美综合亚洲综合| 亚洲 se图 欧美电影| 国产日韩欧美操逼视频| 亚欧洲一区二区视频| 熟女乱伦二区| 91精片| 熟妇高潮一区二| 偷拍自拍在线视频观看| 色九九久九九| 岛国小电影| 超碰国产精品久| 中出人妻中文字幕91在线| 91久久99久久91熟女精品| 成人性交免费视频| 99久久综合| 国产小黄片在线免费观看| 色香网| 97操97色| 亚洲精品亚洲人成在线麻豆| 极品肉射| 欧美日动态视频| 91九九| 啪啪啪精品| 久久久久深夜无码| 久久女人视频| 人、人、摸,人、人、草| 97视频在线播放| 91久久久老司机| 久9热| 亚洲精品乱码线路中文字幕| 天天射天天色成人| 欧美色图天堂网m| 婷婷丁香五月激情啪啪| 亚洲性爱成人| 久久国产精品一区二区| 96免费视频在线| 婷婷激情四射| 国产高清在线观看欧美| 九九九九国产| 成人草草视频| 欧美人妻色| 免费看毛片操穴| 欧亚乱色熟女一区二区| 欧美人体性爱互联网第一页婷婷日本| 日韩熟女视频二区| 国产农村妇女精品一二区| 久久人人看| 91在线超高颜值国产| 91少妇人妻| 97天天插| 日韩不卡网操逼中文字幕日韩| 五月丁香综合| 人人插人人搞人人操| 18啪啪手机免费性爱| 精品午夜福利| 综合欧美色图| 无码九九| 夜夜青青无码影院| 超碰天天操你比| 亚洲熟妇乱女区二区三区| 激情五月丁香五月| 亚洲精品中文字幕一区在线视频| 精品国产91内射久久| 91精品91久久久久77777俄罗斯老妇姓x| 五十路人妻在线| 99热免费精品| 人妻激情在线视频| 91爱| 欧美图片校园春色| 日韩淫色网| 超碰夫妻97| 成年男人的天堂| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 九九热精彩视频| 久久的网站啊啊啊啊啊| 亚洲综合春色| 欧美嗯啊……在线观看视频免费| 99热精品在线播放| 我爱大香蕉| 欧美精品999| 国产日韩欧美三级片| 国产树林里野战在线看| 手机在线看片免费人成视频| 最新中文字幕在线亚洲| 日本天天操| 搡老女人老妇女AAA一VU麻豆| 国产精品日韩在线一区| 免费观看网黄| 日本熟女免费視颖| 人人看欧美性爱| 国产偷拍自拍在线视频| 成人日本视频人妻在线| 99色色网| 亚码激情| 97香蕉人人乳| 国产成人精品午夜福利| 粉嫩av一区二区三区四季| 嗯~啊~快点 死我视频免费看网站| 青木玲在线不卡| 亚洲欧美日韩中文久久自慰| 在线色资源| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 婷婷在线精品| 欧美|91色综合| 艳美熟妇先锋一二三区| 在线观看A啊啊啊| 人妻内射一区二区在线视频| 欧美日日人人天天| 国产精品视频在线观看| 中国操逼无码| 女人喷水视频在线观看| 欧美色婷婷| 色哟哟-国产专区| 欧美熟女丝袜| 天天综合官网| 人妻中文字幕精品无码| 欧美一区二区亚洲天堂| 欧美亚男人的天堂| 亚洲怡春院| 九热中文字幕| av在线不卡一区二区三区| 亚洲av强奸乱伦| 欧美亚男人的天堂| 黑人粗大V S日韩女优视频| 少妇无码999| 奇米四色网| 日本肏逼视频在线观看| 日韩紧密久久| 爱丝福利| 亚洲 中文字幕 精品| 成人免费不卡在线视频| 97天天爽| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 丁香五月偷拍| 久久这里| 粉嫩av在线| 国产女生在线| 中文字幕天天操| 啊啊啊啊操死我| 全免费a敌肛交毛片免费| 精品国产网站| 97se亚洲| 人妻中文字幕日韩电影| 中美日韩毛片| 97伊人网| 午夜色婷婷| 中亚黄色三级大片| 黄色大片免费在线| 超碰调教97| 99精品九九九九九九| 一本大道不卡一二三区| 欧美日韩人人精品| 欧美激情1区| 亚洲AV无码国产精品久久久久| 玖玖综合色| 色香AV| julia高潮后不停追击中出| …中文字幕亚洲乱,97人妻无码费视… | 欧美亚洲日本激情在线| 老女人老91妇女老热女| 国产午夜精品理论片一二三区区 | 九九热精品| 精品毛片久久久精品毛片| 粉嫩AV一区夜夜嗨| 日韩黄色片子| 超碰天天久久79| 日韩性爱小视频| 午夜精品99久久久久传媒| 人妻精品一区二区三区| 亚洲综合九九| 清纯唯美综合亚洲| 在线观看黄色电话| 亚洲影视高清第一页| 性爱乱伦网址| 92大香蕉| 五月丁香婷婷综合网| 97国产中文| 日韩av乱伦| 男人的天堂久久| 色九月| 91骚熟女| 操我啊啊啊啊啊| 69超碰综合| 最新无码国产| 国产精品激情久久久久久久| 在线另类| 亚洲熟女综合一区二区| 五月丁香网站| 亚洲欧美色图片| 日韩美一区| 乱伦熟妇一区二区| 亚州综合AⅤ| 欧美一级A片不卡视频。| 东京热熟女亚洲视频网站| 青娱乐欧美激情一区二区| 91 丝袜在线观看| www色日本| 精品人妻一区二区三区视频在线| 久久99久久99久久99人受| 欧色网址| 91在线限制级| 亚洲阿v天堂无码z2018| 欧美在线视频观看一二三四区高清| 成人美女av| 国产成人精品网站| 少妇毛片久久| 久干9操| 97伊人超碰| 久久久9视频| 四虎影视永久在线免费| 久啪视频| 嗯嗯,啊啊,国产精品| 久久久久久亚洲中文| 天天日骚逼熟女| 欧美日韩99精品麻豆传媒| 免费看片黄| 女人天堂网| 很黄很污的免费网站| 国产69精品久久久久99尤物| 欧洲精品二区| 久久国模av| 很很干很很操| 一线黄色免费性爱片| 特污精品女优骚货黄色视频在线免费观看| 国产欧美一区二区| 青娱乐久久艹| 日本久久女同性恋视频| 日韩二区三四区五区六区在线看| 大香蕉AV在线| 东北丰满熟女国产一区| 欧美+日产+中文| 亚洲综合贴图91| 青青草原人妻| 超碰人人超在线观看| 精品亚洲一区在线观看| 国产精品农村妇女| s片在线观看| 国产久久久9999| 毛片电影一区二区三区| 国产亚洲性生活视频播放| 人妻久久| 精品美女人人干| 色天使大香蕉| 中文字幕一区 二区三四五 区日 日骚| 小日子操bb在线看| 人人人干干人人干| 亚洲 欧美 第一页| 国产中午字一暮区| 农村妇女精品一区二区| 久久久艹艹艹| 玖玖色综合| 无码免费精品高清| 国产人妖的免费的视频| 日韩啊V| 亚洲图片另类| 亚洲一区二区av| 蜜臀在线网站| 欧美综合777| 亚洲男人天堂2016| 亚洲瓯美色图| 操九九九九九九| 东京热激情视频一二三区| 操婷婷逼| 欧美性爱在线无码| 婷婷视频在线免费观看| 欧美日韩国产三级黄色| 色欲三区| 国产一级高跟丝袜| 国产乱伦性爱区| 亚洲成人在线高清| 青娱乐福利99| 操操操五月天婷婷丁香影院| 日本操逼无码| 国产 日韩,欧美 自拍| 白丝av| 亚洲欧美不卡线| 91色拍| 天美传媒精品一区二区| 97超碰超碰| 91综合网| 日本黄色精品专区网站| 日本成熟少妇A∨网站| 亚洲乱码精品一区二区| 三级精品三级在线观看| 亚洲精品一区二区精品| 色翁荡息又大又硬又粗又爽| 一个国产在线综合网站| A级毛片在线看免费| 亚洲精品毛片在线观看| 91人妻做a观看视频| 日韩性爱电影一区| 激情综合网五月婷婷| 色婷婷在线视频| 欧美制服网站美腿丝袜| 精品v1区| 久日91在线| 大香蕉伊然在亚洲91| 大香蕉2017| 欧美 亚洲精品首页| 啊啊啊想要| 四虎国产精品永久在线囯在线| 丰满美女一级毛片在线播放| 在线观看免费视频国产| 操逼网免费无码视频| 久久久com| 中文字幕一区二区三区人妻少妇在线| 啊嗯好大视频在线观看| 在线一区| 色淫网站优优视频| 亚洲熟妇一,二,三期| 一类av片在线看| 亚洲欧美国产日本一区二区三区| 人妻啊啊人妻啊啊| 国产又大又粗又长视频在线| 亚洲十八禁止| 亚洲精品人体| 大香蕉黄色一级片免费看| 日韩精品在线观看网站| 99国内精品| 九九九精品色乱九九九| 99热在线播放| 操逼www.| 日韩乱码Av| 色五月激情AV在线| 九九AV| 女同性恋久久| 国产性刺激| 97超碰影音| 亚洲激情在线观看一区| av大香蕉| 夜夜操一区二区| 久久久少妇| 成人性爱电影一区二区| 熟女色图在线| 伊人91| 午夜理论片在线观看免费| 操九九九九九九| 久久久久久免费电影| 精品久久无码午夜福利| 人妻AV在线| 日本中文字幕熟妇| 人妻精品免费一二三区| 99精品在线| 男人成人黄色视频在线观看免费下载| 欧美色综合| 久久XX| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 免费国产| 中文字幕人成乱码熟女香港| 亚洲人成网www| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 久久少妇人妻| 亚洲第一页第二页激情| www.99热| 夜夜精品视频一区二区| 福利社区午夜一区二区| 久久久久性熟视频| 男同专区一区二区三区在线| 秋霞蝌科网日本一区| 日韩激情视频| A级片一区| 爱射综合| 蜜臀久久99精品久久久久久| 激情专区综合| 淫穴高潮色图| 欧美系列在线一区二区| 97精品久久久久中文字幕| 久久久99免费| 亚洲永久AV无码精品秋霞| 日韩福利电影网| 日韩亚洲美州欧洲综三区一品在线| 精品免费成人久久| 国产亚洲精品第一最新| 色婷婷一区二区三区久久午夜| 成人一级性爱| 色偷偷色偷偷欧美日韩| 九九热久久99精品re| 国产农村妇女精品一| 欧美日韩国产成人高清| 精品国产网站| 老熟女乱伦片| 色爱欲亚洲| 伊人丁香五月婷婷| 丝袜美腿校园春色| 岛国大片在线观看网站入口| 91日产欧美| 日韩性爱免费视频在线网站| 色拍偷亚洲| 免费在线观看国内色片网站网址| 91AV天美在线视频| 亚洲国产午夜真人一级片中文字幕精品黄网站 | AV女资源| 亚洲另类综合欧美| aa片毛片| 超碰97最新人妻| 国产熟女免费观看久久| 亚洲情色 无码专区| 日韩无码成人电影| 欧美97爱| 麻豆性爱视频在线播放| 性爱边摸边日免费AV| 久久久少妇诱惑精品视频| 性一交一乱一交A片久久四色| 色色九区| 欧美午夜色妇色鬼| 欧美不卡二区| 综合网亚洲在线| 国产精品情侣啪啪| 6080YYY午夜理论片在线观看| 色www精品视频在线观看| 91人妻尻屄视频| 欧美资源| 大香蕉一人在线| 最新啪啪视频| 羞涩视频| 亚洲无限观看| 六月丁香啪啪| 欧美在线永久天堂| 中文字幕日韩情色| 成年女人一区| 秋霞久久亚洲精品成人| 综合少妇网| 色欲人妻一区二区在线| 亚洲一级性爱视频免费看| 日本道人妻久久久在线不卡色视频| 人妻激情另类| 国产欧美精选激情视频| 亚洲情色 自拍| 亚洲综合性感在线| 免费一级毛片在线视频观看| 一级毛片电影免费看| 91亚洲丝袜| 日日干日日| 激情小说成人日本无码一| 无码人妻一区二区三区四区老鸭窝| 亚洲97P| 色色五月天婷婷| 一级特黄aaa大片在线观看成人一级片在线观看 | 色色色色色色色色色色色色色色综合| 大香蕉啪啪啪| 亚洲欧美在线观看无码| 日韩人妻无码不卡网站| 欧美 熟女 日韩| 丁香五月天社区| 日韩精品一区二区日韩| 夜夜爽夜夜高潮夜夜爽| 麻豆国产成人精品| 天综合中文| 欧美色综合影院| 久久精品欧美一区二区三区不卡| 欧美亚洲特P| 亚洲国产青青| 久久亚州高清| 青青网三级视频| 欧美在线播放aaaa| 亚洲精品无码成人久久久99| 91美女视频| 狼人狠干| 亚洲少妇自拍中文字幕懂色| 伊人青青草久久| 色噜噜国产在线| 啪啪啪大香蕉| 亚洲精品美女久久久久久久久| 亚洲 欧美 制服 另类 自拍| 玖草在线视频| 校园春色AV天堂| 日本二区不卡| julia ann久久| 性爱欧美五月| 高潮嗯啊性感美女久久久| 亚洲精品丝袜| 99自拍B亚洲| 欧日韩不卡视.频| 99热这里只有精| 丁香六月婷婷综合| 强奸乱伦麻豆| 国产无马视频| 黄片色区软件| 999亚洲国产视频| 国产对白刺激视频| 国产亚洲精品A在线观看下载| 加勒比综合| 91丝袜在线观看| 亚洲综合第一页| 九九九色| 欧美色www亚洲国产阿娇要播| 欧美日韩中文字幕人妻| 另类欧美色| 加勒比海色香蕉婷婷| 国产白丝av| 日产操逼| 澳门黄片一香蕉视频| AV天堂国产| 精品国产三级av韩国在线| 欧美18老人禁| WWW啪啪的com| 激情无码日韩| 综合欧美日韩在线观看| 亚洲熟女av日韩熟女| 久久久中文| 神马福利久草| 色婷婷综合久久久久中文一区二区| 中文字日本乱码|