From 971336bb17d93dfa78c8d4d24dc7b3ef55df0abf Mon Sep 17 00:00:00 2001
From: ChenDongqi <2091984032@qq.com>
Date: Wed, 25 Dec 2024 11:36:42 +0000
Subject: [PATCH] mixed

---
 README.md | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 431de34..c901203 100644
--- a/README.md
+++ b/README.md
@@ -64,7 +64,42 @@ Consumer: consumed item 1
 ```
 
 ### 5. 混合调度机制
-`proc.c`
+`proc.c` 
+关键代码:
+```
+for (p = proc; p < &proc[NPROC]; p++)
+    {
+      acquire(&p->lock);
+      if (p->state != UNUSED)
+      {
+        nproc++;
+      }
+      if (p->state == RUNNABLE)
+      {
+        // 老化机制:检查是否需要提高优先级
+        uint64 current_time = r_time();
+        if (current_time - p->last_scheduled > AGING_THRESHOLD)
+        {
+          p->priority--; // 优先级提高(数值减小)
+          if (p->priority < 0)
+          {
+            p->priority = 0; // 确保优先级不为负数
+          }
+        }
+
+        // 优先级调度:找到优先级最低的进程
+        if (p->priority < min_priority ||
+            (p->priority == min_priority && p->remaining_time < min_remaining_time))
+        {
+          selected_proc = p;
+          min_priority = p->priority;
+          min_remaining_time = p->remaining_time;
+        }
+      }
+      release(&p->lock);
+    }
+
+```c
 
 在 XV6 中实现了一个新的 混合调度机制,该机制结合了优先级调度、SRTF 调度和时间片轮转调度。此调度器动态选择进程,确保系统高效运行,且避免进程长时间处于未调度状态。调度机制的主要特点包括:
 
-- 
GitLab