亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

操作系統(tǒng)課程設(shè)計(jì)實(shí)戰(zhàn):進(jìn)程調(diào)度、內(nèi)存管理與代碼改造避坑指南

操作系統(tǒng)課程設(shè)計(jì)實(shí)戰(zhàn):進(jìn)程調(diào)度、內(nèi)存管理與代碼改造避坑指南 簡(jiǎn)介面向操作系統(tǒng)課程設(shè)計(jì)/大作業(yè)的完整參考包適配西安電子科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)課程設(shè)計(jì)場(chǎng)景也適合其他高校學(xué)生完成類(lèi)似實(shí)踐環(huán)節(jié)時(shí)借鑒。資料定位為參考資料而非定制成品讀者需具備一定編程基礎(chǔ)能夠自行調(diào)試代碼、解決報(bào)錯(cuò)并擴(kuò)展功能無(wú)論初學(xué)還是進(jìn)階都能通過(guò)它了解從需求分析、編碼實(shí)現(xiàn)到報(bào)告整理的全過(guò)程。壓縮包采用zip格式整體約41.16MB主要文件包括課程設(shè)計(jì)報(bào)告、實(shí)驗(yàn)代碼、原始上機(jī)截圖與代碼等報(bào)告可參考結(jié)構(gòu)撰寫(xiě)與思路整理代碼可用來(lái)復(fù)現(xiàn)實(shí)驗(yàn)、排查問(wèn)題并二次開(kāi)發(fā)截圖則有助于復(fù)盤(pán)實(shí)際操作過(guò)程與運(yùn)行環(huán)境。目前已吸引608人學(xué)習(xí)瀏覽覆蓋課程設(shè)計(jì)各階段是完成操作系統(tǒng)課程設(shè)計(jì)、大作業(yè)或工程實(shí)訓(xùn)初期項(xiàng)目時(shí)的實(shí)用素材。1. 操作系統(tǒng)課程設(shè)計(jì)不是看會(huì)的是改會(huì)的操作系統(tǒng)課程設(shè)計(jì)大概是計(jì)算機(jī)專(zhuān)業(yè)大作業(yè)里最讓人頭疼的一類(lèi)進(jìn)程管理、處理機(jī)調(diào)度、內(nèi)存管理、文件系統(tǒng)哪一塊抽出來(lái)都?jí)驅(qū)憥浊衅虒W(xué)進(jìn)度還卡在“剛講完理論就要交完整實(shí)現(xiàn)”。手上這份資源把設(shè)計(jì)報(bào)告、實(shí)驗(yàn)代碼、原始上機(jī)截圖打包在了一起核心價(jià)值是給了你一條完整的“從報(bào)告到代碼再到驗(yàn)證”的鏈路而不是零散的幾段代碼。它適合正在做操作系統(tǒng)課程設(shè)計(jì)或大作業(yè)的人想搞懂報(bào)告怎么寫(xiě)、代碼怎么組織、現(xiàn)場(chǎng)演示怎么不翻車(chē)都能從這里找到參照。我看完第一遍的結(jié)論是直接抄代碼是最虧的用法按報(bào)告反推實(shí)驗(yàn)?zāi)K、再動(dòng)手改代碼才是這類(lèi)資源真正值回票價(jià)的地方。2. 把設(shè)計(jì)報(bào)告當(dāng)施工圖先拆模塊再寫(xiě)代碼2.1 報(bào)告先讀“功能需求”和“模塊劃分”這兩頁(yè)拿到課程設(shè)計(jì)資源包我習(xí)慣先不碰代碼把設(shè)計(jì)報(bào)告從頭翻一遍。報(bào)告篇幅通常在八千到一萬(wàn)字逐字讀完不現(xiàn)實(shí)我一般只看功能需求、模塊劃分、測(cè)試結(jié)果這三部分功能需求對(duì)應(yīng)“老師驗(yàn)收時(shí)會(huì)檢查什么”模塊劃分對(duì)應(yīng)“代碼目錄為什么長(zhǎng)這樣”測(cè)試結(jié)果對(duì)應(yīng)“截圖里那些終端輸出是怎么來(lái)的”。這份資源里的報(bào)告功能需求寫(xiě)得很具體處理機(jī)調(diào)度、進(jìn)程同步、內(nèi)存分配三個(gè)核心模塊是有明確輸入輸出描述的。讀的時(shí)候拿支筆畫(huà)一下哪些函數(shù)是頂層入口哪些函數(shù)是底層實(shí)現(xiàn)不同模塊之間是通過(guò)什么數(shù)據(jù)結(jié)構(gòu)銜接的。畫(huà)完這張邏輯圖再看代碼包里的目錄結(jié)構(gòu)基本能對(duì)上號(hào)——這就是我說(shuō)“報(bào)告是施工圖”的意思代碼只是施工圖的落地結(jié)果。2.2 按報(bào)告反推實(shí)驗(yàn)?zāi)K三塊核心必做兩塊擴(kuò)展選做絕大多數(shù)操作系統(tǒng)課程設(shè)計(jì)都繞著五個(gè)經(jīng)典題目轉(zhuǎn)進(jìn)程同步、處理機(jī)調(diào)度、內(nèi)存管理、文件系統(tǒng)、死鎖避免。這份資源覆蓋了其中三個(gè)核心模塊外加設(shè)備和文件系統(tǒng)的擴(kuò)展部分完整模塊拆解我整理成了下面這張表。模塊核心知識(shí)點(diǎn)代碼形態(tài)預(yù)估代碼量進(jìn)程同步信號(hào)量、PV操作、生產(chǎn)者消費(fèi)者多線程 共享隊(duì)列200-300行處理機(jī)調(diào)度先來(lái)先服務(wù)、時(shí)間片輪轉(zhuǎn)、優(yōu)先級(jí)調(diào)度器 進(jìn)程控制塊300-400行內(nèi)存管理分區(qū)分配、頁(yè)式管理、頁(yè)面置換內(nèi)存表 分配算法250-350行文件系統(tǒng)擴(kuò)展目錄結(jié)構(gòu)、空閑塊管理模擬文件系統(tǒng)300-400行死鎖避免擴(kuò)展銀行家算法、安全性檢測(cè)資源分配類(lèi)200-300行我見(jiàn)過(guò)不少同學(xué)拿到這類(lèi)資源后一上來(lái)就對(duì)著完整代碼埋頭讀讀了兩天還在第一個(gè)文件里打轉(zhuǎn)。正確的打開(kāi)方式是挑一個(gè)模塊先吃透比如先從處理機(jī)調(diào)度入手因?yàn)檫@個(gè)模塊邏輯獨(dú)立、不依賴(lài)其他模塊的數(shù)據(jù)結(jié)構(gòu)改起來(lái)風(fēng)險(xiǎn)最小。三個(gè)核心模塊全部看懂、能跑通再?zèng)Q定要不要碰擴(kuò)展部分時(shí)間不夠就果斷放棄擴(kuò)展核心模塊不出問(wèn)題才是產(chǎn)出的底線。2.3 工作量倒排四周時(shí)間表比想象中更緊課程設(shè)計(jì)和普通作業(yè)最大的不同在于有“現(xiàn)場(chǎng)演示”環(huán)節(jié)你得當(dāng)著老師的面編譯、運(yùn)行、講解代碼。這就意味著不能把進(jìn)度壓到最后三天否則一編譯報(bào)錯(cuò)就當(dāng)場(chǎng)社死。我用這份資源做模擬項(xiàng)目X時(shí)按四周做了倒排計(jì)劃。第一周只做一件事跑通原始代碼。環(huán)境裝好、編譯通過(guò)、把截圖里的演示流程自己在終端里復(fù)現(xiàn)一遍這一步是后面所有操作的基礎(chǔ)。第二周選一個(gè)核心模塊開(kāi)始改改之前先寫(xiě)測(cè)試用例保證改動(dòng)沒(méi)有破壞原有功能。第三周做擴(kuò)展功能和界面優(yōu)化順帶把設(shè)計(jì)報(bào)告對(duì)應(yīng)章節(jié)補(bǔ)上。第四周是緩沖期專(zhuān)門(mén)用來(lái)對(duì)付那些“昨天還能跑今天突然崩了”的玄學(xué)問(wèn)題同時(shí)排練演示流程。提示如果學(xué)校給了明確的驗(yàn)收要求和評(píng)分子項(xiàng)倒排計(jì)劃要以評(píng)分子項(xiàng)為邊界。比如評(píng)分要求里處理機(jī)調(diào)度占20分那這個(gè)模塊至少要投入一周半而不是看代碼順眼就多做、不順眼就跳過(guò)。3. 把實(shí)驗(yàn)代碼跑起來(lái)環(huán)境搭建、編譯命令與三個(gè)參數(shù)坑3.1 開(kāi)發(fā)環(huán)境與依賴(lài)Linux 是默認(rèn)答案這份資源的實(shí)驗(yàn)代碼是在 Linux 環(huán)境下寫(xiě)的上機(jī)截圖里的終端界面也印證了這一點(diǎn)。如果你平時(shí)用的是 Windows別掙扎直接在虛擬機(jī)里裝一個(gè) Ubuntu或者用系統(tǒng)自帶的 WSL 都行。我一般用 Ubuntu因?yàn)?apt 裝依賴(lài)太方便踩坑的解決方案網(wǎng)上也最多。打開(kāi)終端后先確認(rèn)三樣?xùn)|西有沒(méi)有裝齊gcc、make、gdb。前兩個(gè)是編譯工具鏈的基礎(chǔ)gdb 是調(diào)試工具沒(méi)有它你排查段錯(cuò)誤的時(shí)候會(huì)痛苦很多。檢查命令很簡(jiǎn)單gcc --version make --version gdb --version sudo apt update sudo apt install -y build-essential gdb代碼里如果有額外的第三方庫(kù)比如用到了 pthread 多線程編譯命令里要加-lpthread鏈接選項(xiàng)這個(gè)后面編譯報(bào)錯(cuò)時(shí)最常見(jiàn)的提示就是“undefined reference to pthread_create”。另外提醒一句主機(jī)的 Linux 內(nèi)核版本和實(shí)驗(yàn)代碼里的系統(tǒng)調(diào)用之間通常沒(méi)有兼容性問(wèn)題這類(lèi)課程設(shè)計(jì)用的都是最基礎(chǔ)的 POSIX 接口不太會(huì)踩到內(nèi)核版本差異。3.2 編譯運(yùn)行先 make clean 再 make不要硬剛舊產(chǎn)物多文件工程基本都帶 Makefile直接用 make 編譯。但這里有一個(gè)很影響效率的操作習(xí)慣修改代碼后直接 make如果報(bào)出奇怪錯(cuò)誤先別急著懷疑代碼邏輯先make clean再重新編譯把舊產(chǎn)物清干凈。特別是改過(guò)頭文件、動(dòng)過(guò)全局?jǐn)?shù)據(jù)結(jié)構(gòu)聲明的情況舊的 .o 文件和新代碼混在一起會(huì)出現(xiàn)各種匪夷所思的鏈接錯(cuò)誤。# 進(jìn)入代碼所在目錄 cd os_course_design # 清掉之前的編譯產(chǎn)物再重新構(gòu)建 make clean make # 查看生成的可執(zhí)行文件 ls -la bin/邏輯說(shuō)明make clean刪除所有中間目標(biāo)文件.o和上一次生成的可執(zhí)行文件make從頭開(kāi)始編譯鏈接。這樣做的好處是避免增量編譯時(shí)新舊文件混用導(dǎo)致的詭異問(wèn)題。參數(shù)說(shuō)明如果你的課程設(shè)計(jì)要求在 Windows 環(huán)境下編譯建議改用 CMake 重新組織工程課程包里沒(méi)有附帶 CMakeLists.txt 時(shí)自己寫(xiě)一個(gè)只需要十幾行網(wǎng)上模板很多主要注意把 pthread 庫(kù)顯式鏈接進(jìn)去。跑起來(lái)之后把報(bào)告里描述的功能點(diǎn)挨個(gè)驗(yàn)證一遍。處理機(jī)調(diào)度模塊就創(chuàng)建十個(gè)進(jìn)程任務(wù)觀察調(diào)度順序是否和報(bào)告一致內(nèi)存管理模塊就申請(qǐng)大塊內(nèi)存再釋放看日志輸出里是否有內(nèi)存泄漏提示。這里花的時(shí)間越多、記錄越細(xì)后面寫(xiě)報(bào)告和答辯就越省力。3.3 截圖文件怎么用對(duì)照時(shí)間戳還原現(xiàn)場(chǎng)資源包里附帶原始上機(jī)截圖代碼這不是讓你打包交差用的。截圖真正的價(jià)值在于還原“代碼跑起來(lái)應(yīng)該長(zhǎng)什么樣”——終端提示符長(zhǎng)什么樣、調(diào)度過(guò)程中的輸出順序、異常情況下的報(bào)錯(cuò)信息。我在做模擬項(xiàng)目X時(shí)先用截圖里的終端輸出當(dāng)期待輸出再跑自己的代碼對(duì)比一旦輸出和截圖不一致說(shuō)明代碼被改動(dòng)過(guò)或者環(huán)境參數(shù)對(duì)不上。有個(gè)很實(shí)用的做法按“功能點(diǎn)輸入數(shù)據(jù)輸出結(jié)果”的格式給截圖重命名。比如一張截圖是“時(shí)間片輪轉(zhuǎn) 3個(gè)進(jìn)程 時(shí)間片2”另一張是“銀行家算法 5進(jìn)程 3資源類(lèi)”答辯時(shí)候老師問(wèn)起來(lái)你按名字直接翻到對(duì)應(yīng)圖片比自己臨時(shí)在幾十張截圖里翻有效率得多。如果你復(fù)現(xiàn)時(shí)發(fā)現(xiàn)輸出和截圖有出入先檢查輸入的初始參數(shù)是否一致調(diào)度算法類(lèi)實(shí)驗(yàn)對(duì)輸入數(shù)據(jù)極敏感初始狀態(tài)不同結(jié)果就不同不一定是代碼有問(wèn)題。3.4 三個(gè)最容易出錯(cuò)的參數(shù)坑這類(lèi)系統(tǒng)級(jí)實(shí)驗(yàn)代碼里參數(shù)配置集中在頭文件或配置文件里我第一次跑通后改代碼時(shí)就踩了好幾個(gè)坑。挑三個(gè)最高頻的說(shuō)第一個(gè)是線程棧大小。默認(rèn)??臻g是 8MB如果實(shí)驗(yàn)代碼里用了深度遞歸或者大數(shù)組分配運(yùn)行時(shí)直接段錯(cuò)誤Segmentation fault。解決方法是ulimit -s查看當(dāng)前棧大小限制或者用pthread_attr_setstacksize顯式設(shè)置線程棧大小。第二個(gè)是時(shí)間片長(zhǎng)度。處理機(jī)調(diào)度實(shí)驗(yàn)里時(shí)間片一般用static int time_slice 2;定義單位是秒的話程序跑得很慢單位是毫秒的話肉眼根本來(lái)不及看輸出。正確的做法是提供命令行參數(shù)運(yùn)行時(shí)可配置代碼里寫(xiě)死很容易翻車(chē)。第三個(gè)是日志緩沖區(qū)大小。有些代碼用printf直接刷屏有些內(nèi)部維護(hù)循環(huán)緩沖區(qū)后者寫(xiě)滿(mǎn)了會(huì)丟日志表現(xiàn)是“跑到第N條輸出就斷了”。這個(gè)坑最隱蔽因?yàn)椴皇蔷幾g錯(cuò)誤、不是段錯(cuò)誤就是輸出不對(duì)排查了半天才發(fā)現(xiàn)是緩沖區(qū)寫(xiě)滿(mǎn)了。處理辦法是把日志級(jí)別降為只打印關(guān)鍵節(jié)點(diǎn)或者把日志寫(xiě)入文件而不是終端。# 運(yùn)行調(diào)度實(shí)驗(yàn)指定時(shí)間片為 2 個(gè)時(shí)間單位 ./bin/scheduler -q 2 -p 5 # 運(yùn)行進(jìn)程同步實(shí)驗(yàn)指定生產(chǎn)者/消費(fèi)者數(shù)量 ./bin/pc_sync -p 3 -c 3 -b 5參數(shù)說(shuō)明-q是時(shí)間片長(zhǎng)度-p是進(jìn)程或生產(chǎn)者數(shù)量-c是消費(fèi)者數(shù)量-b是緩沖區(qū)容量。沒(méi)有統(tǒng)一標(biāo)準(zhǔn)每個(gè)代碼包的命令行參數(shù)不一樣運(yùn)行前先看 README 或者跑一下./bin/scheduler --help。4. 改造代碼從“能跑”到“能答辯”的四個(gè)切入點(diǎn)4.1 換調(diào)度算法時(shí)間片輪轉(zhuǎn)改多級(jí)反饋隊(duì)列課程設(shè)計(jì)評(píng)分細(xì)則里最常出現(xiàn)的一句話是“在原有功能基礎(chǔ)上有所擴(kuò)展”。原樣提供的代碼只能拿基礎(chǔ)分想拿高分就要?jiǎng)拥丁5谝粋€(gè)推薦切入點(diǎn)是把時(shí)間片輪轉(zhuǎn)Round Robin改成多級(jí)反饋隊(duì)列MLFQ。從代碼量看這個(gè)改動(dòng)在 200 行左右不需要改數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)只是增加隊(duì)列數(shù)量、改變?nèi)蝿?wù)在不同隊(duì)列間的遷移邏輯性?xún)r(jià)比非常高。/* 多級(jí)反饋隊(duì)列核心邏輯優(yōu)先級(jí)從高到低時(shí)間片逐級(jí)翻倍 */ #define MAX_Q_LEVEL 4 int cur_q_level 0; // 當(dāng)前隊(duì)列級(jí)別0 為最高優(yōu)先級(jí) void mlfq_enqueue(PCB *task) { if (task-time_slice_used time_slice_per_level[task-q_level]) { // 時(shí)間片用滿(mǎn)降到下一級(jí)隊(duì)列并重置計(jì)數(shù)器 task-q_level (task-q_level 1 MAX_Q_LEVEL) ? task-q_level 1 : MAX_Q_LEVEL - 1; task-time_slice_used 0; } task_list[task-q_level].push_back(task); }邏輯說(shuō)明time_slice_per_level是一個(gè)數(shù)組定義每一級(jí)隊(duì)列對(duì)應(yīng)的時(shí)間片長(zhǎng)度常見(jiàn)的配置是 [1, 2, 4, 8]搶占式多級(jí)隊(duì)列還要實(shí)現(xiàn)“高優(yōu)先級(jí)隊(duì)列有新任務(wù)時(shí)立刻搶占 CPU”。代碼里的MAX_Q_LEVEL控制隊(duì)列數(shù)量實(shí)際改的時(shí)候建議先用 3 級(jí)隊(duì)列驗(yàn)證邏輯跑通后再擴(kuò)展到 4 級(jí)。參數(shù)說(shuō)明task-q_level是進(jìn)程當(dāng)前所在隊(duì)列級(jí)別task-time_slice_used記錄該進(jìn)程在當(dāng)前隊(duì)列里已經(jīng)用過(guò)的時(shí)間片。這兩個(gè)字段需要在 PCB 結(jié)構(gòu)體里顯式新增改完記得在初始化函數(shù)里置零不然未經(jīng)初始化的變量值直接進(jìn)隊(duì)列會(huì)亂掉。4.2 給同步模塊加一把“自旋鎖”進(jìn)程同步模塊大多數(shù)是“生產(chǎn)者-消費(fèi)者”或“讀者-寫(xiě)者”問(wèn)題。原始代碼一般用二元信號(hào)量實(shí)現(xiàn)互斥但信號(hào)量的實(shí)現(xiàn)細(xì)節(jié)比如 waiting 隊(duì)列不一定暴露出來(lái)。另一條擴(kuò)展路徑是新增自旋鎖spinlock的封裝用于驗(yàn)證互斥訪問(wèn)控制。/* 簡(jiǎn)單自旋鎖使用 GCC 內(nèi)置原子操作實(shí)現(xiàn) */ typedef struct { volatile int flag; } spinlock_t; void spinlock_init(spinlock_t *lock) { __sync_lock_release(lock-flag); // 初始化為 0未上鎖 } void spinlock_lock(spinlock_t *lock) { while (__sync_lock_test_and_set(lock-flag, 1)) { // 忙等待CPU 空轉(zhuǎn)直到鎖被釋放 #ifdef _DEBUG printf(thread %d spinning...\n, pthread_self()); #endif } } void spinlock_unlock(spinlock_t *lock) { __sync_lock_release(lock-flag); }邏輯說(shuō)明__sync_lock_test_and_set是 GCC 內(nèi)置的原子交換指令它把目標(biāo)變量設(shè)為 1同時(shí)返回舊值。如果舊值是 0說(shuō)明鎖是空閑的當(dāng)前線程成功持鎖如果舊值是 1說(shuō)明鎖被別的線程占著線程在 while 循環(huán)里自旋。自旋鎖跟信號(hào)量最大的差別是自旋鎖不讓線程睡眠而是忙等適合臨界區(qū)極短的場(chǎng)景。參數(shù)說(shuō)明volatile修飾符不能省它告訴編譯器這個(gè)變量可能被多個(gè)線程同時(shí)修改不要對(duì)它做寄存器級(jí)優(yōu)化。_DEBUG宏控制是否輸出自旋日志默認(rèn)不開(kāi)因?yàn)殚_(kāi)啟后大量 printf 會(huì)拖慢程序運(yùn)行反而影響實(shí)驗(yàn)結(jié)果。4.3 給關(guān)鍵操作加日志用時(shí)間戳定位調(diào)度順序答辯時(shí)老師最常問(wèn)的一句話是“你的調(diào)度順序是依據(jù)什么設(shè)計(jì)的”如果你只說(shuō)“按時(shí)間片輪轉(zhuǎn)”那和沒(méi)做一樣。加分回答是調(diào)出帶時(shí)間戳和線程號(hào)的日志逐條分析每個(gè)切換點(diǎn)。原始代碼不一定自帶精細(xì)日志自己加也不復(fù)雜/* 調(diào)度器日志記錄每個(gè)進(jìn)程被調(diào)度的時(shí)間點(diǎn)和當(dāng)前運(yùn)行狀態(tài) */ void log_schedule_event(PCB *task, const char *event) { struct timeval tv; gettimeofday(tv, NULL); /* 時(shí)間戳精確到毫秒格式: [1234.567] pid3 RUNNING */ printf([%ld.%03ld] pid%d state%s\n, tv.tv_sec % 10000, tv.tv_usec / 1000, task-pid, event); }邏輯說(shuō)明gettimeofday返回當(dāng)前時(shí)間tv_sec是秒、tv_usec是微秒把微秒除以 1000 轉(zhuǎn)成毫秒后拼在秒后面就能得到形如[1234.567]的高精度時(shí)間戳。加日志的位置一般是進(jìn)程狀態(tài)切換的三處從 ready 變 running、從 running 變 waiting、從 running 變 terminated。參數(shù)說(shuō)明事件類(lèi)型字符串event用常量而不是魔法字符串比如調(diào)用時(shí)寫(xiě)log_schedule_event(task, RUNNING)而不要直接傳running。日志輸出建議默認(rèn)關(guān)閉用一個(gè)全局日志級(jí)別變量控制答辯前調(diào)高級(jí)別打印完整過(guò)程平時(shí)調(diào)低避免刷屏。4.4 把輸入?yún)?shù)做成“可配置”而不是改一行編譯一次這類(lèi)課程設(shè)計(jì)的代碼很多的實(shí)現(xiàn)問(wèn)題在于參數(shù)寫(xiě)死在代碼里改一次要重新編譯。我見(jiàn)過(guò)最夸張的是在一個(gè)循環(huán)里改一個(gè)數(shù)字重新編譯了十幾次。改成配置文件或命令行參數(shù)解析是性?xún)r(jià)比最高的“精致化”改動(dòng)代碼量不多但答辯時(shí)能講的故事多。一個(gè)簡(jiǎn)易但夠用的做法是用getopt_long解析命令行參數(shù)時(shí)間片、進(jìn)程數(shù)量、調(diào)度策略都從命令行傳入./bin/scheduler --algorithm mlfq --time-slice 2 --process 5 --queue-level 3參數(shù)說(shuō)明--algorithm指定調(diào)度算法--time-slice指定基礎(chǔ)時(shí)間片--process指定進(jìn)程數(shù)量--queue-level指定多級(jí)隊(duì)列層數(shù)。實(shí)現(xiàn)它只需要在 main 函數(shù)里加一個(gè)getopt_long調(diào)用把解析結(jié)果賦給全局配置變量。這樣做的好處是答辯時(shí)可以直接現(xiàn)場(chǎng)演示不同參數(shù)組合下的調(diào)度結(jié)果老師問(wèn)你“時(shí)間片從2改成3會(huì)有什么影響”你一條命令跑出來(lái)給他看比任何口頭解釋都有說(shuō)服力。5. 操作系統(tǒng)課程設(shè)計(jì)避坑五條血淚教訓(xùn)5.1 編譯通過(guò)但運(yùn)行閃退問(wèn)題多半出在內(nèi)存分配現(xiàn)象make 順利完成./bin/scheduler一運(yùn)行終端里什么都沒(méi)有直接退回 shell 提示符。原因這是典型的運(yùn)行時(shí)崩潰多半是malloc之后沒(méi)有檢查返回值就直接使用。在多進(jìn)程調(diào)度模擬里如果創(chuàng)建進(jìn)程控制塊時(shí)內(nèi)存分配失敗進(jìn)程表就出現(xiàn)空指針隨后對(duì)空指針取字段觸發(fā)段錯(cuò)誤。段錯(cuò)誤發(fā)生時(shí)程序被內(nèi)核直接殺掉看起來(lái)就是“閃退”。解決先用gdb跑一次gdb ./bin/scheduler然后輸入run崩潰后輸入bt看調(diào)用棧定位到具體哪一行出了問(wèn)題。修復(fù)方式是在每次分配內(nèi)存后加判斷分配失敗就打印錯(cuò)誤信息并退出而不是繼續(xù)往下走。代碼量不大但能救你很多次。5.2 多線程程序輸出順序詭異和報(bào)告里寫(xiě)的不一致現(xiàn)象生產(chǎn)者消費(fèi)者實(shí)驗(yàn)里消費(fèi)者先打印了“正在消費(fèi)”生產(chǎn)者后打印“正在生產(chǎn)”但報(bào)告里寫(xiě)的是“先生產(chǎn)后消費(fèi)”。原因多線程程序的執(zhí)行順序本來(lái)就不確定printf 輸出只能反映“調(diào)用 printf 那一刻的狀態(tài)”不能反映“線程間的執(zhí)行順序”。報(bào)告里寫(xiě)的“先生產(chǎn)后消費(fèi)”是邏輯上的正確順序但線程切換可能在produce函數(shù)執(zhí)行到一半時(shí)發(fā)生輸出自然就穿插了。解決輸出順序不要依賴(lài) printf 的調(diào)用順序。在關(guān)鍵操作前后加狀態(tài)標(biāo)記比如設(shè)置一個(gè)item-is_consumed標(biāo)志位最后統(tǒng)一統(tǒng)計(jì)“正確消費(fèi)數(shù)”和“錯(cuò)誤消費(fèi)數(shù)”以統(tǒng)計(jì)結(jié)果為準(zhǔn)。更省事的辦法是讓日志輸出帶線程 ID你就能從時(shí)間戳上還原真實(shí)的執(zhí)行順序而不是靠肉眼對(duì)比字符串先后。5.3 時(shí)間片輪轉(zhuǎn)跑出來(lái)像先來(lái)先服務(wù)設(shè)置小了又卡死現(xiàn)象調(diào)度模塊設(shè)時(shí)間片為 100三個(gè)進(jìn)程的輸出順序和先來(lái)先服務(wù)完全一樣設(shè)成 1程序運(yùn)行好幾秒都結(jié)束不了。原因時(shí)間片太長(zhǎng)時(shí)每個(gè)進(jìn)程在自己的一大段時(shí)間內(nèi)直接運(yùn)行完根本沒(méi)發(fā)生切換效果等價(jià)于 FCFS。時(shí)間片太短時(shí)進(jìn)程頻繁切換上下文開(kāi)銷(xiāo)巨大程序總耗時(shí)飆升。很多課程設(shè)計(jì)代碼的時(shí)間片單位是“次循環(huán)”不是秒設(shè)置不合適會(huì)出現(xiàn)這種“兩個(gè)極端都不對(duì)”的結(jié)果。解決把時(shí)間片作為運(yùn)行參數(shù)而不是編譯期常量在不同的輸入規(guī)模下多測(cè)幾組選一個(gè)“輸出順序有變化但程序能在 1 秒內(nèi)跑完”的中間值。比如進(jìn)程數(shù) 5 個(gè)、每個(gè)進(jìn)程需要 10 個(gè)單位時(shí)間時(shí)時(shí)間片設(shè) 3 或 4 最合適。另外建議記錄一下不同時(shí)間片下的平均等待時(shí)間答辯時(shí)這個(gè)數(shù)據(jù)比“我試了很多次終于跑通了”有說(shuō)服力得多。5.4 改了代碼之后 git diff 看懵了找不到自己改了哪幾行現(xiàn)象課程設(shè)計(jì)拖了兩周代碼改了幾十處答辯前檢查時(shí)發(fā)現(xiàn)自己都記不清改過(guò)哪里。原因沒(méi)有版本管理。改的時(shí)候東一榔頭西一棒子今天加了個(gè)信號(hào)量明天覺(jué)得不對(duì)刪掉了后天又換了一種實(shí)現(xiàn)。到后期代碼里堆了三四種互相矛盾的邏輯片段。解決拿到資源包的第一件事就是git init并提交一次原始版本之后每完成一個(gè)功能點(diǎn)提交一次提交信息寫(xiě)清楚改動(dòng)內(nèi)容比如feat: add MLFQ queue level或fix: resolve NULL pointer in memory alloc。答辯前憑提交記錄就能列出一張完整的“改動(dòng)清單”老師問(wèn)起來(lái)照著說(shuō)就行。如果學(xué)校課程設(shè)計(jì)有“中期檢查”這份提交記錄本身就是一個(gè)很好的進(jìn)度證明。5.5 上機(jī)演示前十分鐘編譯報(bào)錯(cuò)忙中出錯(cuò)越改越亂現(xiàn)象演示前做最后一次完善改了一個(gè)參數(shù)重新編譯鏈接報(bào)錯(cuò)手忙腳亂改成另一處錯(cuò)誤更多了最后交上去一份編不過(guò)的代碼。原因這是時(shí)間管理的問(wèn)題本質(zhì)上是“最后改動(dòng)”和“驗(yàn)證時(shí)間”之間的窗口太短。臨時(shí)改代碼改完沒(méi)有做回歸測(cè)試連編譯驗(yàn)證都沒(méi)有就上場(chǎng)了。而演示時(shí)是不能看手機(jī)的現(xiàn)場(chǎng)編不過(guò)基本等于這次課程設(shè)計(jì)白做。解決演示前一天晚上代碼凍結(jié)不再動(dòng)任何邏輯代碼。演示當(dāng)天只做三件事make clean make跑一遍預(yù)演的測(cè)試用例打開(kāi)演示用的終端窗口。如果演示時(shí)真的編不過(guò)最穩(wěn)的兜底是切回上一次git commit的版本編譯通過(guò)后再解釋“我正在做優(yōu)化但是優(yōu)先保證核心功能可以運(yùn)行”。保證能跑的版本和進(jìn)化的版本分開(kāi)是這類(lèi)系統(tǒng)工程實(shí)踐作業(yè)最基本的自救手段。6. 給課程設(shè)計(jì)加一道自動(dòng)化驗(yàn)收用腳本跑完所有測(cè)試答辯前的最后階段與其一遍遍手敲命令驗(yàn)證功能不如把測(cè)試過(guò)程固化成一個(gè)腳本一鍵跑完。這個(gè)習(xí)慣是我在被某次驗(yàn)收現(xiàn)場(chǎng)“手動(dòng)輸錯(cuò)參數(shù)導(dǎo)致實(shí)驗(yàn)失敗”坑過(guò)之后形成的。從那以后每次做課程設(shè)計(jì)或大作業(yè)我都會(huì)提前寫(xiě)好run_tests.sh把該驗(yàn)證的功能點(diǎn)全部自動(dòng)化覆蓋#!/bin/bash # 自動(dòng)化驗(yàn)收腳本覆蓋調(diào)度、同步、內(nèi)存三個(gè)核心模塊 PASS0 FAIL0 # 測(cè)試 1: 處理機(jī)調(diào)度 - 時(shí)間片輪轉(zhuǎn) output$(./bin/scheduler -q 2 -p 5 2/dev/null) if echo $output | grep -q PID 1.*RUNNING; then echo [PASS] scheduler round-robin PASS$((PASS1)) else echo [FAIL] scheduler round-robin FAIL$((FAIL1)) fi # 測(cè)試 2: 進(jìn)程同步 - 生產(chǎn)者消費(fèi)者 output$(./bin/pc_sync -p 3 -c 3 -b 5 2/dev/null) if echo $output | grep -q Consumed items: [0-9]; then echo [PASS] sync producer-consumer PASS$((PASS1)) else echo [FAIL] sync producer-consumer FAIL$((FAIL1)) fi # 測(cè)試 3: 內(nèi)存管理 - 分配釋放 output$(./bin/mem_mgr -s 1024 -a 128 2/dev/null) if echo $output | grep -q Allocation succeeded; then echo [PASS] mem allocation PASS$((PASS1)) else echo [FAIL] mem allocation FAIL$((FAIL1)) fi echo echo Total: $((PASSFAIL)), Passed: $PASS, Failed: $FAIL邏輯說(shuō)明腳本對(duì)每個(gè)模塊執(zhí)行一次帶代表性參數(shù)的運(yùn)行然后用grep檢查輸出中是否包含預(yù)期關(guān)鍵字。匹配到就標(biāo)記 PASS匹配不到就標(biāo)記 FAIL最后輸出統(tǒng)計(jì)數(shù)據(jù)相當(dāng)于一版精簡(jiǎn)的冒煙測(cè)試。測(cè)試命令里的2/dev/null是丟棄標(biāo)準(zhǔn)錯(cuò)誤輸出避免腳本被無(wú)關(guān)的警告日志干擾。參數(shù)說(shuō)明每個(gè)測(cè)試用例的輸入?yún)?shù)要和設(shè)計(jì)報(bào)告里寫(xiě)的一致比如調(diào)度模塊用時(shí)間片 2、5 個(gè)進(jìn)程內(nèi)存模塊用 1024KB 內(nèi)存、按 128KB 分區(qū)。參數(shù)不一致會(huì)導(dǎo)致測(cè)試結(jié)果和報(bào)告對(duì)不上反過(guò)來(lái)又增加答辯時(shí)的解釋成本。要新增測(cè)試項(xiàng)就把“運(yùn)行命令 預(yù)期輸出關(guān)鍵字”加到腳本里改造擴(kuò)展功能時(shí)也順手補(bǔ)一條測(cè)試。這個(gè)腳本還有另一個(gè)用法每次跑完自動(dòng)化測(cè)試把輸出結(jié)果存成文件對(duì)著結(jié)果寫(xiě)報(bào)告。報(bào)告里的測(cè)試部分不再需要復(fù)述“我準(zhǔn)備了3組測(cè)試”而是直接列出跑出的數(shù)據(jù)哪里過(guò)了哪里沒(méi)過(guò)一目了然。從那以后我每次做這種系統(tǒng)級(jí)課程設(shè)計(jì)都強(qiáng)制自己先寫(xiě)測(cè)試腳本再做功能開(kāi)發(fā)測(cè)試先行可以幫你把代碼保持在一個(gè)“隨時(shí)能跑”的狀態(tài)。這算是做過(guò)幾次操作系統(tǒng)課程設(shè)計(jì)后最值錢(qián)的一個(gè)習(xí)慣希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
午夜精品99久久久久传媒| 色五月婷婷麻豆在| 色噜噜人妻av中文字幕| 999综合色| 任你爽视频| 亚洲好色人妻| 狠狠做深爱婷婷久久二区| 国产CHASE男男GAYGA 毛多色婷婷| 亚洲精品人体| 北野未奈加勒比av| 九九九九九九九九九五码| 超碰人人超在线观看| 青青青在线高清视频在线一二三四区| 欧美 传媒 麻豆 日韩 偷拍| 欧美一级色| 中文字幕在线免费观看2| 一二三四视频在线社区中文字幕| 粉嫩国产精品久久粉嫩| 欧美中文字幕日韩在线| 久久黄片国产一区二区| 国产免费一区2区3区| 天天日美女的B| 91 丝袜在线| av在线人气| 无码高清专| 亚洲国产精品成人久久蜜臀| 男人的天堂com| 99九九久久| 伊人精品久久网站| 97在线免费视频| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 91一起操| 日韩啪啪视频| 久久性爱视频免费看| 中日韩久久久免费看| 有码免费观看| 超碰97精品在线| 乱伦图av| 密乳无码| 亚洲中文字幕久久人妻| 日日噜噜夜夜狠狠视频无| 老司机午夜精品视频| 啊啊啊好大好深| 丝袜色综合| 亚洲精品不卡一二三区| 久久有码视频| 思思热在线视频免费| 久久三区四区| 亚洲91射| 偷拍视频青青草在线视频| 99蜜月精品久久| 啊啊啊不要啊啊受不了了视频在线| 欧美有码激情视频一区二区三区| 成人五月香网在线| 国产激情综合五月久久| 女人高潮大叫一级毛片| 骚妻少妇精品性色无码四色A V| 久久直播国产| 亚洲图片偷拍视频区| 插日本熟女视频| 国产精品探花视频| 黄色污污污污污污网站| 欧美78| 精品免费国产二区三区| 久久超碰98| www.高清无码诱惑一区.com| 天天干夜夜| 激情视频一二三| wwe 天天干.com| av情色影音| 蜜臀久久久国产| 亚洲精品蜜桃久久久久久久| 91丝袜| 东京热视频网| 黄色毛片A片| 亚洲啪啪性视频| 丁香五月天激情综合| 久久手机视直播| 情色av电影| 午夜天堂精品久久| 后入式五六区| 男人亚洲天堂| 操逼操逼逼操操逼91| 在线观看不卡一区二区三区| 乱伦3P视频| 99综合| 三级片大波波| 我要色综合网站| 亚洲动态色图| 特级特黄一级毛片免费| 超碰人人干| 蜜臀久久久久久999| 手机av亚洲丝袜美腿日韩第一页二页| av中亚| 顶级丝袜熟女一区二区三区| 国产女人高潮视频| 久久九九热| 欧美色欧美| 日本成人电影资源网| 人人色97| 男人的天堂三级| 五月亭亭六月丁香| 婷婷五月天补不补| 熟妇激情| 婷婷av在线中文字幕| 亚洲四虎熟女精品| 亚洲春色激情小说| 久久久久成人网| 免费1级a做爰片观看| 啊啊啊好爽快点啊啊啊嗯嗯| 涩亚洲欧洲| 丰满美女一级毛片在线播放| 91男女啊啊啊| 亚欧美色| 香蕉久久国产AV一区二区| 热久久九九热| 激情黄色片在线观看| 超碰人人干| 激情综合网一盗摄| 亚洲国产欧美一区二区潘金莲| 欧美日韩成人在线| 91欧美综合| 97日视频| 91在线精品| 少妇一区二区三区精选| 欧美一区二区三熟女剧情| 国产高清自拍视频| 亚洲图片欧美日韩| 波多野42部无码喷潮在线观看 | 97国产亚洲中文在线| 亚洲?V无码专区在线电影| henhen91| 丁香九月 婷婷| 中文字幕在线观看AV| 啊啊啊操死我| 麻豆性爱视频在线播放| 很黄很色的视频在线观看| 日韩精品操少妇| 综合激情二| 亚洲自拍欧美国产首页网曝| 93人人操人人| 97精品视频在线播放| 国产精品熟女丝袜一区二区| 久草看看看| 另类图片五月天| 日日超碰亚洲| 亚欧美综合网。| 久久夜黄色无码A级大片| 色亚州人久干视频在线观看免费版| 午夜一级免费毛片| 久久久久婷婷精品av电影| 91麻豆va国产精品| 91oumei| 99re久久| 91少妇香蕉久久精品| 欧美激情中文字幕另类小说| 啪啪自拍九九综合| 激情婷婷丁香| 天天夜夜久久| 免费一级视频特黄色大片| 国产91 丝袜在线播放00-百度| 欧美成人9797| 午夜精品久久久久久久99蜜桃一| 欧洲精品一级二级精品综合视频综合| 日日摸日日碰| 久无码| 少妇一区二区三区高速| 欧美激情区| 欧美三级免费伊人| 天天摸,夜夜摸| 上海一级黄片| 日韩兔费看黄片| 好看的久久不射无码影视影院| 国产精品久久久久av| 久久久久九九九九| 久久大香蕉97| 四虎国产成人精品免费一女五男| 丁香九月激情| 欧美操逼熟女| 精品国产91av一区二区三区| 老熟女综合| 97爱碰| 国产精品一区二区在钱播放| 日韩中文字幕在线视频观看| 女人被男人桶爽视频网站| 91成人精品| 啊啊啊不要好爽日韩无码一区| 69精品少妇一区二区三区蜜桃| 日日操丁香五月天| 欧美日韩大香蕉| 一本色道久久综合亚洲二区三区| 97国产天堂岛| AV高清一区| 日韩精品一区二区三区四虎影视| 另类小色呦| 999精品国产高清一区二区| 日本黄色精品| 加勒比海人人操超碰在线| 丰满欧美放荡少妇在线| 欧美日韩人妻婷婷一区| 久草久日| 91美女高潮| 国产欧美日韩一区二区三区| 999亚洲国产视频| 人人爱人人乐人人操| 欧美人妖内射| 国产国产亚洲一二三久久| av东京热男人的天堂| 亚洲日韩精品在线播放| 综合亚洲网| 大色综合网| 日本黄色XXX| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 综合免费无码中文| 欧亚免费视频| 97在线精品| 亚洲夜夜欢无码一区二区| 日韩AV无码中文一区二区| 中文字幕一区电影在线观看| 国产精品无码久久久久2028| 男人a天堂手机在线版| 国产精品69人妻无码久久久| 国产操偷| 免费看欧美美女黄色大片| 亚洲最大的综合性av| 久久‘黄片视频| 26uuu国产成人综合| 亚洲国产成人福利在线观看| 91国产丝袜白虎| 97se亚洲| 蜜臀AV秘一区翔田千里| 日本一区二区三区四区免费观看| 无遮挡h肉动漫在线观看| 亚洲各类熟们中文字幕| 尹人大香蕉视频在线| 大香樵伊人网| 久久久久久久六六| 黄色成年| 看免费一级在线播放毛片| 久久亚州精品成人Av无| aaa一级黄片| 男人的天堂啪啪| 欧美色一二三| 日韩欧美三级| 亚洲无线观看久久| 性爱精品一区| 欧美另类色| 91激情综合| 久久久久久九九九九九 | 校园春色制服丝袜中文字亚洲| 精品久久久久9999| 久久精品国产久精国产| 久久超碰com| 欧州一区二区三区四区| 在线视频日韩欧美国产| 欧美国产一区二区三区麻豆传媒| 男人的天堂99| av绯色| 久久亚洲天天做| 少妇人妻好深太紧了vr91| aaaa少妇高潮大片| 秋霞色色影院| 5月婷婷6月六月丁香| 亚洲熟妇乱女区二区三区| 大肉棒导航| 国产宅男宅女在线观看| 玖玖无码超碰| 亚洲导航深夜福利| 欧美91在线| 超碰精品97| 国产伊人自拍| 国产自偷| 日韩欧美aⅴ综合网站发布| 亚洲五月天激情| 粉嫩av一区二区三区四季| 免费试看60秒| 女优免费一区二区永久| 亚洲s色图| 青娱乐老司机视频| 久久发布国产伦子伦精品| 日韩综合97P| 日本国产亚洲一区在线观看| 日韩天美| 日本综合色图| 大香蕉伊人色偷偷在线| 淫淫综合网| 成人国产精品三级A片| 欧美激情色婷婷花野真衣一区二区| 亚洲自拍97| 四虎在线视频| 国产三级电影免费观看| 日韩人人精品| 国产精品探花视频| 熟妇激情| 天天做日日爱夜夜爽| 欧美亚洲涩涩| 操逼1区| 91在线色| 二男一女成人A片| 久久久久久久久久黄色网| 精品日韩人妻视频| 97视频620| 日韩激情无码影院| 操B久久| 亚瑟国产精品久久无码| 91精品婷婷国产综合久久竹菊| 免费一级性爱久久| 亚州色图片在线色| 激情av| 殴美性天天| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 日韩乱伦影音先锋| 天操天操夜操夜月月年年操操| 亚洲色 国产 欧美 日韩| 欧美在线第五页| 日本123区操B视频| 久久六六| 91国产丝袜美女| 欧美刺激色黄片免费看| 啊啊啊啊好多水| 2024年最新色情网站在线观看| 日韩一区二区熟女| 中文字幕国产| 亚洲熟女av中文字幕| 少妇与黑人高潮在线| a一区二区三区乱码在线| 亚洲色图自拍| 天堂资源欧美| 自拍偷拍 日韩无码| 欧美成97爱| 超碰碰97| 91亚·色| 亚洲码专区| 鸥美中出| 操死我了嗯嗯嗯| 久久欧美性爱视频| 天天视频网站黄| 呦女网站| 中文字日本乱码| 强奸乱伦资源| 老熟女乱伦一区| 骚妻少妇精品性色无码四色A V| www.色婷婷| 天天色,天天干,天天干| 日韩免费在线观看不卡| 风韵犹存大大大大香蕉| 久久女同性恋一二区| 99热最新网址| 中日韩熟女| av一区二区三区不卡| 亚洲图片视频小说| 老司机免费视频在线91| 中文一区二区三区影院| 91综合天天| 日韩精品人妻中文字有码在线| 日韩一区二区精品视频| 国产一级作爱毛片| 免费一级特黄特色大片在线观看看 | 美女91在线| 热久久无毒不卡| 亚洲综合另类欧美久久久| 亚洲精品亚洲人成人网| 久久美女国产| 亚洲欧洲综合av在线| 啊啊啊啊啊啊好多水| 欧美性Fer办公室秘书| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 人妻在线大香蕉| 天天综合网一91网| 六月丁香久久| 精品一区二区成人动漫| 91精品无码人妻系列| 伊人精品久久网站| 日本欧美韩国日产片片在线看免| 神马久久69| 国产少妇与亚洲av| 久久最新免费视频23| www.狠狠| 日本色婷婷| 久久这里只精品99re66图| 亚洲人妻中文高清| 最新中文字幕在线亚洲| 91爱欧美| 91强在线播放| 91国产丝袜美女| 无码精品啪啪啪一区二区三区三州| 欧美亚洲se91| 91老熟女91老女人| 青青草女人天天干| 97色欧洲| 九九九九9999| 免费1级a做爰片观看| 国产成人精品必看| 岛国色情视频在线观看| 精品成人动漫一区二区| 人妻中文字幕日韩电影| 欧美|91色综合| 殴美牲| 91网18| 久久成人午夜狠狠| 91日产桃蜜| 国产精品诱惑| 成人小说另类在线| 人人摸人人摸人人干| 无码少妇精品一区二区60岁老人| 99久久综合| 天天操女人| 极品少妇99| 日本黄页视频在线观看| 久热这里| 9国产超碰| 亚洲精品天堂久久A∨51成人漫| 强奸乱伦资源| 男人的天堂在线有码| 久久精品天美| 91热热色| 午夜啪啪片| 四虎免费在线播放| 强奸乱伦免费网站| 午夜色婷婷| 中文字幕视频一区视频二区| 亚洲的天堂网| 免费a v| 免费簧片在线观看| 久久久久久性爱片| 91插B网站| 91AV入口| 理论久久婷婷网 8| 久久夜精品一区二区三区| 欧美高清91| 大香蕉视频一二三区| 99操视频| 亚洲精品97中文字幕| 2017天天插| 久久九九视频九九视频| 国产日韩精品一区二区三区| 国产精品乱码久久久久久久| 老司机天天操| 麻豆60秒| 日本Suv精品一区二区| 国产精品麻豆视频网站| 欧美一区二区日韩传媒搭讪精品| 日1区2区3区2020| 国产精品久久久久无码A√| 国产丝袜视频| 国际精品久久久| 日韩Va亚洲va欧美Ⅴa久久| 中文一区二区婷婷视频| 另类图片综合| 亚洲激情AV| 2017大香蕉国产精品久久| 少妇一区二区三区| 日韩AV片| 加勒比海人人操超碰在线| 欧美高清在线| 日本精品网站在线中文| 婷婷色香| 久久九色| 东京太热久久久| 天天欧美| 免费观看欧美日韩操逼视频| 久久久一区二区三区麻豆| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 久久免费中文字幕在线观看| 亚洲 欧美 色图| 免费观看啪视频| 久九9精品| 国产一区二区三区导航| 亚州欧美总和| 日本高清_区二区三区| 蜜臀久久99精品| www.yeyecao| 久久熟妇五十路一区| 明星性猛交ⅹxxx乱大交| 人妻天天夜夜爽一区二区| 欧美色图电影| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 亚洲在线a| 人妻AV 中文字幕的| 熟女熟妇一区二区三四区| 少妇无码999| 成片免费播放| 精品国产Av无码久久久伦古装| 亚洲男人的天堂亚洲| 2017亚洲天堂| 欧美一区二区传媒| 一区二区三区 日韩欧美| 99久久9| 五月丁香影视| 26uuu最新| 淫骚熟女一区二区三区| 亚洲超碰AV| 日本二区不卡| 啊啊啊啊视频免费| 日韩久久.一级黄色片| 国产和美国毛片| 天美麻花大全视频| 精品无码欧美三级| 超碰久久综合| 国产亚洲 中文欧美久久| 岛国黄片网站| 亚洲在钱| 色香阁在线| 26uuu性| 日本欧美不卡| 日本精品性生活久久久| 91操人| 翔田千里AⅤHD无码| 国产成人啪一区二区| 五月丁香激情综合| 家庭乱伦国产| 91天天综合| 国产欧洲精品亚洲午夜拍精品| 蜜桃久久一区二区三区| 成人性交免费视屏| jazzjazz国产精品麻豆| 中文有码第五页| 欧美狠狠弄| 无码精品蜜桃一区二区三区ww| 少妇久久久免费| 91女网站| 99热在线播放| 日韩性爱电影一区| 国产又黄又爽又刺激久久久久久| 精品中文日韩字幕视频| 色综合91| 亚洲av强奸乱伦| 国产精品亚洲无码| 97碰碰色| 久操视频在线| 久久精品国产久精国产| 男人下部插入女人下部| 夜夜操狠狠操| 亚洲欧洲国产综合av| 少妇一级无码精品| 中文视频在线观看| 久草电影网| 黄片www.| 亚洲成熟国产精品美女| 国产女人和拘做爰视频| 欧美色宗合| 粉嫩av在线一区二区| 日韩成人性日韩成人性爱视频在线免费观看 | 中文字幕高清精品一区| 日本一区二区电影网站| 美日韩成人| 8050无码八戒| 国产综合永久精品日韩鬼片| 国内亚洲高清无码| 成人线上超碰| 国产精品懂色tv影视免费观看| 天天情欲宗合网| 激情四射五月天| 国产AV天美| 欧美日韩国产中文精品字幕自在自线, | 久久久精品视频欧州站| 久久99草| 亚洲久热| 高凊专区人人操| 久操大香蕉手机视频在线看| 国产三级电影免费观看| 日本在线激情一区二区三区| 天天舔天天日天天射| 亚洲国产剧情少妇激情| 亚洲青色欧美| 91色射| 久99久视频精选| 91人妻人人澡人人爽人人精品| 亚洲一卡2卡3卡4卡乱码网站| 日本人妻丰满熟妇久久久久久| 台湾一区国产高清在线| 丰满少妇乱子伦精品无| 污啪啪啪视频| 天天日美女的B| 欧州91高潮| 久久五十路熟女人妻| 人人摸人人干| 成人性爱美曰韩| 大肉棒导航| 中国黑人三级片网站上区| 久久99精品国产| 欧美日韩性爱视屏免费看了| 欧美aⅴ99久久黑人专区| 亚洲 日韩 欧美 国产综合体| 久久999久| 狠狠2050在线观看| 国产99999久久精品| 99re只有精品| 亚洲高清少妇| 激情文学小说一区二区 | 亚洲一区中文精品| 欧美激情久操网| 可免费观看的av毛片中日美韩| 欧美综合网| 欧美极品| 欧美日本国产日韩激情视频| 激情综合97| 91色鬼| 亚洲情色在线| 亚洲加勒比久久日本道| 一本大道不卡一二三区| 国产又色又爽又舒服的三级视频| 人人乐大香蕉| 骚逼一区二区| 97国产精品一区| 啪啪啪精品视频| 欧美狠狠狠| 操逼无码操逼| 久久久久成人蜜桃精品| 免费成人在线熟妇网| 亚洲高清综合网| 人人看人人爰人人操| 67194国产| 大香蕉综合久久| 91美女在线| 中国东北熟女老太婆内谢| 禁止观看美女黄| 小电影欧美91| 日本 欧美 国产一区| 99热导航| heyZO天然素人无码AⅤ专区| 五月天激情小说网| 久操av在线| 国产精品一二三在线看| 性九九九九九九| 都市久久精品激情亚洲| 加勒比海成人视频网| 欧美色图片欧美色图| 少妇高潮流水av免费| 蜜臀亚洲中文| 欧美一区二区三区大综合| 欧美另类天堂| www久久99| 中文无线日韩一区| 99色婷婷| 亚洲欧美日韩制服另类| 熟妇熟女亚洲天堂网| 性生活性生大爱77AV国产| 手机在线人成免费视频| 国产熟女自拍| 丁香色色网| 99999精品| 婷婷五月天无码 | 俄罗斯一区二区视频在线观看| 欧美青青视频| 337p大胆噜噜噜噜噜91Av| 蜜区区视频79 | 亚洲天天操| 亚洲九九九| 久草免费福利在线播放| 亚洲色综网| 成人五月香网在线| 欧美视频一区二区在线| 在线可观看的黄色网址| 人妻夜夜爽天天爽三区麻豆AV网站| 中文伊人大香蕉视频| 先锋色眉乱伦资源| 国产传媒av天美传媒在线| 国产AV天美| 国语av最新自产拍在线观看| 69国产对白刺激| 久久婷婷一区| 色综合久久夜色精品国产天堂| 熟女视频久久| 1024人妻熟女一区二区三区| 91亚洲欧美综合高清在线| 五月丁香六月激情| 国产激情av女片自拍| 韩国手机不卡无码三级视频| 91亚洲人| 呦呦一区| 国产亚洲日韩欧| 欧美精品二区视频在线| 张柏芝国产一区在线观看| 啪啪啪男女亚洲中文字幕99| 熟妇激情| 中文字幕欧美精品亚洲日韩蜜臀| 欧美真人抽搐一进一出gif| 在线播放欧洲免费av| 欧美啪啪色吧在线| 精人妻无码一区二区三区伊人直播| 欧美亚洲国产自久久| 色优久久| 日韩内射视频| 99国内熟女露脸视频| www.男人天堂| 国产又长又大又粗的视频| 青青草原香蕉日本Ap| 熟女少妇视频| 嫩呦国产一区二区三区AV| 韩国三级一线观看久| 偷拍亚洲熟女视频播放| 精品国产Av无码久久久亚洲| 中文字幕一区二区三区人妻不卡| 中文字幕午夜精品久久久| 97超碰精品图片| 欧美激情专区| 超碰97 线线 在现| av天堂精品久久| 精品国产精品一区二区| 国语人妻精彩刺激| 久久成人午夜狠狠| 中文字幕日韩专区精品系列| 亚欧无码在线| 加勒比在线视频| 久草热制服丝袜在线观看| 久久久久亚洲Aⅴ无码| 天天躁日日躁AAAXX| 高清不卡视频| 日本欧美不卡| 黄色性爱网网| 色制服丝袜夫妻av一区| 日韩欧美中文字| 91AV入口| 人妻精品综合中文字幕在线| 超碰 国产熟女精品一区| 91精品无码久久久久久久 | 久超超碰| 啊啊啊慢点| 2019久久久久久久久福利| 大香蕉 222| 国内外内射高清视频| 五月色网| 欧美色图片色哟哟| 亚洲欧洲综合视频在线| 4tube欧美女厕所| 国产不卡免费在线视频| 亚洲。日韩。欧美| 国产精品扒开腿做爽爽爽视频| 333kkkk·亚洲com久久| 久草线上视频免费看| 国产人伦a片信息免费片| 午夜精品久久久久久久99热影院| 亚洲人妻中文在线视频| 九九久久九九久久| 久操97| 美女露胸露尿口| 国产精品不卡av免费在线观看| 黄页大片在线观看| 妇女性内射冈站HDWWWCOM| 人人妻人人爽一区二区三区| 狠狠操狠狠爱| 边做饭边操逼逼| 人妻一区久久二区三区色播| 在线色导航| 五月天亚洲网| 九九九九88| 东北丰满熟女国产一区| 日日黄色三级网站| 一区在线国产播放| 丰满人妻被猛烈进入中| 国产精品粉嫩福利在线| 91在线综合网| 欧美激情中文字幕另类小说| 97爱爱官网| 啊啊啊在线观看免费视频| 婷婷丁香五月综合| 国模艳艳啪啪一区| 91少妇人妻| 日韩精品系列| 爱欲AV| 99re视频在线观看这里只有精品| 操婢日韩| 超碰成人人人爽人人爽| 密臀在线视频| 91狠狠狠| 欧美97av| 亚洲黄色电影| 亚洲中亚日激情视频| 91l欧美在线| 啊啊啊好湿国产一二| 九九九九九九九精品视频| 欧美 亚洲 偷拍自拍| 天天爽夜夜爽夜夜爽精| 日韩簧片免费看| A级片日韩欧美国产欧美视频精选观看 | 日本不卡一区| 深夜激情| 一二三区精品视频| 射丝袜高跟鞋99| 亚洲天堂 视频你懂的| 亚洲欧美日韩精品久久久一区二区| 蜜臀无码视频在线观看| 久久久久久人妻一区精品色欧美| 2017av无码免费无线播| 日韩性爱长视频免费| 99热国产精品| 欧美久久人体| 色网色网色网色网色网色| 激情五月天中文字幕色| 少妇久久久久久| AA级电影三区| 秋霞蝌科网日本一区| 婷婷色五月激情| 视频在线观看一二三区| 99热日| 男人天堂东京热| 免费人成在线观看网站品爱网| 26uuu国产日韩综合在线观看| 91色伦综合| 先锋音影AV| 狠狠干91| 26uuu久久| 2019久久久久久久久福利| 岛国大片国产| 艳美熟妇先锋一二三区| 97超碰这里只有精品| 一二三区精品视频| 中文字幕五月婷婷免费| 亚洲天堂热| 懂色av中文字幕一区二区三区天美 | 亚洲www91| 啪啪啪综合网| 精品久热| 国产精品日日摸天天碰| 国产高清26uuu| 亚洲色图加勒比| 亚洲人精品午夜不卡| 亚洲三区视频| 日日日啊啊啊| 久久神马| 色五月婷婷在线| 国产精品69久久久久久久| V A在线| Av色五月| 自拍偷拍 日韩欧美| 江都AV在线| 97色碰| 久久久不能久久久久| 在线播放成人高清免费视频| 内射日韩大臀美女| 亚洲熟女乱色一区二区三区| 91neishe| 八戒午夜福利理论片| 九九精品美女高溯喷水| 无码高清操逼网址| 午夜后入| 东方亚洲在线操逼天堂| 中文字幕精品亚洲熟女| 九九九影院| 日本操逼视频免费| 加勒比在线视频| 久久久久久久久久久久97| 欧美97色| 曰韩欧美国产传媒麻豆第一区| 欧美另类天堂| 丁香五月自拍| 97国产|免费| 99久久婷婷| 欧美se综合| 97九色人妻| 91无遮挡| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 一级黄色视频网| 999综合色| 日韩av影片在线观看| 97伦乱| 女人被添高潮免费视频| 91无码精品| 97精品综合久久| 天天综合中文字幕 91| 婷婷尹人大香蕉免费| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 亚卅熟女乱色| 91 综合网| 最新AVzaixian| 午夜舔阴达高潮视频免费看| 吉田爱美AV在线| 十八岁啪啪视频免费看| 激情久久日韩精品中文字幕麻豆| 色婷婷五月综合| 97国产人人| 激情综合网一盗摄| 日本三级R| 久久久久久网址| 免费网站观看www在线观| 新婚人妻扶着粗大强行坐下| 婷婷五月天色网| 国产一区二区视频在线播放| 大香蕉久久| 亚洲自拍欧美国产首页网曝| 国产中文字幕曰本毛片| 国产97色在线 | 亚洲| 精品射1999| 国产精品无码av嫩草| 精品美女少妇一区二区| 精品夜夜澡人妻无码| av在线一区二区三区| 精品人妻一区二区三区视频在线| 97欧美精品综合| 天堂无码精品国产久| 天天色欧美| m欧洲一级午老| 激情自拍 校园春色| 7777奇米影视久久| 东京热毛片177b2viP| 97精品视频免费| 综合在线导航一区| 国产精品成人午夜福利| av在线人气| 囯产操逼片| 成人精品无码| 白嫩妹子国产骚| 日韩精品熟妇| 国产精品久久久无码AV网站| 1024精品在线| 欧美乱妇狂野欧美在线视频| 天天操女人| 天天看,天天做| 丰满人妻无码一区二区三区| 殴美性天天| 997色在线| 九九英色视频| 人妻天天爽夜夜爽爽| 91精品伊人久久久大香线蕉91| 熟女精品日韩一区二区三区| Aa东京男人的天堂| 婷婷丁香五月综合| 可以在线观看AV的网站| 91欧美经典| 97操97干| 亚洲色图20p| 久久久久久久久久久六六| 成人性爱av| 很很操在线| 人妻丝袜日本| 亚洲中文字幕av | 高清国产性猛交xxxx乱大交| 亚洲本色精品一区二区久久| 情色大香蕉| 蜜区区视频79| 成人天天爽| 久久AV色| 欧日韩在线观看| 亚洲欧美日韩电影网站一区| 黑人中出21连凳花野真衣| 91 丝袜在线| 欧美日韩色图片| 亚洲天天艹| 爽爽淫人网| 麻豆60秒| 中文字幕老熟妇黄色视频| 大香蕉男女超碰精品在线| 日韩精品中文字幕二区| 操逼日韩无码 | 亚洲一区二区三区久久 亚洲一区二区| 丁香五月性| 国产女性无套 免费观看| 亚洲最大无码中文字幕网站| 精品一啪| 婷婷丁香成人| 欧美精品99久久久**| 成人性爱美曰韩| 免费一级性爱久久| 亚洲成人免费中文字幕| 99re免费视频精品全部| 黑人精品XXX一区一二区| 欧美黑人精品在线播放| 老熟妇一区二区三区…| 全球成人中文在线| 国产无马av| 亚洲色人妻综合| 一区黄二区黄| 试看福利| 囯产精品强| 好湿好紧视频| 性感美女啊啊啊在线| 国产精品一二三| 久久久久久久97| 国产高清自拍视频| 青青伊人这里只有精品| 玖玖资源综合在线视频| 超碰在线91| 欧美综合97www| yy少妇精品久久| 破处bbq| 欧美精品宗合| 亚洲影院无码在线| 在线观看成人性爱免费小视频| 尤物一级在线免费观看| 九月丁香婷婷| 天天天乱色综合全| 中文字幕久久亚州无码| 农村妇女精品一二区| 97综合网| 色欲日韩欧美在线一区| 亚洲色图大香| 超碰69| 日日摸天天爽夜夜欢| 日韩亚洲中文字幕在线| 色色丁香| 日影院久久婷婷夜夜网| 精品国产乱子伦一区二区三区,精品一| 日本影视久久免费| 日韩av在线播放不卡| 日韩精品99999| 色网1| 精品熟女呻吟久久91| 午夜寂寞欧美| 久久久久久久久久久久久久久性生活视频| 久9久精品视频| 精品一区二区三区18| 大黄片做爱的大的| 欧美国产日韩清纯唯美| 久久 久久国内精品亚洲 | 久久香蕉国产传媒一区剧情天美| 欧美日韩免费专区在线| av日韩中文字幕| 久久黄色性爱视频| 欧美成人都市人妻| 爱丝福利| 69av一区二区三区| 久久香蕉国产传媒一区剧情天美| 1204av韩国| 日本操逼aaaaa| 99热啪啪| 天天综合站| 成人a大片在线观看| 91久久久久久久久久久| 美女十八禁| 国产日韩欧美中文在线播放| 九九九九九九亚洲| 免费视频观看60秒| 黄aaaaaaaaaaaaaaaaaa色网站| 日日干日日| 国产美女91| av天堂手机版追回| 色超碰综合| 天天激情综合站| 丝袜六区| 国产9区| 欧美色五月| 天天综合91入口| 日本性爱少妇| 91欧美综合在线| 日韩精品一区二区日韩| 日韩女优中文字幕| 日本一级真人黄色性爱视频| 亚洲中文字幕网| 久久99干一本高清| 国产AV精久久| 欧亚久久偷拍视频| 国产在线激情视频| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 男人高清无码一区二区| 91五月天| 中文字幕一区二区日韩网| m欧洲一级午老| 超碰免费人妻人人| 国产精品久久久777| 大屁股人妻女教师撅着屁股| 偷拍亚洲高清图片| 高清国产精品无码| 蜜桃不卡一区二区| 视频国产精品未满十八禁止在线观看| 色五月第四色| 99性爱在线观看| 欧美在线55555| 顶级丝袜熟女一区二区三区 | 加勒比海成人视频网| 久草这里只有精品| 欧美制服网站美腿丝袜| 三男一女不戴套的A片| 青苹果影院男人的天堂| 午夜激情成人在线观看| 亚洲熟女乱综合一区二区三区| 日本国产欧美高清在线| 91美女在线| 91xingse| 18禁精品网站在线看| 亚州国产成人精品女人久久| 99日韩| 亚洲综合嫩| 精品久久久av| 久久一区二区高清免费| 久久久久久九九九九九九| 国产精品交换一区二区| 超碰午夜| 国产一区二区久久| 丁香五月天堂网| 97色网| 亚洲性少妇| 高清在线偷拍自拍视频| 香港澳门日本三级网站| 综合激情一一91| 国产这里只有精品| 精品久久久久久AV无码| 欧美超碰人妻97| 日本大片日本一区二区免费高清| 国产强奸AV在线| 亚洲综合校园春色| 欧美九一精品久久久熟妇| 国产成人精品亚洲日本| 波多野42部激情无码喷潮| AV色五月天| 爽爽歪在线视频| 久久久久久久国产视频| 亚洲熟女人妻中文字幕一区二区| 大香蕉宅男伊人| 五月婷婷激情网| 国产家庭乱伦性爱视频| 国产路线专区| 偷拍超碰| 97人妻色| 色情五月丁香| 性久久久| 日躁天天爽爽| 国产日韩欧美| 亚洲。日韩。欧美| 精品九九九九九九九| 91一起操| 秋霞影音一区二区三区| 欧美成人性活片| 日韩精品人妻中文字幕不卡乱码| 操久久久久久| 狠狠色狠狠色狠狠五月| 人人操人人干xxx| 亚州高清AV| 色综合超碰超| 97色色国产视频| 能看的av| 国产高潮AA片免费看| 人妻啪| 91春色| 91精品老女人| 久肏视频字幕| 青青草久久在线| 亚州综合AⅤ| 久久久亚洲精品电影免费看| 五月丁香影院| 国产亚洲日本精品在线| 一本一道波多野毛片中文在线| 国产辣妈在线视频福利| 日韩精品-原创伙伴| 日韩欧美三级| 亚洲精品97久久中文字幕| 最新精品久久蜜桃| 欧亚久久偷拍视频| 色综合色综合网| av片在线观看免费播放| 综合欧美日本三级| 久久人人舔人人爽舔人人av片| 欧美一区二区福利在线| 国产精品高清2021在线| 99999国产精品| 男人天堂2019| 中文字幕在线免费观看 | 我想要啊 啊 啊| 亚洲熟女乱综合一区二区三区 | 日本一级真人黄色性爱视频| 97干97色| 国产熟女精品一区二区| 亚州欧美色图| 亚洲日韩天堂| 狠狠干91| 激情黄色片在线观看| 黄色片一区二区三区四区五区 | 宅男午夜在线视频| 亚洲欧美一区二区三区在钱蜜桃 | 九九热精彩视频|