計算機文化基礎(chǔ)課第四課學(xué)習(xí)總結(jié)
? ? ? 人類是使用計算機運行程序來解決問題的,比如簡單的計算器到復(fù)雜的天氣預(yù)報。程序由編程而來,編程是一個過程,即使用某種程序設(shè)計語言,編寫程序代碼,讓計算機實現(xiàn)某個特定功能,解決某類問題的過程。一開始,人們直接使用機器碼來編程的,這不僅要了解計算機硬件的原理和細(xì)節(jié)而且編程的效率低下,只有少數(shù)專業(yè)人員能使用計算機解決問題。為了使更多的人都能使用計算機,人們利用軟件的虛擬化手段,在計算機裸機上加上一層又一層的軟件(操作系統(tǒng)、系統(tǒng)軟件、應(yīng)用軟件),來隔離硬件的復(fù)雜性,降低操作的門檻和難度。軟件的目的就是利用虛擬化的手段,最終使得計算機的硬件變成一個可以友好的方式、方便的方式來操縱的接口。
? ? ? ?軟件由編程而來的。早期是在紙帶上打孔編程的,紙帶上記錄的是機器能直接識別的機器碼0和1。但記住由0和1組成的長串機器碼是很費勁的,而且容易出錯。為了便于記憶指令,對機器碼進行了輕度抽象,把操作計算指令用英文代替,便成了匯編語言。使用匯編語言編寫代碼后,要用匯編器把源代碼翻譯成機器能識別的機器碼。(匯編語言是跨平臺的,但匯編器卻不是,不同平臺架構(gòu)的CPU,使用的匯編器是不一樣的)雖然匯編語言在一定程度上簡化了編程,但仍然需要了解硬件的細(xì)節(jié),為了進一步隔離硬件,就產(chǎn)生了各式各樣的高級語言。高級語言更加接近我們使用的語言,但機器不能識別,所以高級語言源碼要在運行前要通過編譯解析成匯編語言,再經(jīng)過匯編器翻譯成機器碼,最后由鏈接器連接成可執(zhí)行程序;或者在運行時解析成機器碼。
? ? ? ?跑在硬件上的軟件都有一些共有的功能,特別是針對底層硬件管理的功能,都是一致的。為了提高軟件開發(fā)效率,我們把這些具有共性的功能抽取出來,專門作為硬件和各類應(yīng)用軟件之間的一個中間界。由此,操作系統(tǒng)就產(chǎn)生了。操作系統(tǒng)向下管理各個硬件部件,使其能正常運轉(zhuǎn);向上為上層應(yīng)用軟件提供一個易于理解和編程的接口(函數(shù)調(diào)用)。操作系統(tǒng)擔(dān)任的主要功能大體分為4塊:1.處理器管理。2.內(nèi)存管理。3.外設(shè)管理。4.文件管理。
遺留問題:程序和軟件的區(qū)別是什么?