From 97404e32a0e14bffcc7b6fdfb8fadca7cbb4cc59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=80=E5=8F=AA=E8=8D=86=E6=A3=98=E9=B8=9F?= <t202410183993250@eduxiji.net> Date: Wed, 31 Jul 2024 07:36:50 +0000 Subject: [PATCH] Update 4 files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - /chapter4-设备管ç†/实验7--ç£ç›˜è°ƒåº¦ç®—法--SSTF/原ç†è§£é‡Š.rst - /chapter4-设备管ç†/实验7--ç£ç›˜è°ƒåº¦ç®—法--SSTF/代ç 实现.cpp - /chapter4-设备管ç†/实验7--ç£ç›˜è°ƒåº¦ç®—法--SSTF/实验结果示例.rst - /appendix4/SSTF.png --- appendix4/SSTF.png | Bin 0 -> 52740 bytes ...3\347\240\201\345\256\236\347\216\260.cpp" | 125 ++++++++++++++++++ ...7\347\220\206\350\247\243\351\207\212.rst" | 69 ++++++++++ ...3\346\236\234\347\244\272\344\276\213.rst" | 4 + 4 files changed, 198 insertions(+) create mode 100644 appendix4/SSTF.png create mode 100644 "chapter4-\350\256\276\345\244\207\347\256\241\347\220\206/\345\256\236\351\252\2147--\347\243\201\347\233\230\350\260\203\345\272\246\347\256\227\346\263\225--SSTF/\344\273\243\347\240\201\345\256\236\347\216\260.cpp" create mode 100644 "chapter4-\350\256\276\345\244\207\347\256\241\347\220\206/\345\256\236\351\252\2147--\347\243\201\347\233\230\350\260\203\345\272\246\347\256\227\346\263\225--SSTF/\345\216\237\347\220\206\350\247\243\351\207\212.rst" create mode 100644 "chapter4-\350\256\276\345\244\207\347\256\241\347\220\206/\345\256\236\351\252\2147--\347\243\201\347\233\230\350\260\203\345\272\246\347\256\227\346\263\225--SSTF/\345\256\236\351\252\214\347\273\223\346\236\234\347\244\272\344\276\213.rst" diff --git a/appendix4/SSTF.png b/appendix4/SSTF.png new file mode 100644 index 0000000000000000000000000000000000000000..0cba2ed6862a9e4961e1134bd95c3539ad146555 GIT binary patch literal 52740 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 literal 0 HcmV?d00001 diff --git "a/chapter4-\350\256\276\345\244\207\347\256\241\347\220\206/\345\256\236\351\252\2147--\347\243\201\347\233\230\350\260\203\345\272\246\347\256\227\346\263\225--SSTF/\344\273\243\347\240\201\345\256\236\347\216\260.cpp" "b/chapter4-\350\256\276\345\244\207\347\256\241\347\220\206/\345\256\236\351\252\2147--\347\243\201\347\233\230\350\260\203\345\272\246\347\256\227\346\263\225--SSTF/\344\273\243\347\240\201\345\256\236\347\216\260.cpp" new file mode 100644 index 0000000..afd23cb --- /dev/null +++ "b/chapter4-\350\256\276\345\244\207\347\256\241\347\220\206/\345\256\236\351\252\2147--\347\243\201\347\233\230\350\260\203\345\272\246\347\256\227\346\263\225--SSTF/\344\273\243\347\240\201\345\256\236\347\216\260.cpp" @@ -0,0 +1,125 @@ +#include <iostream> +#include <vector> +#include <algorithm> +#include <stdexcept> +#include <fstream> + +using namespace std; + +// ç£ç›˜è¯·æ±‚类,包å«è¯·æ±‚çš„IDå’Œç›®æ ‡ç£é“å· +class DiskRequest { +public: + int id; + int track; + DiskRequest(int id, int track) : id(id), track(track) {} +}; + +// ç£ç›˜è°ƒåº¦å™¨ç±» +class DiskScheduler { +private: + vector<DiskRequest> requestQueue; // 请求队列 + int currentTrack; // 当å‰ç£å¤´æ‰€åœ¨çš„ç£é“ + ofstream logFile; // 日志文件 + +public: + DiskScheduler() : currentTrack(0) { + logFile.open("sstf_log.txt", ios::out); + if (!logFile.is_open()) { + throw runtime_error("æ— æ³•æ‰“å¼€æ—¥å¿—æ–‡ä»¶"); + } + } + + ~DiskScheduler() { + if (logFile.is_open()) { + logFile.close(); + } + } + + // æ·»åŠ è¯·æ±‚åˆ°é˜Ÿåˆ— + void addRequest(const DiskRequest &request) { + requestQueue.push_back(request); + logFile << "è¯·æ±‚å·²æ·»åŠ : ID=" << request.id << ", ç£é“=" << request.track << "\n"; + } + + // å¤„ç†æ‰€æœ‰è¯·æ±‚ + void processRequests() { + while (!requestQueue.empty()) { + auto closestRequest = findClosestRequest(); + logFile << "处ç†è¯·æ±‚: ID=" << closestRequest.id << ", ç£é“=" << closestRequest.track << "\n"; + moveToTrack(closestRequest.track); + logFile << "请求已完æˆ: ID=" << closestRequest.id << "\n"; + cout << "已处ç†è¯·æ±‚: ç£é“=" << closestRequest.track << endl; + removeRequest(closestRequest); + } + } + + // 找到è·ç¦»å½“å‰ç£å¤´æœ€è¿‘的请求 + DiskRequest findClosestRequest() { + if (requestQueue.empty()) { + throw runtime_error("请求队列为空"); + } + auto closest = requestQueue.begin(); + int minDistance = abs(closest->track - currentTrack); + for (auto it = requestQueue.begin(); it != requestQueue.end(); ++it) { + int distance = abs(it->track - currentTrack); + if (distance < minDistance) { + closest = it; + minDistance = distance; + } + } + return *closest; + } + + // å°†ç£å¤´ç§»åŠ¨åˆ°æŒ‡å®šçš„ç£é“ + void moveToTrack(int track) { + if (track < 0) { + throw invalid_argument("ç£é“å·ä¸èƒ½ä¸ºè´Ÿæ•°"); + } + logFile << "从ç£é“ " << currentTrack << " 移动到ç£é“ " << track << "\n"; + currentTrack = track; + } + + // 从请求队列ä¸ç§»é™¤å·²å¤„ç†çš„请求 + void removeRequest(const DiskRequest &request) { + auto it = find_if(requestQueue.begin(), requestQueue.end(), [&request](const DiskRequest& r) { + return r.id == request.id; + }); + if (it != requestQueue.end()) { + requestQueue.erase(it); + } else { + throw runtime_error("è¯·æ±‚æœªæ‰¾åˆ°ï¼Œæ— æ³•ç§»é™¤"); + } + } + + // 打å°å½“å‰ç£å¤´æ‰€åœ¨çš„ç£é“ + void printStatus() const { + cout << "当å‰ç£é“: " << currentTrack << "\n"; + } +}; + +int main() { + try { + DiskScheduler scheduler; + + // æ·»åŠ ä¸€äº›è¯·æ±‚ + scheduler.addRequest(DiskRequest(1, 98)); + scheduler.addRequest(DiskRequest(2, 183)); + scheduler.addRequest(DiskRequest(3, 37)); + scheduler.addRequest(DiskRequest(4, 122)); + scheduler.addRequest(DiskRequest(5, 14)); + scheduler.addRequest(DiskRequest(6, 124)); + scheduler.addRequest(DiskRequest(7, 65)); + scheduler.addRequest(DiskRequest(8, 67)); + + // å¤„ç†æ‰€æœ‰è¯·æ±‚ + scheduler.processRequests(); + + // æ‰“å°æœ€ç»ˆçŠ¶æ€ + scheduler.printStatus(); + + } catch (const exception &e) { + cerr << "错误: " << e.what() << "\n"; + } + + return 0; +} diff --git "a/chapter4-\350\256\276\345\244\207\347\256\241\347\220\206/\345\256\236\351\252\2147--\347\243\201\347\233\230\350\260\203\345\272\246\347\256\227\346\263\225--SSTF/\345\216\237\347\220\206\350\247\243\351\207\212.rst" "b/chapter4-\350\256\276\345\244\207\347\256\241\347\220\206/\345\256\236\351\252\2147--\347\243\201\347\233\230\350\260\203\345\272\246\347\256\227\346\263\225--SSTF/\345\216\237\347\220\206\350\247\243\351\207\212.rst" new file mode 100644 index 0000000..88b5bb2 --- /dev/null +++ "b/chapter4-\350\256\276\345\244\207\347\256\241\347\220\206/\345\256\236\351\252\2147--\347\243\201\347\233\230\350\260\203\345\272\246\347\256\227\346\263\225--SSTF/\345\216\237\347\220\206\350\247\243\351\207\212.rst" @@ -0,0 +1,69 @@ +SSTF(Shortest Seek Time First) +=============================== + +åŽŸç† +---- + +SSTF(Shortest Seek Time First)调度算法是一ç§ç£ç›˜è°ƒåº¦ç®—法,它优先处ç†ç¦»å½“å‰ç£å¤´ä½ç½®æœ€è¿‘的请求,以最å°åŒ–ç£å¤´çš„ç§»åŠ¨æ—¶é—´ã€‚è¯¥ç®—æ³•é€šè¿‡é€‰æ‹©å¯»é“æ—¶é—´æœ€çŸçš„请求æ¥å‡å°‘å¹³å‡å¯»é“时间。 + +执行过程 +-------- + +1. **请求到达**: + + - 当系统ä¸çš„进程需è¦è¿›è¡Œç£ç›˜æ“作时,会å‘ç£ç›˜è°ƒåº¦å™¨å‘出读写请求。 + - è¿™äº›è¯·æ±‚ä¼šæŒ‰ç…§å®ƒä»¬çš„ç›®æ ‡ç£é“å·è®°å½•下æ¥ã€‚ + +2. **选择最近请求**: + + - ç£ç›˜è°ƒåº¦å™¨ä»Žæ‰€æœ‰æœªå¤„ç†çš„请求ä¸é€‰æ‹©ç¦»å½“å‰ç£å¤´ä½ç½®æœ€è¿‘的请求。 + - 寻找最å°çš„ç£é“差值,å³ç»å¯¹å€¼æœ€å°çš„ç›®æ ‡ç£é“å·ä¸Žå½“å‰ç£å¤´ä½ç½®ä¹‹å·®ã€‚ + +3. **请求处ç†**: + + - 处ç†é€‰å®šçš„请求,移动ç£å¤´åˆ°è¯¥è¯·æ±‚çš„ç›®æ ‡ç£é“。 + - å°†è¯¥è¯·æ±‚æ ‡è®°ä¸ºå·²å¤„ç†ï¼Œå¹¶ä»Žæœªå¤„ç†çš„请求列表ä¸ç§»é™¤ã€‚ + +4. **é‡å¤è¿‡ç¨‹**: + + - é‡å¤æ¥éª¤2å’Œæ¥éª¤3,直到所有请求都被处ç†å®Œæ¯•。 + +优点 +---- + +- **å‡å°‘å¹³å‡å¯»é“æ—¶é—´**ï¼šé€šè¿‡ä¼˜å…ˆå¤„ç†æœ€è¿‘的请求,SSTF算法å¯ä»¥æ˜¾è‘—å‡å°‘ç£å¤´çš„æ€»ç§»åЍè·ç¦»ï¼Œä»Žè€Œé™ä½Žå¹³å‡å¯»é“时间。 +- **æé«˜æ•ˆçއ**:相比FCFS算法,SSTF通常能更有效地利用ç£ç›˜ï¼Œæé«˜ç³»ç»Ÿçš„å“应速度。 + +缺点 +---- + +- **å¯èƒ½å¯¼è‡´é¥¥é¥¿**:如果有大é‡çš„请求集ä¸åœ¨æŸä¸ªç£é“附近,离该区域较远的请求å¯èƒ½ä¼šé•¿æ—¶é—´å¾—ä¸åˆ°å¤„ç†ï¼Œä»Žè€Œå¯¼è‡´é¥¥é¥¿é—®é¢˜ã€‚ +- **å®žçŽ°å¤æ‚**:相比于FCFS算法,SSTF需è¦å®žæ—¶è®¡ç®—æ¯ä¸ªè¯·æ±‚与当å‰ç£å¤´ä½ç½®çš„è·ç¦»ï¼Œå¢žåŠ äº†å®žçŽ°çš„å¤æ‚度。 + +示例 +---- + +å‡è®¾è¯·æ±‚到达的顺åºå’Œå®ƒä»¬æ‰€åœ¨çš„ç£é“如下: + +- 请求1:ç£é“98 +- 请求2:ç£é“183 +- 请求3:ç£é“37 +- 请求4:ç£é“122 +- 请求5:ç£é“14 +- 请求6:ç£é“124 +- 请求7:ç£é“65 +- 请求8:ç£é“67 + +当å‰ç£å¤´ä½ç½®åœ¨ç£é“53,按照SSTF算法的处ç†é¡ºåºå¦‚下: + +1. 从53到65(最近的请求) +2. 从65到67 +3. 从67到37 +4. 从37到14 +5. 从14到98 +6. 从98到122 +7. 从122到124 +8. 从124到183 + +通过这ç§é¡ºåºï¼ŒSSTF算法å‡å°‘了ç£å¤´çš„æ€»ç§»åЍè·ç¦»ã€‚ + diff --git "a/chapter4-\350\256\276\345\244\207\347\256\241\347\220\206/\345\256\236\351\252\2147--\347\243\201\347\233\230\350\260\203\345\272\246\347\256\227\346\263\225--SSTF/\345\256\236\351\252\214\347\273\223\346\236\234\347\244\272\344\276\213.rst" "b/chapter4-\350\256\276\345\244\207\347\256\241\347\220\206/\345\256\236\351\252\2147--\347\243\201\347\233\230\350\260\203\345\272\246\347\256\227\346\263\225--SSTF/\345\256\236\351\252\214\347\273\223\346\236\234\347\244\272\344\276\213.rst" new file mode 100644 index 0000000..9b9e69a --- /dev/null +++ "b/chapter4-\350\256\276\345\244\207\347\256\241\347\220\206/\345\256\236\351\252\2147--\347\243\201\347\233\230\350\260\203\345\272\246\347\256\227\346\263\225--SSTF/\345\256\236\351\252\214\347\273\223\346\236\234\347\244\272\344\276\213.rst" @@ -0,0 +1,4 @@ + +.. image:: ../../../appendix4/SSTF.png + :width: 400px + :alt: Process States Diagram -- GitLab