|
|
教學公告
《操作系統(tǒng)課程設計》開篇:一場深入計算機心臟的硬核旅行
-------------
To: 勇敢的 2023 級探險家們 
From: 你們的 OS 課程領航員
-------------
大家好!
歡迎來到《操作系統(tǒng)課程設計》這門有點“特殊”的課。說它特殊,首先因為它是“必修”,雖然只有區(qū)區(qū)1個學分,但想畢業(yè),誰也“逃”不掉。更重要的是,這門課將帶你暫別舒適的應用層,潛入計算機世界的“深海”,親手觸摸那些支撐著整個數(shù)字世界的底層邏輯。這會是一場充滿挑戰(zhàn)但也絕對酷炫的硬核旅行。
在出發(fā)前,請仔細閱讀這份“探險家指南”:
-------------
1. 我們的座駕與地圖:xv6-riscv
本次探險,我們告別了龐大到令人望而生畏的 Linux 內核,換上了一艘更適合教學的“敏捷型潛艇”——xv6-riscv(源自 MIT 6.1810 課程的經典平臺)。它代碼凝練,設計優(yōu)雅,是讓你能真正“看透”并“玩轉”一個操作系統(tǒng)的絕佳起點。
【后勤保障】:我們今年的探險隊規(guī)模依然龐大(課表顯示足足有237人?。?ldquo;任務簡報”(實驗說明)和“集合地點”(實驗提交)都將通過學者網(wǎng)發(fā)布。我和助教們會提供詳盡的中文向導文檔,請大家務必保持通訊暢通,??茨昙壢?,別錯過任何一個重要的“補給點”。
【教學與考核】: 此門課將基本遵循之前的線上教學模式。在每次布置實驗任務前(今年已經確定為5次),我會在教學站點(學者網(wǎng))上發(fā)布一個較為詳細的實驗過程和說明文件(包括基本的實驗環(huán)境搭建),并會要求各位同學在規(guī)定的時間內上傳實驗報告/作業(yè),以此作為期末的評分依據(jù)。
【探險家求助指南】: 在這場硬核的旅行中,遇到難題是常態(tài),學會如何高效解決問題正是本課程的核心目標之一。我們推薦大家遵循以下“三步走”策略:
第一步:成為獨立的偵探。 優(yōu)先利用你最強大的工具——搜索引擎和AI大模型。學會精準地描述你的問題,通常90%的疑問都能在這里找到答案或線索。
第二步:啟動團隊協(xié)作。 如果獨立探索后仍無頭緒,不妨求助于身邊的“戰(zhàn)友”。同學之間的討論和思想碰撞,往往能點燃靈感的火花,這也是構建學習共同體的絕佳機會。
第三步:呼叫后方支援。 當你和同學們都已盡力嘗試,仍然無法解決問題時,請整理好你的問題、你已做過的嘗試和具體的報錯信息,再向助教尋求幫助。清晰的問題描述將幫助我們更快地定位并解決你的困難。
-------------
2. 為何要“造船”?—— 系統(tǒng)編程的內功心法
我知道,在座的各位很多都是未來的AI算法大師、煉丹宗師,習慣了在 Python 里優(yōu)雅地import一切,成為一名快樂的“調包俠”。那么,我們?yōu)槭裁捶且?ldquo;自討苦吃”,去關心底層這些“臟活累活”呢?
請想象一個場景:你設計了一個無比精妙的算法,它像一件藝術品,在你的電腦上跑出了SOTA(State-of-the-art)的效果。然而,當它被部署到實際系統(tǒng)中時,卻發(fā)現(xiàn)系統(tǒng)的整體性能不升反降,甚至功耗爆炸。為什么?
因為再完美的“乘客”(算法/模型),也得坐上一艘可靠的“船”(操作系統(tǒng)/硬件)才能遠航。如果“船”本身的設計不合理,乘客的體驗甚至安全都無從談起。這門課,就是教你如何理解“船”的構造,甚至親手“造船”。它錘煉的是你的系統(tǒng)能力——一種能讓你看穿表象、洞悉全局的“內功心法”。這種能力,無法通過刷題速成,也無法被任何獎項或績點完全定義,但它會是你未來職業(yè)生涯中最堅實的技術護城河。
-------------
3. 你的AI副駕:是“神隊友”,不是“方向盤”
我們身處一個偉大的AI時代,你擁有了史上最強的“副駕駛”——大語言模型。我強烈鼓勵大家用好這位副駕,讓它幫你理解代碼、調試Bug、甚至生成代碼片段。學會寫高質量的提示詞(Prompt),本身就是一種新的核心競爭力。但請務必記住:AI是你的副駕,而你才是手握方向盤的駕駛員。 AI的回答質量,完全取決于你提問的水平;而提問的水平,則源于你扎實的專業(yè)基礎。如果你把方向盤完全交給AI,滿足于它給出的“一鍵生成”方案,那么當系統(tǒng)出現(xiàn)詭異的Bug時,你和AI只會面面相覷。所以,請盡情地與AI共舞,但永遠不要放棄“肉身Coding”帶來的思考與成長。
-------------
4. 游戲規(guī)則:一份關于“躺平”與“封神”的契約
“老師,這課好過嗎?” —— 每年都有人問。
坦誠地告訴大家:這門課的通關下限很低。 如果你只想“安全”地拿到這1個學分,那么按時提交實驗報告,寫對名字學號,你大概率會獲得一個體面的分數(shù)。
但是,如果你不滿足于此,這里也為你準備了一條通往“封神”的道路。

