最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

操作系統(tǒng)開(kāi)發(fā)教程#02

2023-04-16 22:00 作者:DiannaoJun  | 我要投稿

在上一篇文章中,我們已經(jīng)基本了解了什么是操作系統(tǒng)以及操作系統(tǒng)需要擁有什么。那么今天就讓我們正式切入正題——操作系統(tǒng)的開(kāi)發(fā)。

大家有沒(méi)有想過(guò),被安裝在軟盤(pán)(為了教學(xué)方便,前期示例以軟盤(pán)為載體,這里也可以是其他什么介質(zhì))上的操作系統(tǒng)在電腦上電后是如何開(kāi)始運(yùn)行的呢?

大體步驟是這樣的:

1.??????? 電腦上電后開(kāi)始執(zhí)行ROM里的BIOS(Basic Input/Output System,基本輸入/輸出系統(tǒng))程序,對(duì)你的電腦進(jìn)行初始化。

2.??????? BIOS將裝有操作系統(tǒng)的磁盤(pán)的第一個(gè)扇區(qū)裝入0x7c00【1】的位置

3.??????? CPU跳轉(zhuǎn)到0x7c00的位置開(kāi)始執(zhí)行IPL【2】

4.??????? 然后你的操作系統(tǒng)就跑起來(lái)了

那么,我們現(xiàn)在知道我們需要做什么了——寫(xiě)一個(gè)IPL程序并放在磁盤(pán)鏡像的第一個(gè)扇區(qū)里:

樣例代碼如下【3】:





【1】:關(guān)于為什么是這個(gè)位置。我們知道0x8000-0x0400=0x7c00,即32KB-1KB的位置。由于最初的DOS設(shè)計(jì)內(nèi)存為32KB,而這里為高端未使用的1KB,故而就將這里的1KB分成兩個(gè)512B,一個(gè)(0x7c00的位置)用來(lái)存放引導(dǎo)扇區(qū)(這里一個(gè)扇區(qū)512B),另一個(gè)(0x7e00的位置)用來(lái)存放執(zhí)行IPL程序所產(chǎn)生的數(shù)據(jù)(變量等)。

【2】:Initial Program Loader的縮寫(xiě),即“初始程序裝入程序”。

【3】:本欄目匯編語(yǔ)言編譯器使用NASM version 2.15.05,C語(yǔ)言編譯器采用gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04),make使用GNU Make 4.3,ld使用GNU ld (GNU Binutils for Ubuntu) 2.38,編譯環(huán)境使用Ubuntu22.04LTS






操作系統(tǒng)開(kāi)發(fā)教程#02的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
龙陵县| 凌海市| 西乡县| 繁昌县| 金坛市| 青阳县| 安远县| 龙游县| 鄢陵县| 恩平市| 子洲县| 三台县| 南城县| 瑞金市| 云南省| 卢氏县| 惠东县| 泸州市| 龙岩市| 涞水县| 宜川县| 湘潭市| 安乡县| 娄底市| 湘阴县| 垫江县| 农安县| 察隅县| 龙南县| 墨玉县| 孝感市| 日照市| 寻乌县| 临沂市| 资中县| 辽阳县| 北碚区| 天津市| 济宁市| 讷河市| 黔江区|