在辦公室內吃完午飯,林北馬上在那台計算機前麵坐了下來。
他麵前攤著一本手寫的筆記,裡麵是用鉛筆寫滿的係統架構草稿。
從係統獎勵超級計算機,林北完全掌握了超級計算機的完整技術後,就開始在構思完整的計算機係統。
超級計算機上的作業係統,隻是為超算服務的係統,不合適作為普通計算機的係統來使用。
因此林北需要一套完全基於漢語言的底層作業係統,適用於未來的超計算機。
而這個東西,別說是種花家了,全世界隻有林北一個人懂,沒有人可以幫他。
需要他親自一點點的完成。
這套作業係統,不需要翻譯英文指令,不需要記憶那些和日常語言毫無關聯的縮寫詞,所有的指令代碼全部用漢字書寫。
運算指令是「加」「減」「乘」「除」,跳轉指令是「轉」,條件判斷是「若」「則」「否則」,循環是「循環」和「止」,輸入輸出是「讀」「寫」,程序結構用「開始」和「結束」包裹起來。
這套方案的核心原則是:任何一個識字的人,拿著操作手冊看一遍,就能大致猜到每一行指令是在做什麼。
他早就想清楚了,計算機的未來不應該是少數幾個掌握英文的人才能觸碰的工具。
特別是在種花家,計算機的作業係統,就應該以最方便的形式進行推廣。
甚至漢語言係統,將會在這個時空,徹底取代未來的英文作業係統。
因為林北占據了所有的先機。
他打開第一塊空白的內存區域,開始寫最底層的引導程序。
這段程序不需要多複雜,隻需要完成三件事。
初始化中央處理器和內存的起始狀態,從固定地址加載作業係統的內核代碼,然後將控製權移交給內核。
他用鉛筆在紙上寫了十幾行代碼,逐條讀了一遍確認邏輯無誤,然後開始一條一條地往機器裡輸入。
「開始
設基址=零
清內存
載入核心自磁碟
轉核心
結束」
他把這五行指令輸入完畢之後按下回車鍵,屏幕上沒有報錯,光標平靜地跳到下一行起始處,像是已經接受了這段指令,正在等著後麵的內容。
他開始寫內存管理模塊。
內存管理是作業係統的骨架,沒有它,所有程序都將堆疊在一起互相踩踏。
他的方案是分段式管理,把內存劃分成若乾個大小不等的段,每個段記錄起始地址、段長和使用狀態,內核在分配和回收時隻操作這些段表,不直接碰物理地址。
分配空間時若找到空閒段就標記為已占用,回收空間時則合併相鄰的空閒塊。
最新小說章節盡在o o p . t w
他把這個邏輯寫成一段大約三十行的程序,一邊寫一邊在腦子裡逐行推演邊界情況。
「分配段大小:
尋空閒段其中段長>=大小
若找著:
標該段已占用
返段址
否則:
返空
止
回」
寫完之後他把這一段和引導程序銜接在一起,確認沒有語法衝突,然後繼續往下寫進程管理模塊。
進程管理的核心是時間片輪轉。
每一道運行中的程序被看作一個進程,內核記錄它的狀態、寄存器值和程序計數器位置,每個進程獲得一個固定長度的時間片,時間片用完之後內核自動切換上下文保存當前進程狀態、恢復下一個進程的狀態、把中央處理器交給它。
他為此設計了一個進程控製塊的結構,包含進程標識、運行狀態、寄存器備份、優先級和時間片計數器,並配有相應的調度機製讓多個程序像輪流使用機器一樣交替運行。
「若時間片滿:
存當前
恢復下一進程
續繼轉
」止
。了透黑經已天,候時的分部動驅備設到寫他
。輯邏機態狀和義定口接的獨單要需都塊一每,製控寫讀的碟磁、衝緩出輸的器示顯、斷中入輸的盤鍵
。充填續後到留現實的體具,口入個三」製控「」寫「」讀「的一統成象抽作操的備設種每把,層象抽備設的礎基個一了搭先是而,完寫性次一動驅的有所把有沒他
。行執的式程用應層上到響影會不都備設新何任入接來將樣這
。點五午下向指經已鐘時,候時的完寫稿手核內統係的整完版一第
。機死接直會不時界越存內者或令指義定未到遇在序程保確,輯邏理處常異段一了補又,方地的當不理處件條界邊處幾了改修,遍一了讀通尾到頭從稿手把他
:常異「
前當停
誌日於碼誤錯記
」度調轉
。遍一跑去進入輸型模構架的核內個整把,境環真仿的上機算計級超用使算打,心中算超趟一跑,候時的班上一拜禮個下是而,器機入錄部全碼代些這把刻立有沒北林
。題問有沒明證能才統係套這,後之失丟期周跨有沒換切片間時、漏泄無存內、鎖死無輯邏認確果結真仿認確
。段階的始原最是隻還前目,有沒都子殼個一連,上實事,機算計台這的前眼於至
。右左次萬一秒每是就也,快太會不並,度速算運其,來起裝組底徹也,成完統係來將機算計台這而
。右左茲赫兆1頻主,個萬五量數體晶電總,體晶電個215了成集片晶個一每,個百一有片晶的板路電成集其
。算運法加次萬一秒每力能算運
。樣麼怎不真力能算運機算計款這,說來機算計級超比對
。小大間房個一了據占足足,機算計級超是不,機算計式台通普的巧小台一是隻他,機算計款這,是題問可
。機算計的用使以可就,電上插後然,移轉,走帶卸拆時隨以可台一是
。別區的大太有沒並,機式台的代現和
且並