(1)“普通玩家”模式:跟著我們的文檔,完成5次實驗,你會對OS有基本的認識。
(2)“硬核玩家”模式:除了完成基礎實驗,請主動通讀 xv6-riscv 的全部源碼,反復咀嚼;再去挑戰(zhàn)一下 MIT 課程官網(wǎng)上那些我們沒有要求的實驗。
(3)“地獄模式”:獨立思考,先于網(wǎng)絡搜索和AI,嘗試自己解決問題。當你絞盡腦汁后,再去參考別人的優(yōu)秀代碼,你會體驗到豁然開朗的極致快感。
選擇權在你手中。你可以選擇“抱佛腳”通關,但這無異于入寶山而空回。我真誠地希望你不要浪費這次寶貴的機會。你的每一分額外付出,都會在最終的成績單上得到響亮的回應。
-------------
5. 終極召喚:代表華師,出征國賽!
課程的終點,是另一個更廣闊世界的起點——“全國大學生計算機系統(tǒng)能力大賽”(操作系統(tǒng)設計賽)。
說來慚愧,作為一名連續(xù)三年指導此項賽事的老師,我常常在和外校同行交流時感到一絲尷尬。當別人問:“你們這種老牌211、雙一流高校的計算機專業(yè),怎么參賽的人這么少?”我竟一時語塞,難道要歸結為“我?guī)煗夂竦娜宋奶厣?rdquo;?
事實是,我們在系統(tǒng)能力培養(yǎng)的氛圍和實力上,與主流強校相比確實存在差距。但我堅信,差距不是借口,而是我們奮起直追的號角!過去三年,我們并非沒有勇士:從物理學院的同學開疆拓土,到軟件學院的同學斬獲國二,再到今年轉專業(yè)的同學堅持到底拿下國三……他們用行動證明了,我們有能力,也應該在全國的舞臺上發(fā)出更強的聲音。
所以,在此,我向2023級的各位發(fā)出最誠摯的邀請和最急切的呼喚:今年年底的省賽,與明年暑期的國賽,我渴望看到更多來自我們本院的隊伍,能夠挺身而出,踴躍報名,并肩作戰(zhàn),堅持到底!這門課,就是你們最好的賽前集訓營!
最后,我們的中文實驗文檔也在持續(xù)迭代中(正與xv6的2024版內容適配),若發(fā)現(xiàn)任何紕漏,歡迎隨時“開炮”!
祝各位,旅途愉快,Bug退散!

-------------
【后勤補給站】
- 2021級譚宇亮OS國賽心得
http://www.sibylla19999.cn/course/V_courseOneNotice.html?courseId=100¬iceId=5395
- 2022級周晟OS國賽心得
http://www.sibylla19999.cn/course/V_courseOneNotice.html?courseId=100¬iceId=5396
- MIT課程主頁 (2024):https://pdos.csail.mit.edu/6.828/2024/schedule.html
- 學者網(wǎng)課程站點:http://www.sibylla19999.cn/course/scnuos (密碼: os2025,請加入對應班級,這里是領作業(yè)和交作業(yè)的地方)
- xv6源碼視頻講解https://www.bilibili.com/video/BV1w94y1a7i8/?vd_source=6a2d0695bb980cee3a790ce24df0c212
