(七)程序的運(yùn)行環(huán)境

運(yùn)行環(huán)境=操作系統(tǒng)(OS)+硬件(hardware)

操作系統(tǒng)和硬件決定了程序的運(yùn)行環(huán)境露氮。





操作系統(tǒng):Windows昭齐、Unix、Linux等诀豁,程序一般不能跨OS運(yùn)行窄刘。
硬件:CPU、內(nèi)存且叁、硬盤(pán)都哭、存儲(chǔ)設(shè)備和輸入輸出設(shè)備等。

本地代碼

在程序的運(yùn)行環(huán)境中逞带,CPU是非常重要的參數(shù)。CPU只能解釋自身固有的機(jī)器語(yǔ)言纱新,不同的CPU能解釋的機(jī)器語(yǔ)言是不同的展氓。


源代碼(source code):用編程語(yǔ)言編寫(xiě)的程序,只是文本文件:
本地代碼(native code):是機(jī)器語(yǔ)言的程序脸爱,對(duì)源代碼進(jìn)行編譯得到遇汞。
windows中,應(yīng)用程序的本地代碼,通常是DLL格式和EXE文件等空入。市面上出售的windows應(yīng)用程序的CD-ROM中络它,收錄的也是本地代碼。

Windows克服了CPU以外的硬件差異

Windows出現(xiàn)之前歪赢,計(jì)算機(jī)機(jī)型很多化戳,他們即使擁有同樣的X86處理器,他們的內(nèi)存機(jī)制和I/0地址構(gòu)成都是不同的埋凯,因此点楼,各個(gè)機(jī)型都需要專(zhuān)門(mén)的MS-DOS應(yīng)用軟件來(lái)幫助控制硬件。
Windows出現(xiàn)之后白对,windows上各應(yīng)用的實(shí)現(xiàn)掠廓,不再是去控制硬件,而是windows操作系統(tǒng)發(fā)送指令甩恼,然后由windows操作系統(tǒng)控制硬件蟀瞧。這樣,因?yàn)橛蓋indows來(lái)控制硬件条摸,而不是程序員來(lái)控制硬件黄橘,因此程序員就不必再去在意內(nèi)存和I/0地址的不同了。




API(Application Programming Interface)

API:應(yīng)用程序向操作系統(tǒng)傳遞指令的途徑屈溉,提供了適用于本操作系統(tǒng)中任何程序的函數(shù)(接口)的集合塞关。
同類(lèi)型操作系統(tǒng)的API,不會(huì)因?yàn)橛布牟煌煌咏恚虼嗽谌魏斡布隙伎梢赃\(yùn)行帆赢。
不同操作系統(tǒng)的API會(huì)有差異,因此在移植同樣的應(yīng)用程序是线梗,需要重寫(xiě)部分API函數(shù)椰于。

FreeBSD Port

“既然CPU的不同會(huì)導(dǎo)致同樣的本地代碼無(wú)法重復(fù)使用,為什么不直接把源代碼發(fā)給程序呢仪搔?”
Unix操作系統(tǒng)FreeBSD中瘾婿,存在一種Port機(jī)制。
Port烤咧,即porting移植偏陪,表示根據(jù)不同的運(yùn)行環(huán)境而重新調(diào)整程序。
Port機(jī)制:結(jié)合當(dāng)前的運(yùn)行環(huán)境編譯源代碼煮嫌,得到適合CPU要求的笛谦、可以運(yùn)行的本地代碼程序。如果本地磁盤(pán)上沒(méi)有儲(chǔ)存目標(biāo)源代碼昌阿,則自動(dòng)使用FTP協(xié)議去相關(guān)站點(diǎn)下載源代碼饥脑。
Port機(jī)制恳邀,在某種程度上,克服了CPU在內(nèi)的所有硬件差異灶轰。

運(yùn)用虛擬機(jī)在本機(jī)上獲得其他操作系統(tǒng)環(huán)境

“如果運(yùn)行其他OS上的應(yīng)用谣沸,又不想使用移植呢?”

虛擬機(jī)軟件

Mac OS系統(tǒng):“Virtual PC for Mac”


Paste_Image.png


Windows系統(tǒng):Virtual Box笋颤、VMWare乳附。

Java虛擬機(jī)

“除了使用虛擬機(jī),還有一種方法可以在本機(jī)上使用其他操作系統(tǒng)的應(yīng)用椰弊,就是java许溅。”
java有兩層意思秉版,一層是指編程語(yǔ)言java贤重,另一種是程序運(yùn)行環(huán)境java。
java虛擬機(jī):編譯運(yùn)行java語(yǔ)法寫(xiě)的源代碼清焕,生成的并不是本地代碼并蝗,而是字節(jié)代碼程序。字節(jié)代碼程序的運(yùn)行環(huán)境就是java虛擬機(jī)(Java VM)秸妥。java虛擬機(jī)一邊把字節(jié)代碼逐一轉(zhuǎn)換為本地代碼一邊運(yùn)行滚停。
通過(guò)字節(jié)代碼的使用,就實(shí)現(xiàn)了在任何環(huán)境在使用同一應(yīng)用了粥惧。



小結(jié):

BIOS(Basic Input/Output System键畴,標(biāo)準(zhǔn)輸入輸出)系統(tǒng)

BIOS引導(dǎo)程序:引導(dǎo)操作系統(tǒng)的啟動(dòng)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末突雪,一起剝皮案震驚了整個(gè)濱河市起惕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌咏删,老刑警劉巖惹想,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異督函,居然都是意外死亡嘀粱,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)辰狡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)锋叨,“玉大人,你說(shuō)我怎么就攤上這事搓译”” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵些己,是天一觀的道長(zhǎng)豌鸡。 經(jīng)常有香客問(wèn)我,道長(zhǎng)段标,這世上最難降的妖魔是什么涯冠? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮逼庞,結(jié)果婚禮上蛇更,老公的妹妹穿的比我還像新娘。我一直安慰自己赛糟,他們只是感情好派任,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著璧南,像睡著了一般掌逛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上司倚,一...
    開(kāi)封第一講書(shū)人閱讀 52,441評(píng)論 1 310
  • 那天豆混,我揣著相機(jī)與錄音,去河邊找鬼动知。 笑死皿伺,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的盒粮。 我是一名探鬼主播鸵鸥,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼丹皱!你這毒婦竟也來(lái)了妒穴?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤种呐,失蹤者是張志新(化名)和其女友劉穎宰翅,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體爽室,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡汁讼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了阔墩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嘿架。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖啸箫,靈堂內(nèi)的尸體忽然破棺而出耸彪,到底是詐尸還是另有隱情,我是刑警寧澤忘苛,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布蝉娜,位于F島的核電站唱较,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏召川。R本人自食惡果不足惜南缓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望荧呐。 院中可真熱鬧汉形,春花似錦、人聲如沸倍阐。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)峰搪。三九已至岔冀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間罢艾,已是汗流浹背楣颠。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留咐蚯,地道東北人童漩。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像春锋,于是被迫代替她去往敵國(guó)和親矫膨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容