diff --git a/archives/2022/page/2/index.html b/archives/2022/page/2/index.html
index fe772450917..962f4225c6f 100644
--- a/archives/2022/page/2/index.html
+++ b/archives/2022/page/2/index.html
@@ -184,7 +184,7 @@
-
+
diff --git a/archives/2022/page/3/index.html b/archives/2022/page/3/index.html
index c5a68a5f5e2..110b6aecef2 100644
--- a/archives/2022/page/3/index.html
+++ b/archives/2022/page/3/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/01/index.html b/archives/2023/01/index.html
index ae95c82af06..9a006ba7631 100644
--- a/archives/2023/01/index.html
+++ b/archives/2023/01/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/02/index.html b/archives/2023/02/index.html
index d63341327b1..8f414c8e43d 100644
--- a/archives/2023/02/index.html
+++ b/archives/2023/02/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/10/index.html b/archives/2023/10/index.html
index b3a3f4c57b7..58af117c3cb 100644
--- a/archives/2023/10/index.html
+++ b/archives/2023/10/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/11/index.html b/archives/2023/11/index.html
index fcb7f48cbba..86270e39573 100644
--- a/archives/2023/11/index.html
+++ b/archives/2023/11/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/11/page/10/index.html b/archives/2023/11/page/10/index.html
index bfceaf4a50b..53d4708c1e9 100644
--- a/archives/2023/11/page/10/index.html
+++ b/archives/2023/11/page/10/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/11/page/2/index.html b/archives/2023/11/page/2/index.html
index e5160495988..811d52cb87a 100644
--- a/archives/2023/11/page/2/index.html
+++ b/archives/2023/11/page/2/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/11/page/3/index.html b/archives/2023/11/page/3/index.html
index 849a61cdeb5..0ad41c6a354 100644
--- a/archives/2023/11/page/3/index.html
+++ b/archives/2023/11/page/3/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/11/page/4/index.html b/archives/2023/11/page/4/index.html
index 6b2412a5aab..e144b024ed4 100644
--- a/archives/2023/11/page/4/index.html
+++ b/archives/2023/11/page/4/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/11/page/5/index.html b/archives/2023/11/page/5/index.html
index 8f74c598592..8874ffd7be4 100644
--- a/archives/2023/11/page/5/index.html
+++ b/archives/2023/11/page/5/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/11/page/6/index.html b/archives/2023/11/page/6/index.html
index 191c2e362ff..73f7b77b2cd 100644
--- a/archives/2023/11/page/6/index.html
+++ b/archives/2023/11/page/6/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/11/page/7/index.html b/archives/2023/11/page/7/index.html
index 49eb2071f43..e84c24a3a4c 100644
--- a/archives/2023/11/page/7/index.html
+++ b/archives/2023/11/page/7/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/11/page/8/index.html b/archives/2023/11/page/8/index.html
index f18eb19161d..2066b32cf89 100644
--- a/archives/2023/11/page/8/index.html
+++ b/archives/2023/11/page/8/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/11/page/9/index.html b/archives/2023/11/page/9/index.html
index 205e4246fb6..00d4861479c 100644
--- a/archives/2023/11/page/9/index.html
+++ b/archives/2023/11/page/9/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/12/index.html b/archives/2023/12/index.html
index 65b36c537ee..f36d8798abf 100644
--- a/archives/2023/12/index.html
+++ b/archives/2023/12/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/12/page/2/index.html b/archives/2023/12/page/2/index.html
index 8eea6da7771..54504d49115 100644
--- a/archives/2023/12/page/2/index.html
+++ b/archives/2023/12/page/2/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/index.html b/archives/2023/index.html
index c496810fa94..1be953a2254 100644
--- a/archives/2023/index.html
+++ b/archives/2023/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/page/10/index.html b/archives/2023/page/10/index.html
index f81c197a18f..1b8d2c6ddc1 100644
--- a/archives/2023/page/10/index.html
+++ b/archives/2023/page/10/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/page/11/index.html b/archives/2023/page/11/index.html
index 87dcbc1a488..471aca9d4e1 100644
--- a/archives/2023/page/11/index.html
+++ b/archives/2023/page/11/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/page/12/index.html b/archives/2023/page/12/index.html
index c7fba3f94fc..07cd6b1d03e 100644
--- a/archives/2023/page/12/index.html
+++ b/archives/2023/page/12/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/page/2/index.html b/archives/2023/page/2/index.html
index ff50d814b20..e918acc2548 100644
--- a/archives/2023/page/2/index.html
+++ b/archives/2023/page/2/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/page/3/index.html b/archives/2023/page/3/index.html
index 2b05cd6fa72..fb24aa20a71 100644
--- a/archives/2023/page/3/index.html
+++ b/archives/2023/page/3/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/page/4/index.html b/archives/2023/page/4/index.html
index fe2cebf11ec..745939d2ac3 100644
--- a/archives/2023/page/4/index.html
+++ b/archives/2023/page/4/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/page/5/index.html b/archives/2023/page/5/index.html
index fda5ddc8da9..250c1c32922 100644
--- a/archives/2023/page/5/index.html
+++ b/archives/2023/page/5/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/page/6/index.html b/archives/2023/page/6/index.html
index a5e4a179789..2b1372b3136 100644
--- a/archives/2023/page/6/index.html
+++ b/archives/2023/page/6/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/page/7/index.html b/archives/2023/page/7/index.html
index ee87c3f47b9..e37ba822551 100644
--- a/archives/2023/page/7/index.html
+++ b/archives/2023/page/7/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/page/8/index.html b/archives/2023/page/8/index.html
index a4aabf672a7..49f18e3d335 100644
--- a/archives/2023/page/8/index.html
+++ b/archives/2023/page/8/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2023/page/9/index.html b/archives/2023/page/9/index.html
index a1ca2fd4eef..abdac5239f6 100644
--- a/archives/2023/page/9/index.html
+++ b/archives/2023/page/9/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
diff --git a/archives/2024/01/index.html b/archives/2024/01/index.html
index b92fedb06da..15685c5b621 100644
--- a/archives/2024/01/index.html
+++ b/archives/2024/01/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
@@ -245,6 +245,26 @@
rcore-os Blog
+
+
+
+
diff --git a/archives/page/14/index.html b/archives/page/14/index.html
index 229b6b51167..8ff4027a2b4 100644
--- a/archives/page/14/index.html
+++ b/archives/page/14/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
@@ -245,6 +245,26 @@
rcore-os Blog
+
+
+
+
-
-
-
-
diff --git a/archives/page/15/index.html b/archives/page/15/index.html
index a0d7e3e331e..aadfe61ac10 100644
--- a/archives/page/15/index.html
+++ b/archives/page/15/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
@@ -245,6 +245,26 @@
rcore-os Blog
+
+
+
+
-
-
-
-
diff --git a/archives/page/16/index.html b/archives/page/16/index.html
index f1404e46eb4..0997fe130b5 100644
--- a/archives/page/16/index.html
+++ b/archives/page/16/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
@@ -245,6 +245,26 @@
rcore-os Blog
+
+
+
+
-
-
-
-
diff --git a/archives/page/17/index.html b/archives/page/17/index.html
index 99132c4f5d9..d7c0d53b9a7 100644
--- a/archives/page/17/index.html
+++ b/archives/page/17/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
@@ -245,6 +245,26 @@
rcore-os Blog
+
+
+
+
-
-
-
-
diff --git a/archives/page/18/index.html b/archives/page/18/index.html
index e8743587ec5..abee7ac1f6f 100644
--- a/archives/page/18/index.html
+++ b/archives/page/18/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,10 +237,33 @@
rcore-os Blog
-
+
+
+
+
+
+
+
+
@@ -425,26 +448,6 @@
rcore-os Blog
-
-
-
-
diff --git a/archives/page/19/index.html b/archives/page/19/index.html
index c4dc240896a..0e73863c7ff 100644
--- a/archives/page/19/index.html
+++ b/archives/page/19/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
@@ -245,6 +245,26 @@
rcore-os Blog
+
+
+
+
-
-
-
-
diff --git a/archives/page/2/index.html b/archives/page/2/index.html
index f792ca79ddd..7f38d268308 100644
--- a/archives/page/2/index.html
+++ b/archives/page/2/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
@@ -245,6 +245,26 @@
rcore-os Blog
+
+
+
+
-
-
-
-
diff --git a/archives/page/20/index.html b/archives/page/20/index.html
index 76b842a6642..87dccfc5915 100644
--- a/archives/page/20/index.html
+++ b/archives/page/20/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
@@ -245,6 +245,26 @@
rcore-os Blog
+
+
+
+
diff --git a/archives/page/4/index.html b/archives/page/4/index.html
index 3403be59c45..9f7c8135d57 100644
--- a/archives/page/4/index.html
+++ b/archives/page/4/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
@@ -245,6 +245,26 @@
rcore-os Blog
+
+
+
+
-
-
-
-
diff --git a/archives/page/5/index.html b/archives/page/5/index.html
index 66d1627cee9..7fecded200b 100644
--- a/archives/page/5/index.html
+++ b/archives/page/5/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
@@ -245,6 +245,26 @@
rcore-os Blog
+
+
+
+
-
-
-
-
diff --git a/archives/page/6/index.html b/archives/page/6/index.html
index acae7f6426e..eb4ceb335bc 100644
--- a/archives/page/6/index.html
+++ b/archives/page/6/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
@@ -245,6 +245,26 @@
rcore-os Blog
+
+
+
+
-
-
-
-
diff --git a/archives/page/7/index.html b/archives/page/7/index.html
index 0157f30b0cd..6eb747d357b 100644
--- a/archives/page/7/index.html
+++ b/archives/page/7/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
@@ -245,6 +245,26 @@
rcore-os Blog
+
+
+
+
-
-
-
-
diff --git a/archives/page/8/index.html b/archives/page/8/index.html
index 4d2683b9acc..0b46b7d2300 100644
--- a/archives/page/8/index.html
+++ b/archives/page/8/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
@@ -245,6 +245,26 @@
rcore-os Blog
+
+
+
+
-
-
-
-
diff --git a/archives/page/9/index.html b/archives/page/9/index.html
index 422b82ba942..78fbf2693ec 100644
--- a/archives/page/9/index.html
+++ b/archives/page/9/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -237,7 +237,7 @@
rcore-os Blog
-
+
@@ -245,6 +245,26 @@
rcore-os Blog
+
+
+
+
-
-
-
-
diff --git a/categories/2023a-rcore/index.html b/categories/2023a-rcore/index.html
index 02d1009d047..8bdb097ba87 100644
--- a/categories/2023a-rcore/index.html
+++ b/categories/2023a-rcore/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/announcements/index.html b/categories/announcements/index.html
index 0d18aa16155..cc5b7dfba9f 100644
--- a/categories/announcements/index.html
+++ b/categories/announcements/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/blog/index.html b/categories/blog/index.html
index 93e2992ef7b..d6b81d6c701 100644
--- a/categories/blog/index.html
+++ b/categories/blog/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/catogory/index.html b/categories/catogory/index.html
index 37243dc54e8..532b32f39ac 100644
--- a/categories/catogory/index.html
+++ b/categories/catogory/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/developer/index.html b/categories/developer/index.html
index f598645b8c0..76c8964a1fa 100644
--- a/categories/developer/index.html
+++ b/categories/developer/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/index.html b/categories/index.html
index 33e53cbe974..0eef08f2b48 100644
--- a/categories/index.html
+++ b/categories/index.html
@@ -28,7 +28,7 @@
-
+
@@ -187,7 +187,7 @@
rcore-os Blog
@@ -200,7 +200,7 @@
rcore-os Blog
diff --git a/categories/oscamp-2023fall-arceos-unikernel/index.html b/categories/oscamp-2023fall-arceos-unikernel/index.html
index f94f1c6ef42..d9a503533ab 100644
--- a/categories/oscamp-2023fall-arceos-unikernel/index.html
+++ b/categories/oscamp-2023fall-arceos-unikernel/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/oscamp-2023fall-arceos-unikernel/page/2/index.html b/categories/oscamp-2023fall-arceos-unikernel/page/2/index.html
index b8ce7940559..a11e6c3721d 100644
--- a/categories/oscamp-2023fall-arceos-unikernel/page/2/index.html
+++ b/categories/oscamp-2023fall-arceos-unikernel/page/2/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/oscamp-2023fall-arceos-unikernel/page/3/index.html b/categories/oscamp-2023fall-arceos-unikernel/page/3/index.html
index 727817d21a8..4bc95947bfe 100644
--- a/categories/oscamp-2023fall-arceos-unikernel/page/3/index.html
+++ b/categories/oscamp-2023fall-arceos-unikernel/page/3/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/report/index.html b/categories/report/index.html
index bf114913d04..fd1af61f9a2 100644
--- a/categories/report/index.html
+++ b/categories/report/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/report/page/10/index.html b/categories/report/page/10/index.html
index dcf7bc7ee0b..ac01b5db1f3 100644
--- a/categories/report/page/10/index.html
+++ b/categories/report/page/10/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/report/page/11/index.html b/categories/report/page/11/index.html
index ec1e4e35e9d..71b786e7ceb 100644
--- a/categories/report/page/11/index.html
+++ b/categories/report/page/11/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/report/page/2/index.html b/categories/report/page/2/index.html
index d8c79717a32..d07c3de905c 100644
--- a/categories/report/page/2/index.html
+++ b/categories/report/page/2/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/report/page/3/index.html b/categories/report/page/3/index.html
index 6ee388f7c6a..ac0df81e642 100644
--- a/categories/report/page/3/index.html
+++ b/categories/report/page/3/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/report/page/4/index.html b/categories/report/page/4/index.html
index c407d66380e..20769417da7 100644
--- a/categories/report/page/4/index.html
+++ b/categories/report/page/4/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/report/page/5/index.html b/categories/report/page/5/index.html
index ff4de74eb43..52b0ba8d97b 100644
--- a/categories/report/page/5/index.html
+++ b/categories/report/page/5/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/report/page/6/index.html b/categories/report/page/6/index.html
index a88d84388c6..6b1c4c3719c 100644
--- a/categories/report/page/6/index.html
+++ b/categories/report/page/6/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/report/page/7/index.html b/categories/report/page/7/index.html
index 31c4a410f27..1975bad607a 100644
--- a/categories/report/page/7/index.html
+++ b/categories/report/page/7/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/report/page/8/index.html b/categories/report/page/8/index.html
index 373d5143970..1aaee819406 100644
--- a/categories/report/page/8/index.html
+++ b/categories/report/page/8/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/report/page/9/index.html b/categories/report/page/9/index.html
index af4301a090e..63212a767d5 100644
--- a/categories/report/page/9/index.html
+++ b/categories/report/page/9/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/categories/resources/index.html b/categories/resources/index.html
index 41c5c19f7a6..39d104d3ca9 100644
--- a/categories/resources/index.html
+++ b/categories/resources/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git "a/categories/\346\200\273\347\273\223/index.html" "b/categories/\346\200\273\347\273\223/index.html"
index 7e3e8c97ca3..180ce764751 100644
--- "a/categories/\346\200\273\347\273\223/index.html"
+++ "b/categories/\346\200\273\347\273\223/index.html"
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git "a/categories/\346\200\273\347\273\223\345\256\214\346\210\220-lab1-lab3/index.html" "b/categories/\346\200\273\347\273\223\345\256\214\346\210\220-lab1-lab3/index.html"
index f725e774ad5..3bec60d2f1a 100644
--- "a/categories/\346\200\273\347\273\223\345\256\214\346\210\220-lab1-lab3/index.html"
+++ "b/categories/\346\200\273\347\273\223\345\256\214\346\210\220-lab1-lab3/index.html"
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git "a/categories/\351\232\217\347\254\224/index.html" "b/categories/\351\232\217\347\254\224/index.html"
index 73b54a074ce..eb9e810c0bb 100644
--- "a/categories/\351\232\217\347\254\224/index.html"
+++ "b/categories/\351\232\217\347\254\224/index.html"
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
diff --git a/css/main.css b/css/main.css
index 32438009df6..9d1eef7364c 100644
--- a/css/main.css
+++ b/css/main.css
@@ -2591,7 +2591,7 @@ mjx-container[display="true"] + br {
}
.links-of-author a::before,
.links-of-author span.exturl::before {
- background: #984eff;
+ background: #fffff5;
display: inline-block;
margin-right: 3px;
transform: translateY(-2px);
diff --git a/index.html b/index.html
index 15181d100ca..937e9a6a054 100644
--- a/index.html
+++ b/index.html
@@ -184,7 +184,7 @@
rcore-os Blog
@@ -197,7 +197,7 @@
rcore-os Blog
@@ -257,7 +257,7 @@
Posted on
- 2024-04-22
+ 2024-04-22
@@ -460,7 +460,7 @@
Posted on
- 2024-04-22
+ 2024-04-22
@@ -500,6 +500,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
学习流程 第一天的接触就是修改CI/CD的错误,我的认知里面是写构建的yml文件,实际上是需要解决starry跑在x86的问题,第一天就大概看了starry的设计文档了解了它和arceos的承接关系和相关的模块图,于是在和杨金博同学沟通后对编译选项和copy.S的代码进行了x86的改造之后发现pci等还有问题,于是问题交到金博哥手里,这时候进行了unikernel的学习,石磊老师ppt讲解和训练营的录课大概看过之后对unikernel有了大概的认识,之后就边处理strace那边的数据边学习和做lab。
+
进展 目前在做第三周的实验的lab1,将c程序的镜像打包到文件系统实现了,目前对hello的报错进行修改,目前的思考是hello的命令行参数处理有问题,需要内核提供支持,目前定位到的代码如下
+
1 2 3 4 5 6 7 8 9 10 11 if let Some(app_inode) = open_file(path.as_str(), OpenFlags::WRONLY) { let all_data = app_inode.read_all(); let process = current_process(); let argc = args_vec.len(); process.exec(all_data.as_slice(), args_vec); // return argc because cx.x[10] will be covered with it later println!("exec argc is {}", argc as isize); argc as isize } else { -1 }
+
执行后可在shell中看到初始为0执行hello程序后为1但是此时的参数处理是输出了argc为0的错误输出,目前在继续看代码准备把后续都尽快跑通。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -532,7 +600,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -601,7 +669,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -688,7 +756,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -772,7 +840,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -851,7 +919,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -1021,7 +1089,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -1100,7 +1168,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -1159,70 +1227,6 @@ 总结
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -232,6 +232,77 @@ rcore-os Blog
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
首先得说,rCore-Tutorial-Guide-2023A 教程真的太棒了,我敢说,这可能是我遇到的最清晰明了的操作系统教程!
+
回忆起第一次听到rcore训练营的经历,那是在2023年的Rust大会上,李明老师的精彩演讲为我打开了新世界的大门。尽管我主要在应用层开发上浸淫,但Rust的魅力让我难以抗拒,所以,当知道2023秋季的rcore开营消息后,我和好友毫不犹豫地跃跃欲试。
+
rustlings部分我觉得挺熟悉的,之前已经玩转了好几回。但真正进入第二阶段,我有点像被冻住的鹿在大灯下,感到前所未有的压力。工作和时间的双重压迫让我迟迟无法启动,但最后的决心驱使我开始啃这块硬骨头。哗啦哗啦地一页页翻,直到lab1的系统调用实现,我才有那种“原来是这样!”的豁然开朗。这也让我真切体会到,教程的设计对新手真的非常友好。
+
再往后,lab2就开始考验我的耐心了。我承认,我对sys_get_time
和sys_task_info
的实现确实走了点弯路。原先,我采取了translated_byte_buffer
来复制数据,试图仿照sys_write
。但和友人交流后,我发现其实可以直接通过用户虚拟地址查找物理地址来进行数据复制,真是巧妙极了!同时,mmap和munmap的相关内容,虽然看似复杂,但仔细读一读,原来也不是那么的玄乎。
+
到了lab3,真的觉得有点上瘾了。这部分主要是spawn
的实现。参考了exec和fork,再结合man posix_spawn
的文档,整个流程其实很流畅。至于stride
调度算法,哦,那真是让人爱不释手。一个简洁的lambda表达式,搞定!虽然说,我的实现可能有点粗糙,但它确实工作得很好。这也提醒了我,在软件开发中,有时候“简洁”和“完美”之间需要做出平衡。这也是我接下来要努力提升的方向。
+
虽然我对这三个实验的时间安排有点后悔,但回首这次训练营的经历,真的获益匪浅。对于未来的实验,我更加期待,希望能够带给我更多的启示和惊喜。
+
总之,这次短暂的OS训练营给我留下了深刻的印象。高质量的教程、热心的群友,真的是让人难以忘怀的体验!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -264,7 +335,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -351,7 +422,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -428,7 +499,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -528,7 +599,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -622,7 +693,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -695,7 +766,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -767,7 +838,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -848,7 +919,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -913,7 +984,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -957,84 +1028,6 @@ 总结
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
楔子 第一次看到这个训练营是在QQ频道上面的rust
频道, 正巧当时有人在说OS
训练营的问题, 正巧也确实对实现操作系统很感兴趣就参加了。 在此之前其实已经有rust
的基础和使用rust
开发项目的基础。
-
关于rust
rust
是我非常喜欢的语言, 可以说是目前最喜欢的语言也不为过。诸如C
, C++
, java
, python
, go
, kotlin
, js
这些语言我都学过, 也用它们或多或少的写过东西, 但是其中rust
是最深得我心的。
-
比如说它的枚举中可以存放关联值, 这样就可以通过枚举的类型来进行分发; 还有它强大的泛型能力, 在学习rust
之前其实我对泛型编程的理解一直不太深, 直到我学习了rust
, 参考了rust
标准库的源码, 对泛型的理解才更上了一层。
-
一阶段的许多东西都在圣经里面有所提及, 但是多出的那几个test
确实是我不曾知道的, 后面我又去了解了一些rust
插件开发, 对于有反射的语言, 可以使用反射动态读入来进行插件化。 而没有反射的诸如rust
这样的编译型语言, 可以利用FFI
进行插件化, 也就是把rust
打包成动态链接库, 比如说用#[no_mangle]
来阻止混淆函数名称, 然后通过调用库的方式调用链接库中的函数, 这样就可以实现插件化。 毕竟不能添加用户自定义的插件什么应用是完整的呢? , 所以一阶段确实是对我也很有帮助的。
-
关于二阶段 一阶段我用一个晚上速通之后就开始看文档, 也大概花了两周时间。
-
对于这个阶段我最大的感想就是, 理论需要与实践相结合。 在学习也学过操作系统这门通识课程, 当时也觉得课程里面说的什么比如特权级, 中断, 分页分段之类的学习起来并不难, 但是要是让我用代码来实现, 那必然是抠破脑袋都想不出来的。 直到现在我虽然是把所有的实验都完成了, 文档也看完了, 但是如果要我独立写一个操作系统, 也不一定可以。
-
我看的主要是v3
的文档, 于我而言最有难度的是第四章和第六章, 分页管理和文件系统, 真的和其他章节不是一个难度。 不然即使如此, 要做完实验并不需要完全理解文档, 实验相对来说还是比较容易的。
-
关于各个实验 ch3 ch3
是实现获取taskinfo
的系统调用, 主要想法就是在运行过程中维护调用计数。 第一次遇到了爆栈空间的问题, 所以就给entry.asm
的栈空间调大了, 事实证明也确实可以
-
ch4 ch4
实现sys_mmap
的方面, 我是通过参数分配对应的页表, 生成一块MapArea
然后插入到MemorySet
里面, sys_umap
也只需要从MemorySet
里面删除
-
ch5 ch5
实现sys_spawn
, 我觉得它与fork + exec
的区别就是不用复制父进程的空间, 那么生成一块空白的空间按照exec
处理即可
-
ch6 ch6
实现sys_linkat
, 在索引中加一个entry
即可, 而sys_unlink
我认为不容易删除一个entry
, 我选择的是向里面写了一些非法数据, 让文件名读取不到这个节点
-
ch8 ch8
实现死锁检测, 银行家算法需要提前获知需要的资源总数, 对于互斥锁我想资源数量就是1
, 对于信号量就是对应的值
-
总体 rCore
逐步递进, 从一个功能较少的小系统成为一个功能较多的大系统, 但是我感觉文档里面还有很多东西没有说的很清楚, 比如说rust
函数和汇编中函数的互相调用, 参数和返回值传递之类的不是很明白。 除此之外文档还是非常全面的, 我感觉我主要的问题就是不太理解汇编和rust
的交互。
-
另外就是在调试方面有一些问题, 不容易以代码级的方式调试, gdb
调试也不太直观。
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -232,6 +232,84 @@ rcore-os Blog
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
楔子 第一次看到这个训练营是在QQ频道上面的rust
频道, 正巧当时有人在说OS
训练营的问题, 正巧也确实对实现操作系统很感兴趣就参加了。 在此之前其实已经有rust
的基础和使用rust
开发项目的基础。
+
关于rust
rust
是我非常喜欢的语言, 可以说是目前最喜欢的语言也不为过。诸如C
, C++
, java
, python
, go
, kotlin
, js
这些语言我都学过, 也用它们或多或少的写过东西, 但是其中rust
是最深得我心的。
+
比如说它的枚举中可以存放关联值, 这样就可以通过枚举的类型来进行分发; 还有它强大的泛型能力, 在学习rust
之前其实我对泛型编程的理解一直不太深, 直到我学习了rust
, 参考了rust
标准库的源码, 对泛型的理解才更上了一层。
+
一阶段的许多东西都在圣经里面有所提及, 但是多出的那几个test
确实是我不曾知道的, 后面我又去了解了一些rust
插件开发, 对于有反射的语言, 可以使用反射动态读入来进行插件化。 而没有反射的诸如rust
这样的编译型语言, 可以利用FFI
进行插件化, 也就是把rust
打包成动态链接库, 比如说用#[no_mangle]
来阻止混淆函数名称, 然后通过调用库的方式调用链接库中的函数, 这样就可以实现插件化。 毕竟不能添加用户自定义的插件什么应用是完整的呢? , 所以一阶段确实是对我也很有帮助的。
+
关于二阶段 一阶段我用一个晚上速通之后就开始看文档, 也大概花了两周时间。
+
对于这个阶段我最大的感想就是, 理论需要与实践相结合。 在学习也学过操作系统这门通识课程, 当时也觉得课程里面说的什么比如特权级, 中断, 分页分段之类的学习起来并不难, 但是要是让我用代码来实现, 那必然是抠破脑袋都想不出来的。 直到现在我虽然是把所有的实验都完成了, 文档也看完了, 但是如果要我独立写一个操作系统, 也不一定可以。
+
我看的主要是v3
的文档, 于我而言最有难度的是第四章和第六章, 分页管理和文件系统, 真的和其他章节不是一个难度。 不然即使如此, 要做完实验并不需要完全理解文档, 实验相对来说还是比较容易的。
+
关于各个实验 ch3 ch3
是实现获取taskinfo
的系统调用, 主要想法就是在运行过程中维护调用计数。 第一次遇到了爆栈空间的问题, 所以就给entry.asm
的栈空间调大了, 事实证明也确实可以
+
ch4 ch4
实现sys_mmap
的方面, 我是通过参数分配对应的页表, 生成一块MapArea
然后插入到MemorySet
里面, sys_umap
也只需要从MemorySet
里面删除
+
ch5 ch5
实现sys_spawn
, 我觉得它与fork + exec
的区别就是不用复制父进程的空间, 那么生成一块空白的空间按照exec
处理即可
+
ch6 ch6
实现sys_linkat
, 在索引中加一个entry
即可, 而sys_unlink
我认为不容易删除一个entry
, 我选择的是向里面写了一些非法数据, 让文件名读取不到这个节点
+
ch8 ch8
实现死锁检测, 银行家算法需要提前获知需要的资源总数, 对于互斥锁我想资源数量就是1
, 对于信号量就是对应的值
+
总体 rCore
逐步递进, 从一个功能较少的小系统成为一个功能较多的大系统, 但是我感觉文档里面还有很多东西没有说的很清楚, 比如说rust
函数和汇编中函数的互相调用, 参数和返回值传递之类的不是很明白。 除此之外文档还是非常全面的, 我感觉我主要的问题就是不太理解汇编和rust
的交互。
+
另外就是在调试方面有一些问题, 不容易以代码级的方式调试, gdb
调试也不太直观。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -264,7 +342,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -335,7 +413,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -408,7 +486,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -490,7 +568,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -575,7 +653,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -651,7 +729,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -734,7 +812,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -813,7 +891,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -887,7 +965,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -931,84 +1009,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
训练营学习记录 这篇文章用来记录我在2023秋冬季开源操作系统训练营的学习过程,之所以会参加本次训练营,是因为我想进一步学习操作系统以及Rust编程语言。
-
第一阶段(1-2周) 本阶段的主要目的是掌握Rust编程语言,为后续学习打下基础。
-
第一周 在参加训练营之前,我有学习过Rust,但之后并没有做过有关Rust的项目,只用Rust刷过题,以至于之前学过的知识很快就忘了,所以我并没有马上开始做训练营的题。
-
本周我将环境配置好后就开始重新过一遍Rust,主要重学了Rust的所有权、借用、泛型、特征、迭代器、生命周期、智能指针、多线程、迭代器。
-
第二周 本周我开始完成训练营的题,题目不难,但很有针对性,基本上就是各个章节的知识点,这个过程中也学到了一些重要的知识,比如build.rs、#[no_mangle],为后续学习rCore打下基础
-
第二阶段(3-4周) 本阶段的学习目标是完成rCore-Tutorial中的五个实验。相比于上个阶段,本阶段的学习任务要重得多,学习难度也更大,需要花更多的时间。
-
第三周 我首先花了一天时间配置环境,我使用的是Docker,项目中有写好的Dockerfile能直接构建镜像,可惜由于网络问题,我总是构建失败(apt-get 下着下着就卡住了,导致无法构建成功),最后只能新建了一个Ubuntu:20.04的镜像,然后在容器中按照Dockerfile的流程将容器的环境配置好,然后提交容器保存为镜像。
-
配置完环境后我就开始看 rCore-Tutorial 并完成实验
-
rCore-Tutorial 的第一章从一个应用层的Hello World开始,一点点去掉需要操作系统支持的部分,最后构建一个能在裸机上打印Hello World的程序。
-
第二章构建了一个批处理系统,能够依次运行导入的程序。由于没有实现文件系统,从第二章到第五章的用户程序都是同操作系统放在一起的,通过脚本生成的汇编代码来标识应用程序的起始地址和结束地址。 这一章讲到了Risc-V的特权级切换,比较重要的就是Trap的上下文切换过程。
-
第三章通过时钟中断实现了分时多任务系统,比较重要的就是switch过程,切换任务时我们需要保存任务的上下文,以便下次运行时恢复。这与Trap过程是不同的,Trap是用户态与内核态之间的上下文切换,而switch是不同任务在内核态的上下文切换。
-
第四章实现了Risc-V的三级分页机制,这里采用双页表的实现方式,即一个任务的用户态和内核态使用不同的页表,这使得我们在Trap时还需要完成页表的切换。为了使得页表切换时程序能按正常的顺序执行,内核页表和用户页表都必须映射一段相同的地址空间,这段空间保存的代码就是Trap过程的跳板。
-
第五章实现了进程管理,调整了一些数据结构,将进程的执行交给各个CPU(不过这里只有一个CPU),将当前运行的进程id交给Processor结构(它是处理器的抽象),然后将进程的调度交给TaskManager。为了支持在用户态输入命令,还实现了一个简单的shell程序以及sys_read系统调用。新建进程则由sys_fork和sys_exec完成。
-
第四周 待续。。。。
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -232,6 +232,84 @@ rcore-os Blog
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
训练营学习记录 这篇文章用来记录我在2023秋冬季开源操作系统训练营的学习过程,之所以会参加本次训练营,是因为我想进一步学习操作系统以及Rust编程语言。
+
第一阶段(1-2周) 本阶段的主要目的是掌握Rust编程语言,为后续学习打下基础。
+
第一周 在参加训练营之前,我有学习过Rust,但之后并没有做过有关Rust的项目,只用Rust刷过题,以至于之前学过的知识很快就忘了,所以我并没有马上开始做训练营的题。
+
本周我将环境配置好后就开始重新过一遍Rust,主要重学了Rust的所有权、借用、泛型、特征、迭代器、生命周期、智能指针、多线程、迭代器。
+
第二周 本周我开始完成训练营的题,题目不难,但很有针对性,基本上就是各个章节的知识点,这个过程中也学到了一些重要的知识,比如build.rs、#[no_mangle],为后续学习rCore打下基础
+
第二阶段(3-4周) 本阶段的学习目标是完成rCore-Tutorial中的五个实验。相比于上个阶段,本阶段的学习任务要重得多,学习难度也更大,需要花更多的时间。
+
第三周 我首先花了一天时间配置环境,我使用的是Docker,项目中有写好的Dockerfile能直接构建镜像,可惜由于网络问题,我总是构建失败(apt-get 下着下着就卡住了,导致无法构建成功),最后只能新建了一个Ubuntu:20.04的镜像,然后在容器中按照Dockerfile的流程将容器的环境配置好,然后提交容器保存为镜像。
+
配置完环境后我就开始看 rCore-Tutorial 并完成实验
+
rCore-Tutorial 的第一章从一个应用层的Hello World开始,一点点去掉需要操作系统支持的部分,最后构建一个能在裸机上打印Hello World的程序。
+
第二章构建了一个批处理系统,能够依次运行导入的程序。由于没有实现文件系统,从第二章到第五章的用户程序都是同操作系统放在一起的,通过脚本生成的汇编代码来标识应用程序的起始地址和结束地址。 这一章讲到了Risc-V的特权级切换,比较重要的就是Trap的上下文切换过程。
+
第三章通过时钟中断实现了分时多任务系统,比较重要的就是switch过程,切换任务时我们需要保存任务的上下文,以便下次运行时恢复。这与Trap过程是不同的,Trap是用户态与内核态之间的上下文切换,而switch是不同任务在内核态的上下文切换。
+
第四章实现了Risc-V的三级分页机制,这里采用双页表的实现方式,即一个任务的用户态和内核态使用不同的页表,这使得我们在Trap时还需要完成页表的切换。为了使得页表切换时程序能按正常的顺序执行,内核页表和用户页表都必须映射一段相同的地址空间,这段空间保存的代码就是Trap过程的跳板。
+
第五章实现了进程管理,调整了一些数据结构,将进程的执行交给各个CPU(不过这里只有一个CPU),将当前运行的进程id交给Processor结构(它是处理器的抽象),然后将进程的调度交给TaskManager。为了支持在用户态输入命令,还实现了一个简单的shell程序以及sys_read系统调用。新建进程则由sys_fork和sys_exec完成。
+
第四周 待续。。。。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -264,7 +342,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -345,7 +423,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -436,7 +514,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -517,7 +595,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -598,7 +676,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -679,7 +757,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -761,7 +839,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -842,7 +920,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -925,7 +1003,7 @@
Edited on
- 2024-04-22
+ 2024-04-22
@@ -979,97 +1057,6 @@ Rust
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
整体感受 这是我第一次参加这样的开源课程,也是我第一次深入的学习操作系统的相关知识 (之前学过 nand2tetris 不过学的比较浅)。整体的课程体验非常的好,这是我 第一次见到使用 GitHub Classroom 做为教学平台的国内课程。
-
除此之外,整个实践过程非常符合开源软件的开发方式, 这让我这种习惯了开源软件开发流程的人感到十分的舒适:
-
-所有资料都公开在 GitHub 上
-实验代码在提交之后有 CI 自动完成评测和分数上报
-学生可以给仓库发 PR 来为课程做改善(感觉合PR 的频率稍微有点低,后来我就直接给 rCore Tutorial 提 PR 了,rCore 这边合的很快)
-直接使用 GitHub Issues 做问答(虽然回复的人比较少)
-甚至用上了当时还在预览中的 Codespaces
-
-
此外,课程的直播网站设计的也很棒,甚至在校园网的条件下比企鹅会议流畅。
-
学习记录和各章节报告的 repo: https://github.com/kxxt-sduwh/rust-os-learning-record
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -233,7 +233,7 @@ rcore-os Blog
-
+
@@ -247,7 +247,7 @@ rcore-os Blog