導航:首頁 > 電腦系統 > 電腦系統怎麼寫

電腦系統怎麼寫

發布時間:2022-08-16 23:41:27

『壹』 怎樣自己寫一個簡單的操作系統

只要你學過匯編和C,只滿足於寫個「簡單的操作系統",一兩天就能搞定。

隨便把你寫過的小程序,用直接寫硬碟軟體(或者自己編一個,調用winapi的WriteFile函數就可以),寫進硬碟/U盤引導區。記住,起始地址是7c00。

這就好了。注意,引導區只有440個位元組給你用,程序不能太大,所以這部分基本要用匯編寫。440位元組後面是硬碟/U盤分區信息,不可以亂動。亂動以後bios可能沒法識別硬碟/U盤。
引導區最後兩個位元組必須是55AA,不過一般你不用管,硬碟/U盤格式化的時候都已經給你寫好了。

這樣你的程序就在開機的時候直接運行了。

想調用大程序也沒問題,你需要寫個不超過440位元組的程序,負責把第二個扇區的內容載入內存並執行,由第二個扇區的代碼負責把所有代碼載入內存。後面的部分用C寫或者別的高級語言寫都沒什麼問題了。

『貳』 如何從零開始寫一個簡單的操作系統

如何動手製作這樣的引導扇區呢?這個過程十分簡單,
(1)首先按照要求寫一個合法的引導程序(通常用匯編,機器碼也可以,呵呵);
(2)然後將其通過匯編程序,如NASM匯編成二進制文件;
(3)最後,將這個二進制文件寫入到目標盤的第一個扇區。

第一步:寫代碼
; 文件名:boot.asm
; 代碼如下,注意,匯編中通常用「;」來表示注釋內容
; 此段代碼參考《自己動手寫操作系統》(於淵)
;
; 初始化函數
org 07c00h ; 告訴編譯器將此段程序載入
; 到內存0x0000:07C00處
mov ax, cs
mov ds, ax
mov es, ax
call PrintStr ; 調用屏幕列印函數
jmp $ ; 無限循環

PrintStr: ; 屏幕列印函數
mov ax, HelloWorld ; 將字元串拷貝到ax
mov bp, ax ; es:bp = 串地址
mov cx, 24 ; cx = 串長度
mov ax, 01301h ; ah = 13, al = 01h
mov bx, 000ch ; 頁號為0(bh = 0) 黑底紅字(bl = 0ch,高亮)
mov dl, 0
int 10h ; 10h號中斷
ret

HelloWorld: db "Welcome to Lee's OS *_*" ; 字元串負值
times 510-($-$$) db 0 ; 用0x0填充剩餘的空間使生成
; 的二進制代碼剛好為512位元組

dw 0xaa55 ; 結束標志
; 整個程序結束!很短吧

第二步:匯編
假設你已經安裝了NASM程序,那麼進入命令行模式,然後輸入以下命令:
C:[PATH]\ nasm boot.asm -o boot.bin
其中「C:[PATH]\」為boot.asm代碼文件所在位置。
現在如果不出意外的話,你已經擁有了boot.bin二進制文件,這個就是引導程序!

第三步:製作引導盤
由於不能隨便更改硬碟,否則系統無法進入原來的操作系統,所以我們用軟盤來試驗。
那麼,我們准備一張軟盤。
現在,我們要自己寫一個程序將我們匯編得到的二進制文件寫到軟盤的第一個扇區。
C語言程序代碼如下:

/***************START***************/
#include
#include

int main(void)
{
FILE *in;
unsigned char buffer[520];

if((in = fopen("boot.bin", "rb"))==NULL)
{
printf("Error loading file\n");
exit(0);
}

fread(&buffer, 512, 1, in);
while(biosdisk(3, 0, 0, 0, 1, 1, buffer));
fclose(in);

return 0;
}
/****************END****************/
注意,這個程序必須同boot.bin文件在同一目錄下,然後將軟盤放進軟碟機,運行此程序。

第四步:GOGOGO
好了,現在你擁有了一張從頭到尾完全自製的引導盤,由於有了她,你想運行你的電腦再也不需要微軟插手了,而且這很可能是你第一次能在裸機上運行一個自己的程序哦,哈哈!
重新啟動你的機器,記得把軟盤放進去,現在你看見什麼了?
一行醒目的紅字:
Welcome to Lee's OS *_*
列印在屏幕上!

『叄』 怎麼編寫操作系統

