官术网_书友最值得收藏!

第0天 著手開發之前

1 前言

現在,挑選自己喜歡的配件來組裝一臺世界上獨一無二的、個性化的PC(個人電腦)對我們來說已不再困難。不僅如此,只要使用合適的編譯器英文為compiler,指能夠將源代碼編譯成機器碼的軟件。,我們就可以自己編寫游戲、制作自己的工具軟件;使用網頁制作工具,我們還可以輕而易舉地制作主頁;如果看過名著《CPU制作法》《CPU制作法》,渡波郁著,每日Communications出版公司,ISBN 4-8399-0986-5。的話,就連自制CPU也不在話下。

然而,在“自制領域”里至今還有一個無人涉足的課題——自己制作操作系統(OS)Operating System的縮寫,漢語譯作“操作系統”。Windows、Linux、MacOS、MS-DOS等軟件的總稱。,它看起來太難以至于初學者不敢輕易挑戰。電腦組裝也好,游戲、工具軟件制作也好,主頁也好,CPU也好,這些都已經成為初學者能夠嘗試的項目,而唯獨操作系統被冷落在一邊,實在有些遺憾。“既然還沒有這樣的書,那我就來寫一本。”這就是筆者撰寫本書的初衷。

也許是因為面向初學者的書太少的緣故吧,一說起操作系統,大家就會覺著那東西復雜得不得了,簡直是高深莫測。特別是像Windows和Linux這些操作系統,龐大得一張光盤都快裝不下了,要是一個人憑著興趣來開發的話,不知道需要歷經多么漫長的過程才能完成。筆者也認為,像這么復雜的操作系統,單憑一個人來做,一輩子都做不出來。

不過大家也不必擔心太多。筆者就成功地開發過一個小型操作系統,其大小還不到80KBkilobyte,程序及數據大小的度量單位,1字節(byte)的1024倍。一張軟盤的容量是1440KB。順便提一下,1024KB等于1MB(兆字節)。1字節是8個比特,正好能記錄8位0和1的信息。B到底是指字節(byte),還是指比特(bit),有時容易混淆。這里根據一般的規則,用大寫B表示字節,小寫b表示比特。。麻雀雖小,五臟俱全,這個操作系統的功能還是很完整的。有人也許會懷疑:“這么小的操作系統,是不是只有命令行窗口console,通過鍵盤輸入命令的一種方式,基本上只用文字進行計算機操作,是MS-DOS等老式操作系統的主流操作方式。啊?要不就是沒有多任務在操作系統的世界里,運行中的程序叫做“任務”,而同時執行多個任務的方式就被稱為“多任務”(multitask)。? ”不,這些功能都有。

怎么樣,只有80KB的操作系統,大家不覺得稍作努力就可以開發出來嗎?即使是初學者,恐怕也會覺得這不是件難事吧?沒錯,我們用一個月的時間就能寫出自己的操作系統!所以大家不用想得太難,我們輕輕松松地一起來寫寫看吧。

以本書作者為主角開發的操作系統OSASK筆者與他人一起合作開發的操作系統(趁機宣傳一下)。雖然只有小小的78KB,不過為了做它也花了好幾年的時間。而這次能在短時間內開發完成操作系統,是因為我們較好地總結了開發操作系統所必要的知識。也就是說,如果筆者在年輕時可以看到現在這本書的話,可能在短時間內就能開發出OSASK了,所以筆者很羨慕大家呀。

大家一聽到編譯后的文件大小為80KB可能會覺得它作為程序來講已經很小了,不過曾經編過程序的人可以查一查自己編的程序(.exe文件)的大小,這樣就能體會到80KB到底是難是易了。

沒編過程序的人也可以下載一個看上去不是很復雜的自由軟件,看看它的可執行文件有多大。Windows 2000的計算器程序大約是90KB,大家也可以根據這個想象一下。

本書對于不打算自己寫操作系統,甚至連想都沒想過這個問題的人來說也會大有裨益。舉個例子,讀本自己組裝PC的書就能知道PC是由哪些組件構成的,PC的性能是由哪些部分決定的;讀本如何編寫游戲的書,就能明白游戲是怎樣運行的;同理,讀了本書,了解了操作系統的開發過程,就能掌握操作系統的原理。所以說,對操作系統有興趣的人,哪怕并不想自己做一個出來,也可以看看這本書。

閱讀本書幾乎不需要相關儲備知識,這一點稍后還會詳述。不管是用什么編程語言,只要是曾經寫過簡單的程序,對編程有一些感覺,就已經足夠了(即使沒有任何編程經驗,應該也能看懂),因為這本書主要就是面向初學者的。書中雖然有很多C語言程序,但實際上并沒有用到很高深的C語言知識,所以就算是曾經因為C語言太難而中途放棄的人也不用擔心看不懂。當然,如果具備相關知識的話,理解起來會相對容易一些,不過即使沒有相關知識也沒關系,書中的說明都很仔細,大家可以放心。

本書以IBM PC/AT兼容機(也就是所謂的Windows個人電腦)為對象進行說明。至于其他機型本書所講的操作系統內容僅用Macintosh是開發不了的,并且開發出的操作系統也不能直接在Macintosh上運行。但是在PC上開發的操作系統,可以通過模擬器在Macintosh上運行。,比如Macintosh(蘋果機)或者PC-9821等,雖然本書也參考了其中某些部分,但基本上無法開發出在這些機型上運行的操作系統,這一點還請見諒。嚴格地說,不是所有能稱為AT兼容機的機型都可以開發我們這個操作系統,我們對機器的配置要求是CPU高于386(因為我們要開發32位操作系統)。換句話說,只要是能運行Windows 95以上操作系統的機器就沒有問題,況且現在市面上(包括二手市場)恐怕都很難找到Windows 95以下的機器了,所以我們現在用的機型一般都沒問題。

另外,大家也不用擔心內存容量和硬盤剩余空間,我們需要使用的空間并不大。只要滿足以上條件,就算機器又老又慢,也能用來開發我們的操作系統。

主站蜘蛛池模板: 嘉兴市| 嘉兴市| 浪卡子县| 新津县| 涪陵区| 若尔盖县| 米脂县| 根河市| 灵山县| 军事| 衡水市| 萨迦县| 汽车| 揭西县| 普陀区| 齐河县| 庄河市| 乐山市| 永安市| 庄河市| 浦北县| 梅河口市| 宜都市| 福州市| 和硕县| 亳州市| 亳州市| 五大连池市| 奈曼旗| 犍为县| 凤山县| 昌邑市| 房产| 塔城市| 扎兰屯市| 满洲里市| 广昌县| 昆明市| 金山区| 大田县| 咸宁市|