必須用C模擬OS?

2021-09-08 10:04:53 字數 528 閱讀 2722

asm基本必要,至於高階語言就很難說了。去osdev wiki上一翻一堆各種語言實現的玩意。

乙個模擬os其實不太容易完整搭出來,反倒是直接構造核心的後顧之憂少(如果還有真的想在sigalrm裡耍什麼異常控制流的還是算了吧,挺悲催的)。不過如果是子系統模擬還是可以的:

1. 程序的模擬一般強調排程演算法多於基本抽象,所以可以考慮用原生的執行緒搭配k個互斥量模擬忽略超執行緒的smp排程。實時排程的發生頻率用乙個timer就可以解決。

2. 位址空間和mm是比較不容易模擬的東西,但國內老濕們往往喜歡啃buddy heap或者一般向header/footer-based heap而不是基礎mm本身所以其實反倒好做。直接按演算法模擬就行。

3. 單純針對硬碟的fs直接在一坨當作disk image的檔案上搭幾個模擬驅動,然後就開始演算法向了。沒什麼特別要說的。

4. i/o子系統模擬起來其實沒什麼趣味:失去了真實性的機制看起來也怪囧的,隨機應變吧。

即使是核心也不一定選擇c/c++作為開發主要部分的高階語言,何況乙個模擬實驗。

reference:

021 建構函式寫了,就必須用

1 當類中沒有定義任何乙個建構函式時,c 編譯器會提供預設無參建構函式和預設拷貝建構函式 2 當類中定義了拷貝建構函式時,c 編譯器不會提供無引數建構函式 3 當類中定義了任意的非拷貝建構函式 即 當類中提供了有參建構函式或無參建構函式 c 編譯器不會提供預設無參建構函式 4 預設拷貝建構函式成員變...

存在量詞後必須用合取式? 數學

語法上沒有錯誤,都是well formed formula,但是語義上與一般用自然語言表達出來的語義不符.例 有乙個男學生 是用存在量詞 合取式寫出來的,即 存在乙個物件x,x是男的且x是學生 這句話為真當且僅當存在乙個男學生 如果我們用存在量詞 條件式寫出來,則是 存在乙個物件x,如果x是男的則x...

新房裝修必須用智慧型門鎖才更安全嗎?

從功能手機到智慧型手機,機械門鎖到智慧型門鎖,每個行業的產品都在推陳出新。就拿門鎖來說,早年的門鎖標配是鑰匙,現在的門鎖能採用更多的科技手段,實現更好的開鎖方式。如智慧型門鎖,不僅可以用鑰匙開門,還可以通過指紋,密碼,刷卡,藍芽 虹膜等方式開鎖。所以很多年輕消費者在裝修的時候,都會考慮選用智慧型門鎖...