WINDOWS,LINUX/UNIX系統都是用C語言編寫的.
可以說90%以上的代碼都是C語言寫成,只有少量的核心代碼是用匯編完成的.
這在計算機行業來說,已經是通用的知識.稍微懂一點系統的人都知道.
操作系統和驅動程序是用C語言編寫的.
或者我有個"自己動手寫操作系統完全版"的電子書,加我,我傳給你~~在邪八下的。

『肆』 怎樣編寫像Windows這樣的操作系統

  1. 90%的C語言+10%的匯編語言

  2. windows系統都主要是用C語言編寫的

  3. 我們在用windows平台上編程的時候,要調用系統API(應用程序介面),這些介面封裝在系統的.dll(動態鏈接庫)裡面,所有的API函數都是32位平台上的C函數,從windows3.0一直windows95,到現在的win2003,都是基於C函數庫的程序集,所以用C函數編出的系統程序系統執行效率最高,當然在底層的一些調用,不排除有些是用匯編編的,但內核大多是用C做的。

  4. 另:MFC只是windows系統上API函數的封裝,基於面向對象原理,服務於GUI程序設計,MFC從AFX發展而來,已有十多年的歷史,最新的MFC6.0,那是設計基於windows系統程序的,而不是用來編寫操作系統本身,但也不能完全這樣說,系統上有些服務(可以說很多,比如時間)是用MFC做的。

『伍』 電腦系統的英語名字怎麼寫

Computer
System
Administrator
是Windows系統默認的管理員帳號

『陸』 怎樣寫一個計算機操作系統

兄弟。xp是用basic編寫的吧~~老蓋對這個語言很有感情哦
其實你要編寫系統用什麼語言都行。只要你有那個能力~~
xp這么漂亮強大的系統用basic都能寫出來。呵呵。不過用了有2億多條哦~~
microsoft那麼多人花了幾年時間才搞出來的/
樓主。還想編寫嗎?

『柒』 操作系統是如何編寫的用什麼語言編寫的

操作系統使用C語言和匯編編寫的,Windows,UNIX,Linux都是這樣的。絕大部分是C,極少情況使用匯編。
操作系統的編寫需要與硬體廠商緊密配合,兩者相輔相成。操作系統的實現要對硬體作出假設,硬體的設計要對操作系統的使用做出假設。所以開發操作系統很大的難度就是要和眾多硬體設備供應商保持緊密的合作。
編寫操作系統,和開發應用程序很大的不同是,他沒有平台的庫函數使用,很多時候是直接面向硬體,而且不是像應用程序是靠事件來驅動,而是靠中端機制來促使操作系統運行

『捌』 怎麼寫操作系統

一般用C寫吧,簡單的寫起來挺容易,但是一定不實用。
要寫操作系統倒不如改linux好。

『玖』 電腦系統怎麼做

在開始回答你的問題之前,先看看程序的發展歷史,請留意有關儲存器和數據的描述:

1834 年:Babbage 設想製造一台通用分析機,在只讀存儲器(穿孔卡片)中存儲程序和數據 。Babbage在以後的時間里繼續他的研究工作,並於1840 年將操作位數提高到了40 位,並基本實現了控制中心(CPU)和存儲程序的設想,而且程序可以根據條件進行跳轉,能在幾秒內做出一般的加法,幾分鍾內做出乘、除法。
1890 年:美國人口普查部門希望能得到一台機器幫助提高普查效率。Herman Hollerith (後來他的公司發展成了IBM 公司)借鑒Babbage 的發明,用穿孔卡片存儲數據,並設計了機器。結果僅用6 周就得出了准確的人口統計數據(如果用人工方法,大概要花10 年時間)。
1935 年:IBM 推出IBM 601 機。這是一台能在一秒鍾內算出乘法的穿孔卡片計算機 。這台機器無論在自然科學還是在商業應用上都具有重要的地位,大約製造了1500 台。
1941 年夏季:Atanasoff 和學生Berry 完成了能解線性代數方程的計算機,取名叫"ABC "(Atanasoff-Berry Computer),用電容作存儲器 ,用穿孔卡片作輔助存儲器,那些孔實際上是"燒"上去的,時鍾頻率是60Hz,完成一次加法運算用時一秒。
1943 年1 月:Mark I 自動順序控制計算機在美國研製成功。整個機器有51 英尺長 、5 噸重 、75萬個零部件。該機使用了3304 個繼電器,60 個開關作為機械只讀存儲器。程序存儲在紙帶上 ,數據可以來自紙帶或卡片閱讀器。Mark I 被用來為美國海軍計算彈道火力表。
1943 年9 月:Williams 和Stibitz 完成了"Relay Interpolator ",後來命名為"Model Ⅱ Re-
lay Calculator "的計算機。這是一台可編程計算機,同樣使用紙帶輸入程序和數據。它運行更可靠,每個數用7 個繼電器表示,可進行浮點運算。
真空管時代的計算機盡管已經步入了現代計算機的范疇,但因其體積大、能耗高、故障多、價格貴,從而制約了它的普及和應用。直到晶體管被發明出來,電子計算機才找到了騰飛的起點。
1947 年:Bell 實驗室的William B.Shockley 、 John Bardeen 和Walter H.Brattain 發明了晶體
管,開辟了電子時代新紀元。
1949 年:劍橋大學的Wilkes 和他的小組製成了一台可以存儲程序的計算機,輸入輸出設備仍是紙帶。
1949 年:EDVAC(Electronic Discrete Variable Automatic Computer--電子離散變數自動計算機)--第一台使用磁帶的計算機。這是一個突破,可以多次在磁帶上存儲程序。這台機器是John von Neumann 提議建造的。
1950 年:日本東京帝國大學的Yoshiro Nakamats 發明了軟磁碟 ,其銷售權由IBM公司獲得 。由此開創了存儲時代的新紀元。
1951 年:Grace Murray Hopper 完成了高級語言編譯器。
1951 年:UNIVAC-1 --第一台商用計算機系統誕生,設計者是J.Presper Eckert 和John Mauchly 。
被美國人口普查部門用於人口普查,標志著計算機進入了商業應用時代。
1953 年:磁芯存儲器被開發出來。
1954 年:IBM 的John Backus 和他的研究小組開始開發FORTRAN(FORmula TRANslation) ,1957 年完成。這是一種適合科學研究使用的計算機高級語言。
1957 年:IBM 開發成功第一台點陣式列印機

好了現在開始吧:

操作系統是什麼呢?說白了就是一套計算機的指令集合,而計算機的指令就是'1010101'之類的機器碼,說到底,『1001010』也是數據,就是可以儲存在介質之中的東東,比如紙質卡片,磁碟,晶元上。對於問題「第一個操作系統如何編寫的呢」,可以歸結為:第一個計算機軟體如何編寫(在這里,請改變對操作系統的神秘感,操作系統也是一個軟體,一個特殊的程序),即是計算機的指令如何記錄下來,並且被計算機執行。那麼答案已經出來了~~,請再次看一下上面的例子,你會有所啟發

還有什麼問題請問吧~~~

還有一個問題回答:「自帶boot」雖然不知道你這是什麼意思(boot程序??),但是可以肯定告訴你,在硬體生產時,「可以」直接把』boot」生產在晶元上,為什麼?如上說,程序就是10100數據,生產商只要在晶元上設置電路的通斷,就可以表示10101001000101 (注意了,這里只是一個例子)

好吧,現在假設我們有電腦,要開發操作系統,但是知道計算機指令

那麼下面的一段程序(示例)我不得不把他寫在紙質筆記本上:

mov ax,0

..

...

這段程序人工翻譯成機器碼,到現在還沒有操作系統:

........

好了操作系統在我的紙上寫好了,我就請求硬體開發商把我的程序刻錄到軟盤上,於是開發商就對照.....把數據刻錄到軟盤上

於是,操作系統開發完畢,只要想辦法被CPU執行就可以了

閱讀全文

與電腦系統怎麼寫相關的資料

熱點內容
13年dell戴爾微型台式電腦 瀏覽:750
電腦用什麼作圖軟體 瀏覽:854
秒玩手游軟體蘋果 瀏覽:119
電腦檢測不到已安裝程序怎麼辦 瀏覽:446
怎麼看電腦風扇轉速 瀏覽:91
台式電腦ap 瀏覽:343
台式電腦沒有光碟機怎麼辦 瀏覽:403
電腦主機安裝櫃子 瀏覽:711
電腦重裝系統網路連不上怎麼解決 瀏覽:867
電腦系統w8wifi怎麼連接 瀏覽:3
剛裝的台式電腦沒有聲音 瀏覽:523
蘋果電腦怎麼翻看照片 瀏覽:56
wifi正常電腦突然沒網了 瀏覽:932
電腦里怎麼根據文件內容搜索 瀏覽:712
上門回收台式電腦筆記本 瀏覽:930
電腦休眠拔出u盤 瀏覽:928
電腦開機總是鳴叫 瀏覽:198
電腦沒有計算機怎麼辦win10 瀏覽:249
電腦上的硬碟是那些 瀏覽:284
台式電腦10年了還能用 瀏覽